`
wcgdonot
  • 浏览: 92079 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

[转] 信仰是如何毁掉程序员的

阅读更多

信仰是如何毁掉程序员的

我对自己有了新的发现——上天给了我神奇的能力,让我总能做出正确的技术选择。

 

信仰是如何毁掉程序员的

 

有些夸张,但的确很神奇。

回首我的开发生涯,我认为我使用的任何一种编程语言都是在当时那种场景下最好的。

同样的,我选择的框架,甚至操作系统也是最好的。

是的,我有这样惊人的能力,就是从技术的海洋中挑出最好的。这些技术我甚至不用亲自试一遍,但我却极力捍卫我的选择。

可能当你在阅读本文的时候,你已经发现了你也有这种神秘的能力。

大多数开发者有技术信仰

这是真的。

不要不好意思,你不是一个人。我,几乎每一个人,都与你同在。

Fotolia_52594846_XS_thumb

我们有些人已经从这种自我洗脑中清醒过来。另一些人则还非常幸福地并没有意识到我们所处的困境。但是我们中的大部分人至少拥有一个为自己信奉的技术信仰。

这很自然,因为大多数程序员进入软件开发这个领域是因为他们对软件开发充满了热情。任何你热爱的事情都非常容易导致你对它产生一些非常不客观的看法。

拿体育迷来举个例子,我自己并不是一个体育迷,但我知道不同种类运动的粉丝笃信他们支持的队伍是最棒的,尽管所有的证据都指向了相反的方向。

对自己选择和想法的捍卫是人类的天性。我们容易采纳新的相法,但是我们虔诚地捍卫我们已有的,而不需要太多的证据来支持他们。问题在于我们倾向于把我们对事情的看法与我们的身份,甚至我们作为人的价值捆绑在一起。

需要灵魂深处的搜索,但是如果你看一下你自己,你很有可能会发现,你可以列举出最好的操作系统,编程语言以及框架等等。

无知不是福

这种自我强加的信仰导致的问题是,它让我们看不到真相。

在我真正使用了一台Mac之前,我曾经花了无数时间争论它为什么这么垃圾。具有讽刺意味的是,我现在正在一台Mac上面写这篇文章,但是我通过远程桌面使用Windows Live Writer来写。

我的观点是,我们大多数人极力争辩我们选择的技术是最好的,而甚至没有尝试过别的技术。

想象一下,似乎很可笑。但是甚至今天,我都能发现我还是这样。

当我审视自己,问自己为什么的时候,我发现,大部分动机来自于我对我所学到的和掌握的知识的自豪和对我所不知道的知识的恐惧这两者的结合。

我发现,如果花一些时间学习一门技术并了解为什么别人这么喜欢它,我就不会如此轻易地把我不知道的技术当做“垃圾”或者“废物”一样扔掉。正如他人所说,一个人的垃圾正是另一个人的宝藏。

关于无脑信仰的问题

即使我不告诉你,你也知道,在这个世界上,无脑(脑残)的狂热是一股毁灭性的力量。你只需要去你最喜欢的国家新闻网站或者读一点历史就知道怎么回事了。

 

Fotolia_53739553_XS_thumb

 

虽然没有太多程序员会为PHP vs C#这样的问题而大动干戈——尽管我曾在这样一次相似的、挑衅性的、如今我极力反对的讨论中被指责不该丢椅子——很多开发者还是喜欢大声争论自己的意见,甚至盛气凌人地推翻他人的工作。我相信你们一定看到过很多这样的情景——如果你们常常上网的话。当我大胆的发表一些关于JavaScript的负面文章时,我自己也吞下了这样的苦水

所以,我们可能觉得,我们的无知并没有伤害任何人,并且我们觉得他们活该因为他们明显是错的,然而真相是,我们的无知造成了相当多的破坏。

回首过去,我感到非常羞愧,因为我将Perl程序员贬低得一无是处,完全否定他们的劳动成果,并且非常无知地推举我神圣的静态类C语言为可以净化他们的唯一救世主。

但是最重要的是,我发现我伤害的其实是我自己。

别再打自己脸了,蠢货!

我职业生涯最大的成长得益于,在我寻找一份C#开发的工作时,得到了一个非常好的机会去做一个JAVA项目的架构师。

我被这个决定折磨得够呛。因为我认为JAVA是垃圾、是邪恶的。JAVA缺少像C#那样的属性,需要手写getter和setter,所以每一个写JAVA代码的人明显是蠢货。

我几乎没有接受那份工作,但是我觉得待遇很好,可以勉强一下自己忍一忍过去算了,就像一个战俘等待有一天我的微软大帝可以拯救我。我想,我至少得脱离那种恶心的JAVA写法。

然而,经过了一些年的开发,编写良好的JAVA代码单元测试之后,我发现,其实不仅JAVA没那么屎,这个语言的一些长处和一些JAVA框架也值得称赞。

更重要的是,我开始意识到我过去的代码偏执使我关上了很多扇门。我开始觉得,可能我过去所有的技术选择都不一定是最好的。我开始思考,其实许多最流行的技术,它们之间并没有那么大的区别。

我开始意识到,相对于无脑崇拜某个我凑巧选择的技术,广泛地理解一系列技术和编程语言可以使我变得更有价值。

现在,我发现我对单个的技术理解得特别快,因为不再是“闭门造车”,我可以用我的大脑去比较和对比不同编程语言和技术之间的区别,这样使我对所有的一切都有了更深的理解。

说了这么多,我的观点就是,对技术的选择持封闭态度最后只会伤害你自己并限制你作为一个开发者的个人成长。

(这里又两本很好的书可以帮助你打破这些壁垒:《七周七种语言》去 当当网 看 | 去 亚马逊 看和《七周七数据库》 )

没有最好的

在结束这篇文章之前,但愿你能相信我说的”世上没有最好的技术或者编程语言“。

我不是在用说编程语言各有各的好、各自处理不同的情况来侮辱你的智商,。因为真相远比这个深刻。

在制作了超过40部非常广泛的技术和编程语言的课程之后,我发现了一些真相。

真相是,有很多很好的方法能做成同一件相同的事情,使用不同的工具和技术。

真相是,所有的编程语言和技术都有一些大错误和大弱点。

真相是,你学的不同技术越多,你越能发现大多数技术核心的东西是非常相似的。我指的是,编写软件的核心概念,无关乎技术和编程语言语法。

跟我一样,你也会发现,如果你愿意接受其他技术并且承认自己的无知,并从中学习,那么,不管你去了哪里,你都会找到很多乐于助人的友好人士,他们非常乐于把他们知道的东西教给你。

本文最初发表在brotherb 上。

分享到:
评论

相关推荐

    信仰是如何毁掉程序员的

    信仰是如何毁掉程序员的.我对自己有了新的发现——上天给了我神奇的能力,让我总能做出正确的技术选择。  我对自己有了新的发现——上天给了我神奇的能力,让我总能做出正确的技术选择。  有些夸张,但的确很神奇...

    普通程序员如何转向AI方向

    普通程序员如何转向AI方向普通程序员如何转向AI方向普通程序员如何转向AI方向普通程序员如何转向AI方向

    程序员转型的必备路线

    程序员做到一定程度,就很快达到了自己瓶颈。该如何提升,往那方面提升,如果拓展自己,本文中的内容,帮助你找到适合自己的突围策略

    程序员专用 编程输入法

    标题中的“程序员专用编程输入法”指的是专门为程序员设计的特殊输入法工具,旨在提升编码效率。这类输入法通常具有以下特点: 1. **快捷代码输入**:程序员输入法能够通过快捷键、组合键或者自定义短语来快速输入...

    程序员计算器

    程序员计算器是一款专为编程人员设计的实用工具,它在传统计算器的基础上扩展了功能,以满足程序员在日常开发工作中的特定需求。这款计算器不仅能够执行基本的数学运算,如加法、减法、乘法和除法,还包含了对程序员...

    程序员项目交接文档

    程序员项目交接文档概要 IT 项目交接文档概要是程序员在项目交接过程中的重要文件,它对项目的开发、测试和维护起着至关重要的作用。本文档概要将对程序员项目交接文档的主要内容进行概要介绍。 人事模块是程序员...

    程序员-工作日志示例

    程序员工作日志示例管理文档 工作日志是程序员日常工作中不可或缺的一部分,它可以帮助程序员更好地管理自己的时间、提高工作效率、记录工作进度、总结工作经验等。本文档是一个程序员工作日志示例,旨在帮助程序员...

    java程序员面试交流项目经验

    java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流...

    程序员教程(pdf)

    《程序员教程》是一本针对初学者和有一定经验的程序员精心编写的教材,旨在全面介绍编程基础知识和实践技能。这本书以PDF格式提供,便于电子阅读和随时查阅。它涵盖了程序员需要掌握的各种关键知识点,无论你是刚踏...

    程序员个性电脑桌面壁纸

    【程序员个性电脑桌面壁纸】这一主题,其实涵盖了两个主要方面:一是程序员文化,二是电脑桌面壁纸的个性化选择。这两者都是IT行业中与个人工作环境和精神风貌紧密相关的元素。 首先,我们来谈谈程序员文化。程序员...

    程序员简历程序员简历.pdf

    程序员简历程序员简历.pdf

    历年程序员考试真题

    2000-2010历年程序员考试真题,对软考程序员的一些试题总结,包含答案;程序员考试上午科目和下午科目的考试形式与考核内容已经趋于稳定,考生应紧扣考试大纲和指南,有针对性地进行学习。

    《程序员教程》 电子书下载

    《程序员教程》是一本专为编程初学者和有经验的开发者设计的电子书,旨在帮助读者深入理解编程概念,提高编程技能,以及掌握如何从数据中提取价值的关键知识。本书涵盖了数据挖掘、商业智能、商业分析和行业应用等多...

    什么样的人适合做程序员?程序员应该具有什么样的素质程序员四大禁忌

    在IT行业中,程序员是至关重要的角色,他们负责创建和维护软件、应用程序以及各种技术解决方案。那么,什么样的人适合成为程序员呢?程序员应具备哪些素质?同时,又有哪些禁忌需要避免呢? 首先,程序员需要耐得住...

    程序员浏览器程序员浏览器

    【标题】:“程序员浏览器”指的是专门针对开发人员设计的浏览器,这类浏览器通常具有增强的开发者工具,便于前端工程师进行网页调试、代码分析以及性能优化。它们可能会集成多种实用功能,如代码高亮、网络请求查看...

    程序员转正述职报告 程序员转正述职工作规划.docx

    程序员转正述职报告知识点 一、职业规划和职业发展 * 程序员转正述职报告的主要内容包括职业规划、职业发展和工作总结 * 程序员转正述职报告的目的是为了总结试用期的工作经验和学习体验,并对未来的职业发展进行...

    PHP程序员简历模板 iOS程序员简历模板 Android程序员简历模板 Web前端程序员简历模板 Java程序员简历等等

    iOS程序员简历模板 Android程序员简历模板 Web前端程序员简历模板 Java程序员简历模板 C/C++程序员简历模板 NodeJS程序员简历模板 架构师简历模板 通用程序员简历模板PHP程序员简历模板 iOS程序员简历模板 Android...

    程序员专用头像.zip

    在IT行业中,头像往往代表了个人在网络世界中的形象,对于程序员这个特殊的群体而言,选择一个合适的头像是展示自己专业性和个性的重要方式。"程序员专用头像.zip"这个压缩包文件,显然为程序员们提供了丰富的选择,...

Global site tag (gtag.js) - Google Analytics