Jump to Navigation

Me on Twitter

  • RT @martinfowler: Statement from Centro de Autonomía Digital on the arrest of @olabini. He has finally been been able to speak to lawyers.… 6 days 15 hours ago
  • RT @alsacreations: Pure CSS Francine, une oeuvre dans le style d'une peinture du 18e siècle entièrement conçue à la main en HTML/CSS https:… 7 weeks 2 days ago
  • "Selon les services allemands de cybersécurité, Windows 10 vous surveille de 534 façons [...] et montre qu’à moins… https://t.co/t2qXSX6xt6 8 weeks 3 days ago
  • Stop saying, “We take your privacy and security seriously” - https://t.co/MippyEQMtx 8 weeks 4 days ago
  • Introducing Ionic 4: Ionic for Everyone | The Ionic Blog - https://t.co/bwFrpypFNY 12 weeks 1 day ago
  • Récit de la découverte des bitcoins dans la fresque « La Liberté guidant le peuple 2019 » – https://t.co/0NryL5qjxT… https://t.co/ilKQOA172k 12 weeks 4 days ago
  • Why does decentralization matter? - Official Mastodon Blog - https://t.co/v7zfx38YvF 15 weeks 4 days ago
  • RT @HenrikJoreteg: This is so awesome. PWAs on Android can now tap into native sharing both as the sharer and share target if you're using… 15 weeks 6 days ago
  • Slack shuts down accounts belonging to Iranian expats and users who visited Iran - https://t.co/POPoBOuZql 17 weeks 12 hours ago
  • Very interesting alternative, decentralized public network. The LibreRouter project aims to make mesh networks simp… https://t.co/X8evx8jdtE 17 weeks 21 hours ago

Python versus Shell scripting : from experience

A quick "pros & cons" to choose between Python or Shell scripting, from what I've observed through the years.

This could probably apply to other high level script languages* vs shell.

* Like Ruby, but not like Perl, as it shares more with shells from my point of view, like unreadable syntax and execution speed.

Python vs Shell

Choose Python for :

  • its simple syntax : can be read even by non Python-speaking people. End users may not be scared to change scripts to fit their need.
  • portability : Python is actually more portable than shell because of ease of installation for any OS. Shell is theoretically portable but it's complicated to explain end users how to install the runtime (e.g. see cygwin). A Python script can be packaged into an executable program. There may be ways to bundle a script with the shell runtime.

Choose Shell for :

  • speed : except in case of bad code logic, shell scripts are usually a lot faster than Python's equivalents.
  • its ease to deal with external programs and system : shell's syntax is already made to test/pipe/chain easily existing programs, whereas Python requires some extra boilerplate. Shell also has built-in functions to deal directly with files and the system, whereas Python uses an object-oriented model, which may not be as handy.

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • E-Mail addresses are hidden with reCAPTCHA Mailhide.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Vous pouvez activer la coloration syntaxique du code source à l'aide des balises suivantes: <code>, <blockcode>, <drupal5>, <drupal6>, <java>, <javascript>, <php>, <python>. The supported tag styles are: <foo>, [foo].
  • Twitter-style #hashtags are linked to search.twitter.com.

More information about formatting options

By submitting this form, you accept the Mollom privacy policy.