WEB开发网
开发学院软件开发Java Why Java Sucks and C# Rocks(1):比较的意义与... 阅读

Why Java Sucks and C# Rocks(1):比较的意义与目的

 2010-05-04 00:00:00 来源:WEB开发网   
核心提示: 从理论上说,只要是图灵完备的语言,Why Java Sucks and C# Rocks(1):比较的意义与目的(5),就不存在“能力”上的根本差异,任何工作都是可以实现的,这些特性的优势并不明显,就我个人来看,但是我们使用的语言,往往也会影响

从理论上说,只要是图灵完备的语言,就不存在“能力”上的根本差异,任何工作都是可以实现的。但是我们使用的语言,往往也会影响,甚至决定了我们的思维方式。因此一门语言的关键,我认为就是它的思想,或者说,是它对我们“思维方式”的影响。同时,由于语言会影响我们的编程思维,甚至系统的架构设计,因此在我看来它也是至关重要的。

举个有些极端的例子,如果人们还在使用汇编语言进行开发,那么估计程序员的思维永远无法跳出“子过程”这个抽象级别,什么面向对象设计,函数式编程几乎无从谈起。人们在生产和学习过程种会引发一些需求,因而需要产生一些工具来辅助学习和生产,而“语言”便是此类工具之一。只有利用高级语言,人们才能有效地把真实世界抽象成计算机这些机器盒子能认识的东西。

如今,可用于构建项目可选的主流语言往往都会有多种,有时候我们的确会发现,好像不同的语言——例如Ruby和Python——从各方面来说并没有太大区别(或者说优劣之分)。这是比较正常的,因为某些(甚至是大部分的)语言特性,并没有对我们的“思维”产生影响。

举例来说,某些喜欢Ruby的朋友认为Ruby语言的编程体验非常良好,好比它的数组操作可以直接做加法或减法:

array = ['aaa', 'bbb', 'ccc'] - ['ccc', 'ddd'] 

或者说,在Python里交换两个变量的值也只需要一行代码(大部分语言中可能需要借助中间变量,好吧,我承认Ruby里也能做到这一点):

a, b = b, a

但是,就我个人观点来说,这些语言特性,虽然它们的确可以让编程工作变的相对轻松一些,例如可以让我们少些一点代码,但终究没有改变,或是表现出另一种编程思维。这样的语法特性,一般来说都可以通过构建一些简单的辅助函数来做到类似程度的“简化开发”(如上面Ruby的例子),对于那些非“即写即抛”的程序来说,这些特性的优势并不明显。就我个人来看,我并不会太重视这些内容。

上一页  1 2 3 4 5 6 7  下一页

Tags:Why Java Sucks

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接