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

embedded/2024/10/9 13:31:24/
cle class="baidu_pl">
cle_content" class="article_content clearfix">
content_views" class="htmledit_views">

一句话总结编程语言

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

一句话总结

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

class="blog-extension-box">

http://www.ppmy.cn/embedded/120824.html

相关文章

【含文档】基于Springboot+Vue的果蔬种植销售一体化服务平台(含源码+数据库+lw)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 系统定…

设计模式-策略模式-200

优点:用来消除 if-else、switch 等多重判断的代码,消除 if-else、switch 多重判断 可以有效应对代码的复杂性。 缺点:会增加类的数量,有的时候没必要为了消除几个if-else而增加很多类,尤其是那些类型又长又臭的 原始代…

Arch Linux 与 Valve 建立直接合作关系

Arch Linux 项目负责人 Levente Polyak 在邮件列表上宣布与 Valve 建立直接合作关系。 Valve 将在两个方面支持 Arch Linux 项目:构建服务基础设施和安全签名 Enclave。 这一消息并不令人惊讶或出人意料,因为Steam Deck 掌机使用的发行版 SteamOS 其实…

linux下recoketmq安装教程

RocketMQ 是一个开源的分布式消息中间件,由阿里巴巴团队开发并捐赠给 Apache 基金会。它提供了高吞吐量、高可用性和易扩展性等特性。下面是在 Linux 系统上安装 RocketMQ 的基本步骤。 环境要求 64位操作系统:推荐使用Linux/Unix/Mac,但也…

【若依】postman调试出现认证失败,无法访问系统资源

如果前后端都已经连接通了,但是调试出现错误代码,可能是因为没有授权的问题,需要获得授权。 授权内容在cookie中 把cookie中的token内容粘贴到postman里面 这个时候再在postman里测试接口,发现可以拿到数据了

打造备份一体机,群晖科技平台化战略再进阶

数字经济时代,海量数据不断涌现,并成为核心生产要素,驱动着企业生产方式和商业模式发生深刻变革。 与其他生产要素不同,数据要素具有非稀缺性、非竞争性等特征,且只有在具体业务场景中才能充分释放其价值。尤其是近年…

【IPv6】IPv6地址格式及地址分类(组播、单播、任播)整理

IPv6地址格式 IPv6 地址从 IPv4 地址的 32 bits 扩展到 128 bits,IPv6 地址的表示、书写方式也从 IPv4 的点分十进制,修改16进制的冒号分割 IPv4 点分格式(.) 192.168.11.11 IPv6 冒号分割(:) 2408:8459:3032:0000:0000:0000:0001:a9fd IPv6 的规范…

精密制造的革新:光谱共焦传感器与工业视觉相机的融合

在现代精密制造领域,对微小尺寸、高精度产品的检测需求日益迫切。光谱共焦传感器凭借其非接触、高精度测量特性脱颖而出,而工业视觉相机则以其高分辨率、实时成像能力著称。两者的融合,不仅解决了传统检测方式在微米级别测量上的局限&#xf…