我的用来鉴别所谓编程语言专家的方法

开发 后端 前端
“专家”这个词常言过其实。人们时常高估某人在某领域的水平,对于这种认知偏差,心理学界有大量的研究著作。怎样才能知道一个人是不是专家,比方说编程专家?反证法是也。你无法证明某个人是专家,但某种程度上,你可以判断此人不是专家。

本文的思想是在与默罕默德谈话中受到的启发得来。[译注:此默罕默德非彼默罕默德。]

 

在思索“孰是神”的过程中,希腊人发现,与其回答“孰是神”,回答“孰非神”更容易。由此发明了反证法或逆推法。我常用此法来辨别专家真伪。

例如:

“专家”这个词常言过其实。人们时常高估某人在某领域的水平,对于这种认知偏差,心理学界有大量的研究著作。怎样才能知道一个人是不是专家,比方说编程专家?反证法是也。你无法证明某个人是专家,但某种程度上,你可以判断此人不是专家。

我最常问的一个问题是:”对于这个编程语言,它有没有让你讨厌或不爽的地方?” 根据回答判断如下:

  1. 真正的专家不会被这类问题难倒,更不会感到惊讶。他/她很可能对此类问题深思熟虑过。
  2. 专家们通常自有主张。但是我们要看的,并不是有没有主张,而是看此人是否固执己见。什么意思?意思是此人的主张是否有理有据,或者是否有数据支持。此人是否承认自己的主张是有前提条件的,是否接受新思路或新数据且改变先前的主张。
  3. 编程语言固有缺点,但这并不代表这门语言不好。

两个实例:

C++

  1. 认为C++的异常处理不好——谷歌代码规范明令禁止使用异常。
  2. 认为C++引用语法有问题——我个人不爽的是,无法通过函数本身来判断传递参数是不是引用类型。显式引用好过隐式引用。

Python.

  1. Python的封装机制有问题——这需要另辟专文探讨。
  2. Python太慢——这也需要另辟专文探讨。

很明显,我们需要给这第二个回答加上问号,给这个“专家”加上引号。

译文链接:http://www.vaikan.com/my-favorite-question-to-the-programming-language-expert/

责任编辑:林师授 来源: 外刊IT评论 编译
相关推荐

2015-07-20 11:32:07

编程语言

2021-06-08 11:54:45

语言CPU指令集

2014-05-23 10:25:48

Clojure

2013-03-25 11:11:37

编程语言编程语言书籍编程语言书

2013-01-30 10:28:06

阅读方法编程书籍程序员

2018-07-18 08:48:11

2018-12-04 15:46:53

编程语言Python

2018-07-18 15:05:01

2013-08-12 09:45:06

最佳编程方法编程方法编程

2019-11-18 15:07:54

编程语言C#

2013-06-27 10:31:39

2013-04-11 09:23:36

.NET编程Haskell

2011-02-25 10:12:09

GoWeb

2013-05-09 09:26:59

软件开发开发方法

2018-08-20 21:10:35

编程语言PythonJava

2013-06-20 09:38:57

2012-09-28 13:23:43

编程语言语言进化程序员

2016-10-09 20:31:19

2022-10-20 15:45:12

编程开发

2018-01-15 14:20:57

编程语言学习方法
点赞
收藏

51CTO技术栈公众号