软件的分类
软件已经在社会生活的所有领域改变了世界。瑞士计算机科学家尼古拉斯·沃斯在获得图灵奖时提出:程序=数据+算法,这个公式揭示了软件的核心,但是对于软件的应用,不同的场景又有不同的侧重。因此根据应用类型可以将软件分为四类,分别是基础软件、专业软件、互联网软件和信息管理软件。
1、基础软件
基础软件是整个计算机应用的底层支撑软件,像操作系统、数据库、编译器、网络通信等。基础软件的核心是数据+标准,标准代表某种协议或者约定,比如操作系统中与各种硬件的驱动标准、网络通信中的传输协议、数据库中的结构化标准查询语言、编译器、集成开发环境等。基础软件的开发往往具有极大的难度,对程序员的要求也会非常高,采用的编程语言也会比较偏向底层,如C,C++等。
2、专业软件
专业软件是指在某些学科领域内的专业应用软件,其主要核心是数据+专业。程序员不仅要精通程序编写,还需要了解一定的专业领域知识,开发时也往往需要与相关领域的专业人士进行合作才能完成。比如信号仿真类软件,需要有数学、信号处理等领域知识;CAD等工程设计类软件的开发也需要专业的制造业设计知识;类似还有图像处理软件,嵌入式软件等。值得说明的是人工智能相关的软件也是属于专业软件,其中的深度学习的算法也是需要很多计算机专业的相关知识。
3、互联网软件
作为软件的一个大类需要特别说明,首先互联网本身就是一个独立于其他行业的存在,它是人类社会创造了一个新的虚拟世界。互联网与现实社会结合,但其中的模式又是互联网所独有的,因此互联网软件的核心是数据+模式。如信息资讯和搜索,只有互联网将所有的信息进行采集才会有这一应用形式,虽然搜索本身的技术是也都是基于计算机专业算法的;即时通信也是类似,是基于互联网通信技术的一种应用模式;电子商务虽然与线下的实体店类似,但又是完全不同的一种方式,以超越距离无限连接的方式改变了销售本身。
互联网软件的特点是简单易用,面向所有人或者是某一群体,也就是ToC,因此其主要的技术复杂度在于高并发和大数据。
4、信息管理软件
信息管理软件是区别于互联网软件的另一大类软件,是各个行业中对团队进行管理的软件工具,主要的核心是数据+业务。在各行各业中存在着无数的管理规则,并且因人因事因时而异,通过软件工具可以对其中的流程进行重构,对数据进行统计从而极大地提高团队的管理效率。如企业管理软件ERP,医院、学校、政府等内部的各个信息管理系统,这些软件的特点是业务非常复杂且多变,但是用户数量有限且面向的是一个组织,也就是ToB。虽然技术上相对于互联网而言比较简单,但是需要程序员能够快速地理解用户组织并梳理业务流程。
需要注意的是,不同的软件分类对程序员的要求还是有着非常大的不同,就像学校里不同专业一样并不通用,有着各自不同的技术栈和职业方向。但还是有很多程序员并没有意识到这一点,往往是做着信息管理系统的软件,却不断地学习互联网技术,从而导致了工作中的被动。
移动互联网带来的融合
移动互联网作为互联网的延伸,原有的计算机从办公桌扩展到了每个人的手上,软件的用户规模再一次得到了释放,移动互联网的发展带来了软件行业的巨大变革,人们对于软件的使用也更加频繁,对软件的要求也更高,软件的功能在不断增强的同时,使用也变得更加简单。而在这些变化的背后,正是不同软件类型之间不断地融合,形成了新的技术和应用场景,不断推动着软件的发展。
1、移动互联网与基础软件的融合
软件的核心是数据,移动互联网的爆发让数据再次以指数级增加,因此对于基础软件中的数据库也首先迎来了发展,在传统的关系数据库上,也进一步发展出非关系的列存储、对象存储、时序存储、文档存储等数据库。同时在操作系统之上出现了更为轻量的虚拟机和容器等相关技术,为微服务的发展提供了基础,这些新的基础软件形成了现代大数据和云计算的基础技术,同时为其他领域的软件提供广泛的支持作用。
2、移动互联网与专业软件的融合
专业软件受移动互联网的影响主要表现在两个方面,新的基础软件带来更大的计算方式和能力,专业的需要大算力的算法逐步向云端迁移,采用互联网的方式对外提供服务。同时一些更加精巧的算法则可以运行在更小的智能设备终端中形成边缘计算,不断地采集数据,或者对数据进行初步的分析,与服务端结合形成云端一体软件服务体系,这也是现代物联网运营的主要模式。
3、移动互联网与信息管理软件的融合
行业管理软件作为一大类的应用软件,是受移动互联网影响最大的领域。首先是用户的规模迅速增加,信通的并发性和大数据成了必须要考虑的问题,比如原来的学校管理系统,原来仅限于老师和学校管理人员使用,现在学生也都可以参与使用。医院的信息管理系统,原来的用户是医生和医院管理人员,现在所有的病人甚至家属也都是系统的用户。好在基础软件的发展使得能够很方便地解决这类问题。
其次手机、平板、桌面电脑都成为了软件系统交互终端,通过移动办公,用户随时随地都可以访问系统,App,移动端成了信息管理软件的标配。新的商业模式也在形成。从售卖软件到软件即服务SaaS模式,甚至是传统的互联网软件公司也在提供信息管理系统的服务,如钉钉,企业微信等。信息管理系统的开发模式和团队组织也都在向互联网软件的开发模式靠齐,从而产生了更多的机会和挑战。
AI大模型带来的融合
AI大模型是专业软件领域的重大发展成果,为人们带来了真正的智能化的能力,不仅能够理解自然语言的表达,而且还具有一定的推理能力,可以广泛用于对话,翻译,自然语言的生成等领域。在某种程度上,相当于我们拥有了除鼠标和键盘之外的另外一种更加自然交互方式。
1、AI大模型与基础软件的融合
AI大模型将会成为操作系统的一个基础能力,操作系统将会原生地支持AI大模型的对接和使用。无论电脑还是手机都将具有真正的“智能”,人们可以利用更加自然的方式与计算机进行交互。在数据库领域,向量数据库作为新兴的数据库技术,能够存储和检索高维的向量数据和进行向量计算,向量是AI大模型的基本数据结构,能够表达文本、图像、声音的语义信息。另外,AI大模型也将对编程领域产生巨大的革新,如智能代码生成和代码注释等。
2、AI大模型与互联网软件的融合
互联网软件的ToC属性正是通用AI大模型的用武之地。首当其冲的就是对搜索能力赋能,传统的搜索都是基于关键词进行查询,通过AI大模型不仅能直接给出答案,还能够查询信息的来源和出处;在电子商务和即时通信方面,AI大模型可以充当专业的客服和虚拟人,提高沟通的效率;在直播领域,AI数字人也逐渐得到了广泛的应用。另外,通过插件机制与不同的网站数据进行打通,可以一站式打通互联网,直接通过AI大模型完成任务安排,行程规划等一系列事务。
3、AI大模型与信息管理系统的融合
信息管理系统是ToB属性的,其本质是对领域知识的管理,用好AI大模型,需要在通用大模型的基础上创建领域大模型,才能够对领域信息的管理赋能。因此要与AI大模型集成,一方面收集足够的领域信息对大模型进行训练微调,另一方面信息管理系统需要提供足够的接口和函数,方便AI大模型的对接。通过AI赋能的数字员工将会成为信息管理软件的发展趋势,通过智能数字员工,可以实现自动对业务系统进行管理,数据采集和业务分析,从而给予管理者更多的信息和决策支持。