TranslateProject/sources/tech/20190408 Bash vs. Python- Which language should you use.md
2019-04-15 08:52:25 +08:00

68 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[#]: collector: (lujun9972)
[#]: translator: (geekpi)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (Bash vs. Python: Which language should you use?)
[#]: via: (https://opensource.com/article/19/4/bash-vs-python)
[#]: author: (Archit Modi (Red Hat) https://opensource.com/users/architmodi/users/greg-p/users/oz123)
Bash 对比 Python你应该使用哪种语言
======
两种编程语言都有利有弊,这使得它们在某些任务上比对方更好。
![][1]
[Bash][2] 和 [Python][3] 是大多数自动化工程师最喜欢的编程语言。两者都有利有弊,有时很难选择应该使用哪一种。诚实的回答是:它取决于任务、范围、上下文和复杂性。
让我们比较这两种语言,以便更好地了解每种语言的用处。
### Bash
* 是 Linux/Unix shell 命令语言
* 非常适合编写使用命令行 CLI 工具,从一个命令到另一个命令(管道)的输出,以及执行简单任务(最多 100 行代码)的 shell 脚本
* 可以按原样使用命令行命令和工具
* 具有比 Python 更佳的启动时间,但执行时间性能较差
* 未在 Windows 中预装。你的脚本可能与多个操作系统不兼容,但 Bash 是大多数 Linux/Unix 系统上的默认 shell
* _不_与其他 shell 完全兼容(例如 csh、zsh、fish
* 管道(“|”CLI 工具(如 sed、awk、grep 等)可能会降低其性能
* 缺少许多函数、对象、数据结构和多线程,这限制了它在复杂脚本/编程中的使用
* 缺乏良好的调试工具和程序
### Python
* 是一门面向对象编程 OOP 语言,因此它比 Bash 更通用
* 几乎可以用于任何任务
* 适用于大多数主流操作系统,默认情况下也安装在大多数 Unix/Linux 系统上
* 与编写伪代码非常相似
* 具有简单、清晰、易于学习和易于阅读的语法
* 拥有大量的库,文档和活跃的社区
* 提供比 Bash 更好的错误处理功能
* 拥有比 Bash 更好的调试工具和程序,这使它成为开发含有大量代码的复杂软件的理想语言
* 应用(或脚本)可以包含许多必须在执行之前安装的第三方依赖项
* 与 Bash 相比,需要为简单任务编写更多代码行
我希望这些列表能让你更好地了解使用哪种语言以及何时使用它。
你在日常工作中使用哪种语言Bash 还是 Python请分享评论。
--------------------------------------------------------------------------------
via: https://opensource.com/article/19/4/bash-vs-python
作者:[Archit Modi (Red Hat)][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/architmodi/users/greg-p/users/oz123
[b]: https://github.com/lujun9972
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/computer_happy_sad_developer_programming.png?itok=72nkfSQ_
[2]: /article/18/7/admin-guide-bash
[3]: /article/17/11/5-approaches-learning-python