5 ms·
I was about to post a comment about you being insane when I read 'syntactical consistency and beauty of Perl', but then I re-read what you wrote and my Sarcasm-
by donw 18y ago
I was about to post a comment about you being insane when I read 'syntactical consistency and beauty of Perl', but then I re-read what you wrote and my Sarcasm-O-Meter started beeping.
I'm not sure your argument about Python/Django being better for long-term use really holds muster. There are a lot of very passionate Rails hackers, and I can see Rails taking over the web application development sphere over the next few years. This isn't because it's necessarily better, mind you, but because Rails has a hell of a lot of mindshare.
So, you should be as worried about finding competent Rails hackers as you should be about finding competent Python/Django hackers. Or should you?
Rails is the web development framework for Ruby. There are probably others, but nobody has ever heard of them, so they don't matter. Python has Django, and Pylons, and TurboGears, and so on. Your hypothetical future Python web developer, then, has a lower chance of being an expert in The Best Web Framework than does the Ruby hacker, because with Ruby, you only have one choice.
- timr 18y ago"you should be as worried about finding competent Rails hackers as you should be about finding competent Python/Django hackers." It's not finding the coders that's hard (any smart coder can pick up Ruby quickly); it's the quality of the code that any new person will inherit. My experience is that the syntactical looseness of Ruby leads to write-only code. Lots of people complain about the readability of Perl, but Ruby is really only nominally better. In Python, readable code is the rule, not the exception.
- jshen 18y ago"any smart coder can pick up Ruby quickly" True, but can they pick up ruby quickly, and rails (rails is non trivial these days), and rspec, and rake, etc. I'm guessing it would take at least 6 months to become merely comfortable with all of these. This is far different than having a proficient coder walk in the door. You'll have much better luck getting a proficient rails coder than a proficient django coder. On the flip side I'm starting to get a lot of rails candidates that aren't really interested in rails, but used it at their previous job. For while if someone had rails on their resume it meant they took the time to learn it on their own (which is a good sign). Those days are gone.
- cstejerean 18y agoI'd be really worried if I hired someone that took 6 months to become comfortable with the ruby/rails (and rspec, rake, capistrano, etc). Now it might take way longer than 6 months to fully master everything, but if you already have a good quality code base to learn from and a team of experts any smart developer should have no problem picking things up quickly.
- timr 18y agoYou're missing my point: finding a good Blub coder, however hard, is a constant-time problem. The polynomial-time problem is maintaining/reading/understanding an established code base in Blub. If Blub is an order of magnitude more difficult to maintain/read/understand than Foo, then even if it's far more difficult to find a Foo coder today, it makes more sense for me to use Foo for my new project.
- jshen 18y agothe idea that ruby is a blub language while python is a foo language is laughable. Python has it's issues as well. New style classes vs old style classes. These types are treated differently than those types in terms of default behaviour. Decorators are not the easiest thing in the world to read. Metaclasses are another example. In my opinion ruby's syntax is simpler from a users point of view and equally as powerful. This may be my bias, but a fair assessment is that they are fairly equal
- 1gor 18y agoI think code maintainability has less to do with the language than with the architecture chosen by the developers. Try to explore (save alone, maintain) a complex Python application like Plone with its multiple inheritance. And then read the code of a modern MVC Rails application. You'll see what I mean. And your statement that Ruby is only marginally more readable than Perl is very surprising. Ruby is a vast improvement in terms of clarity over Perl and is on par with Python there.
- elad 18y agoSpeaking from experience: I coded many thousands lines of Ruby code for my startup all alone. Then we raised seed, and hired a few additional developers. Two of them joined my project and took over the development from me. They're both very experienced programmers, but had no prior Ruby experience. It took them less than a month to become productive. Srsly. In short, if you write good code and bring in good developers, Ruby probably isn't going to be a problem.
- donw 18y agoThis is simply personal preference; I have no problem reading Ruby code. Perhaps this is because I spent a very, very long time with Perl, but other Ruby hackers seem to feel the same way. On the contrary, I don't much care for looking at Python code, because half of it seems to consist of the word 'self'. So, 'readability' in this case isn't a very valid argument, because anyone who codes in language X is going to find X to be highly readable.
- timr 18y ago"This is simply personal preference" Well, yeah. That's why I said it was my experience. I think the point is, I code in Ruby and in Perl, and my opinion is that neither language is particularly readable or maintainable. Meanwhile, I have less experience with Python than either Perl or Ruby, yet I find it to be a consistently readable language. Those are all opinions, but they're informed opinions (and I'm not simply advocating for the language with which I am most familiar).
- jamesbritt 18y ago" There are probably others, but nobody has ever heard of them, so they don't matter. " Simply untrue. You, and your opinion, are grossly misinformed.
- etal 18y agoRails does have a lot more mindshare than Django right now, but notice Rails had a 2.0 release in December, while Django still hasn't even reached 1.0. I'm not sure about the relative histories of the projects, but it looks like Django is still in the pre-buzz phase. (Meaning, projects tend to start publishing books, holding conferences, etc. after the big 1.0 release, not in the incubation/unstable-API phase.)
- aidanf 18y agoVersion numbers don't measure age. Django and Rails are roughly the same age, having had their first public releases around the same time.
- etal 18y agoYeah, exactly. The two projects have a completely different dynamic. Like Python, Django development is cautious, minimal and relatively slow-moving compared to Ruby and Rails. Rails burst onto the scene, brought everyone on board with a 1.0, published books, and already decided enough design elements needed to change to warrant a 2.0 release. Django, despite having the BDFL's semi-official endorsement, has crept along, nitpicking at its own API, cranking out beautiful versioned documentation and tutorials, and writing and editing the official Django Book in a wiki. And only now are they feeling confident enough to consider the 1.0 label and even publish their precious gem of a book. Same timeframe, completely different personalities. This played out somewhat similarly with Python and Perl a decade ago, which leads me to believe that Django's time in the spotlight is still ahead of it.
- cstejerean 18y agoA lot of Python projects seem reluctant to announce a 1.0 release. For example Pylons and Django are both in 0.9 range, SQLAlchemy is 0.4, Genshi is 0.4 (just some of the projects I've used in a commercial setting).
- mattjones 18y agowith Ruby, you only have one choice. I disagree vehemently. I myself have started using Ramaze, and like it better than Rails. In any case, it's more important to me to know Ruby well than a particular framework.