候捷先生,您好
我是一名大陆的读者,很抱歉打扰您的时间。但是这个问题困扰了我好久,
而且对我来说是致命的。
我不是科班出生的,由於自己的爱好,自学了C Pascal,现在正在学习C++。但是对於程序设计老是不能进入状态,对於书上的题目做了很多,但是老是觉得自己欠缺点什麽。所以想请教侯捷先生,如果数学基础不是很好,没有学过离散,是不是在程序设计方面就一定不会有所作为。对於我们这样的自学人士,应该注意那些问题,采取什麽样的方法呢?请候先生为小生指明一条奋斗的方向。
致礼
●侯捷回覆:网路论坛上有许多基本教义派,但这些派别的基本教义都不相同。有的奉演算法为无上神明,一切的一切都要扯上演算法。有的奉离散数学为最高教义,好像离散数学不好,甚或没学过离散数学,就什麽都不是,什麽都不行了。
吓,无限上纲。
动辄扯上一些看了让人肃然起敬的学科和术语,在我看来都只是为了抬高自己。真正的高人,不需要藉任何外在因素来抬高自己 —— 不需要藉着自己的母校、自己的家世、自己使用的语言、自己使用的工具、乃至於自己使用的电脑的品牌
(真有人以自己使用 IBM 笔记电脑而觉得高人一等。这种人我见过不少。喜欢用名牌,很好,名牌之所以为名牌,绝不是浪得虚名,否则它不会屹立不摇。我也知道 IBM 的电脑很耐用,故障率很低,我也喜欢,但使用 IBM 电脑和高人一等全无关系)。
有人喜欢在名片上印满满的 title,喜欢说「那个某某某我认识呀,那个谁谁谁上星期才和我吃过饭」。如果你遇到那种名片上只有三个字(或两个字)的人,你一定是遇上了真正的大人物。
唔,好像说过头了,打住。你问:「如果数学基础不是很好,没有学过离散,是不是在程序设计方面就一定不会有所作为。」现今的大问题是,大家喜欢(或无知地)把软体开发或电脑知识视为一门单纯的科目,但难道你,是的,就是你,不知道这其中已经多麽繁复,分门别类多麽细致了吗?开发不同类型的软体,需要不同类型的基础知识。岂能一概而论,定於一尊?那麽多外文系的、土木系的、哲学系的、化学系的、物理系的、艺术系的┅,投身於软体开发行业,做得有声有色,你说他们读过所谓的离散数学吗?听都可能没听过咧。