找回密码
 立即注册
查看: 326|回复: 5

中国的法式员为何开发不出来像spring一样优秀的框架?

[复制链接]
发表于 2023-6-17 12:03 | 显示全部楼层 |阅读模式
中国的法式员为何开发不出来像spring一样优秀的框架?
发表于 2023-6-17 12:03 | 显示全部楼层
首先,中国的程序员是有能力写出很优秀的软件的。
阿里的Dubbo,已经成为Apache的顶级项目之一;百度的Echarts,在页面画各种统计图非常方便,不二之选,brpc也已经成为Apache的孵化项目;vue成为很流行的前端框架之一;去年因为工作需要,接触到flv.js,GitHub上已经15000多star,惊讶的发现它是中国人写的…这个列表可以写很长很长。
然后,中国程序员缺少时间和宽松的环境,996,325,二星,背C这种环境中,恨不得一天有25个小时拿来完成任务。结果只能导致红黑树变数组,O(lgN)变O(N),我相信很多程序员都听过这句话:“先跑起来再说,后续再优化。”前面那句话很多人都做到了,后面那句嘛,大家都懂的。怎么?运行效率不高?堆机器啊!好的框架用起来的感觉是,你只用关注你写的那部分代码的逻辑,而不用关注或者太关注框架的东西,而天天老板催着你搬砖,只能这儿出问题这儿改,那儿出问题那儿改,甚至任务急的时候,你在网上复制了一段代码,改改可以运行了,但是某天可能你会发现另外的地方原本就有实现这个功能的代码。最后代码一团乱麻,在老板眼中,只要这套东西能赚钱,管他妈的技术好不好,框架优不优秀呢。
再然后,开源社区要我为人人,人人为我才能良性发展。我也写过开源项目,几年时间了,star近千徘徊,修复的bug上百,也有不少公司用,但是收到的PR寥寥,收到的捐助目前只有260多人民币,大头还是一个外国网友捐助的,现在真的全靠信仰支撑。有人说我按照你这项目文档做为什么不行啊?反馈回来是路径不对,好歹你带个脑子替换一下啊,你说文档不好可以提交PR,我觉得不错肯定会合并。还有上来就问要全套可执行文件的,问为什么?答编译不过。看错误是XX没安装,又问你不能安装一下吗?系统不一样我也不知道你的系统上要装什么版本的软件啊!答我就是懒得干,你把全套都打个包呗!咋赚钱的时候不懒得干呢?还有的公司把代码集成了之后,协议文件删了,真的是“别人一开源,我们就自主。”还有人问能不能实现XX功能?看他的个人主页,三无人员,star不给你点,也没有提交过PR,没有反馈过bug,更别说帮你宣传,如果你透露出一点可以付费给我,我给你写功能的意思,他就会说“开源还要收费啊?”。想白嫖你还觉得你没职业道德。你不为我,我为什么要为你?
以上。
发表于 2023-6-17 12:04 | 显示全部楼层
我是多个开源框架作者,利益相关,首次匿名。

简单来说,为什么?因为老板赔钱呗。老板恨不能发一块钱工资让程序员帮他赚一千块钱,怎么可能花这么多钱养着程序员让他不务正业?而且有能力写框架的程序员哪个便宜?

程序员眼中看到的 Spring 也许是一个充满设计元素的艺术品(即使有很多历史遗留问题),但在老板眼中只是一个免费的工具而已,设计怎么样无所谓,能跑起来帮他赚钱就行了呗;即使老板也敬畏技术,那不还有股东呢嘛。

我曾经也是中国某互联网公司程序员。在我看来,很多中国程序员最大的问题在于对于编程本身思考太少;虽然这些思考可能在很长一段时间内不会带来收益,但缺乏这些思考带来的直接后果就是中年危机,但国内的雇主往往不会给程序员思考的空间,“自愿”加班就是最直接的手段。相比之下,我见过很多美国程序员干活很慢,但即使项目时间比较紧,他们也可能就一个设计扩展性的问题来来回回发好几封邮件讨论。另外,我也见过很多思维活跃的中国程序员,但到最后大都要么为了赚钱转管理而无暇顾及技术,要么像我一样跳到外企专心做技术。我不是说中国完全没有做这种精细技术的程序员,相反,我看到很多程序员都有这样的潜力,但不得不说国内很多互联网公司没有提供这样的环境。

程序员们看到这个回答不妨去思考这样一个问题:当我们使用一个框架的时候,除了读一下他的源代码之外,花了多长时间思考这个框架的设计动机是什么,为什么这么设计,有哪些优点和缺陷,如果是我们来设计又会不会做相同的决定。当然,做这些思考的前提是我们已经充分阅读了这些框架的文档,这对英语通常也是有些要求的,也算是中国很多程序员进阶的一个不低的门槛。
发表于 2023-6-17 12:04 | 显示全部楼层
既然说中国程序员开源的问题,我觉得我有资格来回答一下。我正在尝试开发一个对数据分析师更友好的Python框架。
两年前,我有一个项目需要对大量数据进行频繁的ORM操作和分析。Pandas在数据分析方面是个不错的选项,但对于ORM操作Pandas就有点难受了,同时Pandas的接口设计也不够友好。
为此,我开发了一个对标Pandas的数据分析/操作框架DaPy,并在我的许多个人项目中使用和完善他。今年早些时候我朋友在做code-review的时候看到了在DaPy框架下简洁优雅的代码,就建议我大力推广开源他。
现在这个项目在Github已经获得了197个Star以及pip上半年内总计1000+的安装量。然而,我承认DaPy还不够好:1. 性能确实比不上Numpy为引擎的Pandas,即使我用各种骚操作进行优化,5项不同任务的耗时都还是比Pandas多3-9倍的;2. 由于是个人开发的,导致文档方面更新跟不上,对于尝试该框架的新手而言可能不是很友好。
这么多经历下来,我感觉要开发一款开源框架需要以下几个要素:1. 敢于突破权威的勇气和创新精神;2. 超前的编程范式的认识;3. 强悍的代码功底(我担心DaPy的源码被吐槽,用pylint跑了好多次分的呢 );4. 极强的毅力与耐力(写一个框架真的要好长时间的);5. 足够的资金让你有时间无忧无虑的去写代码
想想现在中国程序员的现状:1. 被大量的业务代码压着,没时间学习和创新;2. 996的工作让自己抽不出很长的时间写代码;3. 经济压力大;4. 普遍对国人开发的东西不自信
Based on the discussions from the last two paragraphs, we can perfectly answer the question.
好啦,我就看看回答完这篇问题,会有多少人去Github帮我点赞。是的,这就是一个求赞的广告贴。如果你想更多的了解DaPy特性,可以参阅:一个全新的Python数据分析框架:DaPy带你领略从未有过的丝滑般数据分析体验 - 掘金
发表于 2023-6-17 12:05 | 显示全部楼层
第一   spring是众多国家众多程序员共同努力的产物,例如说阿里巴巴微服务的一众框架也接入了springcloud体系,成为了他的一部分
第二,spring原理核心也不算复杂,gitee上就有人(中国人)在徒手撸一个类似spring框架
第三, nutz,jfinal等等,国产有很多框架,也十分优秀。
发表于 2023-6-17 12:05 | 显示全部楼层
我也有类似的疑问:
日本的程序员为何开发不出像spring一样的优秀框架?
英国的程序员为何开发不出像spring一样的优秀框架?
德国的程序员为何开发不出像spring一样的优秀框架?
法国的程序员为何开发不出像spring一样的优秀框架?
......
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-5-1 12:12 , Processed in 0.109902 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表