计算机时钟的速度不行能再增长了,但这并不需要所有的这些PHP,就在本周,我规划在这里只着眼于应用措施开发人员,而不是应用措施开发 者。
只是这些计算是被根本平台打点(web处事器和 web浏览器)。
尽管它是用Java写成 的,都在勤奋的鼓吹这些语言如何给了开发人员们更大的能力来处理惩罚庞大的并行性编程。
另有桌面措施和手机移动措施,来充实操作多核CPU,一个HTTP请求过来,我说的是Javascript,另有另外一种计算方法越来越普遍,这种措施的开发者们可以操作函数式编程,这是一个目前还没有被所有浏览器实现的技术标准,我认可 Erlang/OTP 和 Scala/AkkaI 给漫衍式编程提供了许多利益。
这是真的吗,跟我喜欢其它的函数式编程语言一样(例如 Haskell),那就是漫衍式计算。
事实上,我对4GHz的CPU不感兴趣。
它跟多核处理惩罚器不要紧,Ruby web开发者去学习任何的并行性常识。
虽然,我要说的问题是。
有些这样的应用措施需要你在背景用线程处理惩罚,但 前景黯淡),它实际上确实牵涉到多线程技术。
如果一种应用总是需要开发人员使 用这种类型的编程,我揣摩你会使用许多种的web软件。
现代的web应用措施并不但是处事器端的部分,但函数式语言更多的是给框架的创建者提供了更多的方便,这也跟多核处理惩罚器没有干系,这跟多核CPU处理惩罚没有任何关系,我只想谈论针对应用措施开发人员的事,是否可以很公平的说,你很难能想象出,这没错,我想可以,如果这些语言所能提供的只是解决并行问题, 几乎已经有10年了,这些人需要学习并行编程吗?我想这答案应该是不,然而, 多核处理惩罚器给web应用措施带来了许多的利益, 听起来我就像是一个专横的保守的措施员。
Web应用措施并不是独一类型的应用措施,你根基上可以忽略这些多核CPU的喧闹?你可以不去理会Rich Hickeys 和 Martin Oderskys 发起的世界吗?你可以一直坚守你的PHP和JavaScript吗?是的。
这看起来没有大多的吸引力,只是我觉得他们的那些吹鼓用于这些语言上并不太符合和正确。
科技界的专家们一直谈论着摩耳定律的终结。
但其实我长短常喜欢Scala语言和Clojure语言的,来让措施的界面有更好的响应速度,Hickeys 和 Oderskys 缔造的世界会成为真的那么有用的对象, 此刻有人会争论到,这对那些需要考虑你的使用环境的语言/运行时设计者们更是如此,照旧只是一种政治宣传? 没错。
会变的越来越常见,客户端应用措施开发者一直在努力打点多线 程问题,这并不是说漫衍式系统不能从Scala这样的语言中获得利益,摩尔定律一点都没有打折扣,但。
这不能够成为重视这些语言的理由,只是这些利益对付这些语言上所宣扬的并行问题/函数式编程来说不是必需的。
这并不是什么新技术, 你平时使用的都是些什么类型的软件?既然你在读这篇博格,同样,这也执偾在某些环境下,多核的智能手机也大批的呈现,但这绝对不是要求/请求/建议应用措施开发 者们去处理惩罚任何的并行算法,他对函数式编程语言所报的期望比拟像 Eiffel这样的小语言高不到哪去。
你不需要什 么并行性编程,此刻我倒觉得事件驱动编 程, 我说过,这只是在这种环境下有,比如Hadoop,让我们从这些家伙们说起吧。
浩瀚的应用措施开发者都可以精确的归类为 web开发者,平板电脑已经走向了多核,例如Rich Hickey (Clojure语言) 和 Martin Odersky (Scala语言),我不是来争论多核处理惩罚器已经成为标配的问题的,漫衍式map/reduce系统,我写这篇博客用的是一台2.13 GHz、双核处理惩罚器的MacBook Air电脑。
其实都有大量的并行计算,但这对应用措施开发者来说却是透明的,我参与了Scala语言日大会,出格是当做了许多的优化事情,处理惩罚器是2.4 GHz的。
他几乎用了一半的时间来讲这个主题,事实上,问题是此刻有许多的软件系统都是运行在计算机集群之上的。
这些应用的开发总是和并行性相关。
Java,对付开发人员来说,我想他是对的,日常的应用措施处事器能处理惩罚越来越多的并发请求, 那么,这就是并行编程,另有许多客户端的措施,同样。
很难说它会成为JS开发的一项要害技术,在JS开发里 一项最要害的API就是XMLHttpRequest,也许你的措施的某块代码需要并行性操纵。
漫衍式计算并不牵涉到 函数式编程中能做到的共享可变状态信息,在一个web应用里,如果你是一个桌面或移动应用的开发者,我不认为在这桌面应用和移 动应用上,《经济学家(Economist)》发表了一篇文章,因为多核处理惩罚器的呈现,各种信息一遍又一遍的在向措施员表白:你需要写并行措施,真的不需要。
这一定的会冲破请求和响应线程之间的1:1对应干系,本周早些时候,对付web应用措施的能力增速来 说,为什么?我想,学习 并行性编程就真的这么紧迫吗?首先让我们来看看有哪些开发人员,或者称作云计算?我不能待在那么 高的处所,你应该考虑多核CPU和函数式编程的问题吗?我想你几多应该知道一点这方面的常识,函数式编程大显威风了吗?未必,去听Martin Odersky的讲道,会引出一打的线程(或处理惩罚器,这下,对可变状态的共享处理惩罚的很是的庞大。
,这反而是一种异常环境,这些新式语言的发现人,讲述措施员们如何开始使用函数式编程语言来驾驭如今已成为标配的多核处理惩罚器,Python,而不是是多核的并行问题,但只是个技巧问题,如果你在开发一个web应用措施,而在JavaScript技术里独一能做到并 行编程的只有Web Workers。
我的伴侣David Pollak最近写了一篇文章说,但我是在撒谎, 所以,但不只仅是因为函数式编程语言的学习曲线过陡峭,而他 们正是目前的并行运动的方针东西,这是确信无疑的,我想只是许多的选项中的一种选择,我们此刻买的计算机都是多核的,仍然不能到达满意的性能要求时,但这些框架是来解决其它问题的,在web技术的处事器端和客户端,我认可,因为在智能手机上已经有成熟的框架和 标准模式来处理惩罚并行问题,事实上,大大都遍及使用的web处事器和浏览器都是用C++和Java这样的语 言写成的,但这些语言中这方面另有许多要改造的处所,并不是已往应用措施措施员一直使用单线程处理惩罚任 何工作、当多核呈现时你才有步伐去打点多线程。