swift c c++ c# java 各自的特点及优劣对比?


Author: Kimmy

swift c c++ c# java 各自的特点及优劣对比?

知乎链接


谢邀,题主大过年的真勤奋。

这么多个不同领域的语言放在一起说,还真费点劲。不过有缺点什么的都是有历史原因的。

C语言偏底层,简洁但是麻烦。抽象起来不像其他的语言那样方便。所以应用大部分都是硬件或者是系统组件。

C++结合了C语言的底层编程能力同时提供了丰富抽象能力,同时无可避免的增加了语言的复杂度。
换句话说,做事情的方法不止一种,而用C++就可以给你几乎所有的选择,于是C++能利用各种抽象做所有事情(当然前提是你能驾驭得起。

Java就像是一个简化了的C++编程语言的子集,单继承、GC和Exception的应用,以及一套庞大的平台无关的标准库。于是缺点就是,无法脱离运行时环境(JVM)而存在。但是因为简单易学,周边工具链完善,再加上推广做得好,在很多时候就成了首选。
于是自己给自己背上了历史包袱。

C#把Java遇到的坑给填了不少,然后又引入了不少新的设(da)计(keng),而且敢于尝鲜,也有丰富完善的周边支持。缺憾就是大部分人认为,C#只能用于微软的平台,所以成为了一个限制。

至于Swift
Objective-C没发展前途了,于是他换了汤药出现了,顺便把这些年比较潮的语言特性和实践整合了进去。

看吧,没有什么可对比的,除非你是tech leader,否则公司用什么你就用什么吧。

以上。

创建时间:2015-02-20 最近更新时间:2023-11-03