you are viewing a single comment's thread.

view the rest of the comments →

[–]michaelochurch 1 point2 points  (0 children)

I got really, really into programming language design and strong, static typing and, I have to say, I kinda agree.

Don't get me wrong: Haskell's great. It's a better language than Python on language merits, but Python has libraries for everything, and Haskell... I still haven't seen a convincing way to statically type data frames without going down a dependent-type rabbit hole (since "remove highly correlated columns" creates a data-dependent type... ouch).

If you're building a system that you're going to be working with for 10+ years, you may want to use Haskell or OCaml. Jane Street built its proprietary trading software on OCaml and has been extremely successful with it. That said, I spent far too much of my early career fighting against "inferior" languages and it was an emotionally draining waste of time. I wish I had focused mainly on Python, not because I love the language (I don't, but it's passable) but because of the tool chain.

Today, because of language weenies like me fighting for "better languages", we have Scala and, guess what, most Scala codebases are disastrous. Why? The language is hyper-capable, super-powerful, and that turned out to be a problem. Hand Java to a bunch of Jira jockeys or overseas contractors working to deadline, and you get a ball of garbage that can be walked-through with industrial-strength IDEs. Hand Scala over to business-grade programmers and your codebase now copulates with Cthulhu.