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

I see no reason to teach Python per se unless people request it.

As someone not really familiar with python besides using it instead of one off bash scripts, I have the same feeling about using it. When is python to appropriate language to pick? Not high performance, not safe, does not run in the browser, not embed friendly, no unique features. There are more mature and bigger ecosystem out there with better tooling and there is the whole python 2 vs python 3 thing.

Yet I see so many python positions advertised, that I consider picking it up.



When is python to appropriate language to pick?

For almost every science or engineering domain, python has some of the best in class libraries available (either native or as bindings to the standard C libraries everybody uses). It is more likely than not a plug in or scripting language for the engineering desktop application you use. It will let you do everything from interactive data analysis to web development, to scripting and devops, to cutting edge ML research in the same language using mature and battle tested tools. This is extra nice if you are combining many different domains, like doing Machine Learning and Computer Vision on GIS data and presenting the results on an interactive web site.

Especially if you're ambition in life isn't to be a professional programmer, but rather a professional that uses programming to do his job, then learning just one language is very enticing and python is probably the language that is most likely do have everything you need to get the job done, no matter what that job might be.


If all you are focused on is web development, then no - python is likely not the language for you. Especially if you want to do frontend. The reason that python is popular isn't because it has particularly unique features. It's that it has a huge swathe of useful libraries that no other language even comes close to.

Numpy, scipy, matplotlib, flask, django, tensorflow, ... all the way down to tiny packages like emcee makes it an extremely compelling ecosystem to develop software in.


The argument Python fans will give is the ecosystem: it has many mature libraries.

Shell scripting, e.g. dev ops? Ruby for me, Perl for complex regular expressions.

Web development? This depends.

High performance environment? Golang, C.

Basically, the care where Python is called for is the scenario where it offers a library you absolutely need, not anywhere it’s definitely the best language for the job, because it rarely is.


Don't consider picking it up if you don't like it. Stick to other languages that have "more mature and bigger ecosystems" and ones with "better tooling", you'll enjoy them more.


Indeed, I will not start a python side project, but at the end of the day a job is not about enjoyment but a paycheck.




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

Search: