从程序语言之争谈起

来源:互联网 发布:算法导论 epub 编辑:程序博客网 时间:2024/04/29 19:15

程序语言无好坏之分
  很多很多人, 特别是刚学习程序设计的人, 很容易对所学所用的语言进行无何止的争论, 我当时也有过类似的争论, 也曾经到处询问哪个语言好, 哪个编译器好, 哪个IDE好。后来随着学习的深入, 发现程序语言本无高低之分, 有区别的地方是程序设计, 而不是程序语言, 语言只是一种工具。
  比如在网上很多人都认可:C++要强于C, C要强于VB. 现在看来, 这是十分可笑的事情。现在有很多人能用VB开发出很优秀的软件, 有人能用VB写出病毒来, 如果你说你的C或C++比VB强大, 那么你能开发出来优秀的软件吗?你能写出病毒来吗?
  就程序设计或软件开发来讲, 所用的语言, 编译器, IDE和其他的工具, 这些都是工具。它们也在随着不同的项目在变化。在有些东西是不变的:比如设计能力, 算法能力, 编程技巧等。这些才是决定程序质量的东西。大家应该知道Bruce Eckel吧, 他那几本书可是经典中的经典啊,《thinking in C++》, 和《Thinking in Java》几乎是学习C++和JAVA的人的必看书籍。其实这二本的的精要都是基本差不多, 都是主要在讲如何更好的进行OOP, 如何更深入的理解这二门语言。当你看书的时候你会感到惊叹, 作者对二种语言的理解是多么的深入。那么为什么他能够到达那样的境界呢?因为他的程序设计能力达到了那样的境界, 而不是对C++或JAVA语言的掌握达到那样的境界。我敢打赌, 如果Bruce Eckel想写, 他还可写一样同样成功的《thinking in C#》,或《thinking in PHP》。因为语言只是表面上的东西, 本质上的东西还是那些。
  在学校时我们发现那些原理课程, 如《程序语言原理》, 《操作系统原理》, 《数据库原理》,《编译原理》等等, 十分的枯燥, 没有意思。平时逃课最多的可能就是这些课程。但是当你工作了几年之后你会发现, 想要从质上面去提高自己, 必须要学习这些东西。而且这些东西也不随着新技术的出现而变化, 因为新技术是根据这些原理创造出来的。
  所以我们在平时的工作学习中, 要注意多总结, 提炼出真正的经验, 总结出万能的东西, 这样才能以不变应万变。任他新技术, 新花样的层出不穷, 只要把原理掌握了, 就可以高枕无忧了。

原创粉丝点击