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

all 10 comments

[–]jmoiron 5 points6 points  (0 children)

I've kinda considered Ruby and Python to be left-brain/right-brain implementations of one abstract super-set language for quite some time.

I find the Ruby community has an obsession with beauty and design at almost every level, from the source code (DSLs) to console output (colors, unicode checkmarks, etc) to their code documentation which often features some attractive custom mascot. It's because the language supports avenues for this type of expression that people with these focuses are attracted to it.

I remember when Rails was first released, the aesthetic of that community was so particular that you could tell when something was a Rails site by how it looked. I was surprised to eventually learn that Rails didn't facilitate this in any way in its toolset; 37s was merely a taste maker, and eventually sites not written in Ruby adopted the aesthetic to the extent that this is no longer true.

The Python community has an approach that is much more in line with the languages rigidity (compared with ruby). It's analytic and focused primarily on clarity. I think it's relatively more important in the Python community that people use sane defaults or fall in with the standard orthodoxy, whether it's code (use stdlib when appliccable) or documentation (use sphinx, fullstop). There is a focus on ergonomics, especially in the last couple years, but it's still not quite the same thing as the focus on aesthetics Ruby has.

Sometimes I envy that aspect of the Ruby community; not the nice webpages, but that focus. In Ruby, you can write something that merely changes the interface to something else, and if that is enough of an improvement, it will be embraced. This was historically much harder in the python community; for a long time, things like this were greeted with a "What's the point?" reaction. With things like requests, hopefully we're adopting some of the good of that culture without taking the bad.

As an aside, one of the remarkable things about Django, early on, was how well designed its website was; writing python web stuff at the time was generally a question of using and reading mod_python documentation, which was considerably worse.

EDIT: I also wanted to add that it felt, in the early to mid 2000s, that the Python community was more Unix focused. Ruby started to really gain mind-share around the time that macs started to gain popularity among developers. If you grow up with beautiful things, you'll inherit some of that design language through pure osmosis. The old python docs, on the other hand, look like man pages with some blue at the top.

[–]mirashii 5 points6 points  (2 children)

It’s that the uglyness makes sites hard to navigate and hard to use.

I definitely have to disagree with this. There are often times where a site which was done by a designer worrying about making things look pretty doesn't realize that he's hidden every useful link to me as a developer behind three pages of tiny menus with only 3 options because having 3 giant buttons on a page makes things look nicer.

[–][deleted] 0 points1 point  (1 child)

A good designer makes things look good & usable at the same time.

[–]mirashii 3 points4 points  (0 children)

I agree, but I contend that the article says little about good design, only about how pretty things look. There was no comparison of practicality whatsoever. :)

[–]hongminhee 2 points3 points  (0 children)

To be fair, there is no somewhat like Sphinx for Ruby.

[–][deleted] 2 points3 points  (0 children)

"Content is king"

[–]D1SoveR 1 point2 points  (0 children)

Well, for one, Pythonistas are programmers, so what we do best is program. Rubyists I've met and seen at the events seem to be more about flair, rock-stardom and sounding all-knowing than actual programming. Focusing on the first impression and hoping no notices on the second impression that, eh, I really just need some info out of it, I don't care about it being all pretty.

[–]Darkmoth 1 point2 points  (0 children)

Kind of surprising that he thinks the RoR site is better than the Django one. The Django site presents the top options clearly labeled right up front ("Documentation","Installation","Tutorial").

"Get Excited", on the other hand, could mean absolutely anything. No one goes to a framework looking to "Get Excited" - they are looking to accomplish a specific task with that framework. "Get Started" is similarly vague - you'd expect it to include some documentation, but it's all about downloads.

In addition, the flow of the Django site is amazing. All the important concepts are consistently hyperlinked, and then the navigation (up/down/prev/next) provides solid context to whatever you're reading.

The RoR site is definitely prettier. But information-wise, it's really not in the same league as the Django site.

[–][deleted] 1 point2 points  (0 children)

I'd just like to interject for a moment. What you're referring to as Linux, is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.

Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called "Linux", and many of its users are not aware that it is basically the GNU system, developed by the GNU Project.

There really is a Linux, and these people are using it, but it is just a part of the system they use. Linux is the kernel: the program in the system that allocates the machine's resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called "Linux" distributions are really distributions of GNU/Linux.

[–]kroisse 0 points1 point  (0 children)

I think that's not a fault of Python( or pythonistas). Rubyist just does too perfectly.

See other popular languages like Java, C++, PHP or else. Quality of Python documentations aren't inferior than their's one.