程序员的鄙视链有多长?【转载】

摘要:
在软件工程师圈子里,学者们互相轻视是非常严重的。在程序设计的所有领域都有一个复杂的“鄙视链”。从程序语言来看,编辑器平台到(无论是写在同一行还是下一行,不同阵营的人都习惯于鄙视和鄙视。)软件工程师的鄙视链有多残酷和残忍?Python工程师处于鄙视链的同一级别?编写Ruby on Rails的工程师鄙视所有使用其他语言的工程师。上班时穿着休闲服的工程师鄙视那些穿着休闲服工作时穿西装,而上班时穿西装的工程师鄙视上班时穿西服的工程师程石。

在软件工程师(中国叫做「码农」或「程序猿」)的圈子里,文人相轻的现象可是非常严重的,在程序设计的各个领域里都有着错综复杂的「鄙视链」。

从程序语言、编辑器、平台到 { 是写在 if 的同一行还是下一行,不同阵营的人都习惯鄙视来鄙视去。而其中「你用什么程序语言?」更是大家最热衷的一条鄙视链,所以对于刚踏入程序设计领域的初学者来说,万一程序语言选得不好,可是会一开始就落入鄙视链的底层啊。(不过,鄙视链的底层并不代表你选的那门语言就毫无价值。

软件工程师的鄙视链到底有多惨烈、多残酷呢?Python工程师又处于鄙视链的那个层级?

本文仅供参考娱乐。

 

 

程序语言篇

懂 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。

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

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

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

程序员的鄙视链有多长?【转载】第1张

转载自:http://mp.weixin.qq.com/s?__biz=MzAwNDc0MTUxMw==&mid=2649638913&idx=1&sn=dd40c6eb5ac150f8b1456b52b9d120da&scene=0#rd

免责声明:文章转载自《程序员的鄙视链有多长?【转载】》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Webbrowser与HtmlAgility的结合vue 实现分类渲染数据下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

软件的版本控制

无论是个人进行单独编码还是团体开发项目,项目的版本控制都是很重要的。就我所知的版本控制方式有两种。 最简单的版本控制就是保留软件不同版本的数份copy,并且适当编号。许多大型开发案都是使用这种简单技巧。虽然这种方法能用,但是很没效率。一是因为保存的数份copy几乎完全一样,也因为这种方法要高度依靠开发者的自我纪律,而常导致错误。 使用版本控制工具,可以方...

eclipse中安装svn插件实现版本控制

打开eclipse -> Help ->Install New Software选项, 点击Add按钮 根据需要,添加自己需要的版本svn控制器的版本,填写name和url,点击ok。 Name: Subclipse 1.8.x URL: http://subclipse.tigris.org/update_1.8.x 特别注意: 上面的N...

版本控制 团队开发 svn服务器架设以及客户端svn配置

一、首先体验下作为开发员直接用的多的svn客户端的配置 svn客户端有两种,一种是集成到vs开发平台中,还有一种是单独的界面。 在这,我们两者结合起来用,使得开发更加高效。  首先,我们采用TortoiseSVN作为日常同步版本,获取新版本来使用。TortoiseSVN 是开源项目,在http://sourceforge.net/projects/tort...

SVN的配置和使用

1、svn是代替cvs而衍生出来的一种新的版本控制器系统。他的图标是个小龟。2、1)备份数据2)、项目同步 3)、进行版本控制。3、svn版本控制器的原理 项目组成员A上传代码,然后项目组成员B下载下来。然后进行协同开发。4、安装1)、服务器端软件(提示重启必须的不要重启) 2)、客户端软件 3)、中文语言包5、说了怎样去建立版本库,就是怎样去在你的电脑上...

svn ignore 的用法(忽略文件及目录)

svn ignore 的用法(忽略文件及目录) 若想创建了一个文件夹,并且把它加入版本控制,但忽略文件夹中的所有文件的内容: $ svn mkdir spool$ svn propset svn:ignore '*' spool$ svn ci -m 'Adding "spool" and ignoring its contents.' 若想创建一个文件夹...

服务API版本控制设计与实践

一、前言 笔者曾负责vivo应用商店服务器开发,有幸见证应用商店从百万日活到几千万日活的发展历程。应用商店客户端经历了大大小小上百个版本迭代后,服务端也在架构上完成了单体到服务集群、微服务升级。 下面主要聊一聊在业务快速发展过程中,产品不断迭代,服务端在兼容不同版本客户端的API遇到的问题的一些经验和心得。一方面让团队内童鞋对已有的一些设计思想有一个更彻底...