【水文】也谈求职中的fizz-buzz-thing,兼谈程序员为什么不会编程

简介:

    今晚在首页看到这篇为什么程序员不会编程,文中引用了一段洋文,看着似曾相识。查了一下,洋文所对应的原文不知是不是Jeff Atwood(又一个著名的Jeff)在2007年写的Why can’t programmers…program,反正表达的意思差不多,难怪看着眼熟,尤其是一看到fizz和buzz,我的脑海里立刻浮现出怒发冲冠的恐怖头像。大家可以看一下Jeff的英文原文,很多人用自己擅长的编程语言在评论中给出了解答。在我所能看懂的编程语言中,不外乎利用循环和条件判断,过滤满足特定条件的数字,然后输出,大体上都是这种思路。我看了下lipu_paul文章下的回复,贴c#代码的很多,解决方法依然不外乎上面说到的思路,目前比较简洁的代码(稍作改动):

1
2
3
4
5
6
7
8
9
10
11
static  void  DoFizzBuzzThing()
{
     var  numbers = Enumerable.Range(1, 100);
     string  str = null ;
     foreach  ( var  i in  numbers)
     {
         str = i % 3 == 0 ? (i % 5 == 0 ? str = "fizzbuzz"  : "fizz" ) : (i % 5 == 0 ? "buzz"  : i.ToString());
         Console.WriteLine(str);
     }
     Console.ReadKey();
}

但是,博文作者lipu_paul和洋文作者Jeff Atwood的原意应该都不是教你如何编程实现fizz-buzz-thing。肯定是感觉“歪楼”严重,在这一篇“the Programmer’s Stairway to Heaven”中,Jeff Atwood再次发文对前一篇做了补充和总结,大家可以一并看一下。

    当然,洋文里Jeff已经差不多讲明白为什么面试一个程序员还需要出这种fizz-buzz-thing题目的原因。“也许在开始面试一个程序员之前没预先看他们的代码是愚蠢的”(Maybe it's foolish to begin interviewing a programmer without looking at their code first。),我的英语一般,翻译也没有追求信达雅,也许红色的程序员还应该加上引号吧。个人片面总结一下国内的情况,我认为程序员不会编程的重要原因是程序员缺乏实践,当然当前编程教育的问题也不小。还有一种可能,有人说大概是求职者技高一筹自信十足,不屑于面试答题,真牛!

    本来这是一个很有意义的讨论,不料刚刚管理员把它从首页撤了下来,而大家还在下面不亦乐乎地贴代码……









本文转自JeffWong博客园博客,原文链接:http://www.cnblogs.com/jeffwongishandsome/archive/2010/11/10/1874457.html,如需转载请自行联系原作者

目录
相关文章
|
4月前
|
C++
【C++航海王:追寻罗杰的编程之路】STL—next_permutation函数
【C++航海王:追寻罗杰的编程之路】STL—next_permutation函数
15 0
|
5月前
|
JavaScript 前端开发 Java
用超级厉害的VS Code工具来嗨皮编程吧!
用超级厉害的VS Code工具来嗨皮编程吧!
58 0
高职考技能提升教程008期 掷骰子与冒泡排序 VB语言 刘金玉编程
高职考技能提升教程008期 掷骰子与冒泡排序 VB语言 刘金玉编程
|
机器学习/深度学习 C语言
一起啃书(C Primer Plus 第六版)--循环<附大量编程题>
一起啃书(C Primer Plus 第六版)--循环<附大量编程题>
130 0
|
人工智能
【CCCC】PAT : 团体程序设计天梯赛-练习集 L1 答案
【CCCC】PAT : 团体程序设计天梯赛-练习集 L1 答案
364 0
【CCCC】PAT : 团体程序设计天梯赛-练习集 L3 答案(01-23)
【CCCC】PAT : 团体程序设计天梯赛-练习集 L3 答案(01-23)
119 0
【2022团体程序设计天梯赛】GPLT2022,L1~L2部分(PTA,L1-081~L1-088,L2-041~L2-044)题解代码
【2022团体程序设计天梯赛】GPLT2022,L1~L2部分(PTA,L1-081~L1-088,L2-041~L2-044)题解代码
464 0
|
安全
【2021团体程序设计天梯赛】L2部分(PTA,L2-037到L2-040)题解代码
【2021团体程序设计天梯赛】L2部分(PTA,L2-037到L2-040)题解代码
292 0
【2020团体程序设计天梯赛】L2部分(PTA,L2-033到L2-036)题解代码
【2020团体程序设计天梯赛】L2部分(PTA,L2-033到L2-036)题解代码
357 0
|
机器人 C语言
【2021团体程序设计天梯赛】L1部分(PTA,L1-073到L1-080)题解代码
【2021团体程序设计天梯赛】L1部分(PTA,L1-073到L1-080)题解代码
303 0