当您了解React的同时,也了解Polymer; MySQL,还有MongoDB; Laravel,也可以快递; Android,还有React Native; Bash,还有Python。
![](https://i-blog.csdnimg.cn/blog_migrate/d208868ba03eb186e75e588389909695.png)
对于初学者来说, Polyglot程序员是一个可以用许多编程语言编写可以执行相同操作的有效计算机程序的人。
当您了解许多竞争技术时,感觉很棒。 您可以轻松地获得最佳的( est? )工具来完成工作,并从一开始就高效地工作。
在Oracle上工作了20年的公司老兄,除了Oracle之外,还讨厌您了解MySQL和MongoDB。 *眨眼眨眼*。
谈论了解最佳工具和提高生产力,了解许多竞争技术也是一把双刃剑。 怎么样? 让我为您列出。
*免责声明:内容待定*
我将我的思想分为两类,即“专业人士”,我将在其中讨论成为一名多语种程序员为什么是一件好事,而在“缺点”下,我将列出那些不好的人。
专业人士
1.世界上最好的
许多流行的技术之所以出名是有原因的。 他们将某些思想和方法带到了桌面,以有效解决某些类型的问题。 当您了解许多这些意识形态和方法论时,在不同平台上利用它们的功能并不难。
例如,我最近使用Android中的React样式编码,即一个函数负责更改整个应用程序的UI,并且将整个应用程序的状态作为对象维护。 这大大改善了我的工作流程,并减少了调试应用程序的时间。
2.不得使用劣质工具安定下来
您知道jQuery,而且知道它很棒。 您可以使用它来进行各种DOM-FU 。 真可悲! 它不是编写SPA(单页应用程序)的有效工具。 但是,当您仅了解jQuery并且时间紧迫时,可能会被迫使用它。
![](https://i-blog.csdnimg.cn/blog_migrate/71a46b642eb2ff2950032f2870f18826.gif)
如果您还对React或Angular有所了解,则可以为自己省下很多麻烦(无论现在还是将来)。
甚至还有一个技术术语: 领域特定语言或DSL。
3.混合n匹配的力量
如果您既了解Bash脚本又了解Python,则可以轻松地将其bash脚本替换为Python等效脚本,以防日后需要承担解析HTML的任务,以及您今天执行的脚本。
您在BASH中自定义的HTML解析例程永远无法击败Beautiful Soup 。 在那里,我说了。
![](https://i-blog.csdnimg.cn/blog_migrate/05a6b73c32ae93a5905cda4d6b5f47e7.gif)
另一方面,如果您不了解Python,则只剩下常规的bash。 祝你好运。
结论 : 当只需要一行 AWK 时,为什么要编写Python脚本列出所有正在运行的进程 ?
布朗尼(Brownie)指出您,如果您知道这不是关于BASH或Python。
4.更快的迭代
DSL极大地提高了将新代码发布到生产环境中的速度,并缩短了整体上市时间 。 我是DSL的忠实拥护者,我是如此庞大,甚至还录制了有关它的视频。
![](https://i-blog.csdnimg.cn/blog_migrate/5e2a2cfcdffd11edee25c6ff5100f66f.png)
缺点
1.选择会让你偏头痛
您知道的技术越多,您就越困惑。 您将始终发现自己在诸如开发人员生产率,文档,性能,社区等方面进行加权技术评估。
没有技术是明确的赢家。 如果您认为确实如此,那么您很有可能没有看到太多的世界。 大声笑。
例如,最近我处于不得不在Laravel或Express.js之间进行选择的情况。 我对这两种语言都“精通”,但都不精通。 在那个阶段,我的想法更像是:
“ Laravel有我需要的一切! 但是Node通常更快,这就是他们所说的。 我想为我的聊天应用提供最快的服务器。 嗯……但是随着PHP 7的发布以及HHVM之类的技术的发展,PHP也被认为要快得多。 嗯…Express非常轻巧,但是Laravel具有更好的模板系统。 关闭! 我喜欢闭包。 嘿PHP! 我可以关门吗? 函数编程怎么样?”
请杀了我。 :(
![](https://i-blog.csdnimg.cn/blog_migrate/6a917b493caa1807a062309bb81fbfb6.png)
2.很难跟上所有技术
“无知是幸福”。 我完全同意! 至少要跟上您的技术堆栈。 当您尝试跟上您曾经处理过的所有技术时,您总是会发现自己四面八方,无所适从。
“反应XX已发布! 一定要读。 Android Oreo也将发布! 必须观看所有开发人员的演讲”
同时,较新版本的Laravel也已发布,并且淘汰了很多东西。 拉屎! 无论您多么努力,您的知识都将很快过时。 如果您远离自己喜欢的技术,即使是一两个月,社区也将引入并弃用许多功能,这些功能将使您在返回时一头雾水。
我仍然记得当我开始编写Pollen Chat时 ,Laravel是4.2。 当我启动Pollen Chat时,Laravel已经是5.2-beta。 同时我在哪里? 我正在编写使用基于Laravel API 的Android应用程序:P
所以,有我在一个全新的服务,这是我刚刚推出,但基本框架已经过时,而且有在新版本重大更改,所以我不能只是“ 作曲 更新 ”我的代码。
3.您将更多地成为雇佣军,而不再是专家
杂乱地使用许多技术,使您几乎没有时间专注于任何单个技术的最佳实践。 您始终非常专注于使所有功能协同工作,并且重视诸如“加快产品上市时间”之类的事情。 同样,您只需要满足于自己,您已经为工作选择了最好的工具,因此获得的性能也达到了最大化,因为无论如何您都无法帮助它。
![](https://i-blog.csdnimg.cn/blog_migrate/ab7df7a718fe9bfee9961a8842f45372.gif)
您知道如何设计网站,移动应用程序和/或后端API,但是在性能,最佳实践和安全性等许多方面,由于忙于跟上工作,您从未真正有时间获取专业知识。
4.公司对雇佣军不感兴趣。 大多!
您有一个档案库可以备份您的Android开发技能,但是您仍然不知道Android项目的文件夹结构具有99.99%的准确性(这确实发生在我身上,早在2016年),这证明您不是专家。主题。
采访者:“您甚至都不知道Android项目的文件夹结构”,
我:“但是,我知道Java,XML和Gradle代码的去向……”,
采访者:“不,对不起,没有被录用!”。
但是,初创公司正在迅速改变技术领域。 尽管仍然有许多创业公司依靠“ Algorithms Trivia”淘汰不良的开发人员,但这些人表现出了聘请“万事通”的愿望。
所以,你去民间! 这就是我想与其他黑客分享的内容。 如果您有类似的经验或需要补充的内容,请发表评论。 我也曾经写过类似的故事。 在这里阅读:
感谢您的时间。
如果您喜欢这篇文章,请将其推荐给您的网络,并关注我以获取更多类似文章。 如果您喜欢开发数字事物,还应该订阅我的YouTube频道。
推特 | YouTube | 雷恩工作室
直到下次…
From: https://hackernoon.com/polyglot-programming-the-good-and-the-bad-a2e024a416fa