^^ c++ 当然就是整个计算机科学

1,ideal Lang

计算机科学,在程序设计语言上的发展,整体处在相对低级的阶段,主要是相对于 ideal Language 而言的。

这个世界上存在一种语言,及其编译器,它能够达到一个效果:

人类写得任何一段代码,ideal-compiler 都能够从程序最高阶同义的层面,生成效率最高的二进制 obj 文件。

我们首先要承认,

(1)人类并没有发明ideal Language;

(2)ideal Language 又肯定是可以存在的;

(3)但 ideal Language 确实还发明不出来。

2,实际的语言

基于 ideal Lang 的未出现,相当于我们承认了这样一个事实,任何编程语言的程序设计,都必须考虑它运行之上的目标机器和系统软件。

那么,在这个层面上,C++ 就是整个计算机科学

运行效率,开发效率,各种语法背后的机制,大量的 言规范本身的 api,都需要透视整个计算机系统来达到对 C++ 高效的应用,和各种错误的避免与解决。

STL 沉淀了最经典的数据结构与算法

模版增强了预编译器的作用

多态实现的原理

封装效果的实现

异常处理的产生与处理

多姿多彩的编译选项的实现原理

多线程机制的实现

原子操作的实现

这些工具怎么用是最佳实践,很多都依赖对整个编译系统和计算机系统的理解,依赖于理解 C++ 源码如何一步步变成机器码,以及理解为何变成这样的机器码才是最佳的。

3,编译器趋势

编译器理论,在框架层面是由形式语言来维持的,无论是前段词法语法等,代码优化也有很多图的算法在起作用。

往后随着AI的崛起,编译器开发,将有以前的计算机科学家开始转到数学家手上

相关推荐
点云SLAM3 分钟前
C++内存泄漏检测之手动记录法(Manual Memory Tracking)
开发语言·c++·策略模式·内存泄漏检测·c++实战·new / delete
好评1246 分钟前
【C++】二叉搜索树(BST):从原理到实现
数据结构·c++·二叉树·二叉搜索树
zylyehuo8 分钟前
error: no matching function for call to ‘ros::NodeHandle::param(const char [11], std::string&, const char [34])’
c++·ros1
程序猿炎义38 分钟前
【Easy-VectorDB】Faiss数据结构与索引类型
数据结构·算法·faiss
星火开发设计1 小时前
C++ 函数定义与调用:程序模块化的第一步
java·开发语言·c++·学习·函数·知识
天赐学c语言1 小时前
1.20 - x的平方根 && vector的扩容机制以及删除元素是否会释放内存
c++·算法·leecode
CC.GG2 小时前
【C++】用哈希表封装myunordered_map和 myunordered_set
java·c++·散列表
52Hz1182 小时前
力扣24.两两交换链表中的节点、25.K个一组反转链表
算法·leetcode·链表
老鼠只爱大米2 小时前
LeetCode经典算法面试题 #160:相交链表(双指针法、长度差法等多种方法详细解析)
算法·leetcode·链表·双指针·相交链表·长度差法
ValhallaCoder3 小时前
Day53-图论
数据结构·python·算法·图论