C和Java哪种语言更好?
2008-05-25 07:55
411 查看
计算机科学与编程语言无关,甚至与计算机本身也没太大关系,它研究的对象并不是计算机,而是人分析问题解决问题的方法论。程序写出来最主要不是为了给计算机执行的,而是为了给人看的,使用编程语言和使用自然语言一样是为了表达和交流,只不过程序还可以顺便给计算机执行而已,以上这些话并不是我说的,而是一位著名的计算机科学家说的。所以,在编程语言的层面上争论是没有意义的。很多初学者错误地认为掌握了编程语言就等于学会了计算机,一种编程语言都还没有掌握好,更没有上升到方法论的层面,只有这种无知的人才会去争论哪种语言好的问题。掌握了编程语言远远不等于学会了计算机,而只是最开始的一步,最简单的一步,到了工作中,用到什么语言就去学什么语言,什么语言过时了就丢掉,编程语言不需要积累因为它太简单了,真正需要积累的是方法论。很多人喜欢参与到这类争论之中,毫无例外,每个人都在为自己熟练掌握的编程语言辩护,就是“我会的语言最好,我不会的语言都不好”,其实这些人真正想说的是“我会的语言最好是千秋万代,我就不必学新的语言,不必适应新的变化了”,概括起来说就是一个字,懒。真正的高手都是会很多编程语言的,国外有些做技术咨询的,每年都要学好几门新的编程语言,这样才能应对市场的变化。不断丢掉旧的编程语言学习新的,看起来好像完全是白费力气,没有积累,其实,每种编程语言的设计都有独到之处,体现了每种语言的精髓,在融汇百家之后积累下来的正是方法论。争论哪种语言能做的事情更多、功能更强是没有意义的。从理论上说,任何一种符合图灵机模型的编程语言,加上适当的I/O扩展都可以做任何事情,用shell脚本也可以写出很像样的游戏来。只不过各种语言的设计目标不同,表达能力不同,做不同的事情所需的代码量不同而已 另外一种错误认识是:哪种语言的市场最大,开发人员最多,哪种语言就最好。单从这种意义上说,Java的确比C更好,所以往届有学员问我们为什么只教C语言。请你注意,操作系统内核是用C写的,各种底层的应用程序包括Java虚拟机也是用C写的。如果你想学Java,在亚嵌的学习完成后你将有能力分析Java虚拟机的实现,站在计算机系统的高度来学Java才会使你成为真正的Java高手。如果你只想速成,想早点学成一门技术去做拧螺丝的工作,那么亚嵌不适合你.在FAQ3里说过,世界上有C和LISP两种编程语言,你现在学了C,以后学了C++、Java、.NET等等,也仍然只认识了半个世界。LISP和Haskell构成了另外半个世界,现在很常见的Python和JavaScript等解释型语言也借用了functional programming的思想。如果你只管闷着头写代码,而不去广泛涉猎,那么你将错过很多精彩。
相关文章推荐
- 寻找更好的Java替代语言的10大理由-----Scala是个不错的选择
- .NET和Java将有更好的动态语言支持(翻译)
- 寻找更好的Java替代语言的10大理由
- 使用java语言如何更好的使用多线程?
- Scala创始人:创造比Java更好的语言
- 开发语言大PK:php和Java哪个更好?
- C++, C# & Java哪种语言更好?
- 开发语言大PK:php和Java哪个更好?
- .NET和Java将有更好的动态语言支持
- GitHub最流行语言:JS 还第一,Python 反超 Java
- 一个比较综合的Java语言基础试题
- Java语言的11大特点
- 基于Java语言的安卓编程学习之六Activity的切换
- Java语言动态代理(Dynamic Proxies)实例
- JAVA语言实验——求三个整数的最大值
- Java笔记之语言基础_按位运算
- Java语言设计模式之状态模式(State)
- Java语言基础特性—第一部分(中)
- Java语言中我误解
- Java篇--Java语言的基本语法5