| Linux之父话糙理不糙 | 不得不看的两次从C++回归C的高手评论C++ | C语言是否该扔进垃圾桶 |
| 为什么每个程序员都应该学习C语言? | 每个程序员都应该学习C语言?我可不这么认为 | C语言已经死了,5个需要忘却它的理由 |
| C++0x:崭新的C++,还是另一个Java? | ||
| 编程语言的三大定理 | 动态语言为何难堪重任 | 动态语言面面观 |
最近看到不少文章,作者去比较两种或者多种语言以试图证明他喜爱的语言更棒。我仔细观察过,通常而言,这些文章会侧重在其他语言(指非作者喜爱的语言)的弱点上;有时候,会举例来证明其他语言的冗长,得出结论说自己的语言代码更少、更简捷。
在我看来,虽然是针对其他语言的“弱点”,但作者写这样的文章也无可厚非,毕竟这样的文章多依事实说话,起码你可以知道一门语言的优点和另外一门语言的弱点,而且会引起其他“语言人”的关注和争论,无论怎样这对你如何选择编程语言都是有借鉴意义的。以下为编程语言的三大定理,会客观地帮助你。
编程语言基本定理
为了分析编程语言,你首先要知道它们为什么存在。由此引申出我的编程语言基本定理:编程语言的存在是为了让人们明白计算机操作。
编程语言的出现是为了克服人类认知的局限。现代计算机运行的是二进制指令,我们很难面对着“1”与“0”去写程序,我们无法号令机器,所以我们发明了编程语言,借以理解和向计算机传达我们所要的操作。
所以比较任何语言,都应当权衡它们对我们理解计算机操作所带来的方便。
第二定理
如果程序员对一段代码不解,他会弃用或者重写。
比你可以多快地写代码更重要的是,你写的代码可以让后来看到的人多快地理解。
举个例子:parm=10
既然没有声明变量,我怎么断定这行代码是对是错?编译器又没用,因为这完全可以执行,所以我只能通过后面的代码才能明白这段代码是什么意思。所以你也不难理解,为什么在查找错误代码是你会费那么大劲了,即使你知道出错的部分。
第三定理
没有任何一门语言适用于所有编程任务。这条定理很清楚,我不多做解释。
所以在选择编程语言时以下事情应当考虑:
◆常规特性:性能、兼容性、操作……
◆团队大小
◆代码多少
◆代码的寿命
◆应用领域
◆工具:选择语言考虑的最后一个问题是工具的支持。一个合适的编辑器对于你编程所起的作用不亚于语言本身的语法。
【相关文章】
|
||||
| · NAC安全访问控制 · 网络布线测试仪器 · Windows Server 2008专.. · Windows远程桌面应用 · 网络故障排除宝典 · 运营商封堵ADSL共享 中.. · 解析35岁技术人的价值.. · 世纪枭雄比尔盖茨的王.. |
· 主流品牌防火墙配置 · ASP.NET开发教程 · 超级计算机TOP500专题 · Vista SP1对决XP SP3 · SQL Server 2008/2005.. · 程序员如何成长? · C#技术开发指南 · 虚拟化技术还有点“虚” |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · Windows远程桌面应用 · C#技术开发指南 · Apache技术专题 |
· Windows集群服务应用 · C#技术开发指南 · 国际文档格式标准开战 · 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · C#技术开发指南 · 三层交换技术专题 · Apache技术专题 · C#技术开发指南 |
· Windows远程桌面应用 · 企业数据恢复指南 · Windows集群服务应用 · 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 |
|||