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

大数据文摘出品

编译:蒋宝尚、曹培信

摩尔定律知道么?

帕金森定律讲的又是啥?

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

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

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

下面文摘菌为大家编译几条,具体内容,请大家移步GitHub☟

https://github.com/dwmkerr/hacker-laws

阿姆达尔定律

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

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

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

炒作周期和阿马拉定律

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

—— Roy Amara

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

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

霍夫施塔特定律

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

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

帕金森定律

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

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

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

The Unix Philosophy

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

具体内容,请大家移步GitHub☟

https://github.com/dwmkerr/hacker-laws
Image placeholder
cyqsd
未设置
  66人点赞

没有讨论,发表一下自己的看法吧

推荐文章
GitHub上标星1.5w,被B站使用,flv.js开源作者月薪还不到5k!学历对程序员有多重要?

大数据文摘出品作者:刘俊寰上周,文摘菌向大家介绍了在美国当数据科学家的年薪水平,发现科学家们的整体薪资走势虽然有所下降,但是年薪中位数保持在12万美元左右。同一时间,知乎上一个很老的话题忽然被重提,也

企业需要知道的 6个AI/ML关键点

由于人工智能(AI)和机器学习(ML)的迅速发展与应用落地,世界各地的公司正在积极利用AI和ML发展业务,甚至投资数百亿美元。这些技术能够对业务与产生深刻的影响,所以Gartner报告预测,未来将“进

Github标星十万+!愤怒的程序员发起996.ICU,小本本投诉过度加班公司

大数据文摘出品作者:蒋宝尚哪里有压迫,哪里就有反抗。作为程序员的你,这几天一定被名为996.ICU的github项目刷屏。3月27日,有开发者在GitHub上建了一个名为996.ICU的repo,该r

2020 年的第一天,程序员鸭血粉丝又碰上生产事故

本篇文章投稿给Java极客技术,欢迎各位小伙伴关注hello~各位读者新年好,我是鸭血粉丝(大家可以称呼我为「阿粉」),一位喜欢吃鸭血粉丝的程序员!2019年,阿粉写了很多bug,这不前一段时间OOM

面向回家编程!GitHub标星两万的”Python抢票教程”,我们先帮你跑了一遍

盼望着,盼望着,春节的脚步近了,然而,每年到这个时候,最难的,莫过于一张回家的火车票。据悉,今年春运期间,全国铁路发送旅客人次同比将增长8.0%。达到4.4亿人次,2020年铁路春运自1月10日开始,

能直接下载了!微软最爽命令行工具登陆Windows 10,GitHub标星已破4万6

乾明发自凹非寺 转自量子位 |公众号QbitAI微软正式放出命令行工具WindowsTerminal。这个在发布之际就引得开发者大呼“WoW!Awesome!MyGod!”,甚至引得不少人当场表态买P

B站工程源码泄露,Github标星9k+,内含部分用户名密码

大数据文摘出品作者:蒋宝尚、宋欣仪昨儿个,文摘菌日常在B站上看看本山大爷的视频,听听吴亦凡的大碗面。突然弹幕画风突变,评论区集体喊话B站,“你家后院着火了”。原来,Bilibili的网站后台源码被发到

在中国,程序员是青春饭吗?

很遗憾,就我在中国和美国的工作经历和观察来看,程序员无论在哪里都是“青春饭”(注意引号,友军先别开枪!)。但是,在你站在“40岁50岁时候的自己”这个角度来思考问题,从而害怕程序员是青春饭,自己被年轻

5G来了,普通人看热闹,程序员看颠覆

前言:如果说4G带领人们来到移动互联网时代,5G则加速开启了万物互联的智能时代。从40年代信息技术革命到今天的5G,研发、生产、销售等都在被重塑。大数据、云计算、人工智能等技术不断创新,新的业态层出不

把 14 亿中国人都拉到一个微信群,程序员在技术上能实现吗?

根据国家统计局的数据,截至2017年末,中国大陆总人口为13亿9008万人(包括31个省、自治区、直辖市和中国人民解放军现役军人,不包括香港、澳门和台湾以及海外华侨人数),早已超过13亿。目前,微信群

InnoDB一棵B+树可以存放多少行数据?

一个问题?InnoDB一棵B+树可以存放多少行数据?这个问题的简单回答是:约2千万。为什么是这么多呢?因为这是可以算出来的,要搞清楚这个问题,我们先从InnoDB索引数据结构、数据组织方式说起。我们都

AI+安防 聊一聊云从科技与华为的那些事儿

“尺有所短,寸有所长,物有所不足,智有所不明,数有所不逮,神有所不通。”任何的人或事物都有其长处和短处,如何做到取长补短,是每一个企业都应该关注的问题。  如今,人工智能再次爆发。这一次,不仅在技术上

我是程序员,每一天都太难了!

互联网圈子里有一个神奇的群体——程序员。他们每天穿着格子衫,背着双肩包挤地铁,一到公司就陷入了“打代码-喝水-上厕所-打代码-喝水-上厕所”的死循环。热(jia)爱(ban)工(yan)作(zhong

程序员的入门门槛真的那么低吗?

最近朋友说起身边的老同学,好多都转型程序员了,连高中考试都要夹带小抄的**同学都去了,哈哈哈,我就实在是好奇了,程序员的入门门槛真的那么低么?很多人工资低干不下去,想转程序员;还有很多没学历的想改变生

5位女性程序员的自白:计算机不撒谎;女程序员的代码一样也很棒

谁说这个领域就是男性的天下偏见本身就是一种带标签的想法她们的世界里只信奉“computer never lies”她们认为代码漂亮比发型漂亮更重要她们到底是谁?谷悦是喜欢简单、纯粹工作的气质女神,八年

你不知道的 PHP 缓存技巧

前言 相信有一定开发经验的PHP程序员都有缓存的使用经验,包括但不限于redis缓存,模板缓存,路由缓存,配置缓存,数据库缓存,还有opcache(真的很有用),但是今天我不准备炒冷饭了,我要讲点你不

分享 10 个你可能不知道的 Laravel Eloquent 小技巧

Laravel是一个功能丰富的框架。但是,你无法从官方文档中找到所有可用的功能。以下是一些你可能不知道的功能。 1.获取原始属性 当修改一条Eloquent模型记录的时候你可以通过调用getOrig

你应该知道的RocketMQ

1.概述在很久之前写过一篇Kafka相关的文章,你需要知道的Kafka,那个时候在业务上更多的是使用的是Kafka,而现在换了公司之后,更多的使用的是Rocketmq,本篇文章会尽力全面的介绍Rock

R语言有多强大?十个你不知道的功能

大数据文摘出品编译:邬亮有些业界从业人士对R语言的价值并不认可,他们认为R语言只针对统计分析。R语言的确提供了很全面的统计分析的软件包,比如CRAN,Bioconductor,Neuroconduct

关于网络安全防御,每个中小企业应该知道的5件事

根据美国商业促进局(BBB)的数据显示,你可能会惊讶地发现,小型企业占北美所有企业的97%以上。根据这个统计数字,我认为好消息是,在所有网络攻击中,针对小企业的攻击不到一半。坏消息是,当中小企业受到攻

看完秒变5G专家!关于5G,你必须知道的事儿……

本文转自|鲜枣课堂   什么是5G    5G,就是5thGenerationMobileNetworks(第五代移动通信网络),也可以称为5thGenerationWirelessSystems(第

关于强化学习你应该知道的三件事

如果您有在关注科技相关的新闻,可能读过有关人工智能(AI)应用程序如何通过强化学习训练,在围棋、国际象棋等棋类游戏以及电子游戏中击败人类玩家的报道。作为一名工程师、科学家或研究人员,您可能会希望利用这

你不知道的 CSS : Next-generation web styling

最近看了ChromeDevSummit2019大会视频,了解到了很多之前不知道的CSS新特性,挺有意思的。下面我就介绍几个激动人心的特性。特性总览:StickyStickeyStackSticySli

14个你可能不知道的JavaScript调试技巧

以更快的速度和更高的效率来调试JavaScript熟悉工具可以让工具在工作中发挥出更大的作用。尽管江湖传言JavaScript很难调试,但如果你掌握了几个技巧,就能用很少的时间来解决错误和bug.文中

科普 | 关于联盟区块链你不知道的事

在分布账本技术发明十年后的今天,我们仍然处于大规模应用落地的早期。目前多数流行的公有区块链仍然无法落地,因此近年来越来越多的技术团队将目光集中在那类有使用场景的方向--联盟区块链。第1部分:行业分类从