打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
从科技和教育上来看,我们并没有做好准备

底层科技的创新,和基础学科的教育,一直是我们的薄弱环节。

看过俄罗斯的数学物理教材之后,再回想自己读书时的国内教材,就知道我们只相当于俄罗斯的高中水平。

我们的教材是培养对数学、物理、计算机、机械、电子等领域有一点点了解的工程师的,而不是培养真正的大牛的。

工业软件的辅助下可以完成设计工作,就是我们对理工科从业人员的要求。

这个要求可以说是很低。

至于工业软件是怎么做出来的,工业软件的底层需要多深的数学物理思维,这个问题只是在最近5年才稍微受到关注。

既缺乏原创的核心科技,又缺乏实现原创的教育底蕴,就是科技领域的现实情况。

我们的实变函数论只讲前6章,讲到平方可和函数空间[捂脸]

但是俄罗斯的这本实变函数论有18章之多:

不但仔细讲了因为集合上的距离定义而导致的微积分问题,而且讲了因为集合上的顺序定义而引起的数学问题。

都是从数学公理层面进行讲解的。

距离顺序是集合的两个不同的深层基础特征。

写过C++的都知道,一个类的迭代器只需要重载等于==、不等于!=、单增++这3个运算符,不需要重载大于>小于<

为什么?

因为等于和不等于,只是测量的距离,到迭代器末尾的哨兵节点(sentinel)的距离(是否为0)。

迭代器的末尾哨兵节点,可以认为是这个集合的极限点(limit)。

C++的迭代器问题,只需要确定当it++的时候它与sentinel的距离趋向于0就行。

至于it0和it1谁大谁小,这个场景并不需要。

所以for循环里的条件是it != list.end(),而不是it < list.end()。

这两种情况的数学区别在哪里?

就在于集合的距离和顺序是两个东西,不一定需要同时具备。

俄罗斯的实变函数论直到第14章才开始讲这个问题,我们的实变函数论只有前6章。

所以我们的理工从业者很难想出迭代器这种设计模式。

因为我们的数学基础不够,很难注意到代码细微的数学差异。

一旦离开了别人的框架而去完整的做一个东西的时候,你会发现每一个细节背后都有很深的数学道理,

每一个微不足道的设计背后,都是数学的艺术[捂脸]

链表这种数据结构为什么可以运行?

因为数学上确实允许只有==++这两种运算的集合。

因为链表的元素是不断malloc和free的,他们的内存指针的顺序在这个场景下并不能表示链表元素的顺序。

它没法像数组一样用i < sizeof(a) / sizeof(a[0])去判断内存是否越界,而只能用p != NULL

最早想出链表这种数据结构的人,我觉得他肯定学过实变函数论的前14章。

这就是创新的数学底蕴。

我们的数学书太浅了,所以新的代码设计模式都是别人想出来的。

其他领域也类似。

文科生们的还是不要一阵子情绪激动,一阵子情绪低落了。

我们确实需要时间来做好数学物理上的准备。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
关联容器学习(multimap,multiset)_1
C++ Primer第九章顺序容器
C++ STL 学习小结
盘一盘如何「体系化」学习 Python 基础知识
Java8系列 (三) Spliterator可分迭代器
Python高级用法总结—(列表推导式,迭代器,生成器,装饰器)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服