2012/2/24 Earthson <earthson.la...@gmail.com>:
> C的精髓在于,它本身非常简单。你需要考虑的问题在于,你如何用这种简单的东西,构建庞大的构架,完成一些奇特而优雅的设计。在这点上,它和很多其他的语言是不一样的。很多语言都是工业化设计的,可谓毫无编程快感(当然即便如此,这些语言你还是需要了解下,并非所有的工作都是你一个人完成的,尝试体会下语言的设计者,以及项目的构架师为什么设计或者使用这样的语言呢?)。
>
> 当你学习一门语言的时候,不妨站在语言设计师的角度上考虑下问题,它为什么被设计成这个样子呢?作为使用者,你需要什么样的特性,而这些特性为什么没有被实现?设计者的考虑是什么?
>
> 至于算法,其实重点在自己的思维能力。如果你是个追求速度,追求优雅设计的人,算法和构架方面的问题早晚会精通的。如果是一个单纯的语言使用者,只是把语言当成单纯的工具的话,就需要额外提醒自己注意下这些东西了。前一种态度会让计算机成为你思维的延伸,而后者就不会。同样是使用工具,艺术家和一般的工匠并不是一样的。
>

- 是也乎,是也乎!
- 每种語言都有其最舒服的应用領域
    - 前提是,真正使用設計者包含在其中的思維方式去解决问题
- 正是因为語言設計时的目标領域不同,才导致不同語言在相同问题面前的效能不一样:
    - 这效能不仅仅是运行效率
    - 对我们湿式来説,更加要命的有:
        - 学习成本
        - 调试成本
        - 工具链
        - 部署支持
        - 自动化测试
        ....
    - 所以,C 这种万能語言,面对領域问题时,就很摧悲的原因就在此

接下来学习什么?!
    - 想真心进入软件工程的世界? 参考:
        贝壳的壳: 专业程序员需要掌握的几种语言
        http://floss.zoomquiet.org/data/20101118185349/index.html
    - 只是好奇什么語言最好?
        Paul Graham 同学曾经曰过, ``吾观之, 自古语言模型者, 惟 C 与 LISP 简洁而隽永, 高山仰止,
后来者皆取 C 之形, 循 LISP 之神也.'“
    - 只是想提高工资?
        - 那真心学习公司需要的就好!

-- 
人生苦短, Pythonic! 冗余不做,日子甭过!备份不做,十恶不赦!
俺: http://about.me/zoom.quiet
文字协议: http://creativecommons.org/licenses/by-sa/2.5/cn/
-- 
ubuntu-zh mailing list
ubuntu-zh@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh

回复