学习语言的感悟

过去的一年里学习了c++和python两门编程语言,自己也学习了一点点html和css相关的语言。python和c++主要都是课堂上去学习的,自己的预习,听老师对难点的讲解,以及自己课下的练习相结合。三种类型的语言可以说c++主要在老师的带领下学习,python自学和上课学习大概一半一半,而html则是自学,其中的感悟和体会有诸多不同。
主要靠课堂学习的c++学习的相对系统,带着刚入门的懵懂和些许的不解来课堂汲取所需的知识,主要的问题基本上都能在课堂上解决,剩下的就是课下自己的作业练习,去学会找出bug,对自己的代码一点点改进,去做一个小小的练习项目,是一种逐步深入一点点进步的感觉,这种自学习到实践的过程和从实践中学习的反馈让c++母语的学习比较扎实一些,这种学习方法打下了良好的基础,但是也有一点点问题就是这种学习的速度很慢,很依赖老师的进度,缺乏自发的学习动力和进步性。
课堂和自学同步进行的python则有了许多不同。首先python的学习建立在已经学过c++的基础上,基础语法的学习速度很快,但是由于python的涉及范围很广,几乎所有的应用都稍有涉猎,但又因为课时的问题使得课堂上并不能较为细致和系统的去学习,所以一半还依赖自学。这种方式为上课老师将所需要掌握的东西粗略的介绍而更多的细节是自己课下去学习记忆练习。由于老师讲解的内容和书上的内容并不完全一致导致一些问题的出现,例如一些老师展开讲的东西书上并没有,自学和老师的讲解略微脱节。自学中很多是在练习和作业中学习,也就是自上而下的学习。学的很多都是作业中需要的但并不系统,这种方式使得学会了许多课外的库类用法但是对基础的类库使用并不扎实,可以说是走了许多弯路的一次学习体验。
html和css则是完全自学的,虽然是很简单的入门学习,但是自学和老师完全不同。所有学习的内容和方向全部是由自己去摸索的,一点点学习记忆基本知识,靠着一些练习来学习应用,去找各种别人的代码去临摹,去学习别人如何使用这类代码,别人如何去巧妙的布局和设计开发。这种学习的好处在于可以锻炼自己的学习能力,而且学习内容和时间完全由自己分配,不会由于和老师进度不统一出现各种奇怪的状况;并且自己学习掌握一些知识,去完成一些任务是很有成就感的事情,很能激发人的热情。当然也有一些缺点,比如完全自学就会失去监督,在其余必修任务紧张时就会容易被战略性放弃,导致进度时快时慢,容易不牢固需要频繁回头看以前学过的东西让自己找回熟悉的感觉。并且遗憾的是由于种种原因我还暂时中断了前端的学习,但这个学期也会在空闲之余重新捡起来的。
我对Java的接触也才刚刚开始,理解并不深刻但也略有一点。首先Java虚拟机是一种非常智慧的解决问题的方法,其让java拥有了良好的跨平台性能,这可以说是一种很大的飞跃,也是Java如此流行的重要原因之一。在这一点上python也有所对比,python同样是拥有跨平台能力的语言,但其跨平台的原理和方法则与Java不同,并且拥有诸多限制,虽然Java跨平台也并不彻底,但其性能远超python。并且Java更适合大型项目的开发,这使得python暂时无法撼动Java的绝对优势地位。但是这样对比一下也能发现,同样是面向对象的编程语言,Java面向对象更为细致规范,而python则简单粗暴,两者的特性决定了Java性能更好更安全但python的代码更为简短,对比来看可以说各有优势吧。从类库的角度来看,c++的类库较少,python较多而Java则更多,Java良好的生态环境,大量方便的类库和框架使得Java的地位更为稳固,无数大型项目都由Java编写。从代码风格,c,c++,和Java的风格比较相像,都由比较严格的定义和想多繁琐的格式,这使得他们更加快速而安全,但对比c来看,Java并没有c的硬件效率高,也没有c的安全性能强,所以应用起来c更偏向硬件低层优化而Java更偏向于企业项目应用。以上是对Java接触不久的一些小感触,一些不深刻的地方和一些谬误的地方还有待改正,在以后学习更多之后再回头看应该会有更深的体悟。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章