声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

声振论坛 展示 基础理论 查看内容

计算机语言浅谈浅浅谈

2011-3-18 16:22| 发布者: 雪缘| 查看: 1045| 评论: 0|来自: 振动论坛

摘要: 接着Rainboy的语言话题,再扯几句关于语言选择的问题。 关于选择计算机语言的个人看法,语言不应该成为包袱,语言就是工具,该用什么时候用什么,当然应该有几门拿手的。 经常听到的几种说法: 1、我C都没学明白 ...
接着Rainboy的语言话题,再扯几句关于语言选择的问题。
关于选择计算机语言的个人看法,语言不应该成为包袱,语言就是工具,该用什么时候用什么,当然应该有几门拿手的。
经常听到的几种说法:

1、我C都没学明白还学其他的语言。(说实话,C、C++是很难的两门语言,没个三五年时间别指望能学多明白,三五年其实也很皮毛。)

2、我们老师要求用XX语言写。(快毕业了,很多人忙着做毕业设计,最常听到的一句话,很无语。。。除非是程序扩展,也就是接着别人的写;再或者是商业要求;再或者你是职业的,否则挑语言就是扯淡。做课题或项目,得到结果为目的。就像吃饭喝水的关系,吃饭需要筷子就用筷子,喝水需要吸管就用吸管。非要吃饭用吸管,喝水用筷子也可以,谁拿你也没辙。)

3、XX语言太难,内容太多,学不会。(Brainfuck语法很简单,就8个运算符,你可以尝试一下。复杂的语法以及数据结构就是为了简化编写,增强语言功能。另外,语言学的是想法,不是语法。不是在那些类库、函数库上面做文章。对语言的掌握情况绝对不是以你知道几个函数,会用几个类来衡量的。)
……

最后再调侃一下常见几种语言的特点:
1、汇编。汇编的强大是不用说的,可以说任何语言都是一次间隔或者更多次间隔基于汇编的。
优点:无所不能;速度快;直接接触硬件。
缺点:指令复杂;数据结构难以实现;开发周期长而且难度大;维护难度也大;移植性差。
调侃:汇编就像达摩祖师,不是每个人都可以做到的。

2、C/C++。C/C++语言功能也非常强大,可以看作是汇编的升级版本,尤其C。
优点:几乎无所不能;简洁(指的是C);运行速度快;偏离硬件近(也可以说是缺点)。
缺点:类库不丰富(指的是C);内存手动管理(也可以说是优点);调试难度大;移植性差;开发成本高。
调侃:少林七十二绝技,每一次进阶都需要庞大的佛法化解。

4、java。半解释半编译语言,sun(现被Oracle收购)大作。
优点:偏离硬件远(也可以说是缺点);比较易学;移植性好。
缺点:看Oracle/Sun脸色。
调侃:犹如武学大家,武学渊源深厚,但是更多是来源于他们的背景。

5、C#。也可以看作是半解释半编译语言,Microsoft大作,把它看作是微软的策略更为合适。
优点:偏离硬件远(也可以说是缺点);比较易学;移植性好。
缺点:得看Microsoft脸色。还有就是linux下不用说了。
调侃:在地方霸主的前提下的武学世家,能力强大,更多是来源于他们的背景。

6、Perl。解释性语言。
优点:几乎是无所不能;库支持好;开发成本低。
缺点:速度稍慢;语法凌乱;格式散漫;难学;维护难度大。
调侃:就像《葵花宝典》,得到必须付出代价。绝无贬低Perl之意。仅仅是说速成、强大以及代价的关系。

7、Python。解释性语言。
优点:功能强大;库丰富;简单易学;开发成本低;容易维护。
缺点:速度稍慢;格式限制严格(也可以说是优点)。
调侃:《玉女剑法》,姿势优美,飘逸出尘。

附:2010年11月份Tiobe给出语言排行榜
[attach]48154[/attach]
走势图:
[attach]48155[/attach]

可以看到尽管java C C++稳居前三,但总趋势一直下降。而相反,一些新兴语言如C#,Python,Ruby稳步提升,Perl开始的时候可能火过头了,现在逐渐收敛。至于Object-C,估计是苹果效应吧。。。

本文内容由 wqsong 提供

最新评论

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-20 14:04 , Processed in 0.035062 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部