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