有时候会听到有人说程序设计中,编程语言不是很重要,最重要的是编程的思想。一般会说这句话的只有两种人:一种是真正的高手——系统分析员之类的;另一种就是不怎么懂软件的,自己不太想做技术,听别人这样说,就把这句话作为了一种借口而已。
其实我个人对这句话的理解是:这句话从理论上来讲是对的,没什么错。可是能真正能做到这一步的人却不那么简单。你拿到一个问题,首先想到的是怎么解决它,这就是算法;其次是怎么组织你的数据,那就是数据结构。
程序=算法+数据结构。
于是最后才想到了编程,但是程序设计语言作为一门工具肯定是重要的。公务善其事,必先利其器。所以选择一种适合你这个问题的编程语言能够达到更高的效率,事半功倍。编程语言肯定都是针对具体问题的,比如Fortran适合做科学计算,C语言效率高,汇编能够直接操作硬件,……。这就像你做翻译的时候一样,中文和英语都只是表达思想的工具,也许在中文里很繁琐的语句在英语里可以很简洁地表达;反之亦然,在英语里很长的句子,也许在中文里就只需要一个成语而已。所以每种语言都是寸有所长、尺有所短,各自都有自己的适用范围。然而选择最适合你的具体问题的编程语言是需要编程经验的,要用过很多种语言才能做到。所以能做到这一步的其实不是那么容易。
理论上,各种编程语言都是同等地位的,因此从语义上来说,一种语言里能表达的意思在另一种语言里也能完全表达清楚。比如在中文里能表达的思想在英文里也同样能表达。所以,一种编程语言能够写成的程序完全能够转化为另一种编程语言,但效率、简洁程度肯定是不一样的。
到了面向对象的程序设计,对程序的描述如下:
程序=对象+属性。
面向对象程序设计的一个最重要的思想就是封装,所以把算法封装进了属性里面,而数据也封装到了对象里。所以面向对象的编程语言也有自己的不同思路。
因此选择合理的编程语言并不是很多人所想的那么简单,虽然最重要的东西还是软件的思想,软件工程里编写代码的比例也不高,但能做到这么高级的地步的人绝对需要大量的编写代码的经验!
https://wap.sciencenet.cn/blog-215974-403044.html
上一篇:
纪念村长(仿鲁迅纪念刘和珍君)下一篇:
对于“中国造富大学排行榜”