zoukankan      html  css  js  c++  java
  • Java门派的风险

    Java门派的风险

    正在看周思博(www.joelonsoftware.com)的新文章。这次是疯狂攻击Java。主要论点是:Java不够难,作为工业语言不错,但作为学校的教学语言,就忒差了。学校应该用指针和递归这类东西把真正的程序员筛选出来。对指针(代表系统底层)和函数编程(代表高层抽象)的学习是脱胎成优秀程序员的必经之路。看这种滔滔雄辩的文章最爽了。摘取一段哈:

    不了解泛函编程,你不可能发明MapReduce -- 让Google获得超大规模扩展能力的算法。Map和Reduce这两个术语就是来自Lisp和函数编程。现在看来,MapReduce对每个记得6.001等同课程的人都是显而易见的选择:纯函数编程没有副作用,所以才能让并行处理出奇地容易。恰恰是Google而不是微软发明了MapRequest在某种程度上说明了为什么微软还在努力追上Google的基本搜索功能的时候,Google已经开始需求解决另一个问题:开发天网HHHHHH这个世界上最大规模的并行超级计算机。我觉得微软还不清楚他们到底落后了多少。

    还有这一段:除开指针和递归本身的重要性以外,他们的真正价值在于开发大型系统需要某种思维上的灵活性。而这种灵活性得从学习指针和递归得来。开发大型系统也需要一种思维上的天赋,这种天赋可以通过教授指针和递归被筛选出来。指针和递归要求一定的推理能力,抽象思维的能力,和更重要的在不同抽象层次上看待问题的能力。因此,理解指针和递归的能力和当优秀程序员的能力直接相关。

    还有这一段:计算机科学是证明(递归),算法(递归),语言(lambda 算子), 操作系统(指针),编译器(lambda 算子) -- 所以底线是不教C和scheme的Java派也没有真正地教你计算机科学。

    注解一下哈:6.001是MIT CS入门第一课,用著名经典SICP(早就有中文版了),用scheme(LISP的一种)讲各种编程思想。网上也有授课录像。这个课第一堂就基本讲完Scheme所有语法(当然,lisp本来就是非常简单但深刻的语言),并开始谈论定点理论。第二节课就用短短数行写出了找平方根算法,干净漂亮,让人叹为观止。

    天网是终结者里发动核攻击消灭人类的超级计算机,第三集里说天网其实不是一台机器,而是通过互联网变得拥有智能的程序。

    HHHH是在Unix的基本配置下,命令行输入按Backspace出现的效果。也就是说,作者暗示自己本来想说的是天网,但改成后面的说法了。一种技术文章里常用的强调/幽默写法。

    Greatness is never a given, it must be earned.
  • 相关阅读:
    Web API 2 入门——使用ASP.NET Web API和Angular.js构建单页应用程序(SPA)(谷歌翻译)
    Web API 2 入门——创建ASP.NET Web API的帮助页面(谷歌翻译)
    Web API 2 入门——使用Web API与ASP.NET Web窗体(谷歌翻译)
    Web API 2 入门——Web API 2中的操作结果(谷歌翻译)
    Web API 2 入门——Web API 2(C#)入门(谷歌翻译)
    WebBrowser 中遍历所有的frames
    浏览器js console对象
    Vi Command 【转载】
    JS调用BHO
    iframe空文档中写入内容
  • 原文地址:https://www.cnblogs.com/zjutzz/p/4590892.html
Copyright © 2011-2022 走看看