最近这几年在世界各地突然吹起了一股全民写程序的风潮,连美国总统欧巴马都在写 JavaScript 了,但是身为一介靠写程序(以及在上班时间胡乱上网)来谋生的 developer(所谓的 developer 就是「软件工程师」的比较潮的说法),想要提醒那些想学习写程序的人一件重要的事:慎选你的第一个程序语言。

在软件工程师(中国叫做「程序员」或「码农」)的圈子里,文人相轻的现象可是非常严重的,在程序设计的各个领域里都有着错综复杂的「鄙视链」。从程序语言、编辑器、平台到 { 是写在 if 的同一行还是下一行,不同阵营的人都习惯鄙视来鄙视去。而其中「你用什么程序语言?」更是大家最热衷的一条鄙视链,所以对于刚踏入程序设计领域的初学者来说,万一程序语言选得不好,可是会一开始就落入鄙视链的底层啊。

软件工程师的鄙视链到底有多惨烈、多残酷呢?

程序语言篇

懂 Functional Programming 的工程师鄙视老是把设计模式挂在嘴边的工程师,老是把设计模式挂在嘴边的工程师鄙视会说「你这样写就不 OO 了啊」的工程师,会说「你这样写就不 OO 了啊」的工程师鄙视会说「哈?什么物件导向?不是把重复的 code 写成一个 function 就好了吗?」的工程师,会说「哈?什么物件导向?不是把重复的 code 写成一个 function 就好了吗?」的工程师鄙视把同一段 code 到处复制贴上的工程师,把同一段 code 到处复制贴上的工程师鄙视 PM。

写静态语言的工程师鄙视写动态语言的工程师。

写组合语言的工程师鄙视写 C 语言的工程师,C 语言工程师鄙视 C++ 工程师,C++ 工程师鄙视 Java 和 C# 工程师,Java 工程师和 C# 工程师则互相鄙视,而 C# 工程师又鄙视 Visual Basic 工程师和会把 C# 念成「C 井」的工程师,会把 C# 念成「C 井」的工程师则鄙视认为 HTML 是一种程序语言的设计师。

用 Python 3 的工程师鄙视还在用 Python 2 的工程师,用 Python 2 的工程师鄙视遇到 UnicodeEncodeError 的工程师。

写 iOS 的工程师鄙视写 Android 的工程师,写 Android 的工程师鄙视写 Windows Phone 的工程师。

有 Swift 一年经验的工程师鄙视有 Objective-C 五年经验的工程师,写 Objective-C 的工程师鄙视用 PhoneGap 包装成 native app 的工程师。

用 React.js 的工程师鄙视用 AngularJS 的工程师,用 AngularJS 的工程师鄙视用 jQuery 的工程师,用 jQuery 的工程师鄙视用 Vanilla JavaScript 的工程师,用 Vanilla JavaScript 的工程师鄙视 IE 的使用者。

会用 debugger 的工程师鄙视用 assert 的工程师,用 assert 的工程师鄙视只会 print () 的工程师;用 console.log () 来 debug 的工程师鄙视用 alert () 来 debug 的工程师。

写 Ruby on Rails 的工程师鄙视所有使用其他语言的工程师。

什么?你说 Ruby?Ruby 只是 Ruby on Rails 的一套框架,才不是什么程序语言呢!

所有的工程师都鄙视 PHP 工程师。

工具篇

用 text editor 的工程师鄙视用 IDE 的工程师。

用 Vim 的工程师鄙视用 Emacs 的工程师,用 Emacs 的工程师鄙视用 Vim 的工程师,无论是用 Vim 或 Emacs 的工程师都鄙视所有用其他编辑器的工程师;用 Atom、Notepadd++、Sublime Text 的工程师鄙视用 Windows 记事本的工程师。

用 Android Studio 或 IntelliJ IDEA 的工程师鄙视用 Eclipse 的工程师,用 Eclipse 的工程师鄙视用 NetBeans 的工程师。

用 Git 或 Mercurial 的工程师鄙视用 Subversion 的工程师,用 Subversion 的工程师鄙视用 Dropbox 来做版本控制的工程师,用 Dropbox 来做版本控制的工程师鄙视根本不知道什么叫做版本控制的工程师。

用 Zsh 的工程师鄙视用 Bash 的工程师,用 Bash 的工程师鄙视用 Cygwin 的工程师,用 Cygwin 的工程师鄙视用「命令提示字元」的工程师,用命令提示字元的工程师鄙视用 GUI 介面的工程师。

用 IRC 的工程师鄙视用 HipChat 的工程师,用 HipChat 的工程师鄙视用 Slack 的设计师。

用 reStructuredText 写文件的工程师鄙视用 Markdown 写文件的工程师,用 Markdown 写文件的工程师鄙视用 HTML 写文件的工程师,用 HTML 写文件的工程师鄙视不写文件的工程师,然后用 LaTeX 写文件的工程师鄙视所有工程师。

用 Docker 来部署 server 的工程师鄙视用 Ansible 或 Puppet 来部署 server 的工程师,用 Ansible 或 Puppet 来部署 server 的工程师鄙视用 Fabric 来部署 server 的工程师,用 Fabric 来部署 server 的工程师鄙视手动 SSH 的工程师。

OS 篇

用 Mac OS X 的工程师鄙视用 Linux 的工程师,用 Linux 的工程师鄙视用 Windows 的工程师。

用 Debian 的工程师瞧不起用 Ubuntu 的工程师,用 Ubuntu 的工程师瞧不起用非 LTS 版本的 Ubuntu 的工程师。

硬件篇

用 MacBook Pro Retina 的工程师鄙视用 MacBook Air 的工程师,用 MacBook Air 的工程师鄙视用 ThinkPad 的工程师,然后用 Raspberry Pi 的工程师鄙视用 MacBook Pro Retina 的工程师。

用 Dvorak 键盘的工程师鄙视用 Mac 键盘的工程师,用 Mac 键盘的工程师鄙视用 QWERTY 键盘的工程师,用 QWERTY 键盘的工程师鄙视用手写板的设计师。

坐 Aeron 椅子的工程师鄙视坐普通办公椅的工程师,坐普通办公椅的工程师鄙视跟他一样做普通办公椅的 PM,然后站着写程序的工程师鄙视坐 Aeron 椅子的工程师。

职场篇

搞硬件的工程师鄙视搞软件的工程师。

写 OS 的工程师鄙视写 Web 的工程师,写 Web 的工程师鄙视写 desktop application 的工程师。

后端工程师鄙视前端工程师。

工程师跟设计师互相鄙视。

信奉 Test-Driven Development 的工程师鄙视先写 code 再补 tests 的工程师,先写 code 再补 tests 的工程师鄙视不写 tests 的工程师,不写 tests 的工程师鄙视又他妈乱改需求的 PM。

没有证照的工程师鄙视考了一堆证照的工程师。

上班穿休闲服的工程师鄙视上班穿西装的工程师,上班穿西装的工程师鄙视上班穿系服的工程师。

结束语

如果你看了以上这些惨绝人寰的鄙视链之后,仍然没有击倒你想要学习 coding 的心,那我必须提醒你一件最重要的事:先去交一个女朋友,再来学写程序;因为一旦你成为软件工程师之后,就交不到女朋友了。

余下全文(1/3)

本文最初发表在vinta.ws,文章内容属作者个人观点,不代表本站立场。

分享这篇文章:

请关注我们:

《程序员的鄙视链》有34个想法

  1. 用 Mac OS X 的工程师鄙视用 Linux 的工程师,用 Linux 的工程师鄙视用 Windows 的工程师。
    应该是Linux工程师鄙视Mac OS工程师吧。信仰再大,也大不过Linux的狂气

  2. onesa 对这篇文章的反应是笑死了
  3. Jinya  这篇文章
  4. Null  这篇文章
  5. 看过鄙视链之后,有那么一瞬间,我忘记了自己尴尬的处境……

  6. troyyuan 对这篇文章的反应是笑死了
  7. Carlos 对这篇文章的反应是俺的神呀
  8. 踏尘 对这篇文章的反应是笑死了
  9. buynowdays 对这篇文章的反应是俺的神呀
  10. dengke 对这篇文章的反应是俺的神呀
  11. jatyhu 对这篇文章的反应是笑死了
  12. Liuxd 对这篇文章的反应是笑死了
  13. 为毛总说程序员找不到GF?我就没见哪个程序员在这方面有啥问题啊。该结婚的结婚,该找女友的找女友啊。

  14. 嗒嗒嗒  这篇文章
  15. 何娟  这篇文章
  16. 石磊 对这篇文章的反应是赞一个
  17. 你以为我喜欢用alert来调试阿,TM说不出的苦好不好。
    开发机无网络,浏览器只有windows自带的,没有admin权限,不能私自安装程序。
    哥哥我至今还在用UtrlEdit写servlet好不好,哭都哭不出来。

  18. 张彧广 对这篇文章的反应是俺的神呀
  19. K-LOCK  这篇文章
  20. 徐泽阳 对这篇文章的反应是飘过~
  21. feng 对这篇文章的反应是俺的神呀
  22. dzd 对这篇文章的反应是俺的神呀
  23. (⊙o⊙) 对这篇文章的反应是俺的神呀
  24. 想子 对这篇文章的反应是俺的神呀
  25. Sky_miner 对这篇文章的反应是俺的神呀
  26. 安浩然  这篇文章
  27. jerry 对这篇文章的反应是赞一个

发表评论

电子邮件地址不会被公开。 必填项已用*标注