paul phillips在scala 2013年大会:我们做错了

13-12-05 banq
Scala事件持续发酵:

paul phillips在scala 2013年大会发言:

Pacific Northwest Scala 2013 We're Doing It All Wrong

paul phillips是跟随Scala公司typesafe成长,5年scala经验,但是现在退出这个梦想队伍。他认为最大错误是在scala的Collection,试图通过继承抽象可变性,在可变类中,内部状态不可共享,在不可变类中,内部状态应该可以共享,而继承会破坏这种规则。

Scala在摇摆,在兼容和性能之间摇摆。..

回复观点:

语言的设计是很难的

paul phillips可能不是一个伟大的演说家,但他说的是很重要的,而且在很多情况下都是这样。 我同意了批评,但不同意所提出的解决方案,他的错误在于他认为语言有四层:Ant XML, Java, and Scala.

写一个很纯粹Scala是不需要Java的..

hacker news的讨论:

https://news.ycombinator.com/item?id=6845585

C已被广泛使用长达40年,Java差不多20年 。你可以每隔五年左右的时间切换语言,但是这意味着你没有在“主流软件开发”潮流,而是在某种硅谷启动项目中(其中软件开发是极少数)。主流软件开发者不会每五年切换语言,并且在大多数情况下,甚至每隔十年都没有,所以他们有得到更好的语言的权利。

但是,是什么让大家选择一个好的编程语言,是市场的结果,无论该语言的固有优点。

Ruby是伟大的短命项目; Java是非常适合大型的,复杂的项目,几十个或几百个开发人员。

Scala 作为一种新的编程语言,是适合的研究,但不适合广泛采用。

关键是一个语言要有一个大优点,Java依靠GC实现内存管理,Clojure和Erlang解决了并发和容错,一些语言比如Ruby ,紧紧围绕“开发人员的生产力” 做文章,这往往意味着更快地获得有用的代码,同时保持良好的可读性。

每一种语言必须解决的一个大问题,大到足以驱动大家去切换语言。

[该贴被banq于2013-12-05 13:37修改过]

3
lostalien
2013-12-05 14:46
Ruby是伟大的短命项目 ?啥意思呢?

banq
2013-12-05 15:05

2013-12-05 14:46 "@

lostalien"的内容

Ruby是伟大的短命项目 ?啥意思呢? ...

我翻译错了,原文是Ruby is great for short-lived projects,非常适合短周期项目,因为生产力比较高,效率高。

再翻译一下上面hacknews中有趣的一个回答,对各种语言进行最合适的总结:

Python最适合通用数据处理,但是它慢。

Go语言适合网络和并发编程,但是它的边缘很粗糙,比C粗糙。

C 适合硬件精确控制,这里无hand-holding,这也是它的弱点 。

PHP适合习惯受虐的人,它也是完全抽象了底层最快创建web应用的。

C# 最适合那些购买了微软体系的虔诚的微软宗教人士,

Java最适合那些要找到一份企业工作的人,企业有的是钱。

VBA最适合那些被锁定在某个环境下,因为这是唯一选择。

Scala适合你需要可扩展性和模块性,但是它一部分比较复杂,学习花费时间。

[该贴被banq于2013-12-05 15:23修改过]

猜你喜欢