自客岁 11 月,马斯克接任美国政府服从部分(DOGE)负责人以来,他以一种类似接受 Twitter 时的风格,对很多机构进行了一系列大刀阔斧的改革,终极目的是镌汰政府开支。克日,他将检察的眼光转向了社会保障部分(SSA)。 效果令人震惊——DOGE 揭破了社会保障体系中居然有 150 岁的人仍在领取福利,这无疑属于大规模诓骗举动。马斯克指出,“我们大抵查抄了一下社会保障体系,效果发现此中有 150 岁的人。你熟悉有 150 岁的人吗?反正我不熟悉。按理说,这些人应该被载入吉尼斯世界记录,但显然并没有。以是,我推测他们可能已经死了。” 然而,马斯克并未详细分析这一点,但他的言论立刻引发了广泛关注——为什么会有 150 岁的人?背后潜伏的是”诓骗“照旧另有什么缘故原由? 争议之下,有业界专家以为,这很可能与政府付出体系中利用的几十年汗青的编程语言 COBOL 有关,而非 DOGE 口中的”150 岁的人诓骗“。 一场诓骗控诉变成了”乌龙“事件 COBOL,这门语言是 1959 年通过公私互助同伴关系开发的,旨在为贸易应用提供一种类似英语的编程语言,很多“互联网老人”对它并不陌生。 随着时间的推移,尽管由于维护本钱高昂且与当代体系不兼容,大多数私营企业已经放弃了 COBOL,但它依然在政府和受羁系行业中广泛利用。 政府机构依靠基于 COBOL 的大型机来处理处罚关键财务生意业务,包罗税务付出、社会保障和医保。在得当维护的情况下,这些体系非常可靠,具备内建冗余和容错功能。停止现在,COBOL 仍在金融、电信和医疗等范畴发挥侧紧张作用。 现在,社会保障局(SSA)利用的正是 COBOL 编程语言。几年前,疫情期间,美国政府各机构曾被曝高薪争抢 COBOL 步调员,由于年轻步调员对这门语言并不熟悉。 针对当前 SSA 体系的题目,有步调员指出,社会保障局的计算机体系以 1875 年 5 月 20 日为日期基准。至于为什么是这个时间? 据悉,1875 年 5 月 20 日,国际度量衡局(International Bureau of Weights and Measures)创建了同一的质量和长度标准。厥后,它还为日期订定了标准。这一日期标准的起始日定为 1875 年 5 月 20 日,以怀念度量衡局的创建。 SSA的计算机利用的是较旧版本的 COBOL,并以这天期作为基准。日期存储为自 1875 年 5 月 20 日以来的天数。假如社会保障局无法得知或人的出生日期,该字段在记录中将为空。这些人看起来像是在 1875 年 5 月 20 日出生的,也就是 150 年前。 至此,关于”150 岁还在领取社会福利“的诓骗事件好像演变成为一场步调员不懂 COBOL 语言的”乌龙“事件,而这个说法是否准确,很多步调员睁开了讨论。 在 COBOL 中,缺失或破坏的日期是否默认设置为 1875 年 5 月 20 日? 为了求证,也有开发者在问答社区 StackExchange 发帖求证——”在 COBOL 中,缺失或破坏的日期是否默认设置为 1875 年 5 月 20 日?“ 有一种说法在传播,好比在 Mastodon 上有人说: [……] 在 COBOL 中,假如一个日期缺失[或“破坏”],步调默认设为 1875 年…… 这个说法偶然会被“放大”,好比说它默认设为具体的 1875 年 5 月 20 日——即米制公约签署的那一天,大概说这是某种“老步调员”才知道的”机密“,当然它也试图表明某些征象。 遗憾的是,我找不到任何技能依据来支持这个说法。比方,这个技能标准中根本没有提到 1875 年。而且好像我并不是唯一一个无法提供技能依据的人。 因此,我作为一名“年轻步调员”的题目是:有没有确凿证据表明某个 COBOL 的规范或实现确实如此运作? 假如没有,是否可能有一些与 COBOL 干系的软件(好比数据库管理体系)能够表明这种默认举动? 假如答案仍然是否定的,那么是否有一些强有力的论据支持或反驳这个说法的可信度? 有网友表现:「我是一名老步调员,也就是今天各人口中的”Coder“。很多老步调员都知道 COBOL,而年轻的编程职员则不太相识。当有人称社会保障部分正在付出数千名 150 岁老人时,我以为应该有人告诉马斯克,在 COBOL 中,假如缺少日期,步调会默认利用 1875 年。比方,2025 - 1875 = 150。」 随即不少人赞同道,”正确。假如出生日期字段包罗破坏或不匹配的数据,则默以为 1875-05-20,这起到了标记的作用。1875 年 5 月 20 日是签署国际标准和度量衡条约的日子。当你不知道技能是怎样运作的时间,这就带来了一场诡计。“ 不外,也有开发者反驳道,这并非是通用的做法。 COBOL 乃至没有日期范例。在我从事 COBOL 工作的 1996 到 2000 年期间,日期只是用六个数字表现,我们必要本身进行日期计算(大概利用必要剪切和粘贴的预界说例程)。 由于千年虫题目以及数据库文件转换的困难,地方性惯例开始利用一个停止日期来决定一个日期属于 1900 年照旧 2000 年。这取决于利用场景,比方,出生日期和订单日期之间会有区别。 因此,步调之以是利用这种方法,仅仅是出于某种地方性编程惯例,并不是 COBOL 的通用做法。 另有一位名为 Raffzahn 的网友深度分析称:曾经,数据结构是为了顺应目的而计划的,而不是为了编译器。细致看看这个题目,能清晰看到有用日期的限制:
这意味着社会保障的第一批通例受益人是在 1945 年 65 岁的人,即 1880 年出生的群体。而在 1880 年之前出生的人不会参与该体系。任何比这个年龄大的人也不太可能是受益人,而比这个年龄小(还在缴纳的人)的人天然会更年轻。 以是,加上 5 年的容错余地,最早的出生年份就定在了 1875 年,成为记录生日的公道起始年。一个完善的日期出发点,不是吗? 不外,Raffzahn 觉得,「严酷来说,这不是 COBOL 的题目,而是数据顺应任务的题目。当然,这样的细节很难和公众沟通。由于这些通常是用 COBOL(大概更常见的是汇编语言)完成的,将责任归咎于 COBOL 对公众传播效果很好。这也不算错,由于其时利用这种编程方式是 COBOL 中的好做法,由于其时就是这样。」 以是针对上述开发者提出的几个题目,团体来看,Raffzahn 剖析道: 1. COBOL 是否将日期缺失或破坏时默认设置为 1875 年 5 月 20 日? 不,COBOL 并不会。这件究竟际上是关于优化数据存储的题目。 这是一个今天险些失传的艺术,步调员现在通常利用最合适的数据范例(比方,用 float 存储 bool)。其时,我们不仅关注处理处罚逻辑,还关注代码和数据的最佳实现。 2. 偶然该说法还被“增强”,以为 COBOL 默认设置为 1875 年 5 月 20 日——国际度量衡局签署米制公约的那一天,或称这是某些“老步调员”的智慧,当然,它也能表明它试图表明的征象。 不,绝对不是针对某个特定日期。这样做不仅非常不寻常,而且会增长编程工作量,必要在存储和表现之间进行转换。 米制公约这一年只是个偶合。 3. 我很遗憾没有找到任何技能依据来支持这个说法。 不必要技能细节。根据知识,日期通常基于某些固定点。究竟,全部的日历体系都是基于某个固定点的——好比公元 1 年,大概像 Unix,利用 1970 年作为基准。 4 . 比方,这个技能标准中没有提到 1875 年。而且我好像并不孤单,无法找到干系依据。 由于 1875 年对社会保障来说很有意义。 5. 以是我的题目是:“年轻步调员”:有任何硬证据表明 COBOL 规范或实现是这样的吗? 这与 COBOL 或其他数据无关,而是关于知识的数据结构。 6. 假如答案仍然是否定的,是否有强有力的论点支持或反对这一说法的公道性? 完全相反。任何对数据结构有根本相识的人都会看到这种方式是怎样工作的。像这种方法是知识。 那么到底是什么? 请记着,我们讨论的是一个在上世纪 30-50 年代计划的体系。其时是打孔卡片时代,每个字符都非常宝贵。把日期存储为 8 个字符是极其浪费的。以是其时大多数贸易应用都将日期存储为 5 个字符:3 个字符表现日期,2 个字符表现年份。他们乃至利用更糟糕的编码方式来节省空间。 现在,社会保障必要覆盖高出 100 岁以上的年龄,因此界说一个公道的停止年份作为“零年”,可以节省后续字符的需求量。这样,出生日期就可以用 6 个字符编码,而不是 8 个字符。3 个字符表现日期,再加上 3 个字符表现年份减去 1875。 相反,假如没有填写日期——比方出生日期不明——这个字段会为空。按照这种逻辑,空缺字段就会输出 1875 年——至少在没有处理处罚这个破例的陈诉中会这样表现。 就是这么简朴。 “DOGE 团队可能必要 COBOL 速成课” 归根究底,这并非一起“诓骗”事件,而是编码明确错误所导致的误会。 有网友提出疑问,为什么马斯克和他的团队没有深入观察那些被以为是 150 岁的人为什么会有雷同的出生日期——即 1875 年 5 月 20 日,而是直接将其视为诓骗举动? 很多人将其归咎为马斯克组建的 DOGE 核心团队成员过于年轻。 本月初,外媒《连线》曝光了马斯克 DOGE 部分核心职员,此中所依靠的 6 名年轻 AI 工程师,他们也被称为“娃娃兵”。这些成员的年龄普遍在 19 至 25 岁之间,有的刚刚大学毕业,有的乃至可能还在上大学。具体成员包罗:
这些年轻成员的到场使得马斯克的 DOGE 团队在处理处罚复杂数据和技能题目时,可能缺乏必要的履历和对汗青编码题目的深入明确。 早些时间,更有外媒直接发文,喊话“马斯克的 DOGE 团队可能必要 COBOL 速成课”,究竟团队都太年轻了,没有打仗过太多的关于 COBOL 的内容,而 COBOL 又是管理各种政府财务生意业务的政府大型机体系中广泛利用的语言。 正如一位专家所说,COBOL 充当着将大型机各个组件“粘合”在一起的“胶水”,它是与应用步调和数据库协同工作的代码。大型机本身则加载了冗余和容错功能,因此它们从不瓦解。
![]() 专注IT众包服务 平台只专注IT众包,服务数 十万用户,快速解决需求 ![]() 资金安全 交易资金托管平台,保障资 金安全,确认完成再付款 ![]() 实力商家 优秀软件人才汇集,实力服务商入驻,高效解决需求 ![]() 全程监管 交易过程中产生纠纷,官方100%介入受理,交易无忧 今日头条
热门资讯
![]()
|