目录

几种主流编程语言的优势与不足

目录

几种主流编程语言的优势与不足

转载地址:http://blog.csdn.net/dongfeng9ge/article/details/74634563

在初级程序员阶段,每个人都不可避免遇到选择编程语言和职业方向的难题。我挑选了几个常见的编程语言,分析了优缺点和职业方向,以供想当程序员的人参考。

C/C++

一句话概括:

大多数中国程序员的第一个语言

C

语言是面向过程语言在当代的鲁殿灵光,常用于编写 。

C++

C

语言的一个超集,既有指针又有对象使它成为最复杂的语言。

C/C++

的优势:几乎所有现代编程语言都脱胎于

C/C++

,因此了解了

C/C++

,就了解了关于编程语言的一切,非常有利于快速掌握其他各类编程语言。

C/C++

的不足:据说

C/C++

发明的时候为了提高入行门槛和行业收入水平刻意制造了学习难度。

C/C++

的优势:

C/C++

可以被嵌入任何现代处理器中,几乎所有操作系统都支持

C/C++

,跨平台性非常好。

C/C++

的不足:尽管

C

语言体型小巧,可最常使用的

C++

规模可观且拥有大量极为复杂的功能交互方式,容易造成资源浪费。

职业路线:

(1)

首推

Unix/

等操作系统软件的开发和 。

2

ROM

的定制,以及

App

NDK

开发。

3

)用

Cocos2d-x

开发游戏也是

C++

程序员的好出路。

一句话概括:

最长寿的语言

Java

是最典型的面向对象语言。

Java

不仅吸收了

C++

语言的各种优点,还摒弃了

C++

里难以理解的多继承、指针等坑爹概念。今明两年毕业的大学生大多是

Java

的同龄人(

1995

年)。

Java

的优势:

Java

平台不断迎来新功能,比如移动互联网时代的

Android

, 时代的

,人工 时代的

TensorFlow

Java

的不足:国内

Java

及其衍生技术的就业环境被培训班破坏得太厉害,培训班

HR

曾问我:“

Android

不吃香了,你能推荐几个

讲师吗?”

Java

的优势:

Java

是世界上使用范围最广的语言——

Java

环境安装时那句“

3 Billion Devices Run Java

”谁没见过?

Java

的不足:

Java

占用大量内存,并且启动时间较长——搞

Android

的都被

Windows

系统中的

Android AVD

坑过。

职业路线:

1

)招聘网站上常见的“招聘

Java

开发”指的就是狭义的

Java

开发——基于

JavaEE

的后台开发,以前一度流行过

SSH

框架和

SSM

框架,现在入门建议学习

SpringMVC

框架。

2

)在移动互联网时代,

Java

可用于

Android App

开发。但

Java

之于

Android

的地位可能被

Kotlin

取代,并且近年培训班造成了低水平

Android

程序员的泛滥。

3

)在大数据时代,

Java

可用于

Hadoop

的开发,前景非常广阔,但可能有泛滥的趋势。

4

)在 时代,

Java

可用于

TensorFlow

的开发。

C#

一句话概括:

自称不是

Java

Java

语言

C#

是微软看到

Java

太火了而发明的和

Java

语法差不多的语言。

C#

的优势:

C#

的最大优势在于全面集成

.Net

库,提供出色的功能与完美的库访问能力。

C#

的不足:由于集成

.Net

库造成跨平台能力太差。

C#

的优势:

时代的到来让

Unity-3d

开发者有很好的发展前景。

C#

的不足:目前

.Net

在国内就业环境不太好,收入较低。

职业路线:

1

)招聘网站上常见的“招聘

C#

开发”和“招聘

.Net

开发”指的都是狭义的

C#

开发——基于

.Net

框架的后台开发。

2

Unity-3d

也用

C#

作为开发语言,除了能开发

3D

游戏,在

VR

时代也会大放光芒。

一句话概括:

不是

Java

语言的语言。

是一种动态类型、弱类型、基于原型的直译式脚本语言,也是使用频率最高的给

HTML

网页增加动态功能的语言。外行最常闹的笑话是以为它是

Java

语言的分支。

JavaScript

的优势:作为脚本语言,

JavaScript

可立即运行而无需等待服务器响应,速度非常出色。

JavaScript

的不足:代码在用户电脑上运行,可能会被别有用心的坏人恶意利用。

JavaScript

的优势:

JavaScript

是动态类型语言,学习难度低。并且掌握了

JavaScript

语言就等于成为能同时开发网页(

)、后台(

)、移动端(

Native

Weex

)的全栈工程师。

JavaScript

的不足:

JavaScript

过于依赖浏览器,在不同的浏览器上有不同的表现。

职业路线:

1

)首选

的初心:网站和手机站的前端页面开发。

2

)用

Bmob

云端代码进行后台开发

3

)基于

Native

PhoneGap

Weex

HBuilder

AppCan

进行 ,只需写一遍代码,就有

Android

两个软件

4

) :包括 公众号、微信小游戏、微信小程序。不要把这个方向当成中国特色方向,国外的

Android

机也是需要

PWA

开发的。

5

)如果以上四样全能做到,那么你就是全栈工程师。

SQL

一句话概括:

离不开的语言

SQL

是一种专精于数据库的特殊目的语言。用于存取数据以及查询、更新和管理关系数据库系统。

SQL

的优势:存储过程可以重复使用

,

可减少数据库开发人员的工作量,开发速度快。

SQL

的不足:和

Java

语言的大多数设计模式一样,

SQL

开发速度是靠牺牲运行速度换来的。

SQL

的优势:

SQL

可设定只有某此用户才具有对指定存储过程的使用权,安全性好。

SQL

的不足:不同数据库系统之间的

SQL

不能完全相互通用,可移植性差。

职业路线:

1

)掌握了

SQL

可以从事

DBA

Database Administrator

,即数据库管理员),主要负责业务数据库从设计、 到部署交付的全生命周期管理。

一句话概括:

需要拿着游标卡尺学习的语言

是一款服务器端解释型开源非编译脚本语言。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是

C/C++

)很轻松地联结在一起。

Python

的优势:

Python

学习简单,被誉为“最易学习的语言”

Python

的不足:

Python

存在一些只在特定情况下才会出现(无法重现)的

bug

职业路线:

1

)用

Django

框架进行

Web

开发:和

Java

没什么两样。

2

)用

PIL

框架进行图形处理

3

)物联网:

Raspberry Pi

等物联网平台都选择了

Python

作为开发语言

4

Python

有一个无所不能的

Hack

库,如果认为“打工是不可能打工的”就去当一个自由的黑客吧

一句话概括:

世界上最好的语言

是一种通用开源脚本语言。语法吸收了

C

语言、

Java

Perl

的特点,利于学习,使用广泛,主要适用于

Web

开发领域。号称“世界上最好的语言”

PHP

的优势:

PHP

学习简单,易于快速上手。

PHP

的不足:

PHP

的运行速度比较慢。

PHP

的优势:历久弥新的

PHP

拥有庞大而活跃的官方社区,开发者面临的大部分难题都有现成的解决方案,很多十几年前的解决方案在当代也有指导意义。

PHP

的不足:

PHP

的错误处理机制比较糟糕,以为

PHP

需要支持大量旧版本的功能。

职业路线:

1

)适合进行

Web

开发,配合

Node.

效果更佳。

一句话概括:

被培训班害苦了的语言

都是

OS X

系统上的专用语言。

Objective-C

在三年前是国内收入最高的语言,从去年开始大量培训班输出了一大堆“三年经验”的速成“

iOS

工程师”成了脉脉匿名区的笑话。

Objective-C

的优势:苹果提供了丰富的工具和库以便开发者使用

Objective-C

开发软件。

Objective-C

的不足:

Objective-C

拥有自己独特的编程方法思路,与其他编程语言思路差别较大。

Swift

的优势:随着时间推移,

Swift

iOS

OS X

软件中占的代码比例会越来越多。

Swift

的不足:版本更迭太快,不同版本差别过大,近年发生过几次“从精通到重新入门”的情况。

Objective-C

Swift

的优势:因为仅需要在少数平台上运行,不容易遇到兼容性问题。

Objective-C

Swift

的不足:这俩语言的就业环境被培训班彻底毁了,现在才开始学这两种语言可能会有像

2007

6000

点时入市的散户的结局。

职业路线:

1

)这两种语言都是专为

iOS

OS X

服务的,入行前记得先准备一台苹果电脑和苹果开发者账号。近年培训班造成了低水平

Objective-C

Swift

程序员的泛滥。

Kotlin

一句话概括:

运行在

JVM

但不是

Java

的语言

Kotlin

是最新问世的一个基于

JVM

的编程语言,专用于开发

Android

Kotlin

的优势:和

Java

的互操作性极佳。其他

JVM

语言都实现了自己语言的标准库。而

Kotlin

则使用

Java

的标准库,只是对其进行了扩充。更轻巧,

Apk

更小。

Kotlin

的不足:同时可能也继承了

Java

比较坑爹的东西。

Kotlin

的优势:因为弱化了数据类型,学习成本较

Java

低。

Kotlin

的不足:能且仅能在

Android Studio 3.0

上运行,这点有点像易语言。

职业路线:

1

)只能用来开发

Android

。即使你想干点别的,除了

Android Studio 3.0

还有别的编译器吗?