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

高性能

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

高性能技术

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

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

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

可参考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等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值