而其他语言完全实现不了或者效果很差?
C语言,在开发最底层应用的时候,有不可替代性。而C++则属于结合底层和上层技术的语言,不可替代性没有那么强了。下面探讨一下这个问题。
底层应用嵌入式单片机,操作系统,通信等底层应用,一般使用C会更好,或者直接使用汇编语言。
高性能及服务器应用高性能服务器,游戏渲染等偏底层的应用,或者对性能要求很高的应用,用C++的比较多。
当然这个层面没有那么绝对了,比如Java在服务器领域也使用非常广泛,新贵Go语言也在服务器领域崭露头角,甚至JavaScript借助于node也在后端应用发力。
同样在游戏领域,也有基于C#的unity跨平台游戏引擎,也非常出色,腾讯的王者荣耀就是使用C#开发的代表作。
前端上层应用再往上层应用走,使用C或者C++的就很少了。
Android是Java的天下,当然Google的flutter也有前景。
iOS是object C的天下,后来者Swift也在苹果的强势推动下,使用得越来越多了。
至于桌面端,基本上是C#和Java的天下了。
但是有一个例外,就是Qt,这个对跨平台支持最全的框架,是基于C++的。从嵌入式到移动平台,再到桌面平台,Qt基本上可以通吃。不得不说,在需要支持多平台的时候,Qt是一个不错的选择。
web技术但是目前最上层的前端应用,还是html,css,JavaScript三剑客的天下。web前端应用就不说了!现在还有很多基于web技术的跨平台框架,可以同时开发桌面端,移动端应用,这其中的佼佼者有react native,week等。
这类框架的优势在于技术栈相对单一,掌握好前端技术,就可以做各端的应用开发了,不需要学习新的技术。比如flutter,也能开发多端应用,但是需要学习dart语言,需要熟悉flutter框架。所以学习flutter的性价比就没有那么高了。
可能有人担心web技术的性能!其实这个也属于多余的。web技术非常活跃,发展迅速。性能这块,随着webgl技术的成熟,已经完全不输本地应用了。
另外现在有一种新技术,Web Assembly,可以很好的弥补JS的短板。目前各大浏览器,也在积极的推进该技术,同时有很多基于该技术的应用在不断产生。
而且前面提到JavaScript(nodeJS)在服务器端应用也很广泛,而且性能不俗,长期发展,不排除JS一统天下啊(开个玩笑)!
总结总的来说,编程语言这个领域,使用什么语言或技术,没有那么绝对!
另外软件行业,很多东西都是分层结构的,在不同层次有不同的编程语言或者相关技术。
针对不同层次的应用,选择合适的技术,才能事半功倍。千万不要出现杀鸡用牛刀的情况,比如说用C语言开发网页!
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有