mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-01-22 23:00:57 +08:00
68 lines
3.2 KiB
Markdown
68 lines
3.2 KiB
Markdown
[#]: 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
|