Browsed by
标签: 程序员

“21天教你学会C++”

“21天教你学会C++”

下面是一个《Teach Yourself  C++ in 21 Days》的流程图,请各位程序员同仁认真领会。如果有必要,你可以查看这个图书以作参照:http://www.china-pub.com/27043

看完上面这个图片,我在想,我学习C++有12年了,好像C++也没有学得特别懂,看到STL和泛型,还是很头大。不过,我应该去考虑研究量子物理和生物化学,这样,我才能重返98年杀掉还在大学的我,然后达到21天搞定C++的目标。另外,得要特别提醒刚刚开始学习C++的朋友,第21天的时候,小心被人杀害。呵呵。

当然,上面只是一个恶搞此类图片,学习一门技术,需要你很长的时间,正如图片中的第三图和第四图所示,你需要用十年的时间去不断在尝试,并在错误中总结经验教训,以及在项目开发中通过与别人相互沟通互相学习来历练自己。你才能算得上是真正学会。

这里有篇文章叫《Teach Yourself Programming in Ten Years》,网上有人翻译了一下,不过原文已被更新了,我把网上的译文转载并更新如下:

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (131 人打了分,平均分: 4.78 )
Loading...
各种流行的编程风格

各种流行的编程风格

在过去的N年中,我遇到了很多使用囧然不同风格的开发者,下面是我所知道的一些,你还知道其它的吗?

散弹枪编程

这种编程风格是一种开发者使用非常随意的方式对待代码。“嗯,这个方法调用出错了……那么我会试着把传出的参数从 false 变成 true!”,当然依然出错,于是我们的程序员会这样:“好吧,那我就注释掉整个方法吧”,或是其它更为随意的处理方式,直到最后让这个调用成功。或是被旁边的某个程序员指出一个正确的方法。

如果我们把一个正规的程序员和一个撞大运的程序员放在一起做结地,那么,那个正规的程序可以马上变得发疯起来,并且,可以把正规的程序员的智商降到最低。两个撞大运的程序员不应该在一起做结对编程,这是因为他们破坏性的才能会造成的伤害会比只有一个还差。

撞大运编程

这是一种比散弹枪编程要温和一些的编程方式,我相信这种方式可能会是大多数程序员都会使用的方式。这种编程方式经常出现于程序员并不确切知道他们在干什么,也不知道所写的程序的本质和实际,但是可以让程序工作起来。他们以一种撞大运的方式在写程序,某些时候,他们根本就不知道某个错误的原因,就开始稀里糊涂地修改代码。一旦出现问题,他们会用两条路:1)停下来,理解一下程序,找到出错的原因。2)使用散弹枪编程方式开始解决问题。

测试驱动开发(Test Driven Development)是一种可以用来拯救上百万的撞大运编程的程序员。于是,他们有了一个更为NB的借口:只要我的程序通过测试了,你还有什么话好说?别骂我,测试驱动开发是一个不错的事物,其主要是用来控制撞大运开发所带来的问题。

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (52 人打了分,平均分: 4.67 )
Loading...
程序员眼中的编程语言

程序员眼中的编程语言

下图是一个搞笑的图片——程序员眼中的编程语言。

  • 图片的横轴是编程语言。
  • 纵轴是各语言的程序员、粉丝、信徒。
  • 中间的各个小图片则是,粉丝眼中的编程语言的形象。

比如说,

  • 第一行第一列,是Java程序员看Java语言的样子,一幢现代化的大厦。
  • 第一行第二列,是Java程序员看C语言,一个年老过时的骨灰级老头。
  • 当然,C程序员看Java语言也比较搞,见第二行第一列。呵呵。

其它的大家自己看吧。还有另外一个关于操作系统的《粉丝眼中的操作系统

程序员眼中的编程语言

 

好烂啊有点差凑合看看还不错很精彩 (26 人打了分,平均分: 4.31 )
Loading...
程序员的相关笑话(二)

程序员的相关笑话(二)

前面发表过《程序员的相关笑话(一)》现在继续一些相关的笑话。

牧羊人与IT顾问

从前,有一个牧羊人,他有很多的羊。一天他赶着他的那群羊到了一条公路边上。突然,有一辆保时洁急驶过来,上面坐着一个年轻人人,穿着Armani的衣服,和Cerutti的皮鞋,Ray-Ban的太阳眼镜,TAG-Heuer的手表,以前Versace的领带。

他走到牧羊人面前问牧羊人:“如果我能说出你有多少只羊,你能给我一只吗?”

牧羊人看了看他那一大群数都数不过来的羊,说:“可以!”。

那个年轻人,于是打开了他的笔记本电脑,接上手机,进入了NASA Webster,通过GPS定位,开始扫描。然后打了40多页充满各位对数微积分的公式的Excel表格,最后通过他的那个高科技迷你打印机打出了150多页的分析报告,然后,他看了看报告,走到牧羊人前说:“你一共有1586只羊!”

牧羊人拍手道:“牛啊,你说的一点也没错,你挑一只吧”。

于是,那个年轻人挑了一只,并准备从他的保时捷中拿出一些文档给牧羊人,这时,牧羊人说:“如果我能猜出你是干什么的,我能不能要回我的那只羊?”

年轻人说:“为什么不呢?”

牧羊人说:“你是一个IT咨询顾问”

年轻人说:“你是怎么知道的?”

牧羊人说:“很简单。首先,我并没有叫你,你就来了。然后,你开始用一些我已经知道的东西向我收费。第三,你根本就不了解我的业务……,所以,现在请你把我的牧羊狗还给我。”

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (31 人打了分,平均分: 4.35 )
Loading...
程序员的相关笑话(一)

程序员的相关笑话(一)

问答

Q:你是怎么区分一个内向的程序员和一个外向的程序员的?
A:外向的程序员会看着你的鞋和你说话时。

Q:为什么程序员不能区分万圣节和圣诞节?
A:这是因为Oct 31 == Dec 25!(八进制的31==十进制的25)

 

刹车失灵

有一个物理学家,工程师和一个程序员驾驶着一辆汽车行驶在阿尔卑斯山脉上,在下山的时候,忽然,汽车的刹车失灵了,汽车无法控制地向下冲去,眼看前面就是一个悬崖峭壁,但是很幸运的是在这个悬崖的前面有一些小树让他们的汽车停了下来,而没有掉下山去。三个惊魂未定地从车里爬了出来。

物理学家说,“我觉得我们应该建立一个模型来模拟在下山过程中刹车片在高温情况下失灵的情形”。

工程师说,“我在车的后备厢来有个扳手,要不我们把车拆开看看到底是什么原因”。

程序员说,“为什么我们不找个相同的车再来一次以重现这个问题呢?”

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (52 人打了分,平均分: 4.44 )
Loading...
我是怎么招聘程序员的

我是怎么招聘程序员的

面试很早以前就想写一篇和面试相关的文章了,今天在网络上看到一篇关于如何去面试程序员的英文文章,发现其中有很多和我共鸣的东西,所以仿照其标题通过自己的经历写下了这篇文章。

工作这么多年来,即被面试过,也面试过他人,对于程序员的面试,经历过很不错的面试,很专业的面试,也经历过一些BT和令人不爽的面试,我个人觉得一个好的面试,面试官是很重要的,所以,本文想从“面试官”的角度来阐述一下。于是,有了下面这样一篇的文章,希望本文对你的职场经历有用,特别是那些正在招聘和面试程序员的朋友,我觉得这篇文章会对大家有很多启示。此外,做为被面试的人,你可以看看本站的《别的程序员是怎么读你的简历的》《程序员需要具备的基本技能》《优秀程序员的十个习惯》其它一些和程序员相关的文章

对于招聘方来说,在招聘程序员的时候,我估计面试应聘者时,最主要想知道的是下面三件事:

  1. 这个程序员的是否够聪明?
  2. 这个程序员能否把事情搞定?
  3. 这个程序员能和我的团队在一起工作吗?

我相信,这是所有团队经理招人要考虑的三个问题,所有的问题也基本上围绕着这三个问题。有些时候,你也许觉得程序员的技术技能可以同时解决这三个问题,一个技术能力优秀的人必然是一个聪明的,可以搞定事情的人,当然也就能和团队一起工作了。是的,感觉看起来是这个样子,但其实并不是这样的。有些人的确很聪明,但却不能处理好工作上的事情,这样人应该是你的朋友,你的顾问,但不应该是你的雇员。有的人为人很不错,和团队所有人都合得来,但并不是很聪明,但工作很刻苦很努力,这样的人可以成为你的下属,比如某个下属骨干的助手,或是整个团队的助手。如果某个人不能和团队一起工作,无论其有多聪明,解决问题的能力有多强,你都不应该和他在一起工作。人个认为,团队的和谐是一切事情的前提。

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (99 人打了分,平均分: 4.58 )
Loading...
别的程序员是怎么读你的简历的

别的程序员是怎么读你的简历的

下面这个图片来源国外,是一个关于程序员面试时的简历,被人事部门和程序员本身评审的角度不同的图片。当然,这是一个从国外面试的视角制作的图片,不过,可以看出,其中很多东西都是和国内是相同的。让我们通过这个图片也来了解一下自身吧。

程序员怎样阅读简历(点击看大图)

下面是我对其做的翻译,翻译水平有限,请大家指正。

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (35 人打了分,平均分: 4.49 )
Loading...
编程真难啊

编程真难啊

上周,在Sun的Java论坛上出现了一个这样的帖子,这个贴子的链接如下:
http://forums.sun.com/thread.jspa?threadID=5404590&start=0&tstart=0

LZ的贴子翻译如下:

大家好,我是一个Java的新手,我有一个简单的问题:请问我怎么才能反转一个整数的符号啊。比如把-12转成+12。是的,毫无疑问这是个简单的问题,但我弄了一整天我也找不到什么好的方法。非常感谢如果你能告诉我Java有什么方法可以做到这个事,或者告诉我一个正确的方向——比如使用一些数学库或是二进制方法什么的。谢谢!

这个贴子的沙发给出了答案:

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (66 人打了分,平均分: 4.67 )
Loading...
程序员惯用的解释(Top 25)

程序员惯用的解释(Top 25)

 下面是程序员日常工作当中惯用的解释,或是口头禅。我们可以从这一个侧面来看看的程序员的特征和性格,相信你我都说过很多这样的话。不要太认真哦,呵呵。

  1. 在我这边的电脑上可以工作啊……
  2. 我重来没有听过这样的事
  3. 昨天还能正常工作呢
  4. 好吧,这算一个BUG
  5. 这怎么可能?
  6. 这应该是机器或是环境的问题

    阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (18 人打了分,平均分: 3.39 )
Loading...
程序员犯的非技术错误(Top 5)

程序员犯的非技术错误(Top 5)

对于程序开发者来说,有两种技术需要我们掌握,一个是技术上的能力,另一个是非技术上的能力。不幸的是,许多程序员过多地关注了技术上的能力,而忽略了非技术上的能力的培养,因此,我们的程序员们经常会有一些很不好的习惯,这里我们例举了程序员们最常犯的5个非技术的错误,与大家共勉。

1.- 缺乏团队纪律

“Discipline is the bridge between goals and accomplishment.” Jim Rohn.

纪律是一个最有价值的技能,不仅仅只是在软件开发领域,同样在其它领域也是一样的。但对于现实来说,我们很难找到即有才华又有纪律的人。这正如足球队一样,非洲的球员们才华相当的出众,可惜他们总是独自为阵,团队纪律性不足,所以可以有好的成绩,但却无法赢得最后的胜利;而德国队的队员个人技能平平,但其有很强大的团队纪律性,所以,总是能打入最后的决赛并获得冠军。有人说过,个人英雄并不可怕,而有强大纪律性的团队才让人可怕。这正是日本这个民族的可怕之处。况且,软件开发从来都不是一个人可以完成的事情,所以团队工作中的纪律性会是非常重要的。

Steve Pavlina 强调了自律中5个因素:“承担, 毅力, 努力, 勤奋, 和坚持” 这里,我们强烈推荐你读一读Steve的 关于自律的文章

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (14 人打了分,平均分: 3.71 )
Loading...