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

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

 2010-05-04 00:00:00 来源:WEB开发网   
核心提示: 而与此相比,Ruby的Mixin机制和Python的Decorator就不仅仅是“语法糖”,Why Java Sucks and C# Rocks(1):比较的意义与目的(6),而是比较重要的语言特性了,因为它们可以带来或大大简化某些十分有用的编程模式,我知道您看到那么多

而与此相比,Ruby的Mixin机制和Python的Decorator就不仅仅是“语法糖”,而是比较重要的语言特性了,因为它们可以带来或大大简化某些十分有用的编程模式。“简化”也是语言设计中非常重要的一点,我始终认为,一个语言特性只有真正“好用”,它才能被人们广为接受。例如,使用 Java语言能实现Actor模型吗?能,但是它缺少Scala那样灵活的函数式语法,以及模式匹配等特性,因此无法构建出一个好用、易用的Actor框架,自然也就无人问津了。这其实也是“语言影响思维方式”的典型案例之一。

其实人们在LISP之后继续前进的原因,也是因为LISP虽然提出了许多编程理念,范式,但是每个都不够“好”、“优雅”、“简单”等等。做的“更好”便是其他语言不可忽视的意义。

是的,我不会强调C#如“属性”,“操作符重载”等语言特性,虽然它很多时候的确让开发变得简单,但是它们并不能改变我们的开发思维。那么这一系列的文章中我会重视哪些语言特性呢?我想,它们至少应该同时具备以下三个条件吧:

必须是纯粹的语言特性:有人说Python方便,很多事情一个方法就能搞定了。这在我看来只是类库相关的东西而已。在这里,我并不关注类库与框架,我只关注纯粹语言特性。

无法,或很难通过类库或框架弥补的差距:同样是一个方法能搞定的案例,但是如果这个方法必须借助特定的语言特性才能实现,那么这便是我的关注点。

能够改变编程思维、或是引出额外的编程范式:正如上文讨论的那样,这是我最为重视的东西。

嗯嗯,就是这样。

再补充一些内容

好吧好吧,我知道您看到那么多文字之后也一定也想说些什么了,不过您再坚持一下,等我把话说完吧。

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

Tags:Why Java Sucks

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