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

I don't believe the "syntax win" scenario. Python is also ugly, due to the required indentation, like yaml.

I believe more in the ecosystem, specifically how the computer vision and machine learning movements have adopted python extensively as frontend language (the heavy weightlifting is still doing in C++). The exploit of numpy has brought many many use cases into the language as well.





Indentation is there regardless, and is increasingly enforced by format-checking tooling which is more commonly an out-of-the-box offering for many ecosystems (gofmt).

So why not make it have syntactical meaning since it’s already there in 99% of cases?

It does feel weird at first but honestly it’s not something you’ll think about much after a while.


> don't believe the "syntax win" scenario. Python is also ugly, due to the required indentation, like yaml.

That's like, your opinion. Python was explicitly designed being easy to learn, borrowing heavily from ABC, which actually experimented with different syntaxes to see what works and what doesn't. The indentations apparently helps a lot with this, along with ':' before the introduction of indented blocks.


That 'ugly' required indentation and whitespace also made Python easier to read, especially for newbies and casual coders. A standard visual structure and a syntax that is pretty close to executable pseudo-code lowered the barrier to entry for a lot of people and made Python feel 'approachable'. This perception that it was easy to use helped increase the network effects other have noted.

It's not about being beautiful or ugly, it's about being simple.

Python is simple to read / write and easier to reason about, especially for people that need a programming language to solve a problem but are not software engineers.

The reason it won, especially in data analysis, is because most data analyst are/were not software engineer and Python feels more natural to people.

The indentation is not a big problem when a decent text editor is used


> Python is also ugly, due to the required indentation, like yaml.

The fact that YAML also won in its configuration file niche doesn't give you pause?


> Python is also ugly, due to the required indentation

As opposed to the not required indentation that literally everyone who writes code ever does anyways?

> believe more in the ecosystem, specifically how the computer vision and machine learning movements have adopted python extensively

What came first, the chicken or the egg?


I was not exposed to much code before trying Python 2, and I always thought of the indentation and newlines as aesthetically pleasing and helpful. Same for yaml actually. Would argue that preferences on indentation etc. are just an acquired case.

Even for someone who has used more than one languages, I think Python is fine. It’s a lot prettier than the academic-HN preferred lispy languages.

"Ugly" is a very opinionated statement there. I personally find it's fine, and Python's required-indentation matches what I'd be doing anyway. It's no different to me than a project which lints indentation via something like gofmt.

required indendation simplified a ton of readability problem with other languages for a regular user.

There was no easy for people who wanted to get something done in a simple interface.


I think the controversy around Python’s indentation helped it gain success. Regardless of how you feel about the choice, it’s a great opportunity for bike shedding and encouraged (and still encourages) a lot of talk about the language.

There are all sorts of other arguments people make, but it's frankly incomprehensible to me that some people find indentation-based block syntax "ugly" and the alternatives not so. I must wonder if this extends as far as not indenting code in braced languages.



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

Search: