蓝欣投票软件自助投票器_为什么我们不能开发有效的投票软件
蓝欣投票软件自助投票器
爱荷华州民主党核心小组报告软件失败后的轩然大波提醒程序员,事情可能会变得很糟。 计算几张简单的选票并不像制造自动驾驶汽车,训练AI以推荐电影,甚至安全地更新银行数据库那样复杂,但是程序员无法做到这一点。 一则该死的推文写道:“很难相信我们把人放在月球上。”
事实是,与飞向月球的比较并不十分公平。 尽管将阿波罗登陆器引导到月球似乎要比将几千张票制表起来要困难得多,但围绕现代选票记录进行的所有额外工作却使它变得更加复杂。
[ 也在InfoWorld上:如何通过左移测试改善CI / CD ]
一些零件变得越来越容易。 新的所谓的“无服务器”选项有望使我们编写最基本的逻辑并完成任务,但我们还没有完成。 当然,编写函数更简单,但是剩下的时间我们都在努力使用配置选项。 我们花了数小时编写数百行YAML,逐个决定地阐明了决定,但是由于某些原因,这不被视为“编码”。
是否进行编码,所有这些想法加起来。 非程序员不会理解这一点,我希望他们理解作为解释的理由,而不是借口,但是制作软件今天变得更加困难和复杂。 这有五个原因。
代码比那时更简单
感受一下NASA的工作的最好方法是阅读一些代码,这些代码现已存在GitHub存储库中 。 随机选择一个文件。 例如, GROUND_TRACKING_DETERMINATION_PROGRAM.agc有204行,其中超过85行是注释。 每行仅由一个操作组成,这与现代语言不同,现代语言可以将具有多个选项的数十个操作打包到一行中。
当您浏览文件时,简单性变得显而易见。 尽管该代码在打印出来并放入活页夹后看起来令人印象深刻,例如在著名的玛格丽特·汉密尔顿(Margaret Hamilton)的照片中,但只有几百个文件,而且大多数文件都很短而且充满注释。 他们必须是。 阿波罗制导计算机只有ROM的36k来保存编译后的版本。
这意味着程序员可以轻松地完成功能请求,而只专注于最重要的步骤。
对于大多数现代程序员来说,代码本身看起来绝对是不可理解的,因为当今很少有开发人员学会阅读汇编语言或机器代码。 更少的人学会写它。 虽然看起来很神秘,但语义要简单得多。 毕竟,机器只有几个寄存器,一些RAM和一些用于分支的IF-THEN选项。
将这些与现代程序员必须掌握的规则进行比较,以处理诸如闭包或递归对象数据之类的抽象。 Java团队现在正在推出版本14,并且此过程中的每个新版本都附带了巧妙的新机制。 即使是旨在简化编程的想法,例如JavaScript中的回调函数 ,也需要大量抽象思维。
一旦弄清了汇编程序的隐秘指令名称,实际上编写起来就容易得多。
[ 同样在InfoWorld上:启动devops程序的3种方法 ]
安全性更简单
是的,NASA的发射安全性很严格,但是程序员不必担心为连接到Internet的机器编写代码。 阿波罗制导计算机只与休斯敦通话,而且很少。 如今,每部智能手机都在后台不断与数十个可能暗中恶意的网站和服务进行交互。
这使得今天的运输代码成为安全梦night。 部署基本容器需要处理一个充满密码和“秘密”的特殊文件,以确保所有内容的安全。 Android和iOS应用程序开发人员必须管理多个密钥以对其应用程序进行签名,然后才能将其上传到各个商店。 如果这些秘密中的任何一个溜走了,那么任何与Internet连接的人都可以闯入并使用机器。
现代互联网是不良行为者的聚集地,垃圾邮件发送者,点击劫持者和网络钓鱼者是不错的选择。 有很多糟糕的演员在认真地进行弊端,甚至在好莱坞大片停顿片中谋杀 。 除了苏联的Luna 15号飞船,在阿波罗11号飞船发射的三天前就冲入了太空,当时的程序员不必担心其他任何人。
功能是重点
那时,没有设计委员会在考虑是否应将按钮移到一两个像素上。 没有启动画面,移动的图标,背景阴影或数百万种字体。 哎呀,IBM直到1961年才推出带有可变字体的Selectric 。
虽然现代程序员可以利用HTML,CSS和SVG等不错的标准,以及无数行如React或Vue的库,但同一位程序员也必须遵守其标准。 宇航员很高兴看到发光的小真空管还在发光。 他们不在乎绿色。
活动部件少
机械工程师倾向于计算运动部件的数量,并以此来代替复杂性。 月球着陆器的制导计算机有一项非常重要的工作,即跟踪位置,仅此而已。 现代化的智能手机同时执行着无数的工作,其中许多是理所当然的,这是由缺乏思想和热情的民众所理所当然的,他们会在不响应毫秒的情况下将其卸载。
所有这些复杂性加在一起。 是的,自动化的构建代码,定义明确的API和无尽的库意味着程序员可以让持续集成管道中的魔术精灵完成大部分工作,而复杂性仍然存在。 使用1.7版编译的仅显示“ Hello World”的Go应用程序仅1.6 MB,而此消息使Go世界感到非常兴奋,因为它以前是2.3 MB。
考虑艾萨克·牛顿关于站在巨人肩膀上的观点。 现代编程感觉有点像是由最疯狂的啦啦队组成的人类金字塔之一。 当然,您下面的每个人都在做很多繁重的工作,但是保持平衡是一项壮举。
[ 同样在InfoWorld上:如何将测试自动化与敏捷和devop结合使用 ]
律师自由
根据我的统计,在基本服务条款中有2万2千个字用于在Amazon的云中租用计算机。 使用网站租用机器还有一个完全不同的服务条款 。 然后每个单独的产品通常都有自己的TOS,例如Activate 。 将它们加起来,它们比Lunar Lander计算机ROM中的3.6万个指令字长得多。
阿波罗(Apollo)程序员不知道电影《异形》(Aliens)会带有标语“在太空,没人能听到你的尖叫”,但是他们很了解这个主意,并且知道这意味着没有救护车追逐律师会听到你也是。 而且如果律师确实参与进来,那么主权豁免的原则将是消除所有困扰现代程序员的法律麻烦的美丽工具。
翻译自: https://www.infoworld.com/article/3519876/why-we-cant-develop-voting-software-that-works.html
蓝欣投票软件自助投票器
蓝欣投票软件自助投票器_为什么我们不能开发有效的投票软件相关推荐
- otc焊接机器人编程模拟软件_OTC弧焊机器人离线编程系统开发.pdf
OTC弧焊机器人离线编程系统开发 第 11期 组 合机 床 与 自动 化加 工技术 No.1l 2015年 11月 M odularMachineTool& AutomaticManufact ...
- 软件的接口设计图_刚进装修公司该学什么软件
学室内装饰设计需要先学什么软件 楼主 1.AutoCAD 精确绘制建筑施工图 --主要是大致的框架,用CAD可以绘制精确的墙线和房屋内部构造框架 2.3DMax 三维建模,装修效果图或者虚拟装修实境 ...
- signal软件如何退出账号_超好用的手机视频剪辑软件Videoleap内购分享
注意事项[必读]: 1.必须按照下面的教程操作,教程讲的很详细. 2.如果遇到帐号密码错误,先看本页面新密码再登陆,别乱试密码. 3.如果手机上有你购买的这个软件,请先卸载,再用我们的苹果id登陆下载 ...
- iwrite提交不了作业_痛点!为什么开发了那么多软件,还是解决不了教学问题!...
先为今天的主题铺一段对话吧 线上授课快一个月过去了,老师们的感受如何呢?不管咱们学校是选用强大的钉钉还是小众的其它(点名不礼貌)预测在复学后放弃现有授课软件的老师会达到五分之四以上. 因为" ...
- 生活中软件易用性的例子_大学生活中那些堪称神器的软件,真实且好用,生活学习必备...
在发展日新月异的21世纪,不少创业者开发了优秀的手机软件,而且有不少适合大学生日常生活的学习.语言.阅读等软件. 今天小编结合大学生的实际生活,推荐这十个真实且好用的手机软件,谁用谁知道,帮助你不再虚 ...
- 开源软件绿色报时器2.0版发布
开源软件绿色报时器2.0版昨天发布了.这个软件很小,才200k左右. 绿色报时器是时间管理工具,目前主要是定时提醒功能.现在已经是我的朋友们的装机必备软件了:) 我已经将它开放源代码,放到google ...
- 如何获取投票提交地址_简单实用 | 2019全国医院擂台赛投票攻略(县域版)
作者:用户大当家 2019改善医疗服务行动全国医院擂台赛案例征集环节结束.截止8月15日24时,城市组提交案例2196个,县域组提交案例1087个,总计3283个案例,数量再度创纪录. 首先为积极改善 ...
- mp4剪辑器_想学视频剪辑,可是专业的视频软件太难,来试试这软件吧!
作为新一代苦逼的建筑景观设计师,你知道我要学习多少软件才能满足甲方嘛?为了打动甲方有些同学甚至已经大半只脚迈进了影视行业,为了混口饭吃,我也不得不学习剪辑软件来让我的建筑动画更美一点!剪辑软件那么难, ...
- 可以通过限定ip来限制用户重复登录么_王者荣耀2020皮肤返场投票活动地址 五周年限定皮肤返场投票开启公告...
王者荣耀游戏中2020周年庆皮肤返场投票活动终于开启了,那么下面小编就跟大家介绍一下五周年限定皮肤返场投票开启公告以及详细的投票地址吧. 王者荣耀2020限定皮肤返场投票开启 亲爱的召唤师: 限定皮肤 ...
最新文章
- java基础学完就直接学ssm_java基础学习笔记3(SSM基础)
- C/Cpp / 设计模式 / 观察者模式
- java基础---集合之HashSet
- SAP CRM HANA report里 默认filter 的工作机制分析
- 12-Flutter移动电商实战-首页导航区域编写
- Excel向数据库插入数据(执行一次只需连接一次)-batch简单使用
- Java集合Collection接口中的常用方法演示
- nginx 子进程 woker process 启动失败的问题
- 适合计算机类研究生参加的比赛
- MOS管常用电路分析
- 操作演示 | 如何将示波器波形直接保存到PC端
- 最短路径问题(Dijkstra常用用法总结)
- 公共WIFI上网短信认证解决方案
- 【机器人栅格地图】基于蚁群优化遗传算法求解机器人栅格地图最短路径规划问题附Matlab源码
- UI行业就业前景怎样 如何成为合格的UI设计师
- 变速积分PID控制算法
- C++: double类型数值比较
- 网页分页展示的全部样式
- 智合同丨智能合同审查·赋能合同智能应用
- Centos6安装和使用ClamAV杀毒软件