这些年的编程思考(一)语言篇

    编程语言是编写程序的工具,有很多种,分类也有很多种,让人眼花缭乱,不知该学哪个好,哪个更有前途,这是很多从事开发的人面临的问题,尤其表现在学生群体。曾经我也遇到过这样的麻烦,现在想想,还真是颇为感慨,也确实在这个问题上花费过不少时间,不过随着时间的推移也逐渐清晰了一些事物,那么就从语言开始吧。

 

如何看待琳琅满目的“语言”

    语言很多,人们想尽办法给他们能归类,什么高级低级啦,什么面向对象和面向过程等等啦,如果被这些名词迷惑了,你可能就会越来越不知道该学哪个了。

其实,在笔者看来,语言大致可以分为两种,经典语言和现代语言,很另类的分发吧,至于为什么且听笔者娓娓道来。

    1、经典语言是指汇编、C、C++这样的开发语言,之所以称为经典,原因有二,第一他们在过去甚至现在一直被广泛的应用着,第二很多底层的开发使用这几种语言编写,比如windows啦,而且windows最基本的api都是原生支持这三种语言的。

    2、语言,如RoR, Java, Pascal, Fortran, LISP, Basic, C#等等,其实笔者这里列举的很多语言如Pascal Fortran LISP BASIC 的历史也非常久远,但是这几种语言有一个共同的特性,就是针对的应用领域并不宽泛,比如Pascal最初是为了方便教学,虽然也曾红极一时,但是因为它没有特别超群的竞争力,现在也逐渐的淡出人们的视野;Java的开发效率确实无与伦比,但是在一些效率要求比较高的应用上就显得捉襟见肘;Fortran是为科学计算所设计的,现在很少有人用;LISP是为机器人设计的,现在也很少听说有人在用,Basic要不是有.net 的支持,估计早就完蛋了。

    分类的目的是想突出,学习哪门语言其实并不重要,而重要的是要使用适合项目的语言去开发项目。

    一直坚持着C/C++ Java路线,倘若去开发一些IS(信息系统)自然Java首当其冲,什么EJB、Spring、Hibernate、Struts等等确实可以提高我们的工作效率。当笔者要去开发如IMAPLAB(笔者自行开发的一款数字图像处理软件)这样算法比较复杂,执行效率要求苛刻的软件,笔者就会使用C/C++使用Win32 APIs开发,以求最大限度的提高执行效率。

    你接触的语言多了,不难看出,其实大同小异,就好像我们日常工作中使用的工具,电动螺丝刀和手动螺丝刀之间本没什么根本的差别,但是应用到批量生产流水线上就能体现出前者的高效,但是日常维修,如果用电动螺丝刀,显得就是那么笨拙。

 

如何学习一门“语言”

    其实这个问题很容易回答,首先掌握基本数据类型,其次是基本语法,最后就是特点。

    1、基本数据类型。这可谓是基础中的基础,什么样的数据用什么样类型的变量存,每种数据类型的范围啊,所占字节数啊等等。

    2、基本语法。首先你要明白,程序语言始终坚持着三种结构:顺序结构、判断结构、循环结构。在这三种之上存在的只是表述差异,就好像在写循环时C的方法和Basic是不一样的,但是功能是一样的。

    3、特点。比如闭包,比如javascript的函数闭包就不是所有语言都有的,掌握这些特点可以帮助提高开发效率。

 

如何更好的掌握一门“语言”

    都是练出来的,就这么简单,不动手是不行的,当你有了感觉,也就不会很痛苦了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值