PowerShell 已死:Python 更好的 5 个原因
PowerShell 已死:Python 更好的 5 个原因
Image Source: Unsplash
在 Windows、Mac 和 Linux 环境中编写脚本和自动化管理任务时,有很多编程语言可供选择。 Python 和 PowerShell 都是系统管理员常用的选项,它们各有优缺点。乍一看,探索每种语言的优点可能具有挑战性。这两种选择有它们自己的权衡,可能会使一种比另一种更适合您的组织。这似乎是个人喜好的问题,但有一些客观的品质可以帮助您做出明智的决定,决定哪种工具最适合您和您的团队。让我们来看看为什么 Python 编码在这五件事上比 PowerShell 更好:
PowerShell 首席架构师 Jeffrey Snover 现在在 Google 工作
在撰写本文时, 杰弗里·斯诺弗 PowerShell 的原始架构师,现在是 AI 和 Google Cloud 团队的成员。还有围绕着一个戏剧 指控 微软因为他发明了 PowerShell 而降级了他。这个消息让人很难说 PowerShell 比 Python 更好。如果微软负责 PowerShell 的顶级架构师迁移到谷歌,这对 PowerShell 的未来有何影响? Snover 的迁移也支持 Python 优于 PowerShell 的论点,因为 Google 使用 Python 作为其 AI 工具。如果 Google AI 团队成员要迁移到 Microsoft,如果他们在团队中使用 PowerShell,那就太奇怪了。如果他们不这样做,会有人真正关心吗? PowerShell 的未来可能已注定。不过,关键是你不能相信任何一种技术的未来。没有人知道未来会怎样,因此您需要根据目前最适合您的组织的方式做出决定。
Python有更好的工作前景
Python 一直比 PowerShell 更适合一般用途。而且由于组织更愿意雇佣 Python 开发人员而不是雇佣 PowerShell 专家,因此 Python 是就业前景的更好选择。虽然 Python 和 PowerShell 都可用于创建脚本解决方案,但 Python 通常用于非脚本应用程序。这些可能包括 Web 开发、创建数据可视化和科学计算。这意味着 Python 比 PowerShell 具有更广泛的工作前景。如果您学习 Python,您将拥有可应用于其他行业的额外技能。虽然学习编写 PowerShell 脚本在某些组织中可能很有价值,但它的影响范围并不相同。几乎没有组织不使用某种计算机系统,但有些组织不依赖数据可视化或科学计算。
Python兼容更多工具
长期以来,Python 一直是使用 Apache Spark 和 Scikit-Learn 等工具的数据科学家的热门选择。现在,由于它在 TensorFlow、Keras 和 PyTorch 等工具中的使用,它也是机器学习的首选语言。借助 Ansible 和 Fabric 等工具,Python 也是远程服务器管理的首选语言。所有这些工具都可用于构建远远超出 PowerShell 所能提供的解决方案。例如,Apache Spark 是一个分布式处理平台,可用于各种任务,包括实时分析。虽然您可以编写与 Spark 交互的 PowerShell 脚本,但它并不像使用 Python 那样简单。
Python 还兼容各种操作系统和网络工具。如果您主要使用 Windows 环境,毫无疑问 PowerShell 是您的最佳选择。但是,如果您同时使用 Windows 和 Linux 系统,或者希望将来能够将您的自动化代码应用到其他设备和系统,那么您最好选择 Python。虽然 Windows PowerShell 是一个很棒的工具,但它在可以应用的环境方面受到更多限制。
Python 具有更好的脚本可用性
在确定哪种语言更好时,您应该考虑在每种语言中编写代码的难易程度。由于 Python 是一种通用语言,因此它比 PowerShell 更容易上手。您可以使用您喜欢的 Python IDE 立即开始编码。无需担心任何特殊要求或注意事项。一旦你变得更加熟练,你就可以转向更高级的 IDE,比如 PyCharm 甚至是内置在 Python 环境中的 Spyder。使用 PowerShell,您必须依赖可用于您首选语言的任何工具。有一个内置的代码编辑器,但它很简陋,你不能用它来编写大型脚本。您还必须考虑您正在使用的 PowerShell 版本。与 Python 一样,PowerShell 有着悠久的历史,您必须确保使用正确的版本来满足您的需求。
PowerShell 支持取决于 Microsoft
尽管 PowerShell 是用于自动化管理任务和执行系统管理的出色工具,但重要的是要注意它是 Microsoft 专有的。这意味着,如果 Microsoft 决定停止对该产品的支持,那么 PowerShell 将不会有未来的更新。微软拥有巨大的 墓地 他们杀死的产品和技术。正如我们已经看到计划终止对 Internet Explorer 的支持一样,像微软这样的公司有时不得不就停止支持哪些技术做出艰难的选择,以推进新技术的发展。虽然 Python 不是单一公司拥有的产品,但它是开源的,并得到大量工程师社区的支持,他们积极为其代码开发做出贡献。这意味着 Python 编程语言突然消失的可能性要小得多。根据您在组织或公司文化中的工作,这可能是在学习 Python 和 PowerShell 之间进行选择的决定性因素。
结论
最终,哪种语言更好的决定取决于您。您可以使用本文中的要点来帮助您做出决定,但您还需要考虑团队的经验、使用的工具以及组织的需求。实际上,在脚本和自动化方面没有万能的解决方案。根据您的需要,您可能会发现自己在使用 Python、PowerShell 和 Azure 自动化等工具的组合。如果您刚刚开始编写脚本,可能很难知道从哪里开始。如果您不知道从哪里开始,您可能会错过脚本和自动化带来的许多好处。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明