软件读书笔记

 

很多初学软件编程的人经常考虑这样一些问题, 到底我要学习什么语言?什么语言将来更有发展前途?
其实任何一种语言都有他自己的特点和不足,下面是我见到一个关于语言的分析比较好的版本:

 

这个问题是每一位学习编程的初学者都会遇到而且很迷茫的问题,在这里发表一下个人观点,仅供参考:
1. 每一种程序都有其发展的历程,没有任何一种程序是万能的,比如说我们都知道的C语言,开发C的初衷就是为了让程序员能脱离那种原始的汇编的环境,可以在高级语言环境中对内存地址进行控制,所以C语言在底层操作上来讲要优越于其他高级语言;比如Pasical语言的初衷就是为了程序设计中的教学使用,所以Pasical语言的语法结构很严谨;比如Fortran语言,开发的初衷就是为了工程计算,所以他的数学逻辑工程逻辑功能模块就相当强大,等等…………
2. 现在的语言已经发展到面向对象的高级语言,像我们现在所熟知的Java、.Net、Delphi 等语言,他们开发应用软件来说基本没有太大的区别,因为他们的库都已经很丰富,我们开发起来也相对较简单一些,他们的差距也就紧紧在于市场占有率和所在公司开发选择问题上了。还有另外一个就是一些数据库编程的语言比如SQL、PB等语言,他们的数据库功能相当强大,由于微软产品的市场占有,所以大家比较倾向于SQL语言,因为他的应用面要广一些,但是不乏有些朋友会基于一些其他的想法选择其他类型的数据库编程语言。解释类语言,作为B/S开发模式的语言,也是根据其市场占有规模来分,一般来讲市场占有率越高的语言程序,那么它的库要丰富一些,我们操作起来要相对容易些。所以说,现在流行的应用软件开发的语言来讲,我们一般考虑的是市场占有率高的,就会有更多的工作机会来等待我们;但是一些市场占有率稍低的开发语言(有自己特色的),工作机会自然少一些,但是报酬相对要高一些,物以稀为贵嘛!
3. 各种语言的选择
如果编写对性能要求苛刻,或和操作系统结合紧密的程序,必然选择C
如果编写到处可用的程序,选Java。
如果编写大程序,可能的话尽量用脚本语言如PythonRuby,不行了再用Java和C。因为脚本语言带来了生产力。
编写文本的处理程序用Perl或Ruby。
编写知识的处理程序用prolog。
编写最灵活,最模糊的程序用Lisp
编写office程序用vba。
编写服务器端程序,PHP、(采用自己熟悉的语言来写,例如Perl、Python、Ruby)CGI、ASP、(熟悉Java就用)JSP都是选择。
编写数据库程序用vb或delphi。
如果要追求性能和程序的能力,要完全发挥操作系统的能力,使用C/C++语言是合适的。在Windows环境下用VC,在Unix-like环境下用gcc。
如果不是追求和操作系统完美结合,而只是性能,又要追求跨平台性,那么仍然选择C,但可以选择跨平台的库,如qt、gtk、fox、wxWindows。如果要编写游戏也有跨平台选择:SDL。
如果不满意C领域标准的不统一,不满意C的容易出错,不满意C的面向对象特征不彻底。如果不在乎跨平台,Windows平台可以选择C#,maC平台可以选择CoCo。如果需要跨平台,可以选择Java。
如果需要跨平台,又要广泛的支持的话,选择Java
在Unix-like下,最方便的工具语言是Perl,它有强大的社区和代码库的支持。
如果只作为简单应用的工具语言,Python和Ruby是更好的选择,他们的跨平台移植性好,应用也比较广泛。其中Python更适合入门和交流,长期使用也不错。Ruby是对Python不满意的另一个选择,它提供了很多额外的功能。
如果要选择一个程序的嵌入语言,原来有Lisp、Basic和Java,现在还可以选择Python和Ruby。
如果在要求动态解释执行语言,而又不想学其他语言的话,C程序员的选择是pike,Java程序员的选择是beanshell。
Java平台,又想用脚本语言的话,可以用Python
最正统的基于文档的语言或叫动态页面语言是JavaScript。
最专门的服务器端语言是PHP,当然也有很多其他选择。
XML语言以XUL为最着名,dtml也算一个,你自己也可以用XML作为自己特殊用途的语言。比如jedit就用XML作为一种模式定制语言。XML语言是一种比较先进的趋势,比现有的语言在特殊领域更高效。
要找容易实现的语言,Lisp和Tcl是选择。
Lisp的数据和程序融为一体的能力和自由是其他语言都没有的。现在出现了一个Lisp的现代化的变种:REBOL
如果有基于事实的编程的需要的话,prolog和Clips是必然。
4.其实说到最后,也许大家都已经迷糊了,因为我自己也迷糊了(不要扔我!谁啊?怎么还有鸡蛋?!*—%##*),不过只需要一个简单的道理:选择什么方向(数据库、应用软件、底层开发等等),那要看我们对什么感兴趣,对什么有一种亲切感;选择好了方向,在选择需要那个具体的语言,那就要看市场占有,公司发展前景,我们需要得到的利润回报等因素(不过,作为同种类的语言,一个真正的程序员是可以很好的跨越这种平台的,也就是说你最好不要只学习一种语言)!
5.如果你为了挣钱,就学Java C# VB 之类的快速开发工具;
如果你是为了挣钱还想搞搞技术,就学C++之类的语言;
如果你想搞系统开发, 你就要从硬件,汇编,一点一点学起了
我想我们刚入门的同学来说,最重要的不是我该学习哪门语言,或是关心哪门语言将来会有比较好的前途,我们应该考虑如何去学好一门语言,如何去思考,把自己的思维装转换到编程语言的思维。
在学习的过程中注意积累方法,发散思维。,一个程序多看不如多写,熟能生巧嘛。在CSDN上拜访很多老师的博客,肖舸老师这段话我觉得很受益:
学习一定要有意识,因为到大学中,大家会发现,自己被“管”得少了,更多时间和精力,可以自由支配,但是,很多人就乱支配,瞎玩,这样好不好?大家自己想。其实肖老师本人大学就是瞎玩一族,呵呵,说来惭愧,我大学学建筑的,但是,建筑我要说,自己学得真的很烂,我都跑去看C语言编程去了,呵呵,典型的不务正业。应该说,肖老师我的本职学业,是没有完成得太好的。建议大家不要学我哈。
但光有意识够不够?我觉得不够,还要有“习惯”,一件事情,今天兴趣来了,做一下,明天没兴趣了,就放下了,这肯定不行,这叫“三天打鱼两天晒网”,所谓习惯,就是一定要有循环不断做一件事情的兴趣和动力,不断去做,因此我一直强调,关键是养成习惯
 
我们确实需要养成这样一种习惯,当我们打开电脑,第一件事不再是上QQ,上人人,玩游戏,而是去做一些程序,或许查找一些资料。只要我们长期坚持不断的去做一件事,不说能成为专家,至少在这个行业里也算是比较有学问的一个人了。就像《10000小时天才论》里说的那样,不论你做什么事情,都需要有10000小时的积累,这样你才能成功,天才并不是天生的,而是在这10000小时里磨砺而成的。

其次我认为我们还要有持之以恒的信念,每天坚持编程,坚持看书,坚持学习,一点点的进步,虽然刚开始会很难,但我相信以后会更好的。坚持是最重要的。

还有我认为就是要放平心态,不能急功近利,不能浮躁。一切顺气自然。现在我们很多大学生无论做什么事总是与利益挂钩,而不是从心里去做这件事,这样就失去了做事情的根本意义。总之,无论如何,做好自己,做好自己该做的事,努力一点,开心一点,我相信我们会有成功的那天。。。。                              

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值