| |
|
| 知识库 -> 工程技术知识 -> 为什么很多物理代码不开源? -> 正文阅读 |
|
|
[工程技术知识]为什么很多物理代码不开源? |
| [收藏本文] 【下载本文】 |
|
为什么在理论和计算物理领域,据我所知,大部分文章的代码都不开源?似乎很多祖传代码都只在组内共享,而很少公开,为什么会有这种倾向呢? 我认为代码的开源应… |
|
因为天堂与地狱间隔着几代人的壁垒 最近看到一个同学(老师?)的个人项目和blog GitHub - 20k/20k.github.io 有感而发。数值相对论,世纪初曾经也是一片泥潭,各说各话爱讲谜语,各种结果难以复现。而现在已经发展到这样的程度:公开的教程和代码足够丰富,以至于出于兴趣个人也可以有足够的渠道和资源写一些个人项目,拿游戏显卡跑一跑,或许现在已是开源井喷式发展的前夜:未来兴趣驱动的项目满天飞,社区群策群力,像计算机图形学一样健康发展,并通过大量吸引新鲜血液和开源框架反哺科学研究。 update: 与该个人项目的作者聊了聊,更加惊讶,他是纯计算机背景,独立开发者,爱好图形学,写这些数值相对论的cuda项目纯粹为爱发电 回到lz的问题,lz指的物理大概局限在了高能和核物理这个冷门领域,但是主流的物理,像天文、凝聚态(量子多体)、量子计算,都是有大量开源代码的,甚至开源框架比如astropy, qiskit是论文代码的主流。 代码不开源是冰山一角,我们也可以问:为什么这些人写代码爱放magic number?为什么这些人作报告时一般不给出符号的定义?为什么这些人在讨论问题的时候喜欢自动收缩问题的scope以至于最后钻牛角尖式地研究一些极其niche的东西?为什么老登喜欢养golden child?为什么有些数据分析根本复现不出来(却还登上了science)?为什么这个领域的人如果不在学术界几乎唯一的去向就是一些出了名toxic的高频交易公司(而且还做不了真正take risk的trader)?为什么这个领域的人做很多事都喜欢take for granted?为什么.... 答案很简单,某些领域的社区氛围是没有人按健康的方式做科研的地狱,堕入地狱很容易,而要转型成良好的科研天堂,需要的是几代人忘我的革新 某些领域经过70年代的hype吸引大批toxic卷王愣头青后,再由卷王能人玩左脚踩右脚,期货套利式科研,反复hype,再经过几代的人才流失,现在已经是充满结晶人的末法时代了。资本家把牛奶倒了也不会送给穷人,学术界的职位交由其他学科占了也不会给不在关系网的同行。 可能不在这个领域的人难以想象理论科研怎么玩arbitrage,解释一下: 左脚踩右脚:我今天凭借我的影响力,创造一个概念,并且推向市场,如果有所反馈,那么投入资源,比如让我的学生博后写几篇文章并且筛选信徒给他们写强推使他们留在学界。不过我自己当然知道这个概念不会被用在实际的计算模拟和问题解决中,我要做的是左脚踩右脚,在这个概念的基础上,创造一些新的概念,再次观察市场并推动哪些有所反馈的概念。如此反复我便能建立起一个繁杂的概念帝国,在外人看来那便是我的学派欣欣向荣进展颇丰。 期货套利:我今天有了声誉,联合我的学派,声称我的概念帝国能够解决某个大问题(比如 S matrix program),如果有人买账(申到grant),我就获得一笔投入和人力资源。这就是成功发售期货。接下来我要如何炒作这个期货呢?别忘了我是庄家,流动性全在我掌握,我只需要用最naive的炒作手段:让我collaboration的人互相竞争,营造出一种大家争先恐后地想买我期货的氛围,我的期货就会涨上天(合作者投入我project的精力、发的文章大量增加)。合约到期了,我会违约吗?当然违约,凭本事借到的东西为什么要还。但是我通过炒作期货已经建立起一个商业帝国,哦不,学术流派了,我的概念是无数学生博后的饭碗,我违约没有兑现当时承诺的成果,但百万漕工衣食所系,不可能没有兜底,这个概念帝国会由全人类买单,让这些人接着做“细水长流的硬核科研”。或者,我也可以在合约到期前抛售期货把价格打下来:不再承诺某个大问题会解决,而是说“在这个过程中,我们发展出了大量宝贵的数学工具,非常有用”。 靠炒作概念,金融立国的领域最终会陷入内需疲软:资本生产出来的商品没有消费者买单了,哦不,创造出来的概念没有新的学生接盘了。会改变吗,不会,会改变的健康科研工作者早已被排挤出主流了。或许某些领域的每个人都读过peskin的教材,不过可能大部分人不了解:peskin很久以前就不在上文所述的玩法里了,所以早就没什么学生留在学界了,本月他还有个几乎纯文字的文章,或许还在某些领域卷的golden child和资本家都应当好好读读,把良心翻出来,拾掇拾掇:2505.00694 帝国时代,人人都想着当皇帝,哪怕你都没有什么正常的臣子了,都还要想着穿着新装大摇大摆招摇过市耀武扬威,对着奴才指手画脚,沉浸在万里江山的幻觉中。实在是这个领域的悲哀,如果有人真的想推动一个这样的领域进步,该做的绝不是拼了命还搞些petty的计算,卷3轮4轮5轮博后,抢皇上的推荐信,而是好好告诉皇帝:你没穿衣服 做小气的奴才太监,还是做死谏的铮铮忠臣,个人自己定夺,历史自有公论 “某些领域”指什么,什么叫petty地琢磨些细枝末节,什么叫把根本没什么钱的学术界都能当成一个小生意来做,什么叫末法时代的结晶人,什么叫toxic卷王愣头青,什么叫喜欢take for granted,什么叫自以为是地把自己这个冷门末流小领域当成整个计算物理、整个学科的代言人,请看VCR: https://www.zhihu.com/question/1903913432203371825/answer/1908691031987290173 |
|
|
|
|
不光是物理吧,以科研为目的写的代码绝大部分都是一次性的,而且没有刻意设计过接口,对他人没什么二次利用的价值。 或许跑完数据就丢到某个不为人知的偏僻角落去了。 |
|
我看过组里一位前辈的代码 fortran写的,没有注释,没有readme,命名也是乱的 我说实话,这个代码我根本没细读 而且很多数值是根据他的体系设置的,代码中也没标出来 比如突然出现一个孤零零的a*0.486,谁知道这0.486是个什么东西 我用python了重写了一遍 这个fortran代码的作用就是输出最终值 然后让我能判断我写对了 前辈根本没把这个当代码,他只是把这个东西当计算器用了 |
|
因为大多数物理壬自己写的代码,从文档和输入输出界面的设置出发,都没有办法直接给外人使用 设计输入输出也是门技术活啊 ——以及,我敢开源,你敢用么 |
|
我给朋友写过一个显微镜景深叠加的算法,python的,核心函数有4行cv2函数和4行numpy,每个函数独立行,没用其他包。 为了便于别人阅读,我把numpy拆成循环体,又写了一份,然后两份给甲方的cpp工程师转cpp。 结果他研究了一天,又和我谈论了一个下午,才转成cpp。 他问我有没有开源的,我说git上肯定有。但是我找不到,而是我也不会用git,而且有找的时间自己写的都写完了。 马斯克就是学物理的,接手他代码的人说他的代码“像一根面条”,完全没办法给别人用。 我一听这个描述就懂了,我写的代码就是这样。我写代码也好几年了,不会用class,不会用git,甚至我都不知道什么叫“项目”“工程”。但是我的代码就是能跑。 有的函数接收十几个变量,某些变量名是十几个汉字,反正我自己能看懂。你如果有超过100个用户肯定找专人用cpp重构,如果没有,那你就用我的.py文件,嫌cmd丑我给你改成.pyw。 有时候我也想把自己某些代码开源,但是我不会用git…… |
|
|
| [收藏本文] 【下载本文】 |
| 工程技术知识 最新文章 |
| 缺乏地理常识,是种怎样的体验? |
| 如何评价大熊猫的颜值? |
| 明明人类统治地球都几百万年了,为什么百兽 |
| 在我国开始大规模建设高铁之前的讨论中,「 |
| 为什么现在央视不报道二氧化碳合成淀粉了? |
| 为什么大家都不提中国空间站了? |
| 世界最“伟大”的水果是什么? |
| 如果全球都降到零下50-100度,在提前一个月 |
| 有没有动物一直近亲繁殖而没有灭绝的? |
| 高铁的作用被高估了吗? |
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
|
|
娱乐生活:
电影票房
娱乐圈
娱乐
弱智
火研
中华城市
印度
仙家
六爻
佛门
风水
古钱币交流专用
钓鱼
双色球
航空母舰
网球
乒乓球
中国女排
足球
nba
中超
跑步
象棋
体操
戒色
上海男科
80后
足球: 曼城 利物浦队 托特纳姆热刺 皇家马德里 尤文图斯 罗马 拉齐奥 米兰 里昂 巴黎圣日尔曼 曼联 |
| 网站联系: qq:121756557 email:121756557@qq.com 知识库 |