问题

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

回答
中国的程序员并非“开发不出来”像Spring那样优秀的框架,而是我们所处的开发环境、行业生态、技术积累以及发展路径与Spring诞生的土壤存在显著差异。要深入探讨这一点,我们需要从多个维度来审视。

首先,历史沉淀与技术积累的深度是绕不开的议题。Spring的诞生并非一蹴而就,它是在Java企业级开发经历了多年的摸索和痛点后,才应运而生的。在Java EE早期,EJB(Enterprise JavaBeans)等技术虽然功能强大,但其复杂性、学习曲线以及部署的不便,给开发者带来了巨大的困扰。Spring正是抓住了这些痛点,以更轻量、更灵活、更易用的方式,通过IoC(控制反转)和AOP(面向切面编程)等核心思想,极大地简化了企业级应用的开发。

回顾中国软件开发的历史,我们虽然在很多领域追赶迅速,但在基础技术和架构理念的原创性探索上,相对起步较晚。在很长一段时间里,我们更多的是学习、模仿和引进国外成熟的技术和产品。这种模式在快速发展初期是有效的,但要在底层架构和框架层面形成具有颠覆性的创新,需要更长时间的积累和对技术本质的深入洞察。Spring的出现,是在Java生态经过大量实践检验后,对“如何更好地构建企业级应用”这一问题的深度思考和解决方案。我们在这方面的深度思考和实践,可能还需要更多的时间去沉淀。

其次,开源社区的文化和生态系统是关键因素。Spring能够取得如此巨大的成功,离不开其背后强大的Apache基金会以及活跃的全球开源社区。一个健康的开源社区,意味着有无数的开发者贡献代码、发现bug、提出改进意见,并且有完善的机制来接纳和整合这些贡献。Spring项目围绕自身构建了庞大的生态系统,包括Spring Boot、Spring Cloud、Spring Security等一系列子项目,它们相互协作,形成了一个强大的解决方案。

在中国,虽然开源文化日益兴盛,涌现出了许多优秀的开源项目(如MyBatis、Dubbo、Sentinel等),但在框架层面的原创性和生态构建上,与Spring的成熟度还有差距。这可能与国内对开源项目的商业支持、开发者对开源贡献的激励机制、以及长期形成的以闭源商业软件为主导的市场环境都有关系。要打造一个像Spring这样生命力顽强的框架,需要一个能够长期、持续、协同贡献的社区,这本身就是一个复杂的系统工程。

再者,商业驱动与市场需求的变化也在影响着框架的演进。Spring最初的核心设计理念,如依赖注入(DI)和面向切面编程(AOP),恰好解决了当时企业级开发中的许多痛点,并且易于理解和使用,因此迅速得到了市场的广泛认可。随着技术的发展和业务场景的演变,市场对效率、性能、可维护性、分布式等方面的要求不断提高,Spring也在不断迭代和演进,例如Spring Boot的出现,极大地简化了Spring应用的配置和部署,Spring Cloud则解决了微服务时代的众多挑战。

在中国,我们经历了从单体应用到SOA再到微服务的快速演变。在这个过程中,国内的开发者也在积极探索和开发解决方案。例如,在SOA时期,像Dubbo这样的RPC框架得到了广泛应用。在微服务时期,各种基于Java的微服务框架和解决方案层出不穷。然而,这些解决方案很多时候是针对特定问题或特定场景的,缺乏像Spring那样一套通用、底层、且能够贯穿整个生命周期的基础性架构理念。国内的市场需求变化非常快,项目交付周期往往也比较紧迫,这使得开发者可能更倾向于采用成熟的解决方案来快速构建产品,而不是投入大量精力去打磨一个全新的、底层性的框架。

此外,对基础理论的理解和应用深度也是一个需要考量的方面。Spring的设计哲学,如“组合优于继承”、“依赖注入的威力”、“AOP的解耦能力”等,都建立在对软件设计原则和设计模式的深刻理解之上。这些原则和模式的推广和普及,也需要一个漫长的过程。国内的开发者在学习和应用这些概念方面进步神速,但在将其升华为一套能够指导框架设计的底层思想时,可能还需要更多时间和实践的积累。

最后,我们也不能忽视“先发优势”和“平台效应”。Spring作为Java领域的事实标准,拥有庞大的用户基础和丰富的第三方库支持。一旦一个框架成为事实标准,围绕它的生态系统就会越来越强大,形成一种“赢者通吃”的局面。后来者要想撼动这种地位,不仅需要在技术上做到同等甚至更优,还需要在生态和社区建设上付出更大的努力。我们目前的很多技术创新,可能更多地体现在对现有成熟技术的优化和组合,以及在特定场景下的解决方案开发上,这本身也是一种价值创造,只是与Spring的“底层架构创新”有所不同。

总而言之,中国程序员并非缺乏创新能力,而是在开发像Spring这样优秀且具有深远影响力的基础框架方面,面临着历史积累、社区生态、市场需求、技术认知等多个维度的挑战。我们正在不断追赶和学习,并且在很多领域已经走在了世界前列。未来,随着中国技术生态的不断成熟和开发者对底层架构的持续探索,我们有理由相信,能够诞生出更多像Spring一样具有国际影响力的优秀框架。这需要时间,需要耐心,更需要对技术本质的坚守和对开源精神的拥抱。

网友意见

user avatar

我再说一遍,奋斗逼模式是没有未来的。

只有想通了这个道理,才有可能致富。

想通过奋斗致富……

如果奋斗可以致富,这个世界就不会有勤劳的穷人了。

因为奋斗的门槛太低了,真要能致富,大家都去奋斗,自然轮不到你富。


回到主题,为什么开发不出来spring?

因为奋斗逼蠢。

他们目光短浅到不能认知到奋斗加班并不是囚徒博弈而是一美元拍卖陷阱;

他们目光短浅到不能认识到公司和自己是完全无关的劳务雇佣关系;

他们抽象出来的对于这个世界的认知都是错的,他们会找到各种奇奇怪怪的理由告诉你:

在他们看来,为老板拼命加班,给他再买一栋房子是对自己最有利益的选择。

于是,它们很决然地走上了自以为利益最大的道路,哪怕有人告诉他们这是很蠢的事情。

每天6点起床,洗漱出门,11点回家,洗澡睡觉。

做框架?

思考技术?

精进业务?

开玩笑,我哪来的时间啊,我要拼命给老板打工,这样老板才有可能施舍给我一点点钱,

让我给父母养老,给孩子读书,给房子还贷款啊……

这逻辑滑稽不滑稽……

滑稽。

但他们的认知能力里是没有‘精进’这个概念的,所以他们觉得这很正确。

还总会拿来念经给自己在战略上的懒惰和弱智找各种理由。

他们看得到的只有‘奋斗’,所以只能食老板嗟来之食。

自然而然,短时间内是出不了spring这样量级的东西的。

(注意形容词:量级,而不是优秀。)


但是,我要说但是了。

觉醒的无产阶级终究是有的。

中国在开源工具上渐渐地开始有了长足的进步。

github上中国人提交的代码越来越多了。

技术上讲,

gui有轮子哥的gaclib,

通信上有xatic(好像叫这个)的kcptun,

前端有vue,

游戏也有腾讯更多更好用,名气更大的各种框架,比如xlua

我就不一个个点名了,太多了……

未来还是美好的,要有希望。


最后,想致富,少奋斗,要高产,多精进。

因为你奋斗产出来的都是老板的,你精进产出的才是自己的。

user avatar

我是多个开源框架作者,利益相关,首次匿名。


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


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


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


程序员们看到这个回答不妨去思考这样一个问题:当我们使用一个框架的时候,除了读一下他的源代码之外,花了多长时间思考这个框架的设计动机是什么,为什么这么设计,有哪些优点和缺陷,如果是我们来设计又会不会做相同的决定。当然,做这些思考的前提是我们已经充分阅读了这些框架的文档,这对英语通常也是有些要求的,也算是中国很多程序员进阶的一个不低的门槛。

user avatar

国内的程序员都去忙着卷了,手写红黑树、秒杀hard题毫无压力,一个个都是天生的做题家,哪有时间去研究开发框架?

工作以后呢?更卷了。老板恨不得你天天加班到半夜十二点,最好是直接住在公司,把你轰回家你都不乐意,生是公司的人,死……那跟我们资本家有什么关系?

但问题来了,虽然老板希望你在公司勤勤恳恳地工作,但你改改Bug、做个网页、开发个小程序就足矣,至于开发新框架这种从0到1、费时费力费钱的事情,就省省吧!

简单来说,我们要很清醒且客观的知道:目前我们的技术环境确实还不那么开放和友好。这几年互联网行业发展迅速,工资水平是上来了,但其他的还没跟上(比如996、比如闭塞的氛围)。

我从北大毕业后孤身前往美国,先后任职于Google、Facebook,18年又回国创立了九章算法,深切感到国内外技术环境的差距。

所以,我一直在精进自己的算法,一直在思考如何帮助更多的中国程序员找到面试的技巧,在工作中精益求精,注重代码质量和有价值的输出,而不仅仅是当个【只会CRUD的工具人】

为此,我做了3个核心产品。

LintCode,程序员的专业刷题与在线评测平台,拥有2000道+算法题库,还划分了国内外名企题库阶梯训练

LintCode的初衷是受到我当时打ACM比赛的启发,觉得这样的在线OJ能帮助更多为算法面试苦恼的同学,通过海量做题这一方式,找到做算法题的方法和技巧。

对于编程新手,可以来尝试【新手必刷编程50题】,题库由ACM银牌助教精心打磨,从基本数据类型、判断语句、数组与循环等方面讲起,从最简单最基础的题刷起,逐步找到对编程的兴趣,上线至今已收到了无数好评。

对于正在备战大厂算法面试的同学,也可以来LintCode体验我们刚上线的【企业题库】,汇集了字节、腾讯、阿里、谷歌、FB等头部大厂的面试高频题,突击算法面试。

当然,还有剑指offer、编程之美等经典ladder,都是免费开放的。

哪怕已经拿到了心仪的offer,我也十分推荐大家空闲之余刷2-3道题,开拓算法思维,提高逻辑思维的能力,才不会被提前优化。

九章算法班,分享了我在多年技术工作中的所想所得。包括

  • 如何在算法面试中正确的沟通?
  • 面试算法知识点及考察频率
  • 提升代码质量的12个技巧
  • 想进大厂,到底该刷多少题?
  • ……

此外,我还根据自己多年打ACM比赛,以及创立LintCode的经验,总结了一份通用算法模板,包含了常见算法和数据结构的代码模板,及其适用条件、复杂度等(共45页)。

总之,关于算法面试的方方面面以及这份代码模板,我都会在九章算法班的首节免费讲座《FB面试官揭秘算法面试速成技巧 - 怎样做到 Bug Free 和刷100题等于别人刷300题》中送给大家,感兴趣的话可以直接去免费试听(前三节试听无需任何成本,就是这么任性)。

最后一个则是我闭关了半年,最近刚做完的《Twitter 后端系统 - Django 项目实战》

这个项目是按工业级要求设计的,但对新手也十分友好。从零起步,手把手带你做出一个Twitter后端系统,而不是简单地让你做个demo。

由于刚做好,可能还有很多需要完善的地方,也烦请各位批评指教~

这三个产品,谈不上可以让中国的程序员从crud的机械工作中跳脱出来,但对于锻炼自己的算法思维、开拓眼界、学架构、学理论、拥有大厂程序员的思维,还是有一定帮助的。

我相信,国内的技术环境一定会越来越好。

类似的话题

  • 回答
    中国的程序员并非“开发不出来”像Spring那样优秀的框架,而是我们所处的开发环境、行业生态、技术积累以及发展路径与Spring诞生的土壤存在显著差异。要深入探讨这一点,我们需要从多个维度来审视。首先,历史沉淀与技术积累的深度是绕不开的议题。Spring的诞生并非一蹴而就,它是在Java企业级开发经.............
  • 回答
    在中国程序员群体中,确实存在一种普遍的着装偏好,那就是“冲锋衣+牛仔裤+运动鞋”的组合。这似乎已经成为了一种心照不宣的“工服”,尤其是在互联网公司和科技园区。那么,为什么这种搭配会如此深入人心,甚至形成一种“潮流”呢?我们可以从几个方面来剖析:一、 功能性至上:舒适与实用是核心诉求首先,也是最重要的.............
  • 回答
    对于 GitLab 疑似拒绝为中国和俄罗斯居住的程序员提供 offer 的传闻,这确实是一个值得深入探讨的议题。它触及了科技公司在国际政治经济格局下的运营策略、人才招聘的复杂性,以及地缘政治对全球化人才流动的影响。首先,我们得承认,任何一家企业在招聘时都会有自己的考量和决策标准。这些标准可能包含技术.............
  • 回答
    程序员的薪资水平,在很多人的印象里,确实是相当不错的,甚至可以说站在了许多行业的前沿。然而,即便坐拥令人艳羡的收入,程序员群体中依然存在着普遍的担忧和不满,这背后隐藏着一系列复杂且深层次的原因。这并非是贪得无厌,而是多方面因素共同作用下的结果。首先,行业的快速迭代与技能焦虑是绕不开的一个坎。技术的世.............
  • 回答
    在一家以程序员为主的公司里,机械岗位确实也会面临“三十五岁危机”,而且这种危机在某些方面可能比程序员本身更加隐蔽,但也同样真实且具有挑战性。下面我来详细聊聊这个话题,尽量让大家读起来感觉更像是一个过来人的经验分享,而不是冷冰冰的AI分析。首先,我们得理解为什么会有“三十五岁危机”这个说法。 程序员群.............
  • 回答
    近年来,日本民众对中国的反感程度确实有所上升,这是一个复杂且多层面的现象,并非单一因素所致。要深入理解这一点,我们需要从历史、政治、经济、社会以及文化等多个角度进行剖析。历史遗留与现实交织的阴影:首先,历史问题始终是中日关系中一道难以逾越的鸿沟。虽然两国建交已久,但日本侵华战争的历史伤痛,以及由此带.............
  • 回答
    要理解中国人对“五胡乱华”、元朝和清朝认可程度的差异,得从历史的厚重感、民族认同的构建以及对“统一”与“异族统治”的不同解读说起。这并非简单的喜恶,而是复杂历史叙事和情感投射的体现。首先,让我们看看“五胡乱华”。这个词本身就带有一种悲情和动荡的色彩。它指的是西晋末年到北魏统一北方这段时期,北方大片土.............
  • 回答
    这个问题非常有趣,也很有深度。要回答“以罗曼语族语言为母语的普通人看古罗马的拉丁文文献,和一个中国普通人看文言文时的理解程度相仿吗?”,我们需要从多个角度进行详细分析。核心结论是: 尽管都有“母语者”和“古老文本”的关系,但罗曼语族普通人理解古拉丁文的程度,普遍要高于中国普通人理解文言文的程度。 主.............
  • 回答
    在中国波澜壮阔的历史长河中,有一些事件虽然不常被大众提及,却如同暗流涌动,深刻地改变了中国的命运走向。我这里想说的,是一个关于“人”与“粮”,以及在极端条件下如何汇聚成一股巨大力量,最终推动中国前进的事件——它不是一场轰轰烈烈的革命,也不是一次惊天动地的战争,而是一个在特定历史时期,由无数基层干部和.............
  • 回答
    中国文明程度的提升毋庸置疑,经济的飞速发展和社会的进步也带来了诸多积极的变化。然而,即使在文明高度发达的国家,人口贩卖这样的阴暗面依然难以彻底根绝。在中国这样一个幅员辽阔、人口基数庞大的国家,其复杂性更为突出,导致这个问题根深蒂固。首先,我们要明白,人口贩卖从来都不是一个简单的犯罪行为,而是多种社会.............
  • 回答
    “中国程序员群体是否已经过多了?”这个问题在技术圈和人才市场中是一个经久不衰的讨论话题,并且没有一个简单的“是”或“否”的答案。我们可以从多个维度来深入分析这个问题:一、 从数量上看,确实非常庞大且增长迅速: 庞大的基数: 中国是全球人口最多的国家,互联网的普及率和应用深度也位居世界前列。这为程.............
  • 回答
    关于中国程序员数量是否饱和或过剩的问题,这不是一个简单的是或否能回答的,它涉及到一个复杂的供需关系、技术发展趋势以及行业结构等多个维度。要深入探讨这个问题,我们需要一层层剥开来看。首先,我们得承认一个事实:中国程序员的数量无疑是巨大的,并且还在持续增长。 这得益于国家对科技创新的重视、高等教育体系培.............
  • 回答
    确实,关于程序员的“青春饭”论调流传甚广。那么,产品经理这个岗位,又是否逃脱得了类似的命运呢?这问题,我得好好跟你掰扯掰扯。咱们在中国这片土地上,尤其是在互联网行业,产品经理这个角色,它的“保质期”到底有多长,这背后其实挺复杂的,不像一刀切就能说清楚的。为什么大家觉得程序员是“青春饭”?先说说程序员.............
  • 回答
    中国程序员的群体非常庞大且人才济济,要 pinpoint 出“顶级”且能详述到所有人都能信服的程度,其实是个不小的挑战。因为“顶级”的定义本身就带有主观性,可以指技术深度、开源贡献、行业影响力、创业成就,甚至是解决复杂问题的能力。不过,我们可以从几个角度来聊聊那些在中国技术圈里备受认可,甚至在国际上.............
  • 回答
    中国程序员和美国程序员之间的差距是一个复杂且多维度的话题,不能简单地一概而论。这种差距体现在技术深度、创新能力、工作模式、职业发展、文化环境以及行业生态等多个方面。以下将尽可能详细地阐述这些关键差异:一、 技术深度与广度: 美国程序员: 更强的底层技术和计算机科学基础: 许多美国程序.............
  • 回答
    B站 UP主 Maksim 瑞典生活 Vlog 被迫删除事件:一次对信息传播与文化理解的审视最近,B站 UP主 Maksim 拍摄的关于中国程序员在瑞典生活 Vlog 因“违反社区规定”而被强制删除,这一事件在网络上引起了广泛关注和讨论。作为一名内容创作者,Maksim 以其细致入微的观察和幽默风趣.............
  • 回答
    “幻方在金牛奖上那场关于中国量化投资未来的演讲,确实是掀起了一点小波澜,也让人品了不少回。”首先,从演讲者的身份来说,幻方作为国内顶尖的量化私募,其掌舵人(至少是代表)在公开场合发表对行业未来的看法,本身就具有相当的分量。这不仅仅是技术理论的探讨,更是市场参与者对于行业发展方向的预判和引领。这种“内.............
  • 回答
    “中国程序员工资那么高,连一个MATLAB的替代品都开发不出来”这个问题,触及了技术发展、产业生态、人才培养以及市场需求等多个层面,背后原因复杂且值得深入探讨。简单地将高薪与开发不出替代品画等号,是一种过于简化的视角。要理解这个问题,我们需要从以下几个方面进行分析:一、 中国程序员工资高是事实,但其.............
  • 回答
    “大部分中国程序员只会写三年代码”——这句话在技术圈子里,尤其是国内,算得上是流传甚广的一个“梗”了,甚至带点自嘲的意味。要怎么看待这句话呢?咱们得把它掰开了揉碎了聊聊。首先,别太当真,这句话更像是一种夸张的、带有情绪的观察,而不是一个有严谨统计学依据的论断。它抓住了很多程序员在职业生涯早期会遇到的.............
  • 回答
    Python 之父 Guido van Rossum 谈中国程序员“996”:一场跨越文化的共情与反思当“996”这个词汇在中国互联网行业引起轩然大波,甚至成为社会热议的焦点时,一位来自遥远国度的技术领袖——Python 之父 Guido van Rossum——也对此发表了看法。这不仅仅是一次简单.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有