热度 11||
编程最基础的能力是抽象能力,也就是把实际问题转换成数学问题的能力。因为我们日常用的数学大多只需要小学算术能力,所以这绝大多数的转换确实不超过小学数学知识。这样就解释了为何小学数据都不及格的人也可以写程序。
另 外,在许多程序员眼中,数学物理问题可以抽象成神秘的模块,只需要知道怎么调用就可以了,不需要了解内部机制。这些年成长起来的程序员尤其如此——现在还 有谁是从空白的CPU开始写程序的?举一个抽象的例子:让一个小学数学不及格的程序员写开平方程序(sqrt函数)能行吗?当然可以!我们只需要告诉他一 个迭代公式,然后让他明白只要不断地循环计算这个公式,直到前后差别小于某值就可以了。然后别忘了给那个函数取一个叫sqrt的名字。大多数程序员会说:哇哦,原来只用加减乘除就可以算平方了,真神奇!而更大多数的程序员则只需要从标准库调用就好了,开平方函数和一个能在Word文档中加水印的函数没有区别。这恰恰就是编程最基础的能力要求——抽象能力。
Highway: 事情要都这么简单就好了。
要知其然知其所以然才能写好程序。比如最简单的List吧,说白了就是一串东西,但是哪个适合你的问题呢,可能很多人并不知道。Java的Li ...
Highway: 事情要都这么简单就好了。
要知其然知其所以然才能写好程序。比如最简单的List吧,说白了就是一串东西,但是哪个适合你的问题呢,可能很多人并不知道。Java的Li ...
霜迹板桥: 想到那个费伯纳切数列的NB战例
double x = (1 + sqrt(5))/2;
Fib(n) = (x^n - (1-x)^n)/sqrt(5);
不过我很好奇,程序员怎么写来保证运算速度,公式一样,我写的 ...
GMT+8, 2024-11-22 20:47 , Processed in 0.034346 second(s), 19 queries , Gzip On.
Powered by Discuz! X3.2
© 2001-2013 Comsenz Inc.