Jump to Navigation

Me on Twitter

  • Exploring The Raspberry Pi 4 USB-C Issue In-Depth | Hackaday - https://t.co/2Y57LjxOmQ 16 weeks 6 days ago
  • Did I already retweeted that ? "Bad Map Projection: South America" - https://t.co/N3Nr74Y6t3 17 weeks 2 days ago
  • Bad Map Projection: South America - https://t.co/N3Nr74Y6t3 19 weeks 10 hours ago
  • It's never too late to learn : very good introduction to #Bluetooth #security and pairing - How Bluetooth works - https://t.co/tru1Jm3kza 19 weeks 1 day ago
  • People who make laws on things they don't understand; just the same all over the world unfortunately - https://t.co/Otc4fkhXi5 20 weeks 5 days ago
  • RT @tewoz: Demain, lancement officiel de ma campagne de crowdfunding pour mon recueil de strips « Comme un Lundi » ! Je compte sur vous pou… 26 weeks 4 days ago
  • Found that in my old CD tower. Noticed the penguin ? Yes it's a #Linux version of #Tribes - Still one of the best g… https://t.co/4QEzHVXhmO 28 weeks 6 days ago
  • RT @esascience: In this #Hubble image, a very distant galaxy – nicknamed the Sunburst Arc – appears at least 12 times 29 weeks 6 days ago
  • The CIA just lost control of its hacking arsenal. Here’s what you need to know. - https://t.co/QrjTDlHJIA 30 weeks 3 days ago
  • RT @timberners_lee: Today the internet is 50 years old. The internet & the web it enabled have changed billions of lives for the better. B… 31 weeks 1 day 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>
  • You can enable syntax highlighting of source code with the following tags: <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.