1

从事软件开发多年,明显感觉到周围的技术人员数量在增加,有关软件开发的企业也是越来越多,特别是在刚毕业的大学生中接触到软件开发的机会也是越来越频繁,中国的软件从业人数已经变得越来越多了,而且技术人员的水平越来越高,所以很多人提出了是不是我们也该有属于自己的核心技术,包括拥有自己的编程语言,操作系统,数据库等等。

为什么中国没有世界流行的核心技术

只要是技术类的都需要时间积累,现在国内主要是在应用级别的开发取得了突破,但在核心技术领域明显的准备不足,就拿编程语言来讲,现在主流的编程语言是英语为主线,国内很多人喊着既然有几百万的程序员自己开发一个编程语言还不是很简单的事情,就单纯的技术实现来讲国内程序员有能力打造一种编程语言,但问题是做出来了是不是有人愿意来使用,国内程序员还在围绕着国外成熟的编程语言在展开应用级开发,任何一种编程语言的产生是需要解决当前问题。

现在全球的编程语言有500多种,真正走向主流的编程语言也不过十几种,每种编程语言能够留存在必然意义,针对中文编程国内曾经整出来了一个易语言,但目前发展的比较一般,基本上成为外挂的代名词了,已经失去了当初这门编程语言设计的初衷了,编程语言的形成需要很多历史的契机,不是单纯的技术方面的问题,还需要大家觉得这种编程语言能够乘风破浪,现在国内虽然很多编程高手,但在编程领域真正有影响力还是少,像编程祖师爷这种级别的程序员少的可怜,因为祖师爷级别的多了就能影响到整个编程方向的推进,起码在这块还欠缺的比较多。

除了编程语言现在操作系统生态问题已经逐渐提上日程,华为的余承东最近在接受采访的时候讲到如果谷歌的服务不给授权,很可能在P40的时候同步鸿蒙系统到手机上,华为在承受操作系统生态之痛,因为谷歌的安卓授权问题在欧洲的销量下降,而且还在时刻担心是不是谷歌会取消授权,现在国内企业由于取得了长足的进步,已经在很多领域交叉到欧美先进的企业,但是欧美长时间的优越感肯定会在短期内不舒服,必然有一些手段出来,打压华为只是打压中国科技的开始,最终的结果是大家都认可了国内科技的进步,这样的国际需要一个长时间的积累,放在具体培养操作系统生态也是这种状态。

如何让中国软件走向世界

国内大部分的软件公司主要还是应用级开发,更加直接点属于解决温饱的阶段,绝大部分软件公司还处于这种阶段,所以先把基础打好再去考虑更加高大上的层次,不是因为人多势众就应该有编程语言生态或者软件核心技术,任何东西的成熟都需要时间,照着这种势头发展下去中国拥有自主的编程语言等软件核心技术是时间问题。

需要更多像华为一样的企业,坚持自主研发的方向,积累到一定程度之后在很多方面都开始慢慢展示出实力,现在国内企业主要从事应用级的开发比较多,真正在核心技术上的突破下的功夫明显不够,一个科技企业真正要强大,靠的是强大的技术实力,曾经在一个互联网公司,一次老板在开会提到了谷歌公司的产品能力不足,但是谷歌一直坚持技术创新到现在还在顶端技术公司行列,而现在自诩为产品很厉害的公司市值已经跌得一塌糊涂,科技公司始终绕不开技术实力,可能在短期内产品能力能够帮助占领市场,但提升整个市场的竞争力靠的只能是核心技术实力,纯正的应用开发早晚在遇到市场瓶颈期的时候出现枯萎。

需要有更多的中国企业走向世界,只是在窝里横很难成为真正的世界巨头,美国几个超级巨头都是具有全球影响力的公司,先要走出去学习,然后把先进的技术以及文化吸收进来,然后自我消化变成自己的东西,积累到一定程度在这个基础上进行创新,技术类的东西不是一蹴而就的事情,需要长时间积累,水到渠成的事情,希望能帮到你。

最佳贡献者
2

有啊,去看下阿里巴巴的技术产品,阿里旗下的服务框架Dubbo、分布式文件系统FastDFS、淘宝Hadoop作业平台宙斯Zeus、分布式数据库OceanBase等很多世界级别的先进技术,都是通过双11双12丰富实战经验研发出来的。

再看我们华为,自己的鸿蒙操作系统,震撼全世界,打造整个物联网生态的系统,微软系统也就在电脑上用用,鸿蒙操作系统可以搭建在任何物体上,是不是中国的骄傲呢?


3

中国IT从业人员确实很多,但是大多数都是做着一些低端的开发工作,比如给普通小企业做个网站,小程序,给政府投标做个小项目。企业的目的就是混口饭吃,程序员也是混口饭吃,比较少的追求创新,追求高质量,甚至公司都想给客户留两个bug到时候好收维护费。但反观国外的好多出色的软件都是出自开源社区,比如最有名的操作系统linux,还有php,nodejs,mysql,redis等等,但是国内的普通程序员很难想像出有什么理由或者心思去搞开源,即使搞了也难以有动力去迭代,当然现在好一些了,有阿里和腾讯一些巨头在实战中搞出很多丰富的开源项目。但是我们依然要看到我们的基础很不好,整个体制上还需要进步,还需要自下而上的去提高和推动整体的研发素质。

4

这个问题可以从两部分来看:

1.无论是数据库还是编程语言,国外已经做得相当完善,可以拿过来直接用,重新做的成本太过高昂;

2.我国在IT行业更注重应用,而不是研发;

中国为什么在世界上没有领先的IT技术?

几乎所有IT相关的东西,都离不开编程语言。一般来讲,编程语言都会产生在三个地方,大学/研究所,IT公司,有能力有兴趣的组织或个人。

很多编程语言都是美国人搞出来的,也正因如此,谷歌是美国的,微软是美国的,苹果还是美国的。不夸张的说,美国人的IT行业雄霸全球,也引领着世界潮流的发展。究其根本,就是因为像操作系统,数据库,编译器,网络协议栈这些最基础的东西,都是他们设计出来的。这里不是长他人志气灭自己威风,美国确实是新技术的发源地,不如别人的地方,这个得承认。

我们的计算机行业发展的时间很短,底蕴不足,别人在搞计算机,搞半导体,搞网络建设的时候,我们在搞一段至今不能说的“伟大斗争”。在人才,特别是高端人才的比率上远远不如美国。再加上一些体制内不怎么方便说明的原因,国内的大学和研究所能做出如同windows或oracle这样牛掰东西的可能性着实渺茫。

大部分企业目光仍然停留在既得利益层面

表面上看起来,中国的互联网行业和计算机行业蒸蒸日上,但究其根本,主要还是在应用层折腾,使用别人的语言来实现业务。

和国外不同,国内的互联网创新大多停留在业务模式,商业模式的创新上面,说白了也就是怎么更好的赚钱。当实现业务,抢占市场和用户以便更好的盈利成为了企业的第一需求时,谁还有心思去搞基础研究呢

搞基础研究所需要的时间,精力,资金都是个无底洞,还有失败的可能。就以编程语言为例,有中文的编程语言吗?当然有,那就是半死不活的易语言,可我从没有见过那家公司要招懂易语言的人才。至于操作系统和处理器,我们不是没有搞过,结局无比惨淡(参见2000年的方舟计划)。现在虽然看上去我们什么都有了,但实际上最根本最核心的东西,依旧是老外的。

国内众多的“码农”,可能其中会有天赋异禀惊为天人的,但在市场的大环境影响下,很快也会变成一个唯利是图的商人。大企业不想冒风险搞基础研究,小企业没钱搞研究,别想着只靠国家补贴,国家用钱的地方也很多;至于个人就更是个笑话了,我最大的理想就是做一个跟IOS一样厉害的操作系统,但我看着每个月五六千的房贷车贷,想想相亲时对面姑娘开口三十万的彩礼钱,想想那些明明不懂技术的外行领导对真正技术人员的颐指气使,嗨,还是洗洗睡吧!


(谢谢您看到最后,麻烦点个赞或者关注吧~)

5

在IT这个领域,我国技术不存在问题,你要好用的操作系统,性能可以的数据库,都能给你做出来,问题是你投入了大量人力物力,但没有市场价值,谁会去做,这个东西还特别烧钱。而且软件这东西不比其它,开发出一个新东西出来的时候,肯定是存在很多bug的,需要在使用的过程中慢慢去优化的。用的人都没有怎么去优化呢?关于数据库,中国其实是有的,比如达梦数据库,就是仿制于Oracle数据库的,国家有很多政府事业单位规定只能用这个数据库,但是每年还是亏损的。

6

中国的软件产业才发展多少年?美国又发展了多少年?再过几十年你就会发现什么都有了。现在已经有些操作系统在开发中了,慢慢的开发中大厂会发现某些语言的局限性,就会开发自己的语言。这是产业发展的规律,谁也不能跳过,中国虽然发展快,但是你也不能指望基础设施就没有就直接跳出来了编程语言吧!只要程序员一直增加,互联网大厂一直在成长,程序员会慢慢进入深层次开发的。难道你没发现,现在能做低级开发的人已经遍地都是了吗?能做架构师的人的也会越来越多,能开发底层代码的就会越来越多,能开发操作系统的人就会越来越多,能编写出语言的就会越来越多,最后一定什么都会有的。这就是发展

7

中国确实有自己的编程语言和操作系统(对数据库不了解,不回答),我知道的有汉编、易语言、习语言,操作系统有YUN OS、鸿蒙。那么,中文编程语言为什么没有流行于世界?个人看法是,中文编程语言自身存在短板,难以带动很多人赚钱形成产业,专业术语叫没有建立自己的生态系统。

下面我一一分析。

计算机科技诞生于英语区,使中文编程语言面临先天不足

英国科学家阿兰.图灵在1937年首次提出通用计算设备构想,1944——1945年期间,美国科学家冯.诺依曼提出现代计算结构模型。

1950年,第一台现代计算机EDVAC诞生于宾夕法尼亚大学。到今天为止,计算机经历了5代发展:真空管计算机、晶体管计算机、集成电路计算机、个人计算机和智能手机,它们均诞生于美国。

世界上第一部智能手机既不是出自苹果,也不是出自诺基亚,而是蓝色巨人,产品名为IBM Simon,意外不意外?IBM Simon诞生于1993年,由IBM与BellSouth合作制造。


迄今为止,计算机编程语言分为机器语言(由0和1组成)、汇编语言和高级语言,基本都由美国人发明。

看到这里,有人难免会问,这么多好处都被英美捞了,他们运气好到爆啊!

真不是运气好这么简单,因为现代计算机的所有成就建立在现代数学、物理学和化学的基础之上,这三大学科的科技树又是西方点亮的。

结果就是英语编程语言占尽先发优势,比中文编程语言早出现至少20年时间(最早的中文编程语言是上世纪七十年代的DOS环境下的编程语言),当英语编程语言已经成熟时,中文编程语言刚刚萌芽,所以追赶起来非常困难。

生态系统难以建设是中文编程语言最大的障碍

计算机软硬件的原创技术出现在英语区,意味着有时间建立编程语言的生态系统。对已经功成名就的英语编程语言来说,生态系统是保家卫国的护城河与城墙,对新生的中文编程语言来说,生态系统就是难以逾越的珠穆朗玛峰。

商业上的生态系统是个类比词汇,简单说就是你调动了多少行业资源。以现在最流行的编程语言之一的JAVA为例,运行JAVA编写的程序的设备数量超过100亿,超过了地球现有人口的总和,开发人员大约900万。

图为现有流行编程语言的市场份额和开发人员收入数据。编程语言建设生态系统不仅需要时间,更需要财富效应吸引开发者,后一条更为重要。能让很多人赚到钱的编程语言才是牛掰的编程语言,让人赚的越多的编程语言越牛掰。现有流行的编程语言,其市场份额和给开发人员带来的收入呈正相关关系,即市场份额大的编程语言,带给开发人员的收入往往较高。


下面接着回答第三个问题:为什么中文编程语言难以产生财富效应?

现有中文编程语言革命性创新不足

一种新的编程语言的流行,必然是解决了现有流行编程语言的痛点,换句话说就是用革命性创新(不是颠覆式创新,颠覆式创新是新产品取代旧产品)解决现有流行编程语言的短板。

由于用机器语言编写的程序非常单调乏味(全是0和1组成),而且很难发现错误,所以人们发明了用符号编写程序的编程语言,这就是汇编语言。使用一段时间后,大家发现,用汇编语言编程还是很枯燥,而且很繁琐,于是更高效的高级语言出现。

提高开发人员效率,是新的编程语言立足的首要条件。遗憾的是,现有的中文编程语言缺乏革命性创新,一般都是把英语代码变成汉语,运行时机器还要将汉语代码编译成英语代码,并不比英语编程语言更高效。

既然相比现有的JAVA、C++等流行编程语言,中文编程语言优势不明显,那开发人员何苦冒险更换编程语言?结果,中文编程语言没有产生财富效应,生态系统始终建立不起来。

所以,中文编程语言要成为流行语言,首先还是要审视创新力度是否足够强大,能否产生财富效应建立生态系统,这个和有多少说中文的开发者没有关系。

8

都回答不到点子上,中文编程不是技术上的问题,而是语言逻辑问题。

编程语言需要从最底层的芯片设计开始入手,从CPU的指令集开始就按照中文逻辑去设计,只有最底层的驱动代码库是按照中文逻辑设计,进而才有可能使用其他的编程语言设计程序。

然而芯片设计的底层标准是西方确定的,这个我们现在没办法推倒重来,只能适应。

要开发中文编程环境必须从最基础的机器码开始,从芯片设计阶段就要适应中文的语言逻辑才行。

9

除却企业的市场利益等因素,我觉得还有一点值得注意的。

中国程序员是多,但是有几个对于字符和编码完全了解的。从系统编码,终端编码,到文件编码,再到编程语言中的编码,估计多数都是剪不断,理还乱吧。

还有又有几个程序员能够说明白访问一个网站,会经历哪些流程呢,各层协议是如何协作完成数据的传输呢。

这些基本的问题并没有受到国内大多数程序员的重视,说明了我们的技术素养还需要提升。那么又怎么去创造操作系统,编程语言等基础优秀的软件呢。国外的很多优秀的软件都是一些程序员的爱好去完成的。

因此呢我决定分享一下我对于编码以及访问访问网站过程的理解,你觉得咋样。

10

一、基础教育

我们的基础教育不是以培养创新人才为导向、而是以应试升学为导向——所做的主要工作就是背公式、解题,大部分时间是在训练各种复杂的解题技巧,其主要目的就是为了拿高分、读好学校。对于大部分人来说,基础教育并没有培养出他们洞悉事务本质规律、并应用规律去做创新的能力,也没有培养出他们深入本质规律思考的兴趣、习惯与素养。比如我随便举个例子吧:大家中学都学过重力及万有引力,可是这2者之间的数学几何关系(初等数学而已)你搞清楚过吗?如果这些基本的内在规律都没搞清楚,你怎么能造出飞船上太空?

二、专业教育

大学的计算机及其相关专业的教育,重知识传授、而轻工程实践。上过大学的人都知道,对于学过的一门专业知识,有多少人能通过相应的IT工具(如:电脑)将其用于实践?如果没有足够的实践,那这门学科的理解深度又怎么能得到保证?而纵观整个IT行业,又有哪一项核心技术、哪一个产品,不是在大量的设计、开发、测试等实践中产生的呢?那大学培养出来的人才要在一个产业中创造出核心技术,其难度之大就不难理解了吧!

三、职业发展

1、频繁跳槽、缺乏积累

目前在中小型公司工作的技术人员,大部分人为了追求更高的工资会选择频繁跳槽,跳槽周期一般在6个月~1年左右、在一家公司干满2年的其实都很少,跳来跳去,其实技术上没法做深入的沉淀。比如软件开发:几乎每一门语言都会提供出一套技术框架、而且每家公司所用的技术框架可能还不一样,大部分人用一套框架主要就是在上面拷贝来、粘贴去,如果开发人员在一家公司一套技术框架还没有深入研究清楚、马上换一家公司又要重新搞一套新框架,长期以往专项技术上根本没法做深入的积累、更别说做系统分析与架构设计了。一个缺乏积累的技术人员,又何谈创造核心技术呢!

2、流程节点、缺乏广度

大公司为了支撑其业务发展,每家公司都会建立自己的一套业务流程平台。对于在大公司工作的技术人员,他们的工作都要在公司流程平台上开展,大部分人的工作就是流程上的一个节点。这样每个人就好比一个螺丝钉,在专项技术上可能有一定的深度,但是这些单点的专项技术没法让人掌握一个完整的技术面。而人们所谓的核心技术(比如:操作系统、数据库等)其实每个都是一个系统工程、是由多种技术构建出来的一个完整产品,掌握专项单点技术的技术人员又岂能做出这样的产品!

四、产业生态

1、缺乏资本的青睐

当下中国一些所谓的“短、屏、快”的模式创新项目更容易受到风投的青睐,因为风投机构的钱也是拿的投资人的钱,他们投资一个项目更看重的是能否在较短的周期里获得一个几何级数的资本回报、而不是所谓的“核心技术”。而事实上,每项核心技术的研发及市场认可都需要一个漫长的周期,大家在用的每项所谓的核心技术——无论操作系统、编译器、还是数据库,人家都是经过了“十年磨一剑”的过程才做成了大家今天看到的样子。这么漫长的周期回报,在当下的中国又有几个投资方愿意去投呢?

2、缺乏足够的积累

研发的本质是什么?研发的本质其实就是“长期积累、厚积薄发”,国外每项核心技术的问世、每套高端工艺的产生,人家都是经过了几十年的积累才搞出来的。这其中的积累不仅仅是技术的积累,更重要的是人的积累——国外做技术,为什么岁数大的人、反而很吃香?因为人家在知识结构上有深入广泛的积累啊!而在中国,IT产业(比如:软件)的诞生也就20~30年光景,哪来这样的积累?所以,很多企业基本都是“拿来主义”——把别人现成的核心技术直接拿过来、赚快钱——没有企业愿意冒风险、搞所谓的“核心技术”!

3、缺乏版权的保护

目前国内,版权的保护其实还很弱。这可能与我们的国情有关——我们是发展中国家,IT领域的核心技术、高端科技主要还是掌握在以美国为首的西方企业手中,如果我们的版权保护过强,那我们本土的IT产业怎么发展?举个例子吧,如果Windows全部要正版付费了,那学校里还有几个学生用得起电脑进行相关知识的学习?但另一方面,如果没有版权保护,一项核心技术出来,人人都去免费用、发明人不赚钱,又还有几个人愿意在做所谓的“核心技术”?这2方面的矛盾,不是一时半会能够解决的!

五、社会环境

在当下的中国,做创业、核心技术的发明其实成本是非常高的。其一,项目本身成本高——比如,当下做个能在线上稳定运行、有一定规模用户的APP,你没有150万左右的投入压根搞不定,更不用说搞所谓的“核心技术”了。其二,附加成本高——你如果要去创业、要去搞核心技术,你的房子、车子、老婆、孩子怎么办——这哪一项不是一笔高额的成本支出呢?

你的回答

单击“发布您的答案”,即表示您同意我们的服务条款