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

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

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

  别再打自己脸了,蠢货!

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

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

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

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

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

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

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

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

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

  没有好的

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

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

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

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

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

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

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