作为javascript的初学者,可以说这个语言是我目前接触的语言中比较喜欢的一门语言。
虽然之前学过C语言,自学过C++,因为机缘巧合学习了Python,出于喜爱,写过python web spider。因为我是学硬件专业的,所以我学习过verilog,勉强算是编程语言吧,学习DSP的时候接触过一点matlab,应该也算是一门编程语言吧。虽然我不像编程语言爱好者那样玩过很多们programming language,也没有像Geek那样把一门语言玩到极致,但是我还是想谈谈我对javascript的看法,更多的偏向于感性。
首先表明自己的观点,我很喜欢javascript这门语言,尽管它有很多坑需要我们格外的去注意,但是我还是很喜欢。
因为在我到目前为止,这门语言是让我最身临其境的接触OOP,因为俗话说的好,javascript中everything is object,即使我也了解javascript中并非处处是对象,起码基本类型就不是。但是JS中没有类的概念,起码在ES5中没有,不过我们却可以像C++那样去构造类,这在JS中叫做构造函数。对于类的多态,继承和封装的性质,JS应该也都可以做到,所以是完全可以实现类的。既然说到继承,我不清楚其他语言的继承是如何实现的,但是JS的继承是通过prototype chain来实现的。再来谈谈JS的语法,整体上来说,JS的语法和C语言很类似,但是我没有了解过C语言和JS的引擎解析语言之间的差异,所以不了解C语言和JS在底层实现上的异同。但是从我学习的角度来说,JS可能借鉴了C语言的语法,不过也正因为类C语言的语法,可以是的JS更容易被像我这样的新手所接收。但是总体感觉,JS要比C语言更加容易写出有成就的东西来,可能是由于C语言不太亲民或者我太水了,虽然我深知C语言的强大,毕竟是除去汇编以外最接近底层的语言。当然JS我知道的幷不全面和深入,还有很多没有了解到,比如我对JS函数式编程一无所知。
再来凭个人感受比较一下JS和最近很热门的Python,因为Python让我了解到了脚本语言的强大之处。但是Python的语法糖甜的有点发苦,因为用TAB缩进取代了类C语言的大括号,而且强制缩进,虽然很多简便的语法和其强大的内置数据结构大大简化了代码量,但是我始终觉得脱离了类C语言的那种习惯,写一大串的缩进,形式上的简洁,带来了阅读上的疲乏,而且Python虽然语法上的障碍大大消除了,但是仍然要拥有OOP和类,对象,以及高级的装饰器,免不了无形中设置了很多大坑。总之就是觉得JS类C语言的书写形式看着要比Python踏实的多。
而且随着移动设备的不断普及,JS大展手脚的地方越来越多。比如现在很流行的node.js甚至强大到可以在硬件上运行JS。所以说,不管以后从事什么工作,不管做什么科研,做什么研究,都得深入了解一下JS啊,不仅仅无聊的时候可以写一写简单的应用来玩,还可以为身边的人解决一些问题,甚至可以参与到公益项目之中去,为社会进步贡献自己的力量。
说的有点多,逻辑有点混乱。我一定要坚持学习JS,希望在学习JS道路上的人都能够一同努力。