不要小看简单的编程工具,其实是编程生态系统内容的一种,这也是国内欠缺的,虽然国内程序员有几百万之众,但是大部分从事的工作还属于应用级的开发,真正核心的开发相对来讲触及不是很多,美国给国内企业设置实体清单里面,封锁的可不仅仅是硬件芯片这么简单的事情,还会在操作系统的生态系统做手脚,国内企业已经开始面临最核心的问题了。所有的编程工具都是为了编程语言生态系统服务的,国内很少有对生态系统建设的计划,当然这方面的编程语言和编程工具还是少的可怜,只有一个中文编程语言易语言,现在俨然成了外挂的天堂,这也是国内编程语言实际现状。
中国软件发展现状
多数企业使用现成的开源框架,然后在此基础上定制开发。国内大部分程序员还是在消化国外编程语言和编程框架,能够把开源的编程框架消化的非常细致的,在国内就已经算是编程高手了,因为直接拿国外的框架进行产品定制开发,本身存在很大的风险,开源社区框架理想化的东西比较多有很多根本没有经过大型项目的验证,综合实力强一些的企业基本会在编程框架的基础上进行深度的定制,甚至修改内部的一些机制,应对商业化的需求。大部分企业还是以拿来主义为主,对于地点比较低的国内软件环境这也是毕竟之路,在起步阶段追求完全的创新显然是不现实的,先从基本的山寨出发,先解决基本的生存问题,这么多也是合情合理。
顶尖的科技企业,已经完成了自主研发创新,并且取得了巨大的成功。在自主创新这块做的比较出色的有后来居上的阿里巴巴,国内第一代互联网企业技术企业代表属于百度公司,但在进入移动互联网时代国内技术代表已经变成了阿里巴巴,特别是阿里云自主研发成功,有一个有趣的现象,排名全球前三的云计算框架都是自主研发的,自主研发起步困难一旦成型发展就会非常顺利,阿里云起步非常艰难,在起步阶段也是采用了国外的开源框架很快就遇到瓶颈了,于是破釜沉舟开始自主研发,在当时很多人看不明白,大家都在拿开源框架开发的时候,只有阿里巴巴还在自我摸索,结果证明了一个企业想要做强做大还是要依靠自主创新。因为有了阿里云的激励,马云更加注重技术布局,其中达摩院就是一个典型。
还有很多企业还在用着开源的框架,基本业务也做的风生水起,但就是无法跨越国际市场。很多国内企业借助着国内互联网巨大的红利把企业已经做的本行业国内最大了,还是不去思考如何提升核心技术实力,暂时守住流量优势只是代表业务能力做的强,要持久强大下去需要背后强大的技术支撑,技术本身就是企业拉大差距一个重要标准,技术不强大很难冲入国际市场。这也是大部分国内互联网企业都需要思考的事情。
未来发展道路
虽然现在大部分国内企业还是以拿来主义做软件的开发, 起码是建设国内的企业,还是要强于软件外包为主的印度,开始阶段山寨拷贝也是必经之路,经历过初级阶段之后想要长远发展还是要借助于真正的技术创新,阿里巴巴已经给很多的企业做了榜样,想要冲破国际规则,还需要国内企业做很多年的努力。
国内软件发展已经进入深水区,从普通程序员的角度出发,技术越高拿到薪资越来越高,技术水平非常一般在软件行业很可能混不下去了,企业之间的差距也会越来越多,而制胜的关键点除了流量因素之外,就是核心技术差异了,国内企业想要真正杀入国际市场必须有真正的技术创新能力,这个时候再谈编程语言和编程工具的事情,否则只能是昙花一现,希望能帮到你。
这段时间在写微信小程序。本身程序量很小,只有几百k,打开卡的暴慢,每看一次,心里问候腾讯小程序工具的开发人员长辈们几次。缺什么,你们说缺什么呢?还是技术啊。
编程和做编程工具的技术等级又不是一个级别的。
对了,说到国产好用的编程工具。aardio确实不错。马云马化腾都请不动的大神打造的。
狮子总是独来独往。只有豺狼才成群结队。
VC,VB等都属于微软著名的开发平台VisualStudio。中国目前还没有类似的开发平台及工具。前些年国内出现过一款汉语编程软件:易语言,由于技术及市场种种原因并没有被大众所接受,现在几乎销声匿迹了。
一款经典通用的编程平台集成了多种编程语言的编辑,编译,运行,调试,与操作系统的深度融合,各种运行库的匹配,良好的兼容性,稳定性,易用性等非常复杂的技术。
中国的欠缺:
1.目前国内的软件开发技术蓬勃发展但是基本集中在应用开发,如互联网开发。对于开发语言,开发平台的基础研发少之又少,目前世界上主流的开发语言没有一款是中国设计出来的;
2.中国缺少基础研发的人才及技术积累,西方发达国家在IT软硬件技术的研究比中国早很多,积累了大量的人才及涌现出了大批优秀的关联企业,比如微软,谷歌等。
中国在软件基础研究上相对落后,但是在新兴的互联网应用,云计算等方面的优势也很明显,要超越欧美还有很长的路要走。
发展中文编程语言和开发环境是刚需。但是被很多人忽略的是,在中文编程语言发展成熟之前,在相当长时间内,英文编程语言仍将占据相当大的市场份额,尤其是有很多历史项目仍需依靠现有的英文编程生态圈。幸运的是,常用的英文编程语言都已支持中文命名标识符。比如:
Python:
Java:
JavaScript:
关键是,标识符中文命名是中英文编程语言开发都通用的。比如说,现在如果在Java中使用了中文命名,如果几年后需要改用某个中文编程语言重新实现,标识符的命名都可以直接使用,而不用从英文再改回为中文。更不用说在现在的项目中,使用母语命名的标识符将使代码更加易于理解,俗称“可读性更好”。不同意的大可以把上面的代码改写成英文命名,是骡子是马拿出来遛遛。
回到问题,使用中文命名标识符将使国产工具软件的开发维护成本更低,市场竞争力更高。与发展中文编程语言相辅相成,会是相当长时间内的必要补充和助推器。
为什么说是助推器?因为中文编程语言非常适合使用中文命名标识符实现,比如之前写的绘图脚本语言:
就在JavaScript实现中使用了中文命名标识符:
在代码中使用中文命名对于新手来说的意义也相当大。可以看看最近开始发的Java入门教程系列,就使用了像下面的中文例程:
可以想象可以让