数学 只是 工具, 不是 科学 的 本体 。
现代科学 以 数学 作为 科学的本体, 从 数学 出发 来 认识科学 、 研究科学, 已经走入了 死胡同 , 基本上 沦为 文字游戏 和 数字游戏 。
科学 的 本体 是 直观 和 逻辑 。
人们 通常 认为 数学 是 逻辑 的 代表, “如果 数学 不逻辑, 谁(哪个学科)敢说逻辑 ?” ,
事实上, 数学 = 逻辑 + 数字游戏 ,
数学中, 逻辑 只占 30% , 数字游戏 占 70% 。
逻辑 思维好的人, 数学 不一定好 。
程序 也是 逻辑 的 代表, 但 好的 程序员 不一定 会 解方程 。
程序 侧重于 “直观逻辑”, 数学 侧重于 “数字直观” 。
啥? 数学 侧重于 直观? 是不是 说 反 了 ?
没错, 数学 更注重 对 数学符号 的 敏感, 比如 对 数字 、 算式 、 几何图形 的 敏感 。
所以, 把 程序员 的 招聘要求 和 数学 硬 挂上钩 是 不合理 的 。
《数据结构》 里 只需要 初等数学 的 知识 。
《数据结构》 就是 一些 节点 串来串去, 只有计算 时间复杂度 和 空间复杂度 才需要 数学, 但 也 只要 初等数学, 最高深 也 就是到 对数 为止 。
对于 程序设计, 或者 软件科学, 一说到 宗师级 的 境界, 必然 首先 提到 算法(Algorithm),
但 算法 可以 分为 2 部分, 一部分 是 数学, 一部分 是 直观 和 逻辑 。
《数据结构》 课程 里 基本 都是 直观 和 逻辑, 不需要 高深 和 专业 的 数学演算 。
而 算法 里的 数学 部分 是 比如 加密算法 DES 、RSA, Hash 算法 等 。
所以, 算法 里的 直观逻辑 部分 和 数学 部分 是 不等同 的, 不可 混为一谈, 要将 两者 分清, 才能更好的 认识 算法 和 软件科学 。
微积分 的 概念 很好理解 。 如果 仅仅 从 直观 和 逻辑 上 来 理解的话, 很好理解, 3 岁 以上 的 儿童 就可以理解 。
让人觉得 专业 的是 那些 数学公式 和 推导计算 。
但 这些 数学公式 和 推导计算 是 重要的, 它们是 重要的 工具 。
其实 我们 完全 可以用 演绎法 来计算 微分 和 积分, 就是比较 耗费工作量,
更重要的是 手工演绎法 得到的 不是 准确的 “理论值”, 这和 数学方法 还是有 质 的 差别 的 。
所谓的 手工演绎, 不是只能由人来 操作, 也可以是 计算机 来操作 。
演绎法 就是 根据 微积分 的 直观 和 逻辑 模型, 把 一个 圆 切分 为 很多很短 的 边 组成的 多边形, 来求 圆周率 。
又或者 把 坐标系 里的 曲线图形 分割为 很多很窄 的 矩形, 来求 曲线图形 的 面积, 这比如在 物理学 里 求 变加速 运动 的 路程 。
但是 演绎法 得到的 不是 准确的 “理论值”, 所以 数学工具 还是 需要 的。