0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

程序员需要知道的那些定理和法则

电子工程师 来源:fqj 2019-05-17 17:20 次阅读

摩尔定律知道么?

帕金森定律讲的又是啥?

作为一名合格的开发人员,除了本身码力超强外,或多或少要知道几条“”潜规则”,例如依赖倒置原则、鲁棒性原则......

关于开发人员必须要知道的定义、原则以及理论,一位名叫Dave Kerr的小哥哥在Github上专门开了个科普帖子,为广大程序员介绍必备的定理。

他将这个项目称为:黑客信条(hacker-laws)。

阿姆达尔定律

一个计算机科学界的经验法则,因吉恩·阿姆达尔而得名。它代表了处理器并行运算之后效率提升的能力。

并行计算中的加速比是用并行前的执行速度和并行后的执行速度之比来表示的,它表示了在并行化之后的效率提升情况。

程序员需要知道的那些定理和法则

可以看出,即使是一个50%可并行的程序,在超过10个处理单元的情况下也几乎没有什么提高,而一个95%可并行的程序,在超过1000个处理单元的情况下,仍然可以显著提高速度。

炒作周期和阿马拉定律

“人们总是高估一项科技所带来的短期效益,却又低估它的长期影响。”

—— Roy Amara

Hype Cycle(技术成熟度曲线)是制技术兴奋度度和发展成熟度的直观表现,最初由Gartner公司提出,如下图所示:

程序员需要知道的那些定理和法则

简而言之,这个周期表明,新技术及其潜在影响通常会引发一阵高度关注。技术团队经常马不停蹄进入这些技术领域,但往往无功而返。这可能是因为该技术还不够成熟,或者现实应用还没有完全实现。经过一段时间后,技术的能力提高,使用它的实际应用机会增加,团队最终可以取得成功。Roy Amara最简洁地总结了这一点——“人们总是高估一项科技所带来的短期效益,却又低估它的长期影响。”。

霍夫施塔特定律

表面上和帕金森定律截然相反的霍夫施塔特定律表明:“即使将霍夫施塔特定律考虑在内,你在一件事上花费的时间总是要比想象得要多。”

该定律与帕金森定律看起来相互矛盾,但其实两者可以并行使用。霍夫施塔特定律表明,在给一个复杂的项目制定截止期限的时候,人们很容易自信过度。

帕金森定律

帕金森定律(Parkinson's Law)是官僚主义或官僚主义现象的一种别称,被称为二十世纪西方文化三大发现之一。也可称之为“官场病”、“组织麻痹病”或者“大企业病”。

帕金森得出结论:在行政管理中,行政机构会像金字塔一样不断增多,行政人员会不断膨胀,每个人都很忙,但组织效率越来越低下。这条定律又被称为“金字塔上升”现象。

将帕金森定律与霍夫施塔特定律结合会得出一个更加悲观的结论:你的工作范围会不断扩大,结项日期遥不可及。

The Unix Philosophy

这一理念表明的是:小即是美,程序做好一件事即可;程序员尽可能早地建立原型;可移植性比效率更重要。另外数据应该保存为文本文件,尽可能地榨取软件的全部价值。使用shell脚本来提高效率和可移植性、避免使用可定制性低下的用户界面,所有程序都是数据的过滤器。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 计算机
    +关注

    关注

    19

    文章

    6631

    浏览量

    84360
  • 处理单元
    +关注

    关注

    0

    文章

    9

    浏览量

    6870

原文标题:Github一天标星1k+,程序员需要知道的那些定理和法则

文章出处:【微信号:BigDataDigest,微信公众号:大数据文摘】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    嵌入式程序员知道的基本问题

    嵌入式程序员知道的基本问题
    发表于 08-15 19:44

    程序员的口头禅

    你是否听到过同事说“这段代码不言自明”?你的同事的这句话的实际意思是这段代码不需要写注释。你也许注意到了,很多时候,程序员所说的话的字面意思和其真实的意思是完全不同的。不用惊异,下面你将很快知道这些
    发表于 09-28 10:12

    关于程序员的痛苦的一种悖论

    起来。如果你每5分钟就被这种体力工作打搅一次,你的思绪就无影无踪了。在日常工作中,程序员需要处理各种各样的技术工作、使用各种各样的工具。程序员喜欢那种含“体力劳动”相对较少的工作。程序员
    发表于 11-10 16:52

    程序员的十大技术烦恼

    ,就像我在第6条里说的那样,程序员们痛恨写文档。这戏剧性的事情发生在我们自己身上。 当你需要使用一个第三方类库时发现,至少有一半的API无从知道是干什么好用的,没有任何事情比这个更打击人的了。 函数
    发表于 11-14 15:51

    程序员的快乐:那些小细节

    近日,有人撰写了一篇文章,谈到了影响程序员快乐的各种因素,特别强调了那些不太为人所注意的小细节。除了薪水、晋升机会等显而易见的因素外,日常的工作中我们还需要注意一些小细节,也许程序员
    发表于 12-11 14:10

    知道为什么不能打断正在工作的程序员吗?

    ,一句友好的问候都是多余的。 ”  1.一个程序员打搅后,他需要10-15分钟的时间才能重新恢复到之前的编程状态。  2.当修改一个程序函数时被打搅,只有十分之一的程序员能在一分钟内回
    发表于 07-13 13:59

    优秀程序员是怎样炼成的?

    最基本的要求是能自主地编程。只有在经过多年的学习实践之后,我们才能超越写一些简短程序的基础水平。而仅靠上课或者看书是做不成能力卓群的程序员的,不断的练习和实践才是唯一的正途。学校中那些所谓的CS
    发表于 02-14 20:45

    程序员的幽默——献给所有程序员

    的作家。怎么才算伟大呢?他说:我写的东西全世界都要看到!看完他们必定会歇斯底里!会火冒三丈!会痛苦万分!结果,他成功了,他在微软公司负责写系统蓝屏时的报错提示信息。10. 程序员应聘必备词汇:了解=听过名字;熟悉=知道是啥;熟练=用过;精通=做过东西。欢迎加入物联网交流群
    发表于 10-31 18:43

    程序员越老越优秀吗?

    Peter Knego 向我们展示了一些有趣的东西: 官方数据:程序员年纪越大越出色、越稀有。他使用StackOverflow的声誉值和其它几个指标来印证他的观点。他的总结是:随着年龄的增加,程序员
    发表于 10-25 10:04

    为什么pickit3程序员不使用mplab进入模式?

    您好,我需要在不使用MPLAB的情况下使用程序员要去的PICkit3函数。我需要知道您是否有任何独立的程序或更简单的程序员在没有mplab的
    发表于 08-13 10:32

    请问我应该使用哪个程序员

    你好,我用pic32mz2048EFH100微控制器,现在我和pickit3一起做程序员(我借的),但是我需要为自己买新的程序员。我不知道皮卡3是否是最好的解决方案,或者我应该转移到另
    发表于 11-04 10:27

    开发程序员常见的错误有哪些?

    对于刚毕业的学习而言,只是说本上那些死知识,怎么能把知识活学活用?这个就需要自己不断的写代码,在这个没有固定模板的过程中自己体会啦,当然在这个磨练的过程中,会出现经常出错的问题,下面我们就一起看看开发程序员曾经踩过的
    发表于 11-02 06:25

    程序员回老家能干点啥

    程序员回老家能干点啥,程序员的成长之路互联网/程序员/技术/资料共享关注阅读本文大概需要 2 分钟。来自:java那些事近几年网络发展的越来
    发表于 07-16 06:11

    2020年“1024”,程序员日 精选资料分享

    1024程序员日向可爱的程序员致敬随着时代的发展,大数据技术行业发展愈趋成熟,坚持自己对知识、技术和创新追求的程序员层出不穷。相信很多人都不知道,其实,
    发表于 07-21 06:40

    程序员的第一生存法则是什么

    程序员的职业生涯,第一生存法则是什么?
    的头像 发表于 10-26 15:14 1762次阅读