职贝云数AI新零售门户 首页 科技 人物 查看内容

马斯克被“打脸”?150岁老人领社保,竟是程序员小将不懂COBOL惹的祸?

2025-2-20 21:43| 发布者: Y1Ob6L| 查看: 108| 评论: 0

摘要: 转自:InfoQ-核子可乐、Tina最近,马斯克表示他指导的“政府效率部”(DOGE)查账时发现了一些很离谱的事:比如美国财政部每年给一群连身份都说不清的人发了 1000 多亿美元的福利金,他看到的记录里,有大约 150 岁 ...
转自:InfoQ-核子可乐、Tina

近来,马斯克暗示他指点的“当局服从部”(DOGE)查账时发明了一点儿很离谱的事:好比好国财务部每一年给一群连身份皆道没有浑的人收了 1000 多亿美圆的祸利金,他瞅到的记载里,有约莫 150 岁的人。

对于此,马斯克没有无讽刺天暗示:“有些工作太荒唐了。好比,不过大略查抄了一下社会保证体系,便发明里面有些人的年齿约莫 150 岁。您观点 150 岁的人吗?尔没有观点。他们要末早该被加入凶僧斯天下记载,却错过了时机;要末,尔猜他们已经死了。总之,必然有成就。”

马斯克正在道那些话时,他的心情是一脸的难以想象,而原来认真谛听的特朗普,也是不由得笑了进去。

那是个编程成就吗?

好国媒介幻想核对员暗示,他们没法证实或者承认马斯克的道法,但是也指出他们今朝“不发明所有 150 岁白叟申发祸利的具体凭证。”

有很多人对于马斯克的道法暗示疑心,另有人给出了一种既简朴又弄笑的注释:传闻马斯克的 DOGE 团队成员皆很年青,但是那些年青人可以没有明白,好国社会保证体系用的长短常老旧的计较机,而那些计较机运行的是陈腐版原的编程语言 COBOL。1875 年 5 月 20 日,一点儿国度建立了国内襟怀衡局,订定了分歧的品质战少度尺度。厥后,该机构也订定了日期尺度,并以 1875 年 5 月 20 日动作肇端日期,以留念那一汗青工作。老版原的 COBOL 便接纳了那个日期动作基准。好国社会保证体系的计较机相沿了这类设想。

那末,假设社会保证体系中或人的诞生日期已知,会发作甚么情况呢?这一栏便会是空的,而体系会默认那小我私家诞生于 1875 年 5 月 20 日——也即是约莫 150 年前。那恰是马斯克团队发明 “150 岁白叟” 的启事。



因而,环绕着那可否是编程语言招致的 bug,各人睁开了剧烈会商,各圆道法纷歧。有自称是 COBOL顺序 员觉得那即是因为 COBOL缺少 日期招致的。

马斯克被“打脸”?150岁老人领社保,竟是程序员小将不懂COBOL惹的祸?

尔是一个老法式员,用来日诰日的道法即是“Coder”。很多老法式员皆明白 COBOL,而年青的编程职员则没有太理解。尔以为该当有人报告马斯克,正在 COBOL 中,假设缺少日期,法式会默认使用 1875 年。比方,2025 - 1875 = 150。

马斯克被“打脸”?150岁老人领社保,竟是程序员小将不懂COBOL惹的祸?

是果然,因为尔的公司正在 COBOL零碎 上事情,当客户不日期时,它即是 1875。

但是仍是有更多法式员不竭提出量信,主要是各人找没有就任何能够撑持那一论断的手艺质料。究竟结果各人睹过的默认日期主要是 1970-01-01,以至也有法式员指出 COBOL 其实不使用 ISO 8601 日期格局。

马斯克被“打脸”?150岁老人领社保,竟是程序员小将不懂COBOL惹的祸?

尔睹过的唯一默认日期是 1970-01-01,那是 Unix时间 中的 0 面,必然早于 ISO 8601 的订定。上个月尔正在瞅 Brian Goetz (甲骨文公司的 Java 语言架构师)的讲演时借正在思考默认日期的成就,但是他并已提到 1875 年。尔以为 1875 年那个道法是胡编治制的。

马斯克被“打脸”?150岁老人领社保,竟是程序员小将不懂COBOL惹的祸?

尔曾正在 COBOL零碎 上事情过......COBOL 没有使用 ISO 8601 日期格局。

马斯克被“打脸”?150岁老人领社保,竟是程序员小将不懂COBOL惹的祸?

各人莫衷一是,稀歇根年夜教经济教传授 Justin Wolfers 从统计教角度指出,确认那个成就其实不需要成为一位法式员,只要输出:tab age,您会发明有一点儿 99 岁的人,大都 100 岁的人,多少位 101 岁的人,和一堆 150 岁的人,但是不人正在 130 岁或者 140 岁之间。那最少分明天表白,那是一个编码成就,而没有是狡诈举动。

假设确实是一个编程成就,并且 COBOL 没有使用 ISO 8601 日期格局,这另有甚么其余启事可以招致那个征象的呈现呢?



今天,有一位“年青法式员”正在 StackExchange 上收回了魂灵提问:“可否有确实凭证表白,COBOL标准 大概真现在以这类方法运行?假设不,这可否存留某些取 COBOL 相干的硬件(比方 DBMS)能够处置这类默认树立?”那个成就的最好谜底给出了一个纷歧样的注释:1875 年动作日期基准的滥觞并不是手艺标准请求,而是鉴于社会保证轨制的施行时间(1935 年)分离保存劣化需要设想的经历性计划,它表示的是晚期法式员正在软件限定下"空间换逻辑"的设想形而上学。

简朴的道,那与决于具体要记载甚么样的数据。

曾有一段时间,数据构造是为了满意一定目标而制作,并不是环绕编译器特征。颠末上面的描绘,能够明了天瞅到有用日期的限定前提:社保轨制于 1935 年拉出。要念付出祸利,必需满意如下前提:最少付出 40 个季度,即 10 年;年齿最少为 65 岁。那表示着,第一批按期付出社会保证金的人群是 1945 年时 65 岁的集体,也即是 1880 年诞生的人。而 1880 年以前诞生的人没有契合前提,因为他们的年齿太年夜,年夜大都果已交纳充足年限的社保而没法享受策略。而年齿较小的人(即仍正在付出社保的人群)将正在未来进戚时享受报酬。因而,思考到 5 年的容错空间,咱们终极将 1875 年定为最先的年份尽头。那个日期区间的鉴别历程瞅起去是相称公道的,对于吧?

以是从严峻意思上道,那并非 COBOL 的成就,而是为了适应任务数据。固然,如许的细节很易取公家相同。以是既然 COBOL(包罗汇编语言)法式中确实经常呈现这种成就,那末将其归罪于语言自己也出啥年夜成就。究竟结果这类编程方法正在 COBOL 中算是一种优良实践,其时便那请求。

那末,COBOL 可否会将破坏或者缺得的日期默认树立为 1875-05-20?其实不会,并且那事的中心其实在于怎样劣化数据保存。那是一种现在险些得传的技术,究竟结果现在的法式员们会使用最强大的范例去处置统统事件(比方用 float 去保存 bool)。当时人们不但关心历程逻辑,借需要关心代码战数据的最好完毕。

固然,人们会用 1875-05-20 是《米造条约》的签订日期另有那是“老法式员们”的独到聪慧去强止注释,但是那不过对于成果的注释、而非底子启事。幻想上,那完整不过个随便与值的偶合,随机撞上了《米造条约》的签订日。

哪怕找没有就任何手艺质料去撑持那个道法,相信有经历的法式员也很分明,按照某些牢固面去肯定日期是种罕见作法。究竟结果统统日历体系皆要设定如许一个锚面,好比公元 1 年;大概以 Unix 为例,其日历以 1970 年动作基准。那项手艺尺度中历来便出大白提到过 1975 年的意思,并且尔也没有是唯一持这类“随机与值”概念的人。究竟结果 1875 年最年夜的意思,即是前面提到的跟社保轨制的降天时间相匹配。

“那末动作一位‘年青法式员’,咱们不禁要问:可否有确实凭证表白,COBOL标准 大概真现在以这类方法运行?”

那跟 COBOL或许 所有其余数据相关,而是一种知识性的数据构造设想思路。

假设谜底仍然可否定的,这有无一点儿虽无力的论据能够撑持大概批驳这类道法的开理性?”

恰好差异,所有对于构造化数据具有最底限理解的人,皆能理解为何要如许干。再次夸大,那是一种知识。

请留神,咱们那里会商的是上世纪 30 年月到 50 年月期间设想进去的体系。其时的支流保存计划是挨孔卡,每一个字符皆对于应着很下的本钱。将日期保存为 8 个字符代表着极年夜的糜掷,因而其时年夜大都贸易使用法式会将日期保存为 5 个字符。此中 3 个字符暗示日期,2 个字符暗示年份,那清楚是正在用糟糕的编码实践去调换本钱节省。

现在,社保轨制需要笼盖超越 100 岁的集体,因而将公道的停止年份界说为基准有帮于节省后绝字符需要质。以是道,诞生日期确实能够用 6 个字符、而非 8 个字符去编码,此中 3 个字符暗示日期,加之 3 个字符暗示年份(加来 1875 后的数字)。

反过去道,已挖写的日期(比方诞生日期已知,也即是数值缺得)代表实质为空。根据以上逻辑,该值会输出 1875,保证没有致陈述非常。

全部成就的逻辑,即是这样简朴。


马斯克的 DOGE 团队可以实需要恶补 COBOL 课

或许马斯克部下的年青工程师确实缺少对于已往一点儿手艺的理解,那才招致了马斯克的歪曲。正在他们事情过程当中,可以会晤临一点儿老旧手艺的挑战,特别是第一次打仗到像 COBOL 如许的老古玩时。

可怜的是,那些年青工程师们已经正在“年夜动兵戈”,DOGE 暗示,他们的目标是完毕当局体系“现代化”,那表示着需要对于体系内乱的代码给以改正。也即是道,服从部的成员们很可以在面临自己从已睹过的工具:COBOL,即里背营业的通用语言。

COBOL 语言由五角年夜楼及 IBM 等公公协作构造于上世纪 50 年月开辟而成,其目标是为贸易使用法式建立一种通用且取英语类似的编程语言。正在以后的多少十年间,公营企业已经再也不使用这类语言。而该语言的代码保护起去易度年夜、本钱下,且主要里背批处置需要所挨制,因而没法宁可他鉴于云情况的现代及时使用法式截至优良散成。但是正在华衰整理特区,情况则完整差别。固然近来多少十年去也正在连续促进各项现代化历程,但是 COBOL 语言仍正在当局部分内乱用于办理各种金融生意的庞大机体系中普遍存留,具体涵盖纳税、进税、社会保证、祸利策略以致调理保障报销等营业过程。

只要保护恰当,那些体系实在相称可靠。邪如一名大师所行,COBOL 是正在各庞大机组件之间充任“粘开剂”,靠代码和谐软件共使用法式及数据库之间的配合运做。庞大机自己便具备冗余战容错等才气,因而永久没有会发作缺陷。以是时至旧日,鉴于 COBOL 语言的庞大机体系仍正在金融效劳、电疑战调理保健等受到严峻羁系的止业中阐扬感化。

有些人担忧那群年青工程师可以会突入 COBOL 代码库,并正在尚没有理解作用情况的共时马虎入手。一般来说,涉及到体系下层代码的所有变动,皆必需依照其余机构事情职员编辑的细致营业需要。而那些体系中的所有提早大概停机,城市对于幻想糊口经纪们的糊口发生间接作用。面临马斯克战他的服从部参谋们,硬件工程师战机构内乱的其他人员固然会赐与辅导并夸大尊敬既定例范的主要性。但是马斯克的那收步队明显相称易以猜测。假设服从部事情职员冒然沉写 COBOL 代码中的某些部门,很可以会招致预想没有到的结果,包罗对于枢纽效劳的严峻破坏。并且哪怕没有是一定失事,激发意外结果的可以性也相称之下。

从某种意思上道,COBOL 语言表示着那批年青幻想主义者取实在天下之间的摆脱。保护 COBOL 代码是一个将新法例逐步转移为具体营业需要、将需要收拾整顿为计较机代码、正在宁静情况中全面尝试代码、将终极产物加入消耗,并正在体系中记载其用处的冗长历程。但是因为自上世纪 90 年月此后 COBOL 再也不动作计较机科学课中的进修实质,因而处置那项事情的人们常常年齿较年夜,且部分职员数目也正在不竭削减。

手艺效劳商 Very Little Gravitas 的担当人 Don Hon 暗示,马斯克战他的服从部成员年夜可能是去自硅谷文化圈的年青硬件工程师。他们习惯于以一种极具特性的“快速举措、突破通例”过程动作辅导,去完毕庞大效劳取产物的现代化。

Hon 夸大“瞅瞅特斯推晚期开辟齐主动驾驭硬件的方法就可以大白,咱们科技止业具备一种风行文化,即「让咱们共同念法子,先获得一套能够运行起去的工具。它会瓦解,以后咱们再念法子建设」。”能够必然的是,如许的观念正在已往已经为马斯克如许的企业野们戴去了弘大胜利。但是如许的计较危急关于由数亿人依靠的当局体系来讲,则表示着完整差别的情况。全部事业生活生计皆正在开辟里背消耗者硬件的工程师们,生怕并无才气为变动当局付出体系而画造出准确的危急直线。

Hon 注释讲,“有人可以会道,至多即是错过一笔调理补贴之类的,这有甚么年夜没有了,咱们能够稍后处置嘛。”但是理论上,COBOL 硬件实在很懦弱。例如道,一朝代码革新了取现有战略相抵触的新战略,则全部体系会完全瓦解。有些体系借缺少主动尝试法式,因而硬件工程师必需脚动编辑尝试,并正在兼并新代码以前一遍遍完毕耗时的尝试任务。而关于这些缺少准确记载的代码片断,许多以前出打仗过名目的人很可以弄没有浑那些代码是干甚么的,终极招致情况退一步庞大化。

以是基于现在的情况,好国人能干的只可是期望 DOGE 能三思然后止,保存这些把握 COBOL 语言并理解名目过程历程的资深职工。究竟结果,COBOL 这些易以理解战不敷强健的因素只可算是特性,而非地道的缺点。

参照链交:

https://www.threads.net/@ashmore_glenn/post/DGDfmj6TsZS

https://x.com/i/trending/1890706819724824578

https://x.com/JustinWolfers/status/1890836472174924143

https://retrocomputing.stackexchange.com/questions/31288/does-or-did-COBOL-default-to-1875-05-20-for-corrupt-or-missing-dates

https://www.fastcompany.com/91278597/elon-musk-doge-COBOL-languag

举荐浏览  面打题目可跳转
一、字节用 8266.8 万报告您:招“错”一个职工,“价格”有多年夜

二、DeepSeek 从初学到晓得:浑华年夜教出品(PDF 可下载)

三、不消费钱!脚把脚学您当地布置 DeepSeek,多少分钟就可以教会


luguo
路过
leiren
雷人
woshou
握手
xianhua
鲜花
jidan
鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

相关分类

用专业创造成效
400-778-7781
周一至周五 9:00-18:00
意见反馈:server@mailiao.group
紧急联系:181-67184787
ftqrcode

扫一扫关注我们

Powered by 职贝云数A新零售门户 X3.5© 2004-2025 职贝云数 Inc.( 蜀ICP备2024104722号 )