Thursday, January 25. 2007Ruby, how you've changed in a yearTrackbacks
Trackback specific URI for this entry
No Trackbacks
Comments
Display comments as
(Linear | Threaded)
To be fair, he didn't call Java programmers stupid, he said Java programmers must think their co-workers are stupid because all their justifications for static typing resolve around the theme "how do I protect my code from my peers".
I can appreciate your perspective, but I must point out that I think you're misinterpreting Pat's post. His title is purposefully provocative, and meant to be ironic - it is not that he thinks Java developers are stupid, it is that (from his pespective) a heavy reliance on static typing assumes that one's fellow developers are stupid.
Now, that may not change the conclusion of your argument, since obviously you disagree with him about the desirability of static typing. But getting personally offended - or imputing that such a hostile attitude is truly representative of the rails community - seems like an inappropriate reaction.
The post derides folks who suggest adding certain features to Ruby.
I was one of the proponents of restricting open classes to certain approved classes (e.g., Rails can change and add methods to String, but joe-bob's class cannot.) I made the proposal because it increases the security of Ruby and programs running on Ruby. I was one of the proponents of adding optional typing to Ruby much like the optional typing in StrongTalk. I have a certain approach to new languages. See: http://www.nabble.com/Re%3A-Any-plans-of-adding-the-break-continue-keywords--p8596645.html I made my suggestions about Ruby after spending time in Ruby. I made my suggestions after writing a number of Rails apps. I made my suggestions after letting Ruby "flow through me." So, when someone derides people for making suggestions that work for a large group of developers, it says, "I'm not listening." He's not. He's not claiming to listen. He's saying, "I know more than you, so go away... and your little dog too." This was not the Ruby community I saw a year ago. It's different. It's no longer an exchange of ideas. It's sad.
The Ruby community has changed. It's no longer a "way," it's a dogma. The number of people who listen vs. the number of people who demand that their way is the only way and deride all others is much, much higher
Without even discussing the content of the original post, let me just correct the misconception that Pat is a member of the Rails core. He's not. The complete list is at http://rubyonrails.org/core.
Okay... I owe a massively huge Mea Culpa.
I am very, very sorry to tar Rails with the comments of someone who is not on the team. I am very, very sorry that I ascribed Pat's comments to the Rails team. I did not do my homework. I retract a any part of my post that reflects badly on the core Rails team.
The Ruby coming is becoming just like the Java community. A bunch of idiots, parrots and lemmings.
TO re-iterate that post should have been titled "Java programmers seem to think other Java programmers are stupid, which is why they sleep better knowing that Java has static typing and why they immediately ask for static typing in ruby when they start using it - they are 'programmed', it seems, to think that their co-workers are idiots who need a language to keep them in line, lest they screw up the code art of the first programmer."
Yep, but it wasn't. The author chose a title that was offensive. The author chose to deride people like me who have voiced a need for a feature based on our experience with the complexities of software development.
Static typing (or optional static typing a la Strongtalk or Objective-C) is a tool. It's a tool like garbage collection. It has its pluses and minuses, but casting the argument about it as smart people vs. stupid people or people who think their peers are smart and people who think their peers are stupid is rude, offensive, and reflects poorly on the Ruby community. The Ruby community has changed. It's no longer a "way," it's a dogma. The number of people who listen vs. the number of people who demand that their way is the only way and deride all others is much, much higher. To your other post about me selling page views (I will not be approving that comment), yes, I have an advertising banner on the right. I have received a grand total of $0 from selling ads (I haven't hit the Google $100 threshold.) I am not trying to drive page views to make money on my blog. I make a lot more money selling my services and opinions privately.
I meant "sell" in the most general way, not nec. for money.
I find the ROR community to be more dogmatic-y than other ruby but not ROR developers. So we come to about four issues in all these types of discussions: Did the original poster paint those people unfairly or inaccurately. Which leads to the question of whether or not you can and/or should generalize about groups in IT? For instance, I find Java programmers like the process (ooh xdoclets, struts, refactoring, AOP, etc), but don't produce systems that work well for the poor schmucks who have to use them. DBA's tend to be jerks who like to say "No" to every request. Haskell programmers tend to be smart and driven. lisp programmers tend to be smart and esoteric and not compatible with other languages. perl programmers tend to be smartypants cowboys... Do we censor any generalizations as being too non-PC and potentially hurting someone's feelings or are there some truths that need to be faced (not that my examples above are great but...)? Is there a difference between suggesting way to improve a language vs trying to foist one's blindspots (a la P Graham's Essay http://www.paulgraham.com/avg.html ), limitations, comfort zones and point of view on any language one encouters. When people come to erlang and ask how can I do OO style programming in erlang and when people say its just not possible to do a large project in perl, should we listen patiently or tell them our blub is better than your blub? Third - what, in your opinion, is the perfect balance [for users of a language] between language advocacy vs dogmatic fanboyism and language "one true way" to do things/lockstep group think vs openness to all ideas, language changes, idioms, etc. Finally and most importantly, why, after all is said and done with: _ language analysis, improvements and choices, _ developer training, _ new and improved libraries, _ toolkits coming out of our ears, _ frameworks, _ millions of lines of Java code from Apache Foundation projects, _ automated test/build systems, _ usability research, _ distributed management, source control and testing tools, _ high productivity process systems (scrum, CMM) is it that the majority of software projects fail. That is the elephant in the room and the one I wish we all spent more time on - I hope to write more about that elsewhere.
You raise some very good points!
I don't think I can answer these questions off the cuff, but please stay tuned. I hope to make a post that outline's my position. Thank you for hanging in and raising very good issues!
It is good that you have critical eye on Ruby. Too many good things talked about it. We need to talk about things that still not advanced or obstacle too. Matz himself has "the good, the bad and the ugly" keynote about Ruby.
Dynamic typing is nothing new. It was already in Perl for long time. I have done some large applications in the interprise environment with Perl that worked fine. |
David PollakCalendar
QuicksearchCategoriesBlog Administration |
||||||||||||||||||||||||||||||||||||||||||