
Dear Python, Why Are You So Ugly? (2012) - jrs99
http://grokcode.com/746/dear-python-why-are-you-so-ugly/
======
ubertaco
I think it has to do with the crowd each language tends to attract.

One of the big draws for Python is NumPy and SciPy, so Python tends to attract
more of the scientific/statistical community. They're more concerned about
data and analysis than aesthetics.

Rails unarguably attracted a vast number of web designers (many trend-
oriented, but the point stands) to Ruby by offering a low-impact way to learn
some server-side dev. As a result, many of the people who write Ruby
(especially on the web) are more design-oriented -- so they trend towards
better aesthetics.

This is not a question of capability, nor of libraries, but of community. The
almost-tragic part of this article is that it overlooks the fact that the
design differences in the pages it links are implemented neither in python nor
in ruby, but in HTML and CSS.

~~~
csense
> Rails unarguably attracted a vast number of web designers

Why?

> low-impact way to learn some server-side dev

Ruby is _not_ low-impact. There's this myth that Ruby is lightweight, easy to
read, and simple to get into. I seriously question if any of the people who
perpetuate this myth have ever actually attempted to program Ruby.

Ruby source code is incredibly ugly and difficult to read. There is so much
"magic" going on that it is difficult to begin to even understand what the
code is supposed to do [1].

Ruby's syntax is incredibly aggravating. I've found it damn near impossible to
understand even trivial programs without consulting the manual every three or
four tokens. Worse, the language is _ambiguous_ : is that colon a symbol, or a
dictionary mapping, or a ternary operator?

And this is leaving out that Ruby == Rails to a huge extent, so much of the
documentation and examples that are out there are burdened by the further
complexity of a large web application framework.

I've found Ruby so obtuse and unnatural that every time I've tried to learn
it, I've quickly become so aggravated at the language's awful syntax and
strange abstractions that I simply give up. If Ruby's warts are bad enough to
make someone with my programming-heavy background desert it before making much
headway, why did "Rails unarguably attract...a vast number of web designers"?

[1]
[https://news.ycombinator.com/item?id=5872899](https://news.ycombinator.com/item?id=5872899)

~~~
NateDad
Wow. I just read that link. That's.... amazing. I've always thought ruby
looked inscrutable, but I figured it was just that I hadn't taken the time to
bone up on the syntax.... but no, it really is amazingly bad. Thank you for
preventing future me from wasting time trying to learn it.

------
nknighthb
On the left, I see content. On the right, I see crap that hides content. I'll
take the left.

~~~
jbeja
huh O.o?

~~~
nknighthb
Which part was unclear?

Websites, especially those concerning technical subjects, should convey
meaningful information. The "Ruby" designs are, for the most part,
substantially worse at doing so. Characteristics I note include excessive
whitespace, limited contrast, and oversized headings/banners.

Could the Python sites be better? Sure, but they're already doing better than
Ruby at their primary task: Conveying information.

~~~
jbeja
Agree, my previous comment was a misunderstanding of your view point , since i
didn't understand what was this "right" "left" and "crap" that you were
talking about.

------
gkoberger
This is an old article. While I definitely agree in general (some are
stretched, like Google Apps vs Heroku), Python has been making a more
concerted effort:

[http://www.python.org/](http://www.python.org/)

That being said, I find Python stuff to be, while ugly, good at getting
information across. And now, I find Node sites to be the best.

------
nathancahill
Because Ruby is for designer kiddies that need a way to serve their PSD
templates.

~~~
jbeja
is that suppose to be funny or at least coherent?

------
jisaacstone
> the uglyness makes sites hard to navigate and hard to use

No, ease-of-use and beauty are different things, though often conflated in
rants.

I've never used any of those sites so I cannot speak to that aspect, but as
far as beauty is concerned in a lot of the examples the ruby site looks more
trendy, possibly because they are newer, because python has been around for a
bit longer?

Site-wide redesigns are rare for content-focused technical sites, especially
volunteer-based open-source projects.

------
speg
Python.org just got redesigned today!

------
andreastt
I realize this is old, but I can't help but feel that comparing the personal
homepages of the creators of two web frameworks and suggesting that the
difference in design should have a say in which language it's best to pick
borders on trolling…

------
lutusp
There's something seriously wrong with this article -- it describes Python as
ugly, but uses as its evidence the appearance of Python websites, not the
language itself.

To a programmer who understands Python, how the Websites look isn't as central
as it seems for the article's author.

To a mathematician who uses Python directly, or by way of Sage
([http://www.sagemath.org/](http://www.sagemath.org/)), the open-source
Python-powered mathematical environment, the appearance of Python websites
will mean even less.

It's all in one's exposure to the language. I think most Python users will
rank the language ahead of the websites that describe the language.

------
vten
Well, programmers are humans too and humans (mostly) like beautiful stuff, so
there's a valid point in ruby being better at attracting and get people
involved than Python does.

Having worked with both, this beauty thing also applies to library APIs. I
found ruby libraries to have a lot more syntax sugar and better 'plug-and-
playability' than Python tools. Ruby is just more fun.

------
dysoco
Who cares, really?

Look at Slackware's website:
[http://www.slackware.com/](http://www.slackware.com/) it looks the same as
ten years ago. Why? Because it works.

It's a website, not a piece of art, I want to get information not hang it in
the wall.

------
jbeja
This old post appeared in HN the same day that python.org got redesigned. Is
some kind of revenge?

~~~
wffurr
Or a way to say "hey, look how far Python has come!"

~~~
jbeja
Well that way is kinda a revenge, is a more subtle way of saying "hey, look at
python know, in your face!".

------
nobullet
Have you seen PHP?

~~~
sbolak
PHP actually just got a redesign recently for their documentation. It's not
too bad, but the comments part is still crazy unorganized as far as code
snippets, etc.

------
TrainedMonkey
Ruby is language geared for building websites. Python is language for
scripting.

Why in the world Ruby resource websites would be better compared to ones
Python has...

I would venture a guess, that people making websites tend to be better at
making websites.

~~~
pak
You're confusing Ruby and Rails. Ruby is also a general purpose scripting
language. The OP was careful to only compare Rails with Django, Ruby with
Python.

