I use python on daily basis for 5 years now. It's a really cool language, but: * Packaging is horrible * Releasing python code is a non-standarised nightmare. Every solution has it's own flaws * Big and complex projects in python are really hard to reason about * Poor support for concurrency (fixed in py3) Don't get me wrong, python is really cool as a proof-of-concept scripting language. But for mature and complex s…
Fully agree. After spending quite some time working on a medium-sized Python codebase I went from being agnostic about static vs. dynamic typing to favor static typing. In a small side project I've used Python 3.5 with type annotations and it's an improvement, IMHO.
Why People Should Learn Python
161–170 of 329 posts
Re: Why People Should Learn Python
#162I switched to writing python as my main backend/scripting language with my new job. Previously I was using Ruby for most of this stuff with some Go. I must say that so far Python has been a vastly inferior experience for me. The languages are fairly similar all though I prefer the more talkative/english style of ruby and the use of functions over list and dict comprehension. The thing that really stands out to me tho…
I think a lot of this is due to these problems being solved through standardised processes in python. For example, with dependencies, production dependencies and dev dependencies are defined through two requirements files: requirements.txt and requirements-dev.txt. requirements-test.txt for testing. No need for tooling, just pass those into pip. Most python tooling is pretty limited in scope but works well. From my s…
Re: Why People Should Learn Python
#163The person who wrote this obviously has "the hacker's mindset". He praises expressivity and malleability of the language. Well, in this case it might be advisable to take a look at Perl. And never go back. Perl (especially Perl6) is hacker's paradise, where everything's true and nothing is forbidden. As somebody who shares the same mindset, I truly enjoyed my years with Perl, and I occasionally return to this experie…
Re: Why People Should Learn Python
#164Is it just my feeling or are there languages which are preferred on HN? Indicators for languages which are liked by the HN community: - Positive stories get many upvotes and are instantly at the top of HN - Most comments are positive - Frequent coverage on HN about the language Indicators for languages which are not liked by the HN community: - Rants get many upvotes and are instantly at the top of HN - Most comments…
There have been surveys if a bit out of date: Poll: What's Your Favorite Programming Language? (2012) https://news.ycombinator.com/item?id=3746692 Poll: What's Your Most Disliked Programming Language? https://news.ycombinator.com/item?id=3748961 https://i.imgur.com/toGKy21.jpg
Re: Why People Should Learn Python
#165I use python on daily basis for 5 years now. It's a really cool language, but: * Packaging is horrible * Releasing python code is a non-standarised nightmare. Every solution has it's own flaws * Big and complex projects in python are really hard to reason about * Poor support for concurrency (fixed in py3) Don't get me wrong, python is really cool as a proof-of-concept scripting language. But for mature and complex s…
I'm often frustrated with python packaging but after trying a few other languages' equivalents' (npm, go, etc.) I'm starting to think it's really not so bad.
Re: Why People Should Learn Python
#166For all its virtues, I feel introductions to Python tiptoe around a very important topic: yes, Python is nice and easy, but you'll have to program the Python way too . Try running a nested loop on a non-trivial example, and you can end up spending minutes in what would take milliseconds in any other language. If you want to program in Python, you must get used to the functional paradigm. Not "should", "must". Now, I'…
> Try running a nested loop on a non-trivial example, and you can end up spending minutes in what would take milliseconds in any other language. Huh? Can you provide an example? There's nothing about writing nested loops in Python that is qualitatively different from other languages. > If you want to program in Python, you must get used to the functional paradigm. Not "should", "must". This is incorrect, much to my c…
Re: Why People Should Learn Python
#167But since then, I've never really had a need to use it, and I don't even feel there is a good reason for it.
If you're writing something more than a quick shell script or a project that will last more than a few days, then there a dozen static languages that have better libraries, more powerful IDEs, etc. And misspelling a variable or missing a comma is not going to cause all sorts of problems.
On the other hand, if you do need a quick one-off script or some duct tape, things like Perl or AWK, sed, and friends seem like a better bet.
Python (and Ruby) seem bloated for quick scripts, and wholly lacking for larger projects.
Re: Why People Should Learn Python
#168Why you shouldn't learn Python: 1. In-consistant syntax. 2. The language uses exceptions to control flow of logic. 3. Divided community, since Python 3+ included breaking changes to the standard. 4. Un-discoverable APIs. You better hope the documentation is bulletproof else the API could change in any which way during runtime. 5. Poor error messages. If an import goes wrong you are not told why, and so on. 6. Ultimat…
1. a matter of tast 2. care to elaborate ? 3. it's not divided, it's evolving from 2 to 3. Java's community is under Oracle's grip, don't know if it's any better... 4. it's not because you can do it that it's worth to do it, so in practice API are just not changing at runtime 5. I can say the same of my industrial strength Java environment... 6. Not a problem since what you do doesn't require speed 7. Ever used PyCha…
Re: Why People Should Learn Python
#169Earlier quoted context omitted.
1. a matter of tast 2. care to elaborate ? 3. it's not divided, it's evolving from 2 to 3. Java's community is under Oracle's grip, don't know if it's any better... 4. it's not because you can do it that it's worth to do it, so in practice API are just not changing at runtime 5. I can say the same of my industrial strength Java environment... 6. Not a problem since what you do doesn't require speed 7. Ever used PyCha…
PyCharm comes with cProfile and let's you "run with Profiler". But maybe that's only the paid version.
Re: Why People Should Learn Python
#170Is it just my feeling or are there languages which are preferred on HN? Indicators for languages which are liked by the HN community: - Positive stories get many upvotes and are instantly at the top of HN - Most comments are positive - Frequent coverage on HN about the language Indicators for languages which are not liked by the HN community: - Rants get many upvotes and are instantly at the top of HN - Most comments…
Rust should then get 6 stars judging from unparalleled excitement every news about it brings here. Rightfully so in my opinion. By the way, it's "Clojure", not "Closure" and what happened to Scala?
Over time my excitement changed. I assume others may share my thoughts hence the less excitement:
* It is on the JVM and there are lots of languages on the JVM competing with Java.
* While the fusion OOP + FP fusion is interesting I have grown wary of kitchen sink languages. There are so many ways people write Scala. Scala from one project looks vastly different.
* The endless DSLs
* Java 8 is often good enough. Particularly for interop and community support.
* Every time I have to add Scala to a Java project I'm thinking here comes 9MB jar that some classpath scanning thing is going to take its sweet time on (Spring, Servlet 3.0, etc).
But I think most of the reason is Rust has filled that hard core typers niche with the added novelty of unique memory management and competing with other LLVM languages instead of JVM languages. Scala has become "old" like Java and OCaml :) .