@grainloom Among general-purpose programming languages, Python is actually one of my favorites.
Yes, it's slow and sluggish. It is interpreted. It is garbage-collected. It's everything one would hate about highly-abstracted languages.
But it has a strong idea behind it. The idea of a programming language being a practical tool for humans. The result is an absurdly ergonomic language, everything in it serves this purpose. You don't have to litter your head too much with technical bullshit, you just tell the computer generally what to do and when, and the language takes care of the rest.
And in my opinion this justifies it being high-level. After all, that's what high-level is for.
@drq imho that's mostly in the libraries, the language itself is not that special
eg. i did some text processing in Haskell a few weeks ago and it was Nice. the language takes care of a lot more than Python did and I ran into a lot fewer runtime errors/bugs. and the lazy I/O was just
no need to write iterators, or take any special considerations for streaming, it Just Works
@drq also the syntax was much nicer to write
Python's filter() and co also have laziness but their syntax is just... blech
and as I said, type errors > runtime errors
instead of me trying to figure out why my parser is generating the wrong thing or having to add my own assertions, I could just work with type holes and GHC would tell me: hey look, you are trying to use a t but what you have is a (t,t)
@drq not to say Python is the worst thing ever, Selenium and IPython are still a nice combo that other languages so far haven't replaced for me, but there is nothing in the language itself that is uniquely good for that
(I'd argue it's the opposite actually, I often wanna use live reloading while doing Selenium and pure functions are much better for that)
Русская нода социальной сети "Мастодонт", части Fediverse - всемирной федерации социальных сетей. Зона общения, свободная от рекламы и шпионажа, теперь и в России.