关于编程语言的思考

BerClouse 8年前

来自: http://my.oschina.net/u/438386/blog/614400


序言

    学习前端设计也还是近一个星期的事,主要是因为好奇——上了四年的计算机本科,只对网页运作有个模糊的认识,尽管计算机网络也学的差不多,不过还是不清楚到底点网页是怎么呈现在IE上的,况且现在连个网站也没搭过,也不会搭。

    前端开始上手当然是HTML。这个在大一刚入学的时候已经有一个算是比较坚实的铺垫,虽然时隔四年很多东西都变化,但不变的还是一个个绘图的tag+name+value,从这点来说就很好入手了。同时css也差不多。那么说到底,最纠结就是javascript,PHP这些跟动态挂钩的语言。虽然本科四年c,c++,java,c#, MATLAB,vhdl都学过,但是怎么说再学一门新语言也是不简单的事,入门好说,学好就真的需要一番功夫。所以就引出今天我想说的事情。总共有三个方面:1、为什么要学新语言?2、如何学新语言?3、学好了新语言能带来什么?

正文

    

    其实这个问题当初再学PHP的时候我并没有想清楚。主要就是想:(1)大家都在用(2)其他软件都支持这个语言,具有通用性,前景好(3)别人说处理效率很高。所以就迷迷糊糊开始在学。而且学的时候也以一种新语言的心态去学。目前学习的结果也是可想而知——学后面,忘前面。学的很死,僵硬,只是教条式地在背各种语法。

    目前很多语言都是类C语言,而为什么会出现这么多类c语言,从我个人阅历来说,主要目的是方便解决问题。一方面C语言的语言结构合理,可以解决很多问题,所以出现的语言,比如Java,c#,PHP都是类C;另一方面,出现了这些类c语言,说明有些问题C语言还是解决不了,或者用C语言解决起来不方便比如,可以用C进行面向对象编程,但是太麻烦,也可以用C来写写HTML界面,解析XML,同样是很麻烦,所以才有PHP,以及各种包。有了这么多现成的或者开源,或者不开源的工具包以及更加方便的设计语言,也就可以用更少的代码,更清晰的程序结构来描述、解决问题。

    再说说如何学习语言。前面已经提到,单纯学语法,只会越学越混乱。因为语言是拿来解决问题的工具,问题有一个,而工具有多种,此处的工具正是指编程语言——何况PHP还是一种类C语言——这点其实在大二的时候就已经意识到,很多语言中的功能其实就是自然而然产生的,不需要刻意去背,当需要某个功能时,那么功能就自然而然放在那。所以,如果从功能需求的角度来学习某一种语言,那么无论从加强印象,提高熟练度来说,都会有事半功倍的效果。

    最后要说的就是学好了新语言有什么好处。这里不只是针对某门语言。从目前我的经验来说,学好一门语言可以有如下好处:1、能够高效解决该语言所对应的某类问题:比如PHP,对于前端程序员,能够加快开发速度。对于浏览器用户,可以加速访问速度。

                        2、能够解决与该语言相关的一些问题:学好C, java,也可以处理动态请求,写动态网页。

                        3、用该语言的思维去解决问题:将面向对象思想用于工作、时间管理上。