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

高性能、编译器编写语言、编程语言的高低贵贱

高性能

高性能是一个通用名词,可在服务器、客户端甚至浏览器实现高性能。对于大型网站、服务器后端、游戏后端,高性能是一个不可绕过的槛。

高性能技术

  • 池机制
    • 静态分配:就像编译型语言对代码的预处理,不像解释型语言动态解析。可以减少服务器动态分配资源带来的性能下降。比如内存池、进程池和线程池、连接池。

  • 数据复制
    • 不管是不同进程或线程之间还是内核态和用户态数据复制,都尽可能减少。

  • 上下文切换和锁
    • 在高并发处理下,上下文调度和锁逐渐成为更大的性能负担,需要尽可能减少。

可参考Linux高性能服务器编程等书籍获取更多信息。

编程语言出现之前,编译器或解释器用什么语言编写?

学习各种编程语言的同学们,一定会遇到类似的问题。一个简单通俗的回答是,当前已有什么才能用什么,没有什么就不能用什么,写好了某种语言的编译器后,才能用对应语言写它的编译器。

  • C语言编译器最早使用B语言编写,因为没有其他编译C语言的编译器,只能选用已有的编程语言。

  • GCC编译器编写时,已经有不少C语言编译器了。GCC早期是用C语言写的,是由Stallman从一个由Pascal语言编写的Pastel编译器改写。后期,GCC选择用C++编译器编译,再到之后,GCC换用C++语言编写。

为什么出现某种语言编译器或解释器是用相同语言编写的?

听起来这违反常理,事实上,任何一种语言只有它的第一个编译器/解释器不能用自身去编写,之后,均可用任何语言编写实现。不过,对于是否是本机native可执行文件,不同编程语言定位不同,可选择的语言会受限。

编程语言的高低贵贱

基于对当前使用的编程语言的热爱,大部分程序员会带"有色"眼镜看不同的编程语言。

理性一点

  • 每种编程语言都出现在历史的特定时间,都是为了解决特定需求而产生。

  • 没有哪一种语言适用于任何场景,想用某一种语言适配到所有场景也是不现实的。

  • 选择适当的语言,用于特定的需求,是好程序员的特点。

  • 如果用C语言开发当今的Android APP,也会碰一鼻子灰。


若文章对您有帮助,欢迎关注。助您在编程路上越走越好!

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

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


http://www.kler.cn/news/335868.html

相关文章:

  • c#里氏替换
  • Leetcode: 0041-0050题速览
  • 数据结构:基本概念及术语
  • 【代码随想录Day30】贪心算法Part04
  • 计算机毕业设计 校内跑腿业务系统的设计与实现 Java实战项目 附源码+文档+视频讲解
  • 小论插头DP
  • Golang | Leetcode Golang题解之第454题四数相加II
  • Stable Diffusion绘画 | AI 图片智能扩充
  • 01 从0开始搭建django环境
  • 用HTML CSS JS打造企业级官网-源码直接可用
  • HTML5 新元素
  • ubuntu切换源方式记录(清华源、中科大源、阿里源)
  • MVCC(多版本并发控制)
  • JVM类加载过程
  • 信息学奥赛一本通 2100:【23CSPJ普及组】一元二次方程(uqe) | 洛谷 P9750 [CSP-J 2023] 一元二次方程
  • Scrapy:简单使用、xpath语法
  • C++的异常处理机制
  • python字典里面的get方法
  • xgboost cross validation
  • 黑马JavaWeb开发跟学(十一)SpringBootWeb案例