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

The more exposure to Ruby I get, the more convinced I am that in 5 years it will be a maintenance nightmare of Perl-like proportions.

A culture that prizes cleverness over consistency is an evolutionary dead-end, this transcends the merits of the technology.



In my experience, the Ruby culture doesn't prize cleverness over consistency. Instead, it leaves responsibility up to the developer. You can do convoluted things like 7, 8, and 15, but you don't have to (and few people do). Really, any language lets you write ugly code, and good developers will strive for clarity.

As an example, you can use Perl-style magic variables in Ruby ($!, $_). But in three years writing Ruby code professionally, I think I've only seen one of these ever used, and only rarely.

IMO metaprogramming is a bigger potential problem than Symbol#to_proc or perlisms. You can override the + operator globally with Ruby, or do any other number of stupid things. But metaprogramming also offers a ton of power (similar to Lisp macros?).


Thinking out loud: could this desire for "cleverness" stem from the fact that most Ruby programmers work on webapps?


This is purely my personal experience, mind, but I have observed that Ruby users tend to be younger and webbier and employed mainly to code, and Python users tend to be older and employed to do other things, of which coding is a subset. This explains the cultural differences; Python users have been burnt before by unmaintainable codebases and are determined not to make the same mistake twice. Also, as Python users (again, in my experience) tend not to be primarily programmers, they aren't impressed by clever coding tricks.




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

Search: