分享
 
 
 

编程语言的异同及选择

王朝vc·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

编程语言的异同及选择

2003.9 (所有版权保留)

一、各种语言编程的共同点

1. 基本单位都是函数

绝大多数语言的基本单位都是函数。运行环境提供给我们的是函数入口,我们编程序时写的主要内容也是函数。

运行时,我们编写的程序内的函数或者直接调用操作系统的函数,或调用组件的接口内的函数,或调用虚拟机的函数,或调用运行环境的其他函数。

2. 函数内算法的实现差别不大

真正的价值是函数实现的算法(这里把功能或业务流程的实现也都算做算法)。单就一个函数内(或几个相关的函数)的算法实现的程序流程(注意不是功能业务流程)来看,各种语言间的差别不是很大。

二、各种语言的不同点

1. 运行环境的函数接口不同

这一点不用多说了。词法、语法的差别也不用说了。

2. 函数的组织方法不同

在传统的汇编、C、Basic、Pascal、Script等等语言中,函数是独立的,可以以代码文件或模块文件进行组织管理。

在OOP的C++、Java、C#等等语言中,函数组织成类或组件,以类或组件的形式进行组织管理。

3. 函数的规划设计方法不同

非OOP的项目中函数的规划设计完全没有统一模式,根据实际情况变化非常大。

OOP的项目中的函数规划设计以类为基本设计单位,确定了类之后再确定函数。现在已经有很多理论与工具来支持以类为基本单位的设计。

4. 函数的积累沉淀与重复利用

程序员、开发团队、软件公司在运行多年后,非OOP的函数积累成函数库,OOP的函数积累成类库或组件库。

非OOP的函数库内的函数可能部分依赖于OOP的函数库,反之亦然。

5. 函数的实现的编码、测试工作量

不管用那种语言,如果没有特别的运行环境函数支持或类库支持或组件支持的话,每个函数的编码与测试工作量没太大差别——前提是针对熟手,例如写一个特定的排序函数,汇编与 VB 的工作量差别不大。

但实际上针对不同的语言,运行环境提供的支持是不同的。

三、选择编程语言时的考虑

1. 操作系统或虚拟机的选择

操作系统或虚拟机的 API(包括越来越多的组件)非常重要的,这是基础,选择时最重要的考虑因素。

Linux 的优势在于源码公开。Java 的跨平台是指跨操作系统,不是跨虚拟机——说实话本人不知道有多少厂家实现了多少种 Java 的虚拟机,并且它们的 API 的定义是完全相同的。

2. 编程语言的运行环境的选择

一种编程语言可能有若干种开发、运行环境支持。打个比方,Basic 语言有 QBasic、VB6、VB.Net 等。开发、运行环境的支持也是非常重要的,它很可能提供了操作系统或虚拟机之上的更多的函数(如Delphi),同时也规定了词法与语法。

编程语言的运行环境的长期生命力也是很重要的。

编程语言的跨平台只能说是在不同的操作系统的上的开发、运行环境的函数保证一样,但不能保证操作系统的API一样——除非不调用操作系统的API。

3. 文档是否详细、源代码是否丰富

没有好的文档,再好的基础 API(或类库、组件)我们都找不见。

源代码是指 API 应用的源代码。没有丰富的源代码,再好的基础 API(或类库、组件)我们都不会用。

其实某种语言发展多年之后,几乎所有的 API(或类库、组件)的应用的源代码都可以搜索到,我们抄过来改一改就是了。

抄不来的是复杂算法(包括功能或业务流程)的源代码——抄过来我们也看不懂,更不敢简单改一下就卖给客户。

4. 第三方函数库、类库或组件库是否丰富

在操作系统或虚拟机的 API 之外,在开发、运行环境的 API(包括类或组件) 之外,还有多少已经写好的函数我们可以使用。但是实际上,对第三方的 API 的学习、适应、使用的工作量很大,风险非常高,所以这一条不用太重视。

5. 语法与词法的选择

在考虑了上述的因素后,我的做法是最后考虑词法与语法。原因很简单,我懒。哪个语言的 API 多、词法及语法简单,我就用哪个——我说的是给老板给客户干活。如果是我有一段时间突然对某一个语言或技术有了兴趣而要自学一把,那另当别论。

我也见过有的人对某种语法有狂热的爱好,就像老夫子们出口必之乎者也,我觉得也挺让人佩服的。任何一种语言学精了用烂了都很了不起,贵在恒心。

6. 必须要会的语言

SQL 不用多说。在现在这个年代,Javascript + HTML 好像也必须学。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有