2014-09-19 17:26 "@edison87915"的内容
写的真好,banq 大师 ...
请称呼banq大叔,时隔这么多年,这里有一个更正,算法不能归结于数学,应该归结于逻辑领域,一段逻辑算法也是算法,不能因为“算法”里面有一个“算”就只是数学,数学可以用算法表示,但是不是所有算法都可使用数学公式表达的。
这里引出一个问题,我们训练逻辑是从数学开始还是编程开始?从我多年编程经验来看,虽然因为工作经历关系,需要数学的机会比较少,但是我的逻辑能力还是在不断加强,所以,从我个人经验来看,好像数学不是训练逻辑的唯一手段,因此,如果需要训练逻辑能力,我认为从小可以从编程开始,然后再学习数学,因为编程比较适合小孩起步,实践性操作性强,小孩对电脑兴趣也比较高。
从理论上看,软件和数学都属于形式逻辑,特别是函数式编程更等同于数学,但是函数式编程确实难以普及的问题,因此,这里存在人体工程和数学之间的平衡问题,不能过分强调数学重要性而忽视人性化,也不能强调人性化而不愿意用理性去思考。
台大的逻辑学课程:按这里
另外,也请注意“程序”和“软件”的区别,程序中有“序”这个词语,CPU是按时序执行的,程序是写给CPU执行的,因此,程序是一个基础概念,而软件中有“件”的概念,是组件 构件的意思,也就是说,程序多了就需要软件概念了,软件不只是让CPU执行,也要让人可以维护和拓展。
所以,程序员和软件工程师(软件开发人员)这两个概念是不同的,在程序员世界里,也许算法是最重要,但是在软件工程师眼里,我们要让算法变得可管理,我们将算法看成是聚合体,比算法更重要的是业务逻辑以及模式框架和架构。这是方向和途径的区别。战略和战术的区别。
软件的复杂性与构造定律
[该贴被banq于2014-09-23 08:47修改过]