购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.2 主流编程语言

这个世界上总共有多少种编程语言?主流的说法是六七百种,也有说两千多种的。但这个数量其实根本没办法准确统计,因为计算机高级语言发展到现在,要再发明一种编程语言,已经不是一件难事。编程语言负责将程序代码翻译成机器语言,但它本身也是一种计算机程序,也是被开发出来的。比如强大的C语言,它最初的编译器可能是用汇编语言开发的,但后面出现的大部分高级编程语言,包括C语言本身的绝大部分,都是用C语言或者C++编写的。因此理论上只要你愿意,一旦学会了任何一门编程语言,你就可以用它来“发明”一种属于你自己的新的编程语言。所以除了绝大多数用英文单词作为关键词的编程语言,我们中国人也开发了诸如“易语言”这种用汉字作为编程关键词的计算机编程语言。

我们不可能在本书中探讨所有的编程语言,必须要有所筛选。TIOBE编程语言排行榜,是世界范围内编程语言流行程度的一个指标。它的评级基于全球范围的技术工程师、课程和第三方供应商的数量,通过必应、亚马逊和百度等流行的搜索引擎进行计算评分,统计出排名数据,每个月更新一次。这个排行榜虽然并不代表某种编程语言的好坏,但反映了编程语言的热门程度。其结果作为当前业内程序开发语言的流行使用程度的有效指标,对世界范围内开发语言的走势具有重要参考意义。

通过统计,在TIOBE编程语言排行榜上,当前最新和历史排名上都靠前的十种主流编程语言是:C语言、Python、Java、C++、C#、Visual Basic、JavaScript、PHP、 SQL、Go。

在讨论具体的编程语言之前,我们首先要简单介绍下计算机高级语言两个大的类别:编译型语言和解释型语言。编译型语言是把写好的程序代码一次性编译成机器语言,然后在运行程序的时候就不用再编译了,程序源代码也不需要提供给使用程序的人。而解释型语言没有提前编译,直接提供程序源代码,程序运行时一边解析一边执行。用外语翻译的例子就能很好地理解这个问题:编译型语言就像提前翻译好一段话,将配音放给使用者听,不管听多少遍,都不需要再翻译一次了;解释型语言则如同声传译,一边听原音一边翻译成使用者的语言,如果要重听一次就需要再同步翻译一次。最初的那些编程语言都是编译型的,后来为了处理一些临时的简单任务才出现了解释型语言。结果部分解释型语言因为实在太好用,逐步发展成也可以执行各种大型任务的全能型语言了。编译型语言的优势是执行效率高,因为都是提前编译好的,执行的时候不需要再解析,所以运行的速度一般都很快,而且因为不用提供源代码,也保证了代码的安全和版权。而解释型语言因为每次运行都要逐句地解析,运行的速度一般都比较慢。但这个快慢都是相对的,随着计算机硬件的飞速发展,在大部分应用领域,解释型语言的速度也能完全满足运行的需要,程序执行的效率已经不再是首要考虑的问题。同时,解释型语言跨平台的优势,也随着时代的发展得到极大体现。编译型语言编译出的可执行文件,都是针对不同设备和系统平台的,而解释型语言因为直接提供程序源代码,可以放到各种不同的系统平台上运行。随着计算机行业从个人电脑、服务器,发展到互联网、手机、平板电脑、可穿戴设备等,跨平台的需求变得越来越重要。各个平台的统一性、行业应用的全平台发布、各平台开发人员的需求,又反过来对编程语言的选择和发展提出了新的要求。此外,解释型语言直接提供源代码运行这一弊端,随着云服务的普及(向最终客户提供应用服务而不是程序本身)和开源项目的普遍发展,也变得可以忽略不计了。

1 C语言

C语言是一门面向过程的通用计算机编程语言。C语言来自著名的贝尔实验室,最初设计用于Unix操作系统的开发。它之所以被命名为“C语言”,是因为源自另外一门名叫“B语言”的编程语言。在所有计算机高级语言当中,C语言是最接近汇编语言的语言。它兼顾了高级语言和汇编语言的优点,既有高级语言的语法可读性,又有汇编语言的运行效率。C语言保留了指针这种可以直接操作内存的变量类型,通过指针类型可对内存直接寻址以及对硬件进行直接操作,也可以说指针就是C语言的精髓。C语言代码的运行速度与用汇编语言编写的代码的运行速度几乎一样,在这方面相较于其他高级编程语言具有较大的优势,所以特别适合开发系统软件。但任何事情都有两面性,指针的应用也给C语言开发带来了很大的安全隐患。而且C语言本身对语法和变量类型的约束不够严格,对数组下标的越界不做检查,在一定程度上影响了程序的安全性,增加了程序员开发的难度。从学习编程的角度来说,C语言相比其他高级语言更难掌握,入门的难度更高。但不管怎么说,C语言经过漫长的发展历史,拥有非常完整的理论体系,在计算机编程语言中具有举足轻重的地位。可以这么说,几乎所有的现代编程语言,都脱胎于C语言!如果你掌握了C语言,也就几乎了解了关于编程语言的一切,再去学习和掌握其他编程语言,就会变得非常容易。事实上,C语言是很多大学编程课程的首选语言,也是很多程序员入门接触的第一种语言。

2 C++

C++是在C语言的基础上发展而来的一种高级编程语言。它是C语言的超集,也可以说是C语言的增强方案。C++进一步扩充和完善了C语言,它继承了C语言面向过程的特点,又添加了面向对象的方式。事实上早期并没有“C++”这个名字,最初这门语言叫作“带类的C”,后来在1983年才正式更名为“C++”。“带类的C”是作为C语言的扩展和补充出现的,它增加了很多新的语法,支持类、封装、继承、多态等特性,目的是为了提高开发效率。然而,C++在提升编程开发效率的同时,并没有牺牲程序运行的效率,C++程序的运行效率和C语言几乎没有差异。而且C++几乎完全兼容C语言,它与C语言的兼容程度,可使数量巨大的C语言程序能方便地在C++的环境中复用。C++的应用领域非常广泛,它可以用来开发应用软件、操作系统、搜索引擎、视频游戏等。C++是一门灵活多变、特性丰富的语言,同时这也意味着它比较复杂,不易掌握。因此相对于别的编程语言来说,C++的学习难度较大。

3 Java

Java是由Sun Microsystems公司于1995年5月推出的一门高级程序设计语言。后来在2010年,Oracle(甲骨文)公司收购了Sun Microsystems公司,之后便由Oracle公司负责Java的维护和版本升级。Java语言的风格很像C语言和C++语言,是一种纯粹的面向对象的编程语言。它不仅吸收了C++语言的各种优点,还拋弃了C++语言的一些缺点。它继承了C++语言面向对象的技术核心,但摒弃了C++语言里难以理解且容易引起错误的多继承、指针等概念,同时也增加了垃圾回收机制,以释放掉不被使用的内存空间,解决了管理内存空间的烦恼。针对之前的编程语言不能实现跨平台运行,源代码必须在新的平台上重新编译才能运行的问题,Java语言采用了Java虚拟机技术。Java程序并不直接运行在操作系统上,而是运行于Java虚拟机上。Java虚拟机机制屏蔽了具体平台的相关信息,使得Java语言编译的程序只需生成虚拟机上的目标代码,就可以在多种平台上不加修改地运行。在引入虚拟机之后,Java语言在不同的平台上运行不需要重新编译,因此采用Java语言编写的程序具有很好的可移植性。得益于Java虚拟机的应用,Java语言成功实现了C++语言所未能实现的优良跨平台性能。所以,Java语言号称是“一次编写,到处运行”(Write once,run any where)的编程语言。Java语言功能强大,而且简单易用,它具有面向对象、平台无关性、简单性、解释执行、分布式、健壮性、多线程、安全性等很多特点。Java语言的众多特性使得它在众多的编程语言中占有较大的市场份额。Java语言对对象的支持和强大的API使得编程工作变得更加容易和快捷,大大降低了程序的开发成本。同时,Java语言“一次编写,到处运行”的特点,也是它吸引众多公司和编程人员的一大优势。

在历史上,Java语言的正式推出和普及,最初是为了开发一款能够嵌入网页、可以通过网络传播并且能够跨平台运行的编程语言。从首次发布开始,Java就站在了Internet编程的前沿,而且后续的每一个版本都进一步巩固了这一地位。如今,Java依然是开发基于Web的应用程序以及网络后台程序的最佳选择之一。此外,Java还是智能手机变革的强大动力,当前世界上使用最为广泛的Android智能手机操作系统就是以 Linux为内核,以Java为编程语言搭建的,各种主流的Android手机应用APP,大部分都是用Java语言编程开发的。Java语言的用途非常广泛,不仅可以用来开发桌面应用程序、Web应用程序、Android应用、视频游戏、分布式系统和嵌入式系统应用程序等,还在数据分析、网络爬虫、云计算等领域大显身手。Java在金融服务业的应用特别广泛,因为Java的相对安全性,很多银行、金融机构都选择用Java开发电子交易系统、结算系统、数据处理系统等。Java语言的缺点是内存占用高于C++、应用启动时间较长、运行效率较低,而且学习曲线不是很友好,初学者需要花费不少时间来熟悉面向对象的概念、语法和编程思想。尽管如此,这些不足依然无法阻挡Java前进的脚步。在全世界范围内,Java目前仍然是最受欢迎的编程语言之一,Java工程师的需求量都是远大于其他编程语言的。

4 C#

C#读作“See Sharp”,是由微软公司开发并推出的一门面向对象的通用型编程语言。最初它有个更酷的名字,叫作“COOL”。微软公司从1998年12月开始开发COOL项目,直到2000年2月COOL正式更名为“C#”。在微软,C#主要由编程奇才安德斯·海尔斯伯格(Anders Hejlsberg)主持开发,他在加入微软之前曾开发了大家熟知的Delphi语言,因此C#也借鉴了一些Delphi语言的特点。C#的名字模仿音乐上的音名“C#”(C调升),代表“C语言的升级”的意思。由此可知,C#也是由C语言和C++衍生而来的。它继承了前辈们强大的性能,同时又以.NET框架类库作为基础,拥有类似Visual Basic(缩写为 VB)的快速开发能力。C#的语法与C++的类似,但在编程过程中要比C++更简单高效,它在继承C和C++强大功能的同时去掉了一些它们的复杂特性。比如,C#语言中已经不再使用指针,而且不允许直接读取内存等不安全的操作。C#提供了比C和C++更多的数据类型,并且每个数据类型都是固定大小的,此外还提供了命名空间来管理C#文件。相对于C++,用C#开发应用软件可以大大缩短开发周期,同时可以利用原来除用户界面代码之外的C++代码。一方面,C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为. NET开发的首选语言。另一方面,C#与Java有着惊人的相似,诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点——与COM(组件对象模型)是直接集成的,而且它是微软公司.NET开发框架的主角。用C#所开发的程序源代码,并不是编译成能够直接在操作系统上执行的二进制本地代码,而是与Java类似,它被编译成为中间代码,然后通过.NET Framework的虚拟机——被称为“通用语言运行库”(Common Language Runtime, CLR)——来执行。所有的.NET编程语言都被编译成这种MSIL(Microsoft Intermediate Language)中间代码。因此,虽然最终的程序在表面上仍然与传统意义上的可执行文件都具有.exe的后缀名,但是实际上,如果计算机上没有安装.NET Framework,那么这些程序将不能够被执行。

由于出现年代较晚,C#几乎集中了所有关于软件开发和软件工程研究的最新成果:面向对象、类型安全、组件技术、自动内存管理、跨平台异常处理、版本控制、代码安全管理……尽管在罗列上述特性时,总是让人想到Java,然而C#确实走得更远。因此,C#语言是一种现代的、稳定的、简单的、通用的、优雅的,类型安全、面向对象、面向组件的编程语言,是一种强大而灵活的编程语言。因为C#源于C语言系列,所以C、C++、Java和JavaScript的程序员很快就可以上手。C#照搬了C++的部分语法,因此对于数量众多的C++程序员来说,学习起来也会非常容易。另外,对于学习编程的新手来说,C#相比C++要简单一些。C#凭借其通用的语法和便捷的使用方法受到很多企业和开发人员的青睐。使用C#语言不仅能开发在控制台下运行的应用程序,也能开发Windows窗体应用程序、网站、手机应用等多种应用程序,还能作为游戏脚本编写游戏控制代码。使用微软配套提供的 Visual Studio开发工具,开发人员能快速高效地构建C#应用程序。由于Windows是具有垄断地位的平台,要开发Windows应用,使用微软提供的C#语言是毋庸置疑的选择。当然C#也有弱点,首先是在一些版本较旧没有安装.NET运行库的 Windows版本上,C#的程序就不能运行;其次,虽然C#也支持跨平台,但因为集成了微软的.NET Framework,所以目前还是以Windows平台为主;最后,C#的学习曲线也很陡峭,同样不大适合新手和初学者。

5 Visual Basic

Visual Basic(VB)是微软公司开发的一种通用程序设计语言,使用VB可快速、轻松地创建类型安全的.NET应用。VB是一种现象级的编程语言,现在的年轻程序员可能几乎没有接触过VB,但VB在当年可以说是红极一时。1991年 4月,微软公司发布了Visual Basic 1.0,这在当时引起了巨大的轰动。许多专家把 VB的出现当作是软件开发史上具有划时代意义的事件,因为Visual Basic 1.0是全世界第一种可视化编程语言。在使用传统的程序设计语言编程时,一般需要通过编写程序来设计应用程序的界面(如界面的外观和位置等),而且在设计过程中看不见界面的实际效果。而通过Visual Basic这个全新的事物,开发人员在界面设计时可以直接用Visual Basic的工具箱,在屏幕上“画”出窗口、菜单、按钮等不同类型的对象,就像是在某种艺术画布上作画一样。而要让按钮执行某些操作,所要做的事情就是在设计环境中双击这个按钮然后编写一段代码即可,因而程序设计的便捷性得以大大提高。这使得全世界的程序员欣喜至极,他们都尝试在VB的平台上进行软件创作。自VB 3.0开始,微软将Access数据库驱动集成到VB中,VB 4.0开始引入了面向对象的程序设计思想,2002年推出的全新Visual Basic.NET基于微软. NET框架平台,成为一种真正的面向对象的编程语言。

Visual Basic的“Visual”指的是采用可视化的开发图形用户界面(GUI)的方法,一般不需要编写大量代码去描述界面元素的外观和位置,而只要把需要的控件拖放到屏幕上的相应位置即可;而“Basic”指的是BASIC编程语言,因为VB是在BASIC语言的基础上发展起来的。VB是一种结构化的、模块化的、面向对象的、包含以协助开发环境的事件驱动为机制的可视化程序设计语言。VB使用了可以简单建立应用程序的GUI系统,是一种基于窗体的可视化组件联合。程序员不用写多少代码就可以完成一个简单的程序,但是又可以开发相当复杂的程序。VB的程序很容易和数据库连接,比如利用控件可以绑定数据库,甚至不用写一行代码就可以掌握数据库的所有信息。而且VB还引入了“控件”的概念,大量已经编好的VB程序可以被我们直接拿来使用。VB功能强大,学习简单,它最大的优势在于它的易用性,可以让经验丰富的VB程序员或是刚刚入门的人都能用自己的方式快速开发程序。

在早期版本中,VB程序的运行效率和性能问题一直被人诟病,但是随着计算机硬件性能的飞速发展,关于性能的争论已经越来越少了。也许正是因为VB曾经的如日中天,使它成为一种充满了争议的语言。一些批评家认为 VB的简单特性使其在未来具有“伤害性”:很多人虽然学会了 VB编程,但是并没有学到好的编程习惯。当 VB进入课堂的时候,学生们不能学到很多基础的程序技术和结构,因为这些技术已经包含在那些对用户可见的组件里面了。一些资深程序员甚至认为VB是一种给儿童和“菜鸟”程序员使用的语言。但是,我们认为对任何程序开发工具的歧视都是错误的!VB的真正问题在于它太过成功了,它极为有效地降低了新程序员的学习障碍,使得几乎任何人都可以使用 VB进行编程。由于太过便捷而引起的困扰,其实并不是 VB本身的问题,就像我们不能怪罪汽车造成了人们的懒惰一样。VB的强大就在于它能够快速开发应用程序,使程序员有更多的时间和精力去考虑用户的需求,开发出满足用户需要的软件,而不是花费大量的时间去制作界面和组件,等等。VB的核心思想就是要尽可能方便程序员使用,无论是新手还是专家。专业人员可以用VB实现其他任何Windows编程语言可以实现的功能,而初学者只要掌握几个关键词就可以建立实用的应用程序。

但是,Visual Basic所做的事情其实一点也不简单。它是一种强大的语言,无论是开发功能强大、性能可靠的商务软件,还是编写个人电脑的实用小程序,VB都是最快速、最简便的。它可以用来开发商业、教育、工程、游戏和许多其他方面的应用软件。VB语言作为入门计算机语言,还是很多学校开设编程学习的入门级语言,大量的学生利用VB语言开启了他们学习计算机编程的世界。不仅如此,微软还开发了一系列由 VB所派生出来的脚本语言:VBA(Visual Basic for Applications)是VB的一种宏语言,包含在微软的 Microsoft Office软件产品里面,以供用户二次开发;VBS(Visual Basic Script Edition)是默认的ASP服务器端脚本语言,还可以用在Windows脚本编写和网页编码中。VB是当今世界上使用最广泛的编程语言之一,曾经号称是“世界上使用人数最多的语言”,有人统计说VB程序代码数量曾经是C++的10倍。现如今,即便在Windows平台上,人们对 VB的热情也逐渐消失了,它不再是许多人的首选语言。但这并不是因为VB变弱了,而是因为同在.NET平台的 C#变强了。VB在发展过程中逐步获得了与C#相同的功能,而C#也获得了与VB相同的便利。作为世界上曾经最流行的编程语言,VB似乎要日落西山了。虽然几十年来各种新兴的编程语言潮起潮落,但VB始终站在TIOBE编程语言排行榜的前十名之内。

6 JavaScript

JavaScript是一种运行在浏览器中的解释型编程语言,是互联网上最流行使用最广泛的脚本语言。JavaScript属于HTML和Web的编程语言,目前全世界几乎所有的网页都在使用JavaScript。它是目前唯一一种通用的浏览器脚本语言,获得了所有现代网页浏览器的支持。JavaScript是Web开发者必学的三种语言之一:HTML定义了网页的内容,CSS描述了网页的布局,JavaScript控制了网页的行为。JavaScript是网页设计和 Web应用必须掌握的基本工具,是目前Web前端开发的唯一选择。对于一个互联网开发者来说,如果你想提供漂亮的网页、令用户满意的上网体验、各种基于浏览器的便捷功能、前后端之间紧密高效的联系,JavaScript是必不可少的工具。JavaScript与 Java在名称上近似,但不要将JavaScript与Java编程语言混淆。无论是在概念上还是设计上,JavaScript与Java都是两种完全不同的语言,但是它们又有一些历史渊源。JavaScript最初由Netscape公司开发,它的基本语法是模仿Java而设计的,JavaScript这个名字的原意就是“很像Java的脚本语言”。1995年,Netscape公司为了营销,与Sun公司(Java语言的发明者和所有者)达成协议,联合发布 JavaScript语言,对外宣传 JavaScript是Java的补充,属于轻量级的Java,专门用来操作网页。Netscape公司可以借助Java语言的声势,而Sun公司则将自己的影响力扩展到浏览器。

JavaScript虽然简洁,却非常灵活,速度很快,并且支持面向对象、指令式、声明式、函数式编程范式。JavaScript是一种采用事件驱动的脚本语言,它不依赖操作系统,也不需要服务器的支持。只要有浏览器,就能运行JavaScript程序,它不需要经过Web服务器就可以对用户的输入做出响应。正因为JavaScript只需要浏览器的支持,并且得到几乎所有浏览器的支持,所以JavaScript拥有其他编程语言无与伦比的跨平台特性,它可以在几乎任意系统平台下运行(如Windows、Linux、Mac OS、Android、iOS等)。JavaScript很容易学习,它的语法跟C/C++和Java很类似,如果学过这些语言,那么要入门JavaScript将会非常容易。而且相比其他解释型脚本语言(比如Python或Ruby),JavaScript的语法相对更加简单,其本身的语法特性并不是特别多。

JavaScript的应用场景极其广泛,简单到幻灯片、照片库、浮动布局和响应按钮点击,复杂到游戏、2D/3D动画、大型数据库驱动程序,等等。在最主要的领域,JavaScript被深入而全面地用于Web应用开发,主要用来向HTML网页添加各式动态交互功能,它可以让网页呈现出各种特殊效果,为用户提供更流畅美观的浏览和互动体验。如今在电脑、手机、平板电脑上浏览的所有网页,以及无数基于HTML 5的手机应用程序,其中的交互逻辑都是由JavaScript来驱动的。近年来,JavaScript的使用范围慢慢超越了网页浏览器,正在向通用的系统编程语言发展。随着HTML 5的出现,浏览器本身的功能越来越强,不再仅仅是浏览网页,而是越来越像一个系统平台。因此JavaScript得以调用许多系统功能,比如操作本地文件、操作图片、调用摄像头和麦克风等,这使得JavaScript可以完成许多以前无法想象的事情。并且,新兴的Node项目把JavaScript引入到服务器端,使得JavaScript可以用于开发服务器端的大型项目,网站的前后端都用 JavaScript开发已经成为了现实。JavaScript已经变成了全能型选手。曾几何时,JavaScript一度被认为是一种玩具编程语言,它有很多缺陷,所以不被大多数后端开发人员重视。但如今丑小鸭变天鹅,JavaScript在Web应用上的霸主地位无可动摇。为什么要学JavaScript?因为我们没有选择。在Web的世界里,只有JavaScript能跨平台、跨浏览器驱动网页,实现与用户交互。软件公司的项目负责人可以很容易招聘到数量众多的JavaScript程序员,开发者也可以很容易地找到一份JavaScript编程的工作。

7 PHP

PHP是一种免费、通用、开源的服务器端脚本语言,是目前网站开发使用最多的一种编程语言。PHP这名字最早是作为Personal Home Page的缩写出现的,后来正式更名为 Hypertext Preprocessor(超文本预处理器)。PHP最初是在 1994年由 Rasmus Lerdorf作为个人主页创建的,1995年公开发布了第一个版本。几十年来PHP一直持续发展进步,在2015年发布的PHP 7.0相比上一个版本的性能整整提升了2倍。PHP独特的语法吸收了C语言、Java和Perl的特点,同时支持面向对象和面向过程的开发,使用上非常灵活。PHP支持几乎所有流行的数据库以及操作系统,用PHP开发的程序可以不经修改在Windows、Linux、Unix、Mac OS等多个操作系统上运行,PHP还与目前几乎所有的正在被使用的服务器相兼容(Apache、IIS等)。“Linux+ Nginx+ Mysql+ PHP”是它的经典安装部署方式,相关的软件全部都是开源且免费的,因此使用PHP可以节约大量的正版授权费用。PHP性能强大且高效,用PHP编写的脚本程序通常比用其他脚本语言(如ASP,Ruby,Python等)编写的脚本程序执行或运行得更快。PHP程序占用内存非常少,页面级生命周期各种资源用完即释放,不存在内存泄漏的问题。PHP代码可以放在文档中的任何位置,不需要安装额外的编译工具也不需要编译生成,PHP代码文件直接覆盖即可完成“热部署”。PHP代码在服务器上执行,而结果以HTML纯文本形式返回给浏览器。PHP易于学习和使用,对初学者而言入门简单,但它也能为专业的程序员提供许多强大的功能。

PHP主要适用于Web开发领域,用于编写动态生成的Web页面。除此以外,PHP还可以应用在物联网、实时通信、游戏、微服务等非Web领域的系统研发上。多年来,PHP在Web网站服务器端编程语言的份额一直接近 80%,其次是ASP. NET,占比约 10%,第三是Java,占比在4%左右。可以说PHP在Web服务器语言市场上是霸主级别的存在,将排在第二位的ASP.NET和第三位的Java远远甩在身后。虽然近两年PHP的占比略有下降,关于PHP的未来也争论不断,但是目前依然没有哪种编程语言有可能追赶上PHP,其“笑傲江湖的地位”相信很长时间内都是难以撼动的。像WordPress等大型网站和内容管理系统,都是用PHP构建的。PHP作为一个开源软件,一直以来都缺乏大型科技公司的技术支持背景,网络上对它唱衰的声音从未间断过。不过它的持续迭代和性能持续增强的现实却是鼓舞人心的,PHP社区用实际行动给予各种质疑强有力的回击。PHP这种编程语言深受广大程序员的喜爱,互联网上有一个经典的程序员笑话,说“PHP是世界上最好的语言!”当然,这个“最好”的头衔可能任何编程语言都担不起,但这个著名的笑话也代表了PHP曾经拥有巨大的热度。而且,如果说“世界上最好的语言”言过其实,那么说“PHP是世界上最好的Web后端语言”绝对当之无愧!既然全球接近80%的网站都使用PHP,也就使得市场上涉及PHP编程的工作很多,就业机会和范围广泛。所有的网站都需要维护人员,也需要开发人员,PHP巨大的市场份额注定它不会在短时间内被淘汰。

8 SQL

SQL全称是Structured Query Language,翻译过来是“结构化查询语言”。它是一种有特殊目的的编程语言,是一门用于访问和操作数据库的标准计算机语言。SQL语言1974年出现,首先在IBM公司的数据库系统SystemR上实现。由于它具有功能丰富、使用方便灵活、语言简洁易学等突出的优点,深受计算机工业界和计算机用户的欢迎,后来逐步成为美国国家标准化组织ANSI和国际标准化组织ISO的一项标准。在当前的计算机编程世界,无论是Web开发、游戏开发还是手机开发,掌握SQL是所有软件开发人员所必需的。因为所有应用程序都需要保存用户的数据,随着应用程序的功能越来越复杂,数据量越来越大,如何管理这些数据就成了大问题。而数据库作为一种专门管理数据的软件出现,应用程序不需要自己管理数据,只要通过数据库软件提供的接口来读写数据即可。至于数据本身如何存储到文件,那是数据库软件的事情,应用程序自己并不关心。这样一来,编写应用程序的时候,数据读写的功能就被大大地简化了。

现代程序离不开关系数据库,要使用关系数据库就必须掌握SQL。也就是说,无论程序员使用哪种编程语言(Java、Python、C++、PHP……)来编写程序,只要涉及操作关系数据库,都必须通过SQL来完成。SQL语句既可以查询数据库中的数据,也可以插入、更新和删除数据库中的数据,还可以对数据库进行管理和维护操作。SQL可与所有数据库程序协同工作,比如MySql、MS Access、DB2、Informix、MS SQL Server、 Oracle、Sybase等。所有的数据库系统都支持SQL,我们通过学习SQL这一种语言,就可以操作各种不同的数据库。SQL是一个综合的、通用的、功能极强的关系数据库语言。SQL既是自含式语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互,用户可以在终端键盘上直接输入SQL指令对数据库进行操作;作为嵌入式语言,SQL语句能够嵌入到高级语言的程序中,供程序员设计程序时使用。而在两种不同的使用方式下,SQL的语法结构基本上是一致的。SQL语言设计巧妙,语法十分简洁,完成数据定义、数据操纵、数据控制的核心功能只用了 9个动词:CREATE、ALTER、DROP、SELECT、INSERT、UPDATE、DELETE、GRANT、REVOKE。SQL的语法接近英语口语,所以用户容易学习,也容易使用。

9 Go

Go也称为Golang,是一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。Go是一门非常年轻的编程语言,它起源于2007年,并在2009年正式对外发布。Go语言首先在Linux及Mac OS平台上运行,后来追加了对Windows系统的支持。Go语言是一个开源的项目,任何人都可以免费获取编译器、库、配套工具的源代码。Go语言的语法类似于C语言,是编程语言设计对类C语言的重大改进。它继承了与C语言相似的表达式、控制流结构、数据类型、指针等思想,还具备C语言最擅长的编译后运行效率,但它在C语言的基础上对语法进行了大幅简化。Go语言被很多人誉为“21世纪的C语言”“互联网时代的C语言”。Go语言为并发而生,它从底层原生支持并发,从根本上将一切都并发化。Go语言将并发编程变得极为容易,无须使用第三方库,无须处理回调,无须关注线程切换,仅一个关键字就可以轻松搞定。Go语言支持交叉编译,是第一门完全支持UTF-8的编程语言,程序员可以在Linux系统上进行开发,然后在Windows系统上运行。Go语言的主要目标是将静态语言的安全性和高效性与动态语言的易开发性有机结合。它的编译速度快,并提供了功能强大的标准库,兼具了效率、性能、安全、健壮等特性。Go语言的强项在于它非常适合开发网络并发方面的服务,比如消息推送、监控、容器等网络基础服务。对于高性能分布式系统领域,Go语言无疑比大多数其他语言有着更高的开发效率,所以在高并发的项目上大多数公司会优先选择Go作为开发语言。Go语言也是一门通用的编程语言,它的用途广泛,还可以用于系统编程、图形图像驱动编程、移动应用程序开发和机器学习等诸多领域。很多重要的开源项目都是使用Go语言开发的,其中包括Docker、Go-Ethereum、Terraform和 Kubernetes。纵观近年来的发展趋势,Go语言已经成为云计算、云存储时代最重要的基础编程语言。Go语言的语法简单、规则严谨、没有歧义,非常容易学习,而且学习曲线平缓。Go语言功能完善、质量可靠的标准库为编程语言提供了充足动力,程序员在不借助第三方扩展的情况下就可完成大部分基础功能开发,这大大降低了学习和使用的成本,上手非常容易。Go语言的简单、高效、并发等特性吸引了众多传统语言开发者的加入,一个熟练的开发者只需要短短的一周时间就可以从学习阶段转到开发阶段,并完成高并发的服务器项目开发。 nsACT7AH8Z1T9Ne8YOCHAnn2zmlh7wY8VDYsximCeflkNYB+U0WrM6xNTGMJw8D/

点击中间区域
呼出菜单
上一章
目录
下一章
×