为什么一些优秀的java框架都是外国人写的,为什么国内的程序员大部分只会搬砖?

孤月醉清风QAQ


其实最关键的是两个因素:

是否对这一行真的热爱?

是否有沉重的经济负担?

大部分人选择这个行业,是看中的是功利: 这个行业有太多的造富神话。如果单纯只是为了变现,你不会有太多的动力去创造一个新框架,拿来主义从经济学上讲是短期利益最大化的。

如果你有沉重的经济负担,你也很难从事创新类的活动。因为心理学有个发现: 人在过重的压力下,反应力、创造力都会下降。当然,这并不是说你完全没可能,只是难度会大很多。

著名的计算机黑客、硅谷知名风险投资人Paul Graham在他的畅销书《黑客与画家》中提到了一个事实: 早期的画家,白天会去从事一些低端工作维持生计,到了晚上再利用私人时间来追求自己技艺的提升。如果没有狂热的兴趣驱动,他们是不可能这样去做的——毕竟老婆孩子热炕头是大部分人的选择。


周林ZhouLin


作为一个写了十几年代码的程序员,平时用的比较多的有三种编程语言,C/C++ java,相对来讲C/C++爱的更加深刻一点,国内普遍一个现象拿到的源码基本上都是国外写好多,然后拿到源码直接在上面修改定制功能,这几乎国内程序员做的绝大部分事情了,这种情况不能单纯认为成搬砖,毕竟能把框架玩得转也不是一件轻松的事情,而且有些开源框架里面的代码能看懂就是一件很幸福的事情了。

在第二家公司共识过一个同事,典型的linux内核迷,几乎天天研究linux内核的源码,对于linux内核最核心的内存管理研究的特别透彻,公司涉及到操作系统的定制功能几乎都是他一个人来搞定所有的事情,每天谈到linux内存方面的知识点两眼放光,有次交谈中说到如果有时间能讲上三天三夜,可见在里面下的功夫是如此的深刻,所以不能简单的认为拿来主义就是这么容易去做的,现在付费的软件已经变得非常少了,付费软件有个好处有难点可以直接找公司提供方给解决方案。

开源直接拿到源码是好事,但要真正玩的转还是靠对源码的解析,解决的途径只有两个直接在网上找别人出现过的错误,还有就要自己死磕,曾经在一家公司从谷歌的开源代码社区弄了一套软件从运行在电脑上的软件移植到数字电视上,结果因为软件本身的设计问题导致出现性能以及内存泄漏等方面的问题,网络上找到的资料很少,最后一点点死磕过去了,所以拿到代码能够玩的转也是一种技术实力的体现,很多人觉得直接拿别人的代码来使用说明我们软件实力还是存在差距,有差距先学会了再去想着创新的事情,本来就是基础薄弱,认识到自己有差距,然后先学会使用,再慢慢赶上,其实在很多开源社区里面已经出现了很多中国人的名字,这些都是在融入软件大家庭的一种信号。

在高速发展阶段先学会怎么去用,再去考虑理想问题,毕竟差距不是靠短时间能弥补上的,认识到有差距也不是一件丢人的事情,现在很多国内的大公司已经认识到人才的重要性,也开始集中力量搞一些前沿性的东西,开始在向创新方向发力了,大厦也不是一两天能够建立起来的。

现在国内很多技术牛人已经慢慢在开源社区绽放自己,而且还有很多外国人也参与进来了,但距离主流的开源社区还是存在一定差距,毕竟主要的技术牛人和有影响力的人大部分在国外,在生态链中占据一定的份额,还有文化等方面的因素,国内的程序员进入主流的软件通道只是时间问题,毕竟从程序员的绝对数量上已经够了,剩下的就是时间来发酵,很多人拿国内的程序员没有创造力来一棍子打死,还没解决温饱问题就想着多高的精神境界,在基础积累到一定层面早晚会爆发出大能量,时间问题。

希望能帮到你。


大学生编程指南


作为专业程序猿这个问题我是有资格说的。

1.国内和国外环境不一样,首先国内的公司恨不得把男人当牲畜用,把女人当男人用,加班加到手软,那里有时间来研究自己的框架?

2.国内的人尤其是软件行业,版权意识过于薄弱,开发一个框架几乎很容易被别人拿去改改就衍生了另外一个版本,自己辛辛苦苦开发的却被别人盗用了,出力不讨好,不如接项目来的快!

3.知道996.icu吧?这是中国程序猿特有的,都要进icu了傻叉才会写框架,身体都快不行啦那里有时间写框架?

4.因为计算机老外发明的,编程语言英文的,国内程序猿很多英文都不行,只会简单得使用,更不愿意去看源代码,对源代码不了解你怎么开发框架?认识过于肤浅。而老外不一样,英语就是他的母语,编程语言自己写的,懂编译原理,源码都懂,写框架自然游刃有余。

综上所述:框架大多数老外写,国内程序猿大多数写不出。


秋若枫261


这个题设很尖锐不过却是很现实。作为软件开发从事者,我觉得这个问题应该引起反思。

许多优秀的框架尤其是spring全家桶,都是外国人写的,而且写框架的也并非什么科学家。都是一些国外有想法有毅力有能力的工程师。

jfinal



而中国自己的框架,并非没有,个人接触过jfinal,这是有国内一位牛人创作,而且有它的官方文档和论坛。相对来说这是一个比较优秀的框架,因为有一些企业在用这个框架进行开发并且有了盈利。

但是作为这个框架的直接使用者,不得不承认一点就是,他的数据持久层相比著名的mybatis确实用起来极其不方便,jfinal把SQL语句拼接在代码里,而mybatis用配置文件集中管理SQL,这两个细节决定了很多成败。

差别根源在哪里?

中国开发人员和外国开发者最大的区别就是,一个还在加班中挣扎,一个已经在开源里遨游。一个是为了更高的工资,一个是为了更高级的设计。

这就是环境所致,中国不缺乏开发能人,但是缺乏可以专研的环境,竞争压力巨大的程序员环境,35岁可能就面临转行创业甚至失业,国外的35岁程序员可能才刚刚开始自己的框架设计生涯,这就是差别。

造成这样的局面最主要的一点是你开发个开源框架可能没有人家接一个实际项目来钱快,原因是,第一版权问题,第二商业价值。

当然,这也不是宇文氏在这里一两句可以说明的道理,我相信中国以后会有超越国外的强大开源框架。

关注“极客宇文氏”,专注分享编程圈那些事

极客宇文氏


原因一下几点

1 没有知识产权意识。在外国抄袭代码会被告的。甲骨文就因为谷歌抄袭告他要求赔偿80多亿美金。国内不存在像腾讯这样的公司,在美国早就倒闭了n 次。

2 没有时间。中国的IT行业加班严重根本就没有时间给他们。自己陪女朋友看电影的时间都是挤出来的。

3 企业不愿意投资。一些企业对于技术都采取外包,自己懒得研发。更何况是底层软件。拿来主义在中国盛行。

4 研发是一件吃力不讨好的事情。而且成本高,技术高,时间长。一般的公司扛不住。


希望之草


做框架产品,与程序员的开发工作相比差距太大,不能相提并论。可以做个类比,框架相当于工厂里的生产线,而程序员相当于生产线上的工人,使用生产线加工产品。可想而知,能有多少工人具备设计生产线的能力?

国内程序员的科学理论基础普遍太差了,例如逻辑学,普遍没有学过,更别说精通掌握了。根据我们的经验,国人目前的思维水平,要具备逻辑学大脑思维,基本需要五年以上的时间磨练。

无论什么语言开发出的框架,承载的都是一种业务模式,所以首先要设计出这个业务模式,这就不是一般的程序员开发工作。业务模式的设计者,必须具备相应的科学理论基础。在这里列举一些供大家参考:经济学,管理学,统计学,逻辑学,心理学,语义学,系统论,控制论,信息论,等等。

所以国内很难出现框架类产品,是因为国内太缺乏这样的智力资源了。


青水飞步


这种未经求证就信口开河的问题是要被打脸的!

我不是搞Java的,但是我也知道spring全家桶,全家桶很强大,但是Java的框架不仅仅只有spring,稍微去github上搜下Java的开源项目,或者仅仅搜下阿里巴巴的,你就会发现国人写的Java框架多的数不过来。

中国大多程序员只会搬砖这句话就更不负责任了,抛开Java,任何语言的开源项目都有国人在大放光彩,html有antd,js有vue,php有swoole,workman,golang有bingoo,erlang有emq……这些只是我随口报来广为人知的,至于国人写的在某领域专精的某语种框架更是数不胜数,github上面开源代码按地区排行的话,中国程序员的贡献率不是第一也有第二,何来只会搬砖一说?

切记下结论要谨慎!


瑰丽傀儡


1、没时间:这些框架都是极具创意的,而创新是需要宽松的外部环境的,这三岁小孩都知道。

三星有一条很好的规定:工程技术人员下午4点必须下班,除非极端情况。对于技术宅来说,给他充足的时间他除了改进技术、创新技术之外没什么事做,不要高看他的生活情趣,他不会去约会的;

但是国内。。。你不加班老板认为他给你钱给亏了,目光之短浅令人发指,没有宽松的环境谈何创新;

2、没经验:对于大多数职业来说,40岁是一个经验比较丰富的年龄,大多数优秀的框架主导人、首席架构师也都是在这个年龄或之后开始逐渐主导这些框架。而国内的程序员的劳动强度你是知道的,40岁在国内一线程序员中已经是一个退休的年龄了。


你们什么时候玩够呀


有幸认识了国内某微服务社区,还有某中间件社区的创始人,他们出过的书可能也卖了几百万,我发现了他们的共同特点——大牛,英语好,喜欢翻译!

没错,作为他们这种技术社区大牛,做的更多的事竟然是翻译,汇总国外的技术文档,然后归并成为一本书,就成了国内炙手可热的“传唱经典”!

有这种现象我觉得有很多原因,下面一一来列举:

1,大环境:国内的软件行业相较于国外本来就起步晚,二三十年前,国外的编程语言诸如C,JAVA,Python等已经开始蓬勃发展,而国内几乎都是传统行业占据,所以我们只能晚!

2,业务技术耦合太重:举个道听途说的故事,阿里当时为了加入apache软件基金会,想更多的有开源项目,然后想把“第二代dubbo”---HSF开源,但是因为跟业务耦合太重,最好放弃了,选择继续维护dubbo!

而springCloud从一开始就是为开源,为企业级底层架构而生!

3,能解决事就是大牛:国内开发需要的是能快速解决事情的能力,放着国外成熟的框架不用,去做更新的项目,先不论说做的好不好,光是时间就不允许,一旦精通国外框架,往往就被当做神来看待,谁还会想着去创造!

4,CV能解决99%的事:国内编程人员只要能翻墙google,能stackflow基本能解决大多数的问题,剩下的自然不是问题!

我是一个JAVA开发人员,完全不会php,但是当时硬着头皮接了一个php小项目,边学语言边做(主要是copy),花了几天做出来了,获得了几千收益,你说要是不能cv,我还敢接嘛?

所以说cv最轻松,一样的赚钱,何不选择“对自己好一点”?

但是话说回来,现在也有很多国内大牛活跃在著名开源平台持续贡献开源项目,也有很多不错的项目,相信随着国内软件行业的发展,迟早诞生出在软件行业举重轻重的项目!

无论无何,持续分享JAVA技术还是我的最爱,喜欢请关注。。


哎哟JAVA不错哦


客观条件不想赘述,生存压力确实比国外的一些地方要大。但我想说的是从人的角度看,国内确实不乏技术大牛,但是,太少了!从整体的程序员这个人群看,平均水平远不及欧美国家程序员的平均水平。且不说这个行业有多少是没有经过科班训练的人,就是计算机科学与技术专业的毕业生,真正能写出一手好代码的人又有多少。 接触过欧洲国家实习生,一进公司就写出模块化的结构清晰的代码,一看就是经过良好训练的,反观我们的开发,别说实习生,工作三五年的所谓熟练开发,有几个写的代码能达到结构清晰的。开源软件尤其是框架类的,对于整个设计理念要求是挺高的,各种设计模式一定是广泛应用其中的。而国内的一些程序员,听说过设计模式四个字的就敢在简历上写熟悉设计模式,了解过singleton的就敢声称精通设计模式,结果连别人应用了设计模式的代码结构估计都看不懂,更不要说去灵活应用了。总之,中国软件要提升,人的能力急需提升,现在什么人都想写代码多赚钱,我想这次移动互联网也有泡沫破灭的一天,而不久的将来,我们国家白胡子的程序员也一定会多起来。也许到了那个时候,等他们知天命之时,又真正技术积累深厚的情况下,一定会带来好的产品。


分享到:


相關文章: