别跟我说你是程序员

  Edsger Wybe Dijkstra曾经说过,一个有过 BASIC 编程经历的人是很难学会好的编程习惯的。作为一个潜在的程序员,他们已经被脑残并且无法修复。

  大师就是大师,他们说的话往往不但是当时正确,现在看也令人猛醒。只要把BASIC换成其他XX语言,他的话依然成立。

  很多“程序员”使用以浮点计算为主的数学库进行编程,但却对浮点数及浮点运算的基本原理一无所知,就是一个明证。他们太依赖于所谓的库或现成的方法了,离开了库就什么都不会写了,但又对库的性质一无所知,只是在想象中以为自己知道而已。

  我并不是反对使用库,库能带来方便,能提高生产率。我反对的是对库的性质一无所知地或者在错误的场合下滥用库,尽管偶尔(甚至经常)这种滥用也能“成功”。但归根到底这是在沙滩上建房子,是建立在侥幸和偶然基础上的“成功”,是在冒险,是在玩火。就如同小孩子玩火一样,几百次也不一定引起一次火灾,但这样玩下去,早晚会摊上大事儿的。

  有感于很多使用数学库的“程序员”对浮点数一无所知,对于究竟什么样才能算是“程序员”,我的判断标准是:

     不使用浮点类型数据,计算1.23平方的精确值,语言不限。

  这个标准是否科学,欢迎大家提出看法。

原文地址:https://www.cnblogs.com/pmer/p/3358981.html