计算机诞生之后,程序员需要给计算机发送指令,能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。计算机需要能够识别并执行指令。这个“指令”就是我们今天的“编程语言”,一种计算机和人都能识别的语言。
从1943年第一台现代电子计算机发明开始,给计算机输入打孔纸带就是当时的“编程”方式。直到电子显示器发明并大规模应用后,纯数字化的代码输入得以实现,打孔纸带才退出了“编程”的舞台。
编程语言经过了低级语言、高级语言和面向对象三个时代。机器语言由于难于理解,被称为“天书”。20世纪50年代由美国约翰·贝克斯(John Backus)创造出了第一个计算机高级语言——FORTRAN语言。它很接近人们习惯使用的自然语言和数学语言。
Fortran今天仍然被广泛使用,特别是在科学和工程领域,并且已经进行了数次技术上的更新,紧跟时代的变化发展。
从最初的机器语言发展到如今的2500种以上的高级语言,每种语言都有其特定的用途和不同的发展轨迹,并且发展是相当快速的。
在计算机编程技术领域,中国的发展历程相对较短。20世纪80年代初,中国开始引进和开发计算机技术,随着计算机技术的不断发展和普及,特别是近年来,随着我们科技创新能力的不断提升,也开始涌现出一些自主研发的编程技术产品,今天我们就来梳理国内的有影响力的编程技术产品。
ReScript:ReScript 是由 IDEA 讲席科学家张宏波于 2015 年设计的一门静态函数式语言,目前在国际上有一定影响力。
ReScript 起源于 OCaml,能被编译成高质量、可读性强的 JavaScript 代码,其性能在同类型语言中遥遥领先,ReScript 本身也被用于 OCaml 官方网站的搭建。
Go+ :由七牛云 CEO 许式伟发明,于 2020 年 7 月正式发布。Go+是Go语言的“升级版”,是Go的超集,它兼容Go,扩展Go,支持生成Go代码,方便Go语言编译代码,并与其他Go项目集成,让代码变得更加简洁透明和高效。它是一门适用于工程、STEM 教育和数据科学的编程语言。主要特性包括:静态类型语言、与 Go 完全兼容、脚本化的风格,以及比 Go 更易于阅读的数据科学代码。
Luajit:Luajit是一个高性能的Lua语言解释器,由中国工程师Mike Pall开发。它支持JIT(即时编译)技术,可以在运行时将Lua代码编译成本地机器代码,从而提高程序的执行速度。
Wukong:Wukong是一种基于Java语言的分布式图计算框架,由阿里云开发。它支持多种图计算算法,并能在大规模分布式集群上高效地进行计算。
Panda:Panda是一种基于Go语言的高性能、易用的分布式数据库系统,由中国的PingCAP开发。它支持分布式事务、自动负载均衡、强一致性等功能,适用于大规模数据存储和查询场景。
Myna:Myna是一种基于Python语言的深度学习框架,由中国的商汤科技开发。它支持多种深度学习算法,能够高效地进行训练和推理。
TiDB:TiDB是一种基于分布式数据库的NewSQL解决方案,由中国的PingCAP开发。它支持ACID事务和分布式事务,并且具有高可用性和可扩展性。
OceanBase:OceanBase是一种基于分布式数据库的NewSQL解决方案,由中国公司阿里云开发。它采用多副本同步和分布式事务等技术,能够实现高可用和高性能的数据存储和查询。
Jinkela:Jinkela是一种Java虚拟机,由华为开发。它具有高性能、低延迟、低内存占用等优点,并且支持Java 8的所有特性。
QEMU:QEMU是一种开源的虚拟机软件,由中国工程师Anthony Liguori开发。它支持多种架构的虚拟化,并且能够在不同的硬件平台上运行。
Ceph:Ceph是一种开源的分布式存储系统,由中国工程师Sage Weil开发。它具有高可用性、高可扩展性和自修复等特点,适用于大规模数据存储和处理。
Tengine:Tengine是一种高性能的Web服务器,由淘宝开发。它基于Nginx服务器并进行了优化,具有高并发、低延迟等特点。
易语言(EPL)是一门以中文作为程序代码编程语言,其以“易”著称,创始人为吴涛。易语言早期版本的名字为E语言,也通常代指与之对应的集成开发环境。其最早的版本的发布可追溯至2000年9月11日。创造易语言的初衷是进行用中文来编写程序的实践,方便中国人以中国人的思维编写程序,并不用再去学习西方思维。易语言的诞生极大的降低了编程的门槛和学习的难度。从2000年以来,易语言已经发展到一定的规模,功能上、用户数量上都十分可观。
Dragonfly:Dragonfly是一种基于P2P技术的大规模分布式文件系统,由中国公司阿里云开发。它能够在多个数据中心之间传输大规模的文件,具有高效、安全、可靠等特点。
Ruby中国版(中文名为“红宝石”),它是日本开发的Ruby编程语言的一个分支,中国开发者通过对Ruby语言的翻译和改进,让其更好地适应了中国的语言和文化环境。Ruby中国版在中国的开发者社区中得到了广泛的应用和推广,成为了一种具有影响力的编程语言。
Apache Kylin:这是一个由中国开发者主导的开源OLAP引擎,它的优点是具有高效的查询能力和可扩展性,可以支持海量数据的快速查询。但是,其缺点是由于开发团队较小,缺乏足够的资源和支持。
Taobao FESC:这是由阿里巴巴公司开发的分布式系统框架,它的优点是具有高可靠性和高可扩展性,可以应用于大规模分布式系统的构建。但是,其缺点是需要一定的技术门槛和复杂度。
总的来说,国内在编程技术领域的发展还比较年轻,但是随着科技创新能力的提升,未来,我们相信中国的编程技术会在全球范围内发挥越来越重要的作用,为推动技术进步和社会发展做出更多的贡献。