编程很容易是怎样的体验?( 二 )


但是 , 每一个程序员都曾经花一整天的时间来解决一个bug , 而这个bug往往只需要一些很简单的东西来修复 , 比如添加一个“;”字符 , 或者把你是否听说过冒名顶替综合症?如果你听到的是“编程很容易”的言论 , 你可能听到的就是冒名顶替综合症 , 理论上讲 , 冒名顶替者综合症是指当一个人觉得自己能力不足 , 无法胜任自己所从事的工作 , 他们的成功是受之有愧的;但当人们真正遇到那些看似影响生产力的瓶颈时 , 当他们不得不修复或打磨自己的编程工作时 , 或者他们无法在StackOverflow上快速搜到答案时 , 你就明白什么是冒名顶替综合症了 。
积极的、“这很容易”的鸡汤并没有告诉你 , 当事情发展到极端困难时 , 当需要勤奋的工作和持续的努力时是什么情况 。当别人无法给你答案 , 在这些时候 , 你不得不重新考虑整个架构 , 因为你写的有些代码就是有问题 。
我说过 , 编程领域是初学者的沃土 , 确实如此 。但是对谷物来说是肥沃的土地 , 对杂草来说也是肥沃的 , 甚至更适合杂草 。我们需要讨论利用这块肥沃土地的人 。有大量初学者的地方 , 也有大量的人在利用这些初学者 。
这种情况有很多表现形式 , 有些人甚至不知道自己在做什么 , 他们只是本能地骗人 , 夸大自己的技能 。通常你会看到他们是这样的:在软件开发方面有两年的经验 , 写书和提供建议 , 有时价格不菲 。你会在会议上看到他们 , 或用文章宣传 , 或用其他类型的媒体 , 他们有时打多元化牌 , 有时打初学者牌 , 推波助澜 , 利用轻易上当的大批初学者 。
而且 , 一个人不需要是一个彻头彻尾的骗子 , 就可以呈现出一个欺骗性的领域专家的形象 , 他所需要做的就是玩弄人们的感情 。例如 , 你告诉一些人们想听的但错误的话 。必须找到最能奉承你的受众的关键词——“编程”是其中之一 , 因为编程是一个相当模糊的东西 , 但“程序员”这个标签是一个相当受追捧的标签 , 就像“资深”这个标签被那些想在20岁出人头地的人所追捧一样 。因此 , 你需要找到能让受众满意的标签 , 并以一种明确无误的方式应用于你的受众 。这就是为什么作为受众的你总是会遇到“编程很容易”(并不是) , 或“HTML是一种编程语言”(并不是) , 或“编程主要是关于善用谷歌/StackOverflow搜索”这类观点 。
利用初学者的这些人往往会为了强调自己的观点 , 而先树立一个敌人 。“不要相信任何人说的相反的观点”是一个简单而有效的方法 , 可让受众接受你的思维模式 。守门人也是一个很好的词 , 凸显了特权的论述总是很吸引人 , 守门人在压制你 , 他们不公正 , 他们在欺骗你 , 告诉你这一切很困难 , 他们让你做艰苦、无聊的工作 。这个技巧不仅仅适用于编程 , 它是操纵民意的一个简单技巧 , 只要有敌人 , 就树立一个简单的东西来召集受众反对 , 比如反对编程门槛 。但不管这种技巧如何 , 主要的一点是在沟通的内容上要模糊 , 这样要反驳这种沟通就很棘手 。
来看看我的例子 。关于“编程很容易”到目前为止我写了几千字 , 而且还没有写完 。“HTML是一种编程语言”就有点复杂了 , 因为“编程”的含义在不断变化 。关于HTML的纯技术真相是 , 它不是真正意义上的编程 , 而是一种标记表现语言 。它是对一个网页的外观和内容的不完整描述 。在任何与网络有关的项目中 , HTML都是一个必要的工具 , 但HTML不是孤立使用的 , 它不是你进行编程的地方 。但是 , 如果有人告诉你HTML是一种编程语言 , 他们的辩解通常是关于你对“编程”的定义 , 但他们很少有兴趣潜心研究自己话语的真正含义 。正如我所说的 , “编程”是一个标签 , 就像任何荣耀的标签一样 , 这个标签让人们 , 尤其是无能的人 , 表现得非常有自我防卫意识 。