4 ms·
But python is both slow and inexpressive. No types, no match statements, no easy FP. Also the language is poorly designed and inconsistent. I’m practically for
by mruts 8y ago
But python is both slow and inexpressive. No types, no match statements, no easy FP. Also the language is poorly designed and inconsistent.
I’m practically forced to use python for quant finance at my job because of the network effect: numpy, pandas, cvxpy, etc.
But the language itself is total garbage compared to, say, Scala or OCaml. And both of those languages are also much faster.
- yvdriess 8y agoIt is interesting to note that the listed libraries are not written in Python (Cython at best). The moment what you want to do with your data is not covered by the library, you either hack it or you're screwed.
- deogeo 8y agoThat is my experience as well - the only redeeming feature of the language is the vast selection of easy-to-use libraries. The speed that the language sacrificed isn't some inherent trade-off, but completely orthogonal to what makes the language useful.
- pjmlp 8y agoExactly, Lisp, Scheme, Dylan, Smalltalk, JavaScript, Prolog are all examples of languages as dynamic as Python, while having good JIT/AOT toolchains available by default.
- mruts 8y agoPython has to be one of the worst languages used today. It literally provides no value except for an abundance of libraries. Maybe you could argue it’s easy to learn, but so is Racket or Scheme. It’s dog slow, doesn’t support multi-threading, and lacks any sort of cohesive design. Lambdas suck, collection types are totally inconsistent (list, dict, etc), too many magic keywords and concepts. Trying to program using a FP style is almost impossible. Also no macros, no traits, no real classes (duck typing is garbage and lazy). You know a language is garbage when the most popular libraries aren’t even written in the language!
- deleted 8y ago[deleted]
- Yxven 8y agoYou do realize that "vast selection of easy-to-use libraries" is the most important feature of a programming language. Right? It's up there with, "it's not hard to hire programmers for the language", which Python also benefits from. Like, I'm partial to Haskell, but if I'm actually trying to get work done, I reach for a language with a robust ecosystem. These days I reach for Typescript, but before then, python was my go-to since it's way nicer to program with than java/c++/c/javascript.
- mruts 8y agoPython really only has libraries that can’t be found in other languages in a small domain: data science, statistics, ML, and finance. Unfortunately for me, those are all things I do at my job. Outside of these domains, JVM libraries are much better.
- ernst_klim 8y ago>You do realize that "vast selection of easy-to-use libraries" is the most important feature of a programming language. No, it's not. When I switched from Python to OCaml it felt like blessing, since the quality of the libraries felt much higher in OCaml. There are also the projects that you have to build from the ground up without libraries (any mission critical software), and in such cases you don't care about libraries at all, you care about the merits of the language solely. Python is the BASIC of the XXI century, and it's fine in that role, but not as a general purpose language.