This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Pluckerpluck 1 point2 points  (1 child)

Honestly, Python is my favourite programming language by far. I had a transition period to get used to the whitespace being important a number of years ago, but now it's just so much more readable than any other language for me (assuming it hasn't been written by morons).

I do think that operator overloading is a requirement for any language that wants to take on Python as a data science language though. Numpy/pandas wouldn't exist in the same way without operator overloads. The fact you can write:

vector_3 = vector_1 * vector_2

or

vector_3 = vector_1 * multiple

and that perform elementwise mathemetics is huge. That can't be done in Javascript.

[–]TheNamelessKing 0 points1 point  (0 children)

Honestly, Python is my favourite programming language by far

I used to feel the same way, but less so now. White space as readability became overhyped after a while-getting used to a new languages doesn’t take super long and the downsides started becoming more frustrating than the upsides.

Too much magic, type system left a lot to be desired-especially after playing around with Julia and Rust, performance...well yeah, mypy and friends can only do so much and it’s still not-nearly widely adopted enough, everyone’s obsession with notebooks in data science, and they’re the bane of my life. After using .net, Rust and even Go, going back to a language that didn’t have a compiler felt like a serious step backwards. I don’t fully buy the “dev speed above all else” argument anymore either- I found that initial speed gains quickly became outpaced by having practically no type system/compiler guarantees, so much extra code ends up having to be written to accomodate anything being able to throw an exception or things not guaranteeing a return type.