Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Not all of those are contradictory. For example, Python mostly stays away from cryptic syntax and implicit behavior, making it verbose, but it finds powerful ways to express common patterns, making it concise. You get a small amount of readable explicit code. The words are antonyms if you pick their meanings carefully, but they don't have to be.

Python's design isn't revolutionary, but it's good and the language happened to become popular. So it's not just well-designed, but it also has all the libraries and resources and network effects that you don't get just from having a well-designed language. I'm sure a lot of it was dumb luck, but I like the result.

JavaScript's design had much less impact on its success than Python's design did on Python's success. It was doing the right thing in the right place at the right time, and how it did that wasn't all that important - once it turned into a web standard it wasn't going away.



> Not all of those are contradictory. For example, Python mostly stays away from cryptic syntax and implicit behavior, making it verbose, but it finds powerful ways to express common patterns, making it concise.

Unsurprisingly, I disagree with this opinion. Python code is typically nearly as much as a slog as Go code, but adopts all the brutally hard parts of the common lisp's functional world by only exposing wrap-primitives.

> JavaScript's design had much less impact on its success than Python's design did on Python's success. It was doing the right thing in the right place at the right time, and how it did that wasn't all that important - once it turned into a web standard it wasn't going away.

The Python community would have us believe this. I think it's a profoundly biased and one-sided reading of the history that paints a bullseye around the target. Python's primary innovation is a community that doesn't embrace differences and growth, but rather hates and hazes it. And when change finally does happen, it happens in the way most likely to cause everyone heartache, as if to fulfill the prophecy the community made.


> And when change finally does happen, it happens in the way most likely to cause everyone heartache, as if to fulfill the prophecy the community made.

I assume you're referring to the 2 to 3 split? Which happened once and every other change has left code in an completely runnable state. Unless you're talking about the C-API then, yeah, it's a PITA to keep it current across versions.

Just today I learned about f-strings and previously not knowing about them being added to the language caused me zero heartache -- I could accomplish the exact same things using the other string formatting forms since they still work as designed.

Aside from the 2 to 3 thing I'd be interested in a concrete example of a change which caused everyone heartache because, honestly, I've never seen it and I (halfass) follow python development.


I was referring to that specifically and it's awful.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: