当前位置: 首页 > news >正文

软件都用哪些编程语言写的?

一句话总结编程语言

编程语言千千万,每种语言都有自身独特的魅力。

一句话总结

  • C语言简洁自然、灵活又可怕。

  • C++是C的超集,类型严格,泛型模板强大至极,博大精深很难摸透。

  • Java是更安全的C++,跨平台中间件的老大哥。

  • C#为对抗Java而生,是Java的调皮版,延续不少C++优秀的特性。

  • JavaScript继承C语言简洁自由风格,引擎高效代码易写,是交互式网页脚本的首选,Node.js诞生让它成为服务器客户端全栈语言。

软件都用哪些编程语言写的?

这个问题很大,现实世界包含很多软件组件,从操作系统内核到应用程序,从服务器端到嵌入式,软件分层多种,编程语言也包罗万象。

  • 操作系统内核以C居多
    • C语言是内核首选,Windows/Mac/Linux内核均是C语言,IOS和Android内核分别是macOS内核和Linux,同样是C语言。另外,Rust正在逐渐被计划进入内核代码。
    • C++属于编译型语言,一样可用于写OS,事实上,用C++会加大复杂度。由于C++面向对象设计的优秀性,OS一般会用一套C语言机制”模拟”实现面向对象编程的接口。
    • Symbian OS用C++编写,很可惜,在智能手机时代,被Android和iOS打败。

  • 驱动程序以C居多,也有C++
    • 驱动程序一般跟随内核编程语言,比较例外的是macOS的驱动,默认用C++.
    • 和内核一样,Rust在逐步进入驱动代码。

  • Shell解释器以C为主
    • 最早的Shell解释器建立在内核之上,Unix为典型代表,用C语言最自然不过。

  • 游戏引擎采用C/C++居多
    • 为了实现高效,而且大部分OpenGL/DirectX接口均为C/C++相关,游戏底层引擎也不例外。
    • 游戏引擎还被细分为底层引擎、物理引擎和接口引擎, 现代游戏设计越上层使用更高级语言,比如C#/JS/Java/Python等等,底层可能会用C++引擎。

  • PC/移动端APP以Java/Kotlin/C#/ObjC/Swift/HTML(5)为主
    • Java和Kotlin一直是Android主流语言,ObjC/Swift在iOS系统不二选择,PC端使用的语言更多…

  • 脚本类语言解释器
    • 大部分脚本类语言解释器早期会以C语言或C++编写,在性能满足要求后,后期逐渐用更高级语言替代。
    • Perl/PHP/Python解释器均用C语言。

  • 浏览器和服务器以C++/Java/Javascript…为主
    • 大部分浏览器引擎采用C++.
    • 服务器以Java语言为主,JS脚本为辅。


微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。

我是程序员小迷(致力于C、C++、Java、Kotlin、Android、iOS、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。

欢迎关注。助您在编程路上越走越好!


http://www.mrgr.cn/news/41001.html

相关文章:

  • 【AI大模型】深入Transformer架构:编码器部分的实现与解析(上)
  • Redis篇(最佳实践)(持续更新迭代)
  • 应用于人形手机器人超小型HarmonicDrive哈默纳科减速机
  • 系统架构设计师教程 第15章 15.4 SOA主要协议和规范 笔记
  • 【分别为微服务云原生】探索ActiveMQ延迟消息队列:功能、优势与Quartz定时任务的较量
  • YOLOv11:重新定义实时目标检测的未来
  • Github 2024-10-02C开源项目日报 Top9
  • 最近新学单词
  • 【ComfyUI】ComfyUI-AnimateDiff-Evolved
  • 从零开始搭建UVM平台(七)-加入monitor
  • Golang | Leetcode Golang题解之第450题删除二叉搜索树的节点
  • 解决银河麒麟操作系统V10软件包架构不符问题
  • 付费计量系统通用功能(8)
  • 迎国庆,开源完全免费工作流引擎AntFlow 0.9最强版本发布,支持tidb,提升易用性and more...
  • 昇思MindSpore进阶教程--内存复用
  • Stable Diffusion绘画 | 来训练属于自己的模型:炼丹参数调整--步数设置与计算
  • deepin 无线网络搜不到信号
  • 银河麒麟桌面操作系统V10 SP1:取消安装应用的安全授权认证
  • 查缺补漏----程序查询方式和中断方式计算题
  • 如何使用Redisson的布隆过滤器?