Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

As a Perl programmer whose colleagues occasionally encourage me to switch to Python, can you tell me a little more about what you see to be the uses of each, and why Python feels clumsy for scripting?


My bash scripts usually deal with files and text processing. Bash and Perl are great for that, especially Perl when I need a little more structure. Perl is more performant than Python for these tasks.

Python is great for other types of scripts though, I usually switch to Python when I need to interact with web services or databases (there are great libraries that make this really easy, Requests and SQLAlchemy).

As far as Python feeling clumsy for shell scripts, things like importing basic os functions:

    import os, sys, shutil
and:

    if __name__ == "__main__":
don't make it feel like the best language for the job.


If you're not worried about using the script as a module later, you don't technically need the __name__=="__main__" guard.


While I agree that Python seems more clumsy for shell-type scripting, Perl has most of the 'basic' OS functions scattered all over the place, not in a couple of comprehensive libraries. E.g.:

  File::Basename
  Cwd  <= where abs_path resides, for some reason
  File::Path <= rmtree, etc
  File::Spec
  File::Spec::Functions
  ... etc ...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: