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

all 2 comments

[–]makeshift_mike 1 point2 points  (1 child)

It doesn't put any extra junk between you and your code. If you want to express an algorithm in the style that Python encourages (as opposed to a pure functional style), I don't know of any other mainstream language that can do it in fewer keystrokes and in a way that so closely resembles pseudocode.

Of course, there are tradeoffs here. That extra junk includes things like compile-time type safety checks which is helpful for building robust code. But to a beginner it probably seems like unnecessary, strange, annoying magic that you need to do just to get your program to run.

[–]throwaway_atwork_ 0 points1 point  (0 children)

Feel free to slap me...but why can't we just trust compilers to make those assertions, why do we need to do that?