分享

把hello 打印 10 次

 北书房2014 2015-06-20

(点击上方蓝字,可快速关注我们)


今天上网看到一篇老博文《Coder or Clown?》,文章作者主要想表达的意思是他作为面试官,面试了很多程序员,他发现很多程序员就是小丑,并把他们分类列举。这篇去年发表的文章被很多人转载翻译,作为茶余饭后调侃程序员的佳品。我看了也是一笑而过,但是其中作者说的第一个事例却引起了我的兴趣,虽然很搞笑,但是这其中似乎隐藏着一些coder的情怀。


这个故事是这样的,作者面试了一个叫做Ada的毕业生,她是一位程序新手。作者给他出了一道题目,让她在纸上写下一段程序,目的是打印“hello”10次,无论用什么语言写都可以。于是这位可爱的学生在纸上写下了10句print “hello”。



作者给出的评语是:“无论如何,拼写都是正确的”。这本身是一件很搞笑的事情,我当时也很欢乐,虽然不知道是不是真有其人。我也就开开心心的把整篇文章看完,作者的语言很幽默。评论很多,我稍稍看了一下发现许多人对Ada这件事耿耿于怀,甚至还有人说那是最佳答案。


Ada的做法很好, 但更好的做法应该是如下:


print “hello hello hello hello hello hello hello hello hello hello”


优点:


1. 代码清晰易读


2. 避免了循环,不会破坏CPU流水线,提升了效率


3. 改多次I/O函数调用为一次调用,提升了效率


看到这个评论的时候我笑了半天^ ^,不过这位朋友说的挺有道理。我仔细想了一下,觉得打印这个单词10次,也许这真是一个比循环更好的办法。我记得还在上学的时候,老师曾今说到在什么情况下使用循环,好像是说某一个操作要重复执行大于3次,那么就应该用循环结构。当然,现在看来这个说法也很搞笑,为什么要3次以上,为什么不是4次?我们再回来看这个问题,首先要写10次hello并不费力,而且他人也一眼就能看条语句的目的是输出10个hello这串文字,而用循环的话就没有这么直观了。


其实作为程序员最忌讳的就是死板,一成不变循规蹈矩的编程首先就会让自己厌倦。多思考,多实践才是最好的提高手段。那么大家能说说写10次print “hello”与使用for循环相比有什么不妥吗?难道影响程序可读性?影响执行效率?不会是说占用了更多的磁盘空间吧(笑)。我还看到一个更有意思的评论:


我相信任何编程语言的for循环都不会简单过vim的yy10p的。


哈哈,真的很有意思。大家可以尝试一下用vim写代码挑战for循环,我相信这个朋友说的没错。PS:这个朋友的评论有个错误我要纠正一下,正确的应该是yy9p,同时这样也少敲了一次键盘。

来自:VAL

链接:http://www./post/216/


【今日推荐↓】



微信号:PythonCoder

(长按上图,可自动识别二维码)


『Python开发者』人生苦短,我用 Python。Python 越来越受广大程序员的喜爱。「Python开发者」是最受欢迎的、专注分享Python技术的微信公众号,主要分享 Python 相关的技术文章、工具资源和资讯等。


微信号:iProgrammer

(长按上图,弹出“识别二维码”后可快速关注)


「程序员的那些事」是最受欢迎的程序员、IT 技术和 IT 行业相关的微信公众号之一,分享最新编程技术、经典技术分享、IT 行业动态、热门编程课程、高薪技术职位、程序员的日常,更有难得一见的 IT 相亲活动。


http://python./all-posts/

点击“阅读原文”,查看更多 Python 精彩文章。

↓↓↓

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多