[转]悲催的程序员,以及程序员的悲催

我尽量用平和一点的口吻跟你说说关于程序员的那点事儿。

1.

我在一个叫摩托罗拉的公司干过,那地方有50%的人整天干的事情就是催另外25%的人没完没了的解剩下那25%的人造成的bug。我是个程序员,每天敲敲打打,哪天电脑崩溃了你会发现我这辈子啥都没留下。大多数人甚至都没有想过我们是怎么把手机捣鼓出来的,包括是是否人手一套乐高的家庭套装工具。

我那可爱的岳父岳母在向自己的亲戚朋友们介绍我的时候,总是用一种充满自豪的口吻轻描淡写的说,他在摩托罗拉上班(我离开摩托罗拉以后他们会说,他以前在摩托罗拉上班)。然后那帮倒霉催的亲戚朋友们就会一种既内行又套近乎的口气说,你能埋导偏伊熟几啵?...我内诺几亚屏幕不咸你能修啵?

类似的事情在我刚毕业的时候也会经常发生,人们一听到邮电大学就会忧国忧民的叹一口气:现在这邮局不景气啊,快递也都是体力活儿...

今天下午我的我同事同客户见面,我们花了一个多小时也没法很好的解释为什么我们的客户端在收到一个完整的图片(虽然它超时了)后又再次发生相同的请求,并且在3秒钟又收到应答之后还是没法让它显示出来。“有关部门”可以“不解释”,但程序员一点儿都不能含糊。

然后另外一个同事给我发了一个链接,关于大洋彼岸一个悲催的程序员阿什顿的故事(http://www.zhuoqun.net/html/y2010/1565.html)。“他写过的任何一行代码都没有运行过。过去两年内他做的任何一件事情都没有对世界产生过什么影响。”

尽管我从内心里明白这个世界上还有很多人活得比我悲惨,但我还是忍不住的悲从中来,几乎逆流。

2.

我每天努力编写代码的间隙,会上水木清华的笑话版放松一下,或是看看不露点的美女图片解解乏。我也看一些业界的新闻,那些狗日的天天把“创新/用户体验/敏捷开发”等等挂在嘴边,却从来没为这个世界贡献过哪怕一行代码。我还用免费的在线翻译软件,为的是给代码中的每一个变量都起一个地道的英文名字,至少让印度同事们看上去可读性强一些。

我有个师弟,因为工作的关系他居然不得不在晚上编程。在他失恋的那天晚上我们一起喝酒,他泪流满面的对我说,其实他觉得最悲痛的事情是自己连坐台的小姐都不如,她们还可以赚外快,而这却是我的生活。

上个月我和几个校友聚餐,其中一个26岁的小伙子一直没怎么吃,末了他十分沉重的说,怕自己这辈子就只能当个程序员了...编程年龄最长为12年的我们充满羞愧地以遍历的形式相互对视了一圈;包间的空气里充满了悲怆和绝望。

我努力回忆看过的每一部有程序员出现的片子,发现这些人不是前景就是背景,总是处于焦外。有时候他们在黑掉一些系统之后会有有幸运的正脸出现,但很快就会以一种飞来横祸(例如被鼠标线勒住或滑落的电脑砸到)的方式死掉,连像主角那样中枪或被爆炸都不配。他们没有名表名车,没有女人和性,最多养一只看上去和本人一样非主流的宠物蜥蜴。

那晚上我做了个梦,梦见这个世界有一个总的电源开关,邪恶的章鱼博士用手(他有八只手)恶狠狠的掐掉了开关,然后我干了一辈子什么都没留下。

3.

我老婆每天下班都会跟我讲她们办公室好玩的事情,例如A和B闹矛盾打了起来然后B就把A全年的工资单群发给所有同事...我也跟她说我们好玩的事情:A写的代码把互斥和信号量弄混淆了,导致执行的结果总是时对时错,B给他做code review之后把互斥和信号量都去掉了,发现根本不需要这些东西也能得到正确的结果,因为所有的一切都运行在同一个线程里...

如你所知,这个世界上有两种人永远没法理解程序员的幽默和笑点,一种是不会编程的人,一种是没有幽默感的人。就如同狗日的KJ说过的,这个世界有两种人,一种是程序员,一种不是程序员。

非程序员可以要求程序员提高点文化素质和举止修养,但程序员却不能要求非程序员们在讨论大事小事的时候多一点理性的态度和客观科学的精神。这也是我和我老婆的家庭生活原则。

我认识的朋友中有做编剧,也有画画的,这两个倒霉的家伙的作品从来没有在这个世界上以一种公开的方式被人看过。但是所有的人都充满耐心和爱心的安慰他们,没关系,总有那么一天你会进军好莱坞,或是在佳士得拍卖场的。可是这帮势利眼们每次见到我都会用一种不出所料的心态,以一种关切惋惜的口吻说,你怎么还在编程啊?他们从来不会安慰我说,总有一天你会成为比尔盖茨的;哪怕是王江民也行,尽管他已经英年早逝。

4.

哲人们说过,是你去迎合这个世界,而不是这个世界来迎合你。我为了迎合这个狗日的世界,不得不在编程之余去做一些事情,目的只是让自己成为一个不是那么普通的程序员而已。世界可能是你的,也可能是他的,但不是程序员的,尽管这个世界凡是插电的东西里基本都跑着匿名程序员们一行一行写出来的代码。

我得看一些大部头,不是《鬼吹灯》,至少得是《明朝那些事儿》,这样他们在谈论《万历十五年的时候》我至少能插得上话,偶尔也能谈笑风生。我最近看的一本书是《高级迷信》,我敢打赌不管你是不是程序员你都不一定看得懂。

我买了单反还有镜头,虽然都是二手的,但我和所有烧不起器材的人们一样,坚信重要的不是镜头而是镜头后边的这颗脑袋。

我还听摇滚,虽然他们的iPod里大多数时候放的都是些小资小清新。至少我也有自己的品味。

我的那些程序员同事和朋友们,有的去登山远足,有的学调酒(因为没法学会调姑娘),还有的自己和自己玩SM。因为程序员们对于这个复杂的世界来说都属于足够简单的那一类人,性格简单,爱好简单,甚至行为也简单。他们有时只是想引起身边的人对自己的程序员朋友或程序员家人一点足够的重视,就像你养的小狗那样。

有时我也把一些编程的心得写出来,插入一些故弄玄虚的废话,然后发到博客里。我从来不知道自己写的代码什么时候在哪些地方运行着,但我却可以清楚的看到多少人访问过我的博客(尽管有些人只是误点),还有多少人留言(尽管大部分都是“顶”或“狗屁”一类的狗屁)。但得感谢他们,深夜里我抚摸屏幕上这些莫名的访客记录,感觉自己那灰色的二进制程序员生活因此而照进了一丝圣光,看上去变成了8进制:赤橙红黄绿蓝紫,还有白。

5.

对于程序员来说,一个最好的世界,就是我们可以心无旁骛编程的世界,是我们可以骄傲的高呼“我要编一辈子程”的世界,是非程序员的那些人像追捧iPad一样奉程序员为明星和教主的世界。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Oneway102/archive/2010/12/20/6086741.aspx
展开阅读全文

5年程序员悲催的生活

01-20

毕业五年多了。非计算机系毕业,但是喜欢编程,做了程序员。和女朋友谈了几年后,12年10月份结婚。工作还算不错,工资也还算不错。12年底买了车,打算13年底买房。一切看起来都向着不错的方向发展,至少将会有老婆有小孩有房有车,也一直很相信生活会不错的生活着。rnrn我旁边的同事,比我早两年毕业,本地人,拆迁分了几套房子(这个城市房价1.5W+)。13年6月结婚,有多房有车。看起来生活也会很不错的样子。rnrn13年8月,公司一个项目要求是不计任何代价的完成,他算是项目担当,我算是技术负责。于是各种加班,作为it公司来说这个很正常。大家都是圈内人,知道不计任何代价的含义,也知道加班的程度。rnrn11月份,我旁边的同事离婚。现在他还没有恢复过来,不明白为什么她老婆怎么就和别人跑了。rnrn而我,也不知道怎么去描述,作为一个程序员,应该很容易可以知道手机里面的一些短信或者QQ聊天内容之类。现在天天在闹离婚,我不知道我还能坚持多久。过年去老婆家和她父母说下吧,毕竟和她在一起那么久。我不知道应该怎么去处理这个事情,现在弄的心力憔悴,上个星期天刚刚从医院抓了600多块钱的中药。rnrn一个这样的项目,身体不在像二十四五岁那样能吃的消,感情好像也不在像那个时候那么单纯。我一直在想是不是我们做程序做久了,让我的一些判断和处事能力下降太多而不适应现在的社会?哎。 希望过年时能和她父母沟通好,觉得不再能承担第二次婚姻或者第二次感情。我从来没有怀疑过我自己的能力,但是现在越来越不相信自己了。rnrn哎。一个我认识的女的,做了别人很多年的三。现在有房有车,今天刚刚打电话给我说她今天刚刚新定了一辆宝马X5。 不知道这个世道是怎么了,我天天加班累的半死,身体也出问题,就为挣些破钱,却留不住自己的老婆,而有些人天天什么事情也不做,整天对我说人生来就是为了享受生活,而可以随便又换了X5。rnrn哎,如果这段婚姻结束了,真想和我父亲后面去做农民工,一年挣个6w块钱带回家,娶个老婆生个小孩做留守儿童算了。 rnrn哎。不知道未来如何。真的。 论坛

qt 多点触控(之前发错区了,悲催)

11-02

最近在研究qt在arm板子上的多点触控(主要之后项目需要使用多点技术来操作图片),但多次尝试后都没有好的结果(板子确定支持多点,驱动应该也支持)。下面是我的测试代码:rn[code=C/C++][/code]//multipoint.hrn#ifndef MULTIPOINT_Hrn#define MULTIPOINT_Hrnrn#include rn#include rn#include rn#include rn#include rn#include rn#include rn#include rnrnclass multipoint : public QWidgetrnrn Q_OBJECTrnpublic:rn multipoint(QWidget *parent = 0);rn ~multipoint();rnpublic slots:rnvoid ClickBtn();rnprotected:rn virtual bool event(QEvent *event);rnprivate:rn void InitWindow(int w, int h);rnprivate:rn QList points;rn QPushButton *btn;rn QTextEdit *txtedit;rn;rn#endif // MULTIPOINT_Hrn[code=C/C++][/code]#include "multipoint.h"rn#include rnrnmultipoint::multipoint(QWidget *parent)rn : QWidget(parent)rnrnInitWindow(600, 480);rnrnmultipoint::~multipoint()rnrnrnvoid multipoint::InitWindow(int w, int h)rnrnthis->resize(w, h);rn//this->setMouseTracking(true);rnthis->setAttribute(Qt::WA_AcceptTouchEvents);rnthis->setWindowTitle("running");rnbtn = new QPushButton("click", this);rnbtn->setGeometry(QRect(100, 100, 100, 50));rntxtedit = new QTextEdit(this);rntxtedit->setGeometry(QRect(0, 0, 100, 50));rnconnect(btn, SIGNAL(clicked()), this, SLOT(ClickBtn()));rnrnvoid multipoint::ClickBtn()rnrnQMessageBox::information(this, "tip", "click");rnrnrnbool multipoint::event(QEvent *event)rnrn switch(event->type())rn rn case QEvent::MouseButtonPress:rn txtedit->setText("press");rn break;rn case QEvent::MouseButtonRelease:rn txtedit->setText("release");rn break;rn case QEvent::MouseMove:rn rnQMouseEvent *mEvent = (QMouseEvent *)event;rnQPoint pos = mEvent->pos();rnint x = pos.x();rnint y = pos.y();rnthis->setWindowTitle(QString::number(x) + ", " + QString::number(y));rn break;rn rn case QEvent::TouchBegin:rn case QEvent::TouchUpdate:rn case QEvent::TouchEnd:rn rn QMessageBox::information(0, "tip", "touch");rn QTouchEvent *touchEvent = static_cast(event);rn points = touchEvent->touchPoints();rn this->setWindowTitle(QString::number(points[0].pos().x()) + ", " + QString::number(points[0].pos().y()));rn event->accept();rn break;rnrn default:rn break;rn rnreturn QWidget::event(event);rnrn我的问题是:rn①、我的代码在功能实现上是否存在问题?我一直无法捕获到touch事件,其他事件是可以的。rn②、假如我的板子只支持单点,那么我是否还是能捕获到touch事件?rn网上关于qt多点触控的资料不是很多,好像也有人无法捕获到touch事件,如果有前辈之前有过实际研究,rn请给些经验,谢谢了 论坛

没有更多推荐了,返回首页