←back to thread

317 points est | 2 comments | | HN request time: 0.47s | source
Show context
KirinDave ◴[] No.17453884[source]
I hope I'm not the only person who reads this and really, really dislikes this.

If Python's gonna have breaking syntax, why not work on bringing it more in line with other modern languages that don't require special breakout syntax for expressions and rely more on functional features?

Are we still maintaining that lambdas are hard but suggesting expression-scoped variables are easy?

replies(3): >>17454262 #>>17454393 #>>17454442 #
_diyu ◴[] No.17454393[source]
Speaking as someone whose first dynamic language was python, it’s full of weird inconsistencies and I have no idea why anyone voluntarily chooses it when teaching programming. Granted all languages have warts, but people say python is easier to learn programming concepts in than other languages and I just don’t see it. I think they just mean the indentation syntax discourages confusingly indented code?
replies(1): >>17454444 #
icebraining ◴[] No.17454444[source]
What would you choose?
replies(3): >>17454474 #>>17454500 #>>17455322 #
_diyu ◴[] No.17454500[source]
For beginners? Whatever’s most popular on the job market. Ideally something with C syntax. Most languages are similar enough and their quirks can be avoided. Lisps are definitely a bad idea for this since the syntax is less intuitive to most people. ML languages like Haskell are not for everyone either, they require mathematically inclined minds. So maybe Java or JavaScript?
replies(4): >>17456413 #>>17456786 #>>17456908 #>>17521071 #
1. kalesho ◴[] No.17456413[source]
Do you really believe JS is less wart-y than Python?
replies(1): >>17457482 #
2. KirinDave ◴[] No.17457482[source]
Do you really believe Python is less warty than JavaScript?

A lot of the same numeric tower decision exist. There's a big schism between List Comprehensions and not, there's no simple way to ship closures around, and Python's concurrent I/O story is a sizzling hot mess.

JavaScript has plenty of problems. So does Python. So why does Python maintain everyone else is stupid for embracing programming constructs that have been deployed successfully since the 60's?