各种流行编程语言的优缺点
- Python
优势:简单易学,能够把用其他语言制作的各种模块很轻松地联结在一起。
劣势:速度较慢,且有一些特定情况下才会出现(无法重现)的 bug
- C/C++
优势:可以被嵌入任何现代处理器中,几乎所有操作系统都支持 C/C++,跨平台性非常好
劣势:学习难度大,且拥有大量极为复杂的功能交互方式,容易造成资源浪费
C语言是面向过程语言在当代的鲁殿灵光,常用于编写操作系统。C++是C语言的一个超集,既有指针又有对象使它成为最复杂的语言。
C/C++的优势:几乎所有现代编程语言都脱胎于C/C++,因此了解了C/C++,就了解了关于编程语言的一切,非常有利于快速掌握其他各类编程语言。C/C++可以被嵌入任何现代处理器中,几乎所有操作系统都支持C/C++,跨平台性非常好。
C/C++的不足:据说C/C++发明的时候为了提高入行门槛和行业收入水平刻意制造了学习难度。尽管C语言体型小巧,可最常使用的C++规模可观且拥有大量极为复杂的功能交互方式,容易造成资源浪费。
- Java
一句话概括:最长寿的语言
Java是最典型的面向对象语言。Java不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等坑爹概念。
优势:世界上使用范围最广的语言Java
劣势:占用大量内存,并且启动时间较长
- C#
优势:全面集成.Net 库,提供出色的功能与完美的库访问能力
劣势:跨平台能力太差,且在国内就业环境不太好,收入较低
- JavaScript
优势:学习难度低,并且掌握了 JavaScript 语言就等于成为能同时开发网页、后台、移动端的全栈工程师Java平台不断迎来新功能,比如移动互联网时代的Android,大数据时代的Hadoop,人工智能时代的TensorFlow。Java是世界上使用范围最广的语言——Java环境安装时那句“3 Billion Devices Run Java”谁没见过?
劣势:过于依赖浏览器,且代码在用户电脑上运行,容易被别有用心的坏人恶意利用
- SQL
优势:开发速度快,安全性好
劣势:SQL开发速度是靠牺牲运行速度换来的,且可移植性极差
- PHP
优势:社区庞大而活跃,易于快速上手
劣势:运行速度慢,且错误处理机制比较糟糕,需要支持大量旧版本的功能
- Objective-C
优势:拥有丰富的工具和库
劣势:拥有自己独特的编程思路,与其他编程语言思路差别较大
- Swift
优势:在 iOS 和 OS X 软件中占的代码比例越来越多
劣势:版本更迭太快,不同版本差别过大
- Kotlin
优势:和 Java的互操作性极佳
劣势:继承了 Java 劣势内容
- C#
一句话概括:自称不是Java的Java语言
C#是微软看到Java太火了而发明的和Java语法差不多的语言。
C#的优势:C#的最大优势在于全面集成.Net库,提供出色的功能与完美的库访问能力。VR时代的到来让Unity-3d开发者有很好的发展前景。
C#的不足:由于集成.Net库造成跨平台能力太差。目前.Net在国内就业环境不太好,收入较低。