Jump to Navigation

Me on Twitter

  • #android embeds http-client but not MultipartEntity ? Why not ? http://t.co/yxdmw0na 11 years 45 weeks ago
  • It's looking better and wastes less space on #Ubuntu though... #Eclipse #Juno 11 years 46 weeks ago
  • #Eclipse #Juno is ugly on XP. I now have to switch back to classic theme in addition to using traditional tabs http://t.co/yE3Y60hv #fail 11 years 46 weeks ago
  • Un très bon guide sur les tests de charge. Éléments essentiels et approche pragmatique. http://t.co/WYwgFYjW 11 years 46 weeks ago
  • RT @cedric_exbrayat: RT @hnycombinator: StackExchange average age of users for each tag http://t.co/YCgbdOOG 11 years 47 weeks ago
  • Learn what a MOOC is with the #coursera #scala experience : http://t.co/zIYG9cm5 11 years 49 weeks ago
  • RT @YourAnonNews: Justin Bieber gets 12,000 retweets for saying "thanks" so here is our attempt: thanks 11 years 51 weeks ago
  • "@Devoxx: The Devoxx 2012 tag cloud based on the titles, made by Gerard Maas. http://t.co/YRZsNxj5" #android 2nd, #scala not so far... 11 years 51 weeks ago
  • I've been leading for a few minutes on #AngryBirdsSeasons today's level at http://t.co/CAYZCCl2. Now already back to 2nd place... 11 years 51 weeks ago
  • RT @Devoxx: The #Devoxx 2012 interviews now available on Parleys @ http://t.co/jNCQXKiD The majority of the conference talks will foll ... 12 years 4 days 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.