你或许问过工程师朋友,「我该从哪种语言下手?」,但每个人给的答案都不ㄧ样。他们的解释都是听不懂的外星语(什么是物件导向?!)。
为了帮助你挑选适合你入门的语言,这里有一张很简单的资讯图表,只要照着路径回答问题,依照你的目的和兴趣,就可以找到最适合的语言哦~详细的优劣在图表底下也有附注,快点开始吧!
找到心仪的程序语言了吗?这里还有帮大家整理了教学的工具和资源(中文的在这里),让你们可以快速上手喔。
「一个好的工程师学写程式并不是为了赚钱或是赢得大家的关注,只因为这真的很有趣!」– Linus Torvalds (Linux 的创办人)
一个好的工程师不能只会一种语言,学习几种不同的语言可以帮助你思考,提升解决问题的能力。随着科技不断的进步,也必须时时精进自己。学习永远不嫌晚,就从今天开始迈向伟大工程师的航道吧!
大家对这张图表的结果好像有很多疑问,在这边帮大家解惑:
1. 为什么怎么走都是 Python,你是 Python 的粉丝吗?
我觉得 Python 是一种很适合新手入门的语言,所以在很多路中都有出现,当然还有很多语言也很容易学习,不过我仍然是以较普及的语言为主。
2. 写程序跟玩具有什么关系?
这其实是依照你的个性来分的,出处来自 Mattias Petter Johansson。
「我推荐大家以 Python 入门,但也不是一定要这样开始。到底要选 Python 或 Ruby 其实是看个性,如果你小时候喜欢玩乐高就选 Python,如果你喜欢玩黏土,就选 Ruby 吧!」
又老又丑的玩具就是 PHP,这种个语言在 90 年代就已经被发明了,虽然他现在仍然很受欢迎,但是逐渐失宠,很多人都转向 C#(ASP.NET)、Ruby(Ruby on Rails)和 JavaScript (Node.js)。
3. 手排车跟自排车又是什么理论?
C 语言让你有更多的主导权,使用 Java 的话,你不用担心换档(记忆体管理)的问题,但是 C 语言让你可以开得更快、更有效率。
4. 脸书不是用 PHP 吗?Google 只用 Python 吗?
公司当然不会只使用一种语言,他们也有用到 Java 和 C++,问题的重点是,你必须学会多种语言才可以在公司胜任工程师,再找工作的时候也比较不会受限。
5. 工程师最常遇到什么问题?
- 一写就是好几个小时
- 有时候觉得自己很笨
- 思考的时间比开发的时间还长
- 所有跟电脑有关的问题都是你的问题
特别要感谢 Prithviraj Udaya,他用魔戒的人物来形容各种程序语言,并同意让我把他们放进图表中。
资料、图片來源:Carl Cheo.com;图片來源:Bev Goodwin,CC Licensed