今儿风特大,刚才出门见一大爷被风吹倒了,走过去问:大爷,我一月工资不到3000块钱,我能扶您起来吗? 大爷:小伙子,你是搞挨踢的吧,你们现在日子也不容易。走吧,我再等等后面的,等个做风险投资的。 我:好勒,谢谢大爷! 虽然天冷风大,但大爷的话却是暖暖的,满满的都是正能量。还是好人多啊!

今天风确实大,刚才路上差点被吹走了,幸亏背了一本《代码大全》!O(∩_∩)O~

 

 

在软件工程师(中国叫做「程序员」或「码农」)的圈子里,文人相轻的现象可是非常严重的,在程序设计的各个领域里都有着错综复杂的「鄙视链」。从程序语言、编辑器、平台到 { 是写在 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 的心,那我必须提醒你一件最重要的事:先去交一个女朋友,再来学写程序;因为一旦你成为软件工程师之后,就交不到女朋友了。

最后要说的是,大常神鄙视所有程序员。

大学提了提裤子对我说:“你可以走了,但把青春留下”,我这才知道,不是我上了大学,而是大学上了我。
我发誓找回自己的尊严,于是我选择上班。
上班甩了甩头对我说:“我接收你了,但把健康留下”,我这才开始懊悔,怎么才出了虎口又跑进狼窝了啊。
仔细看,下面该你了
从那一刻开始你发誓要重新找回你的人生。于是下辈子你选择做了老母猪。只需要吃喝拉撒生小猪。

那个时候,我们还年轻,还是理想,相信知识改变命运,我们还在积极的参加社团,积极的申请入党
我们相信自己的判断,胜过于师长的经验之谈
我们相信真理,相信共产主义,相信世界会因我而改变
相信爱情,相信友情,相信亲情,相信世界上比金钱昂贵的东西有很多
那时候我们很瘦,但我们有本事,只会把别人肚子搞大;现在我们胖了,但我们没本事了,只能把自己肚子搞大
那时候我们奋斗的很天真,但却是脚踏实地
我们相信自己与众不同,相信世界会因为而改变