马斯克揪“360岁僵尸” 专家:编程语言误会 别乱改

今日头条
Toutiao
最新回复:2025年2月19日 11点56分 PT
  返回列表
74599 阅读
39 评论
红星新闻

▲美国社保编号

据报道,马斯克领导的“政府效率部”(DOGE)自成立以来,已触及至少19个美国政府部门,并获得了部分部门的内部系统权限。2月17日,马斯克晒出一份由DOGE团队调查得到的美国社保数据库截图,其中一些数据令人瞠目结舌。

根据该截图,美国领取社保的“百岁老人”接近2000万,其中最高龄的一名领取者年龄被登记为360-369岁之间。要知道,360年前美国尚未建国,这一明显不符合常理的结果,被马斯克称为“史上最大骗局”。

不过,DOGE团队真的揭穿了一个惊天的骗局吗?美国IT专家大卫·吉尔伯特在科技杂志《连线》上表示,其实这些看似不合理之处的解释也相当简单,就是马斯克带领的年轻团队不熟悉早期COBOL编程语言,引发了一场误会。

马斯克“查账”查出“骗局”?

分配社保编号的人比总人口还多6000万

根据马斯克贴出的一张统计图表,总共有接近2000万领取者的年龄超过100岁,其中100-109岁年龄组有474万人,110-119岁年龄组有374万人。“反常”的是120-129岁年龄组的人反而更多,接近400万人……更高龄的年龄组也大有人在。

面对这种2000万“百岁老人领社保”的荒诞场景,马斯克调侃称:“这些不会是《暮光之城》里的吸血鬼还在领养老金吧?”

▲美国社保部门

根据马斯克的说法,最为高龄的一名领取者的年龄至少为360岁,对应为1665年出生,而美国1776年才建国。马斯克对此表示:“在地球上还没有一个美国公民的时候,就诞生了领取美国社保的长寿者。”

一名网友统计马斯克贴出的数据后发现,被分配了社保编号的人数达到3.95亿人,比美国当前的人口多出6000万人。马斯克对此表示:“这也许就是史上最大的骗局。”有网友称:“我想知道这些120-369岁的老人里有多少在大选中投了票的。”马斯克回帖称:“我猜肯定不少。”在去年大选之前,马斯克就曾高调指责民主党选票作假。

马斯克2月16日还披露过对美国国防部门的审计结果,发现在加州特拉维斯空军基地第60空运中队的KC-10加油机上,军方当年仅购买25个杯子就花费了3.2万美元。此外,波音公司为美国空军提供的机上香皂盒等物品也比市面价格溢价80倍左右。

IT专家:

早期编程语言导致误会,不要随便修改

对于马斯克公开揭露的“惊天骗局”,美国IT专家大卫·吉尔伯特表示,这背后的真相其实很简单,就是早期使用的COBOL编程语言带来的误会。他举出一个例子:在马斯克贴出的统计中,150岁这个年龄段的老人异常多,这恰好说明这个bug可能出自计算机系统的缺陷,而非人为造假,否则的话,造假者完全可以把数据做得更加“平滑”。

大卫·吉尔伯特解释说,在COBOL语言中没有日期这个数据类型,因此只能用字符来占据位置。当遇到出生日期不完整、资料缺失的时候,系统可能自动使用一些基准数据来填充空格,最常用的就是1875年(“米制公约”签署的年份)。到了2025年,系统中这部分出生日期显示为1875年的人,刚好显示年龄为150岁。

根据公开资料,COBOL(全称为“通用大型商业导向语言”)是一群编程人员在上世纪50年代协力创造的编程语言,适用于大型计算机,兼容当时主流的各种系统。在那个年代,美国大型企业和政府部门几乎都采用该编程语言。不过,后来私人企业逐渐抛弃了COBOL语言,因为该语言代码较为臃肿,很难进行快速创作。不过,像美国社保局这样的大型政府机构很多选择沿用COBOL,因为该语言当初就是为大型机准备的,具有很强的可靠性和容错机制。

科技网站Fast Company担心的是,马斯克手下的年轻团队显然没有听说过COBOL这种早期的编程语言,如果他们贸然决定修改代码,后果可能不堪设想。“COBOL语言其实很脆弱,每做一处改动都需要经过大量的安全测试才行。如果这些年轻工程师们随便在后台修改代码的话,有可能某一笔救命的医疗补助就无法按时发到位。”

此外,美国社保局官网在2022年曾做过解释称,对于任何系统显示年龄在115岁以上的人,系统都会停止自动支付福利,而是需要人工审查。2023年的一份技术审查报告显示,在美国社保数据库里的百岁以上老人中,实际上有98%是没有领取任何金钱补助的。不过,美国社保局并不会修改这些过时的资料,因为改动的技术成本较高。

a
azkaban
1 楼
一会儿说COBOL"具有很强的可靠性和容错机制。",所以要用它,一会儿说它很脆弱,不能改。到底哪句是真的?
f
fck1234
2 楼
不把Cobol说得神乎其神,这些Cobol码工怎么向ZF开出每小时几百刀的工资?
l
livedoor
3 楼
无意给美国这种操蛋的操作洗地,但你觉得改完数据,程序不需要改?数据改了程序不改,下次跑程序不会出错?只要代码能对付着动就不要轻易改任何东西的计算机行业的铁律你不知道?事实就是,无数系统依赖于bug,修一个bug极有可能引发其他bug,看看windows11的补丁程序惹出多少祸你就知道了。
A
AceOp
4 楼
老马反驳来了 [2评]
l
livedoor
5 楼
COBOL语言本身是好的,金融等很多行业至今都在用大型机和COBOL语言。 但程序受程序员水平影响不一定是好的。明白了吗?
c
cxy1223
6 楼
任何数据都需要用约定来解释。很多时候这个约定的大部分都存在于数据库内部,但是早期的程序可能有一部分存在于代码里,更糟糕的可能只存在于程序员或操作人员脑子里。看到有一个360岁的人还在领福利。要做的是去调查,不是一上来就说有人在偷养老金。
7 楼
我就就想看老马改, 这种几十年的数据+colbo+各种bug和数据错误, 我就看老马和Tittwer那帮人怎么搞, 或者直接删数据? 反正一定会精彩纷呈~ [1评]
周口店
8 楼
看来你真不懂早期的程序语言,这些解释挺合理的。老系统疏于更新是确实有问题。 。 老马很聪明,只列举年龄记录,不列举近期养老金领取实际金额。 [1评]
q
qqworker
9 楼
对于历史代码。。 最好别动。。
r
roygreat
10 楼
欲要他灭完就要让他疯狂。川卫兵小将觉得自己能打破新世纪建立旧世界,那家让他们干吧。
C
ChinaTruth
11 楼
每个人登记时都是Alive 。问题这些人中有多少人还在领社保金。老马故意不说这个数字。
r
roygreat
12 楼
他揣着明白装糊涂
r
roygreat
13 楼
他有本事就改。天塌了懂王撑着
g
glass8703
14 楼
是不是真的还在领社保金,要公布些实例,包括2020年时的年龄和领到的金额数。 [1评]
s
sleepy
15 楼
“因为该语言当初就是为大型机准备的,具有很强的可靠性和容错机制。 科技网站Fast Company担心的是,马斯克手下的年轻团队显然没有听说过COBOL这种早期的编程语言,如果他们贸然决定修改代码,后果可能不堪设想。“COBOL语言其实很脆弱,每做一处改动都需要经过大量的安全测试才行。”” ************************************** 很可靠,容错性很强,但是很脆弱… [1评]
g
glass8703
16 楼
不是改程序,而是要写个新系统包括新程序。
a
azkaban
17 楼
问题是这些僵尸只要在系统里存在,他随时可以根据需要让某些复活,再沉睡。到时候又可以说核实的开销太大,无法核实。
那就好好生活
18 楼
硕鼠硕鼠,偷吃国库。 扯什么软件和数据不可以改。看看美国达官贵人的亿万家财吧。。。
s
sleepy
19 楼
就…马斯克无情地揭穿了一个谎言:美国人均预期寿命其实是排第一的,什么发达国家倒数第一,那是美国人谦虚
C
ChinaTruth
20 楼
: 应该不需要改代码,需要改的是数据。问题是查这几千万人需要不少人手和资金。不能因为年龄大于多少就自动停发。有些人可能因为出生日期缺失或者填写错误,实际年龄只有70几岁。当然有个好办法就是只调查四万多还在领社保的百岁以上老人。
g
glass8703
21 楼
您大概是外行,数据库程序员或操作员做这事很快的。
l
livedoor
22 楼
为啥不需要改代码?现有的代码已经生成了错误的数据了。如果不改代码,重跑一遍程序生成的数据不还是错的?你又如何保证今后不会生成新的错误数据?代码是应该改的。问题是,不是轻而易举就能改的。
按律当斩
23 楼
此外,美国社保局官网在2022年曾做过解释称,对于任何系统显示年龄在115岁以上的人,系统都会停止自动支付福利,而是需要人工审查。2023年的一份技术审查报告显示,在美国社保数据库里的百岁以上老人中,实际上有98%是没有领取任何金钱补助的。不过,美国社保局并不会修改这些过时的资料,因为改动的技术成本较高。 = 这个解释自相矛盾,很明显是推脱骗人。 一边说对任何系统显示年龄在115岁以上的人,会停止自动支付福利。一边说实际上有98%是没有领取任何金钱补助的。那就是还有2%在领取,这不自相矛盾吗? 而且推脱改技术成本高,那就是说他们一直知道这个问题而不改,这就是渎职嘛。
E
Edmondon
24 楼
傻逼专家,那叫漏洞,如果真有帐号收到了钱,就必须彻查
a
azkaban
25 楼
: 你能看懂我说的是流程,不是技术?
g
gamma
26 楼
现在还用DOS Cobal古董电脑和软件,不是故意漏洞贪污偷钱嘛
j
jolly11
27 楼
别看来看来的,中国比我更早学计算机的不多
j
jolly11
28 楼
改数据多半不需要改代码,改异常数据为正常数据更不需要改代码 如果所谓的数据错误是真的,这里需要做的是异常数据为正常数据
j
jolly11
29 楼
社安局长表示我宁愿提前退休,也不公开数据
j
jolly11
30 楼
错误的数据是输入的,不是生成的 当然了,你可能是知道内幕说漏嘴了,你其实知道的真相是假数据是代码生成的。你现在抱怨的是要生成更象真数据的假数据需要改代码,工作量不小。
j
jolly11
31 楼
应该不是dos,是unix
O
Omeagego2003
32 楼
程序这东西在相同的条件下不会一部分数据是对的另一部分数据是不对的。如果统计1-60 年龄是对的那么所有统计数据都应该是对的。
周口店
33 楼
: 早吃几口,不等于知道更多。早期的程序语言是很麻烦,动不动就指针。删除数据导致程序出错的可能出现的。 。 老马做得挺好,但不一定是他想得那么简单。