返回介绍

第18章 请勿陷入对技术的狂热之中

发布于 2024-08-21 21:40:05 字数 2280 浏览 0 评论 0 收藏 0

我不知道你是不是一位有宗教信仰的人。无论你信仰何种宗教,我肯定你会同意我的看法,历史上许多最血腥、最残酷的战争,在某种程度上都是为宗教而战的。

这里我并非是在抨击宗教,也并非以某种方式表明某种宗教与生俱来的善与恶。我只是希望你能清楚地意识到,恪守教条的信仰往往有很大的煽动性。

软件开发也是如此。软件开发和技术的虔诚很容易像信仰生命起源或至高无上的神的存在一样。尽管一般我们不会因为某个人喜欢iOS超过Android就杀死他,但是我们确实有一种倾向,总想在没人注意的时候给对方点颜色看看。

我坚信,如果你能让自己不成为某种技术的信徒,你会在职业生涯之路上走得更远。在本章中,我们将探讨为什么会是这样的情形。

我们都是技术的信徒

这是真的,你还是承认这一点吧。你对某种技术或编程语言存在偏见,认为它是最好的——至少大多数程序员是这样的。这很正常。我们总是对自己做的事情充满热情;只要是有激情、有热情,就很容易变得极度感性。来看看职业运动员。

对技术虔诚的一大问题是,我们中的大多数崇拜某项特定的技术,只是因为自己熟悉这种技术。我们很自然地会相信自己选择的是最好的,然而这会让我们经常忽略任何反对意见。我们不可能充分了解现存的所有技术,从而给哪项技术最好作出最英明、最睿智的判断,于是我们倾向于选择我们了解的技术并先入为主地认为它是最好的。人生多艰,无暇他顾。

尽管这一行为的起因合理又自然,但其实具有破坏性和局限性。当我们武断地只根据自身经验就固执己见时,很容易只与理念相同的人打交道而排斥其他人,最终我们只会固步自封、墨守陈规。我们自以为找到所有答案,却只是裹足不前。

在我职业生涯的相当长的一段时间里,我都是操作系统、编程语言甚至文本编辑器这些技术的忠实信徒。然后我才逐渐意识到,我没必要只是选择最好的而贬低其他的。

天生一物必有用

不是所有的技术都是伟大的,但多数被普遍应用的技术至少是好的。一样东西如果不好,就不会为人所知或使用,也不会成功。诚然,环境是随着时间而变化的,但重要的是,我们必须认识到:至少在历史的某个时间点,每项技术都被看作是那个时代里好的甚至是伟大的。

有了这样的视角会有助于你理解:在很多情况下,解决问题并不只有一个好的或是最好的方法。同理,最好的编程语言、框架、操作系统,甚至是文本编辑器不会只有一种。你可能会喜欢某项技术多过其他,或者用某种编程语言的效率要高过其他,但是称其最好并无必要。

发生在我身上的转变

让我自己相信这一点经历了一段漫长的艰难时间。我花了无数时间与人争论为什么Windows比Mac好得多。我为C#和其他静态类型语言大声疾呼,我认为它们可以把Perl或者Ruby这些动态语言甩开几条街。现在我讲起来都有些惭愧,我那时甚至会严厉斥责那些不这么认为的开发人员——他们怎么敢相信那些我都从来不用的技术?

令我大开眼界的是在我第一次担当一个Java项目的项目组长的时候。在此之前,我一直是.NET开发人员,专注C#语言。(好吧,其实也不尽然。在.NET技术出现以前我是C++的信徒。)我不能容忍用Java语言工作的想法。同优雅的C#相比,Java就是不入流。我甚至都不会使用Lambda表达式,我怎么可能喜欢用Java写代码呢?

最终我还是决定接受这份工作,因为这个机会实在是太好了,而且我认为这不过就是一个合同,我只要忍上区区一年而已。后来,我才发现,接下那份工作是我在职业生涯中所做出的最杰出的决策之一。使用自己一度厌恶的技术工作,让我从不同的视角审视所有的技术。事实证明,Java一点都不糟糕,我也能够理解为什么有些开发人员喜欢用Java而不用C#。

在做Java项目的那几年里,我学到的东西比之前工作中学到的都多。突然之间,我有了一个巨大的装满各式工具的工具箱,能用来解决任何问题,我再也不像以前那样死守着少数几个被过度使用的工具。

从那时起,面对其他编程语言,即使是动态语言,我都会抱有与面对Java时一样的开放心态,使用从中学到的任何知识和技能,使自己成为更好的程序员。我也放弃了对操作系统和框架的偏爱,努力尝试新东西之后再做评价。如果没有这段经历,我可能不会写这本书,又或者,我会写一本《为什么C#是最好的语言,其他语言都糟透了》。

不拘一格

不拘一格是本章的要点所在。没有理由去强烈坚持自己选择的技术就是最好的,而轻视甚至无视其他技术。如果固执己见,最终受损失的是你自己。

另一方面,如果你愿意对技术保持开放的心态,而不是固守自己已经了解的技术,声称它是最好的,你会发现有更多的机会为你敞开大门。

采取行动

- 列出你钟爱的所有技术,或者你觉得更胜一筹的技术。

- 针对这张列表里的每一项,想想它为什么吸引你。你都做了哪些比较来确定它确实是更胜一筹?你真的使用过它们的竞争对手吗?

- 挑选一门你厌恶的技术,找几个喜欢它的人,开诚布公地讨论为什么他们喜欢这门技术。更进一步,你也试着用用它。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文