品剑录——品评人生分享 http://blog.sciencenet.cn/u/pinjianlu 仙鹤已随白云逝,只留明月照清心。

博文

谈谈我对“程序设计中编程语言不是最重要的”这句话的理解

已有 5531 次阅读 2011-1-10 18:07 |个人分类:我的世界观|系统分类:科研笔记| 程序设计, 高级语言

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


https://wap.sciencenet.cn/blog-215974-403044.html

上一篇:纪念村长(仿鲁迅纪念刘和珍君)
下一篇:对于“中国造富大学排行榜”
收藏 IP: .*| 热度|

7 马红孺 刘洋 逄焕东 吕喆 蔡继盛 姜红丙 李海亭

该博文允许注册用户评论 请点击登录 评论 (4 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-24 00:33

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部