这里说的多语言开发指的编程语言,不是语言包里面的多语言哈。
引言
曾几何起,IT 行业的并没有那么内卷。那时候三青水秀,水光山色,大好三河。没有那么多人的算法打卡,没有什么终身学习,没有证书学历要求等。随着行业的逐渐发展,慢慢地都在追逐高精尖技术。也许这是事物发展的必然规律,优胜劣汰的自然发展。
特点
我所接触的大多数程序员,他们所接触的编程语言,大多都超过了两个以上。这里面我谈一下编程理念的演化史:
- 面向原生编程,最早一批的程序员,大多使用 C/C++ 等开发项目,他们采用的就是面向原生编程,采用原生态的代码开发自己的项目。
- 面向对象编程,网上有很多图片和言论来谈论过面向对象等,大多人接触的比较多,这一批程序员大多使用 PHP/JAVA 开发项目。
- 面向框架编程,随着业务的增加,代码量越来越大,越来越难以维护。这时候就要使用框架来进行代码的梳理,进行行之有效的管理。也出现了一批优秀的框架。例如:JAVA 的三大框架(SSH)赫赫有名,PHP 也有三个框架(Laravel, YII, ThinkPHP)。那个时候很多人在纠结哪个好用。
- 面向开源编程,信息社会最大的资产就是数字,数字最大的价值就是用起来。所以为了避免信息孤岛,最大化数字资产的效益,开源软件如雨后春笋一样,茁壮成长。Maven、Npm、Composer 等开元依赖包数不胜数。Golang 更是直接把开源仓库拿过来用。创新和共享无疑已经成了新时代社会的符号。
- 面向服务编程,现代软件的的复杂度成倍的递增,功能模块也做的越来越细,为了分工合作,一起实现大型软件的开发,微服务理念应运而生。包括 DevOps、GitOps 等,是一组过程、方法与系统的统称。这时候为了更润滑细化的管理微服务,也出现了一批 Docker、Docker-compose、Kubernetes 等微服务管理软件。
分析
最早没有架构的时候,网站项目开发只需要一小段页面代码就可以实现,为了展示自己的信息名片。后来随着业务的发展,人们对互联的要求变得越来越多,开始出现了脚本语言,数据存储等。这个时候已经开始出现多语言开发的情况,前后端需要一起开发,全栈的前奏。
后来出现了后端框架,到后来的前端 Vue、React、Augular 等,这个时候开始了前后端分离。各语言之间的契合度越来越高,语法和格式上变得大同小异。特别是框架的出现让开发人员在多语言开发之间变得更简便。但这也造成了对语言底层实现的了解不足,和解决问题不够深入。
总结
就目前 IT 行业来说,数据结构和算法仍然是基本功。框架封装了功能实现,开发变得简单,语言的差异性也变得模糊起来,代码也越来越臃肿。但总归利大于弊,框架对复杂业务流程的贡献功不可没。多语言的开发,依赖于框架和开源软件,开源的项目不可或缺!开源软件的蓬勃发展,使得多语言的开发简便起来。
单个语言深入的研究更多的是纵向发展,多语言开发更像是横向发展。单语言是形态,多语言是发展。要从语言的优劣性去考虑场景。做一专多能的 T 字型工程师。
网友评论