主流编程语言简述

本文将简要的介绍一些主流的编程语言,对于一些没有列举到的,因为真的太多了,如果真的感兴趣,不放自己查一下它。本文介绍的编程语言简述的内容来自John Sonmez《软技能2 软件开发者职业生涯规划》和一些网上资源进行整理得到。

C
C语言诞生于美国的贝尔实验室,由D.M.Ritchie以B语言为基础发展而来,C语言是当今仍被使用的古老编程语言中的一种。C语言是面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。
如今的许多其他的主流编程语言都起源于C,因此,只要你掌握了C的语法知识,当你学习其他的语言的时候将会容易一些。我大学学的第一门编程语言就是C语言,那时候学的真的是相当痛苦。在第二学期学的是Java,发现里面的语法知识例如声明变量、循环语句、条件语句等都和C语言一致。这也验证了语言之间的相通性。

C++
1979年,Bjame Sgoustrup到了贝尔实验室,开始从事将C改良为带类的C(C with classes)的工作,在1983年该语言被正式命名为C++。C++是C语言的继承,它既可以进行C语言的过程化设计,也可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++广泛应用于系统开发、引擎开发等应用领域,在游戏开发中也使用了C++。
由于我对C++不是很了解,这里我引用作者的一句话:“但是,C++是一种非常复杂的语言。我不建议初学者从C++这种高度复杂的语言开始学习。它就像手榴弹一样威力强大,但就像人们说的一样,一不留神也会炸断你的双腿。”

C#
C#是微软公司发布的一种由C和C++衍生出来的面向对象的编程语言、运行于.NET Framework和.NET Core之上的高级程序设计语言。
桌面程序、Asp.net网页等都会用到C#。

Java
Java是Sun公司的James Gosling在1995年创建的。Java是一门面向对象的编程语言,不仅吸收了C++的各种优点,还摒弃了C++i难以理解的多继承、指针等概念。
Java广泛应用于Android应用、网站、嵌入式等领域。

Python
Python是一种跨平台的计算机程序设计语言,是在1989年由Van Rossum创建。Python可以用面向对象的方式编写,也可以以过程式甚至是函数式的方式编写,它是一种解释性语言(不用编译)。
Python可以应用于Web和Internet开发、科学计算和统计、人工智能、网络爬虫等领域。

JavaScript
1995年,由Brendan Eich在短短10天之内创建出来的,是一种具有函数优先的轻量级、解释性或即时编译型的高级编程语言。
JavaScript用于嵌入动态文本于HTML页面、读写HTML元素等场景。

PHP
PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP最初是由Rasmus Lerdorf于1994年创建的,它和JavaScript一起支撑了绝对大多数的Web应用开发。
Facebook起初就是用PHP写的,此外还有著名的wordpress。

Objective-C
Objective-C是扩充C的面向对象编程语言,最初是由Brad Cox和Tom Love在20世纪80年代初创建的。后来Objective-C被广大程序员遗忘了,几乎都已经消逝了,苹果公司又把它重新捡起来,决定在Mac OS X操作系统上使用它。但起初它并不是很流行,直到苹果公司推出了iphone和ios,吸引了数以百万计的新程序员。
应用领域:ios软件开发、Mac软件开发

Swift
Swift,苹果于2014年WWDC苹果开发者大会发布的新开发语言,可以和Objective-C共同运行于MacOS和ios平台,用于搭建苹果平台的应用程序。Swift结合了C和Objective-C的优点并且不受C兼容性的限制。

Kotlin
Kotlin是一种在Java虚拟机上运行的静态类型编程语言,被称之为Android世界的Swift,由JetBrains设计开发并开源。Kotlin可以编译成java字节码,也可以编译成JavaScript,方便在没有JVM的设备上运行。
在Google I/O 2017年,Google 宣布Kotlin成为Android官方开发语言。

Go
Go又称Golang,是Google的Robert Griesemer,Rob Pike与Ken Thompson开发的一种静态强类型、编译型语言。Go语言和C语言非常相似,但与C不同的是Go具有垃圾回收功能、内置并发编程的特性等。
Go与C语言一样也是面向系统的编程语言,但它也逐渐扩展到更多领域:如Web。

那么多语言我应该学习哪种语言?在我的上篇博客也涉及到了,地址:给计算机专业的同学一些建议在这里我还想说几句。存在即是合理,不合理的总会被淘汰。很多时候一个程序是由很多语言完成的,学一门语言要深入,语言只是工具,就像螺丝刀是拿来修电脑、手机的工具,你每天在研究螺丝刀的组成材料有什么用,你要拿着这个工具去修电脑啊。
学会一门工具后,再多多练练内力(数据结构和算法),这样以后学什么语言都快,所以不必纠结学的语言会不会过时。
纠结哪门语言好,或者说什么某某语言天下第一,其实这些都是不恰当的。语言之间没有什么可比性,每一个语言的应用场景不同。一字螺丝刀拿来拧一字槽口的螺钉,十字螺丝刀拿来拧十字槽口的螺钉,不同的槽口使用不同的螺丝刀,那有什么十字螺丝刀比一字螺丝刀好之类的话。
在这里放上我最喜欢的一句话,这句话激励着我前进,希望这句话也能激励你们。这句话是广州大学校长在2019年新生交流大会说的:大学是科学的殿堂,是刻苦钻研、用知识武装自己的场所。在广州大学没有保险柜,没有人能担保你们每个人四年后都能从这所大学获得毕业证书和学位证书。

你可能感兴趣的:(新手)