友荐云推荐

** 前言 **

最近网上出了一个《程序员装逼指南》,觉得这个东西其实图样图森破
然后在下跟微博上的一些程序大牛讨论了一下如何装逼,深有感触。。。
程序员嘛,外行人看起来已经是不可理解的奇怪生物了,自然也没必要跟他们再装逼。
所以呢,如何对其他程序员装逼就是一门很有学问的事了。
于是乎在下手痒写了个《高级程序员装逼指南》,请大家指正!

** 编程语言 **

千万千万千万千万不要说自己是Java/C#/C++程序员
尽量学一些奇怪的语言,python已经有烂大街的趋势了,写写还是可以,装逼是用不上了
Lisp和Erlang都是装逼的好语言
当然你要是号称会Haskell就更牛逼了,实在不会也没关系,发发跟Haskell有关的状态别人也很装了
没事儿还可以在论坛里喷喷Java/C++有哪些缺点
可是,如果对方先发制人说他出了一种奇怪的语言名字怎么办?
你可以微笑地说,你可知道天下语言皆出自Lisp和Smalltalk?保准对方愣住3秒钟

** 操作系统 **

首先,妥妥儿的不能用Win,麻瓜才用Win呢
Linux嘛,ubuntu也差了点儿,现在不少人已经用Arch了
懂行儿的人都知道,gentoo和LFS才是真正的装逼利器啊
自己编译神马的,这逼还真不是人人都能装的
再深入的话,你要是用Lisp Machine工作,就近乎神了

** 编辑器 **

作为一个IDE去死团成员,我承认很大程度上我只是在装逼
纯文本编辑器才是你最终的归宿
Vim是标配,但是只有Emacs才能称得上是神器
“伪装成操作系统的编辑器”并非浪得虚名
当然,想要装逼装得好的话,你还需要学习它的配置语言Emacs Lisp

** 博客 **

在CSDN/ITeye/cnblogs这种地方写技术博客确实比在人人上写技术博客好多了
但是你要知道,大牛们都是有自己的个人网站的
而且,一个共同点是,他们的网站都是自己写的html(没有css)并且界面十分难看
整个网站散发着一种“我这的文章都很牛所以界面什么的都不重要”的气质

** 其它 **

我习惯称不会写代码的人为“麻瓜”,你也可以有你自己的称呼
不要写Linux/Unix,正确而专业的写法是*nix
手边不要放技术书籍,即使要摆一两本书也要那种自己打印的全英文的手册
或者用铅笔在纸上写代码也是个不错的选择
还可以养成某种奇特的习惯,例如号称自己是Lisper然后各种加(括号)

** 装逼进阶 **
老是装逼也不成,所以我一直在寻找一种秒杀一切程序员的装逼之法
说实话,程序员的世界里有三种人
大部分是不会写代码的麻瓜,然后是程序员这个群体本身
他们认为唯一比程序员牛逼的,就是搞数学的人了
所以嘛,你要真想装个牛逼,就去学好高等数学吧

#################################################

这个是原版《程序员装B指南》
 
一、准备工作

“工欲善其事必先利其器。”
1.电脑不一定要配置高,但是双屏是必须的,越大越好,能一个横屏一个竖屏更好。一个用来查资料,一个用来写代码。总之要显得信息量很大,效率很高。
2.椅子不一定要舒服,但是一定要可以半躺着。
3.大量的便签,各种的颜色的,用来记录每天要完成的事务,多多益善。沿着电脑屏幕的边框,尽量贴满,显出有很多事情的样子。
4.工具书,orelly的,机械工业,电子工业什么的都可以,能英文就英文,不行影印版的也可以,反正越厚越好,而且千万不要放在书架上,一定要堆在桌上,半打开状。

二、从进门开始

1.着装!着装!不管你是去实验室,或者去公司的大楼,在或者是小公司的民宅,或是自己创业的黑作坊;无论是春夏秋冬白天晚上刮风下雨电闪雷鸣台风龙卷风,一个装b的程序员都要十分在意自己着装!这里只提出参考建议。初级装:衬衣+牛仔裤+休闲鞋。中级装:T恤+宽松短裤+拖鞋。高级装:背心+宽松大花裤衩+人字拖。
2.得体的举止。在走廊以及任何形式的过道里,一定要双手插兜,走得像个痞子,至少要看起来有点反社会,如若不行,可走文弱天才型geek路线。。
3.如果有女性在你背后指指点点,小声嘀咕说这一定是一个技术男的时候,应该先低头,然后保持低头状态,缓缓回头,坏坏地蔑笑但是不要出声,然后快步前行。
4.进门后,一定不要跟任何人打招呼,笔直走向自己的位置,最多路过打一杯咖啡,千万不要有多余的动作,显示出自己的专注与心无旁骛。

三、坐下就不要再动了

1.坐下以后,姿势需要略微后仰,能翘着二郎腿最好了,然后在后仰的情况下低着头,以便看到屏幕,然后千万就不要再动了。
2.粗暴地把电脑前的大堆书推开一个口,然后摘下电脑上的一个便签,看一眼,不过3秒,可以开始coding了。
3.能不用IDE就不要用,实在装不了,无论IDE是什么,一定要调成DOS那种黑色背景的。
4.如果写前台界面,就不停地调试后台代码;如果写java,就在里面混编C;如果写C,就在里面混编汇编。不光要coding,还要时不时的翻出一本什么英文的书翻一翻,看不懂就看看插图,然后扔到面前假装懂了继续coding。
5.什么看起来高端就用什么,不要管实用不实用。例如对C++:switch统统重构成多态;如果有指针,统统改成智能的;C++一定要自己写 template;数字是全部要替换成宏的名字能起多长就起多长;struct就不要出现了,如果出现,也一定要用__attriburte__修饰一下;运算都是位操作的;操作符都是重载的;网络都是并发缓冲线程池的;int只用int32_t声明的;继承不用普通的,什么多继承虚继承啊;helloworld也要写捕获异常的;后人一看代码,中间一堆关键字 extern,asm,auto,XXXXX_cast,volatile,explicit,register,template,让一般总在敲 int,if,else,for的小程序员顿时心生崇拜。
6.注释?算了吧。只有两个路线可以选:一,变量名起得巨长无比,看代码就和读英文文章一样顺畅,根本不需要加注释。 二,代码无比晦涩,加不加注释根本无影响。
7.千万不要用IM工具交流,千万不要问同事问题,显得自己没有水平,都是自己上网或者查书。
8.无论是同事间开玩笑或者发生任何群体性时间,不要抬头,更不要东张西望,即使地震火灾,也一定要先提交代码再行离开。

四、潇洒地离开

1.人走,主机是千万千万不能关的,至少要跑个daily build,实在不行正在svn提交也勉强算过关。
2.书应该已经又堆到屏幕前了,千万不要整理,明天再来推开。
3.不强求最后一个走,但一定要所有的非程序员,什么市场啊前台啊pm啊都走光了,才可以走。
4.走得时候一定要率性,千万不要收拾任何东西,站起来,出门,好的,就这样。
5.如果今天一定要说句话的话,找到那个最苦逼的程序员,跟他说,你进度太慢了啊,不要老让我等你。
 
在那山的这边海的那边有一群程序员,他们老实又胹腆,他们聪明又没钱。他们一天到晚坐在那里熬夜写软件,饿了就咬一口方便面~~哦苦命的程序员,哦苦逼的程序员,只要一改需求他们就要重新搞一遍,但是期限只剩下两天……