动态绑定、编程语言的性能、灵活性

动态绑定

不是所有的语言都采用动态绑定。

编程语言的绑定

  • 对于类的成员函数,C++默认采取非动态绑定的方式,定义为virtual类型才会用动态绑定。

  • Java默认就是动态绑定,除非用final修饰。

编程语言的性能

硬件性能越强,软件效率的苛刻要求就越来越低。

没有绝对的性能高低,只有相对的性能高低

  • C++不一定比C语言效率低。

  • 解释型语言一般低于编译型语言。

  • Python性能相比C/C++,会低很多。但用于AI训练的脚本,底层调用性能更高的C++,AI训练大部分耗时都不是Python脚本,脚本编写控制反而很简单,所以选择Python没有问题。

  • C语言可以看成汇编语言的高级语言对应版,在某些最常用的时候还是改用汇编。比如字符串和内存拷贝、比较。

  • 经过优化的Java程序可能比没有优化的C/C++效率还要高。

灵活性

梅西和德布劳内经常会传出匪夷所思的助攻,慢动作看一般会惊讶于他们的脚法,还可以这么踢?!

灵活性与是否接近硬件无关

  • C语言是被广泛认为非常灵活的编程语言,它极其精简的风格,对数据和地址的控制能力,再加上内嵌汇编,可以想象整个硬件都在它控制之内。

  • C++自C语言集成,保留了大部分C语言灵活自由的风格,自然也颇具灵活性。

  • Java和C#风格源自C/C++, 提供了足够的类库让程序员不好意思自己写基础类库,只有想不到,没有做不到。但这仅仅是可调用类库角度,单纯从语法上,和C/C++比,它们并非足够灵活。

  • Shell语言用于操作系统最基本的命令行交互,语法较为局限,语法灵活性偏低,但提供命令行参数机制、管道、重定向功能,这些机制非常灵活。

  • Python语法自由,功能强大,作为脚本语言灵活性很高。而Perl和PHP, 写法稍显古怪,有时不太易懂。


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

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

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

相关推荐
djjdjdjdjjdj几秒前
bootstrap如何修改警告框(Alert)的边框粗细
jvm·数据库·python
科雷软件测试3 分钟前
Python中schedule库:轻松实现任务定时自动化
python
努力努力再努力wz9 分钟前
【Linux网络系列】深入理解 I/O 多路复用:从 select 痛点到 poll 高并发服务器落地,基于 Poll、智能指针与非阻塞 I/O与线程池手写一个高性能 HTTP 服务器!(附源码)
java·linux·运维·服务器·c语言·c++·python
努力努力再努力wz12 分钟前
【Linux网络系列】万字硬核解析网络层核心:IP协议到IP 分片重组、NAT技术及 RIP/OSPF 动态路由全景
java·linux·运维·服务器·数据结构·c++·python
tjc1990100513 分钟前
golang如何使用t.Cleanup清理测试_golang t.Cleanup测试清理使用策略
jvm·数据库·python
LaLaLa_OvO17 分钟前
mybatis 引用静态常量
java·mybatis
小糖学代码19 分钟前
LLM系列:2.pytorch入门:3.基本优化思想与最小二乘法
人工智能·python·算法·机器学习·ai·数据挖掘·最小二乘法
Han_han91920 分钟前
常用API:
java·开发语言
minji...24 分钟前
Linux 线程同步与互斥(四) POSIX信号量,基于环形队列的生产者消费者模型
linux·运维·服务器·c语言·开发语言·c++
214396525 分钟前
如何提升SQL数据更新的安全性_使用行级锁与悲观锁机制
jvm·数据库·python