Railsters:
While I have work tirelessly on Rails for the past few months, and boosting
it for years, I have come to an important career juncture, and have decided
to stop using it. No single reason stands out, but this short list should
help you all understand my disgruntlement.
- The "dynamic typing" system should just be called "passive
typing".
Everything is just whatever type its environment wants it to be.
Types should be more assertive, to prevent bugs, and every interface
should declare what types it takes. This also helps self-document.
- Between Monkey Patching and Ruby''s absurd "Module" system,
every object essentially sprouts every method of every other object.
- The unit tests are easy to write for simple things like a database
hit, or checking that HTML contains a given field. But they are
absurdly hard to write for anything non-trivial, and this just takes
time from debugging. If the tests'' primary purpose are to provide
what normal languages do internally, with simple type checking,
then I can kill two birds with one stone by not writing unit tests
and by switching to a much stricter typing system. I will start
using Design by Contract, on websites, immediately.
- When the time comes to "pick a language", keeping track of
which one you are in is a total pain. If you are inside Ruby, the
#{} will insert contents into a string. But in RHTML, <%= %>
inserts it. And don''t get me started on the horrors of trying to
figure out if I should write ", \", \\\'', '',
", or ' into
some string that may or may not emerge as JavaScript...
- Because of Passive Typing, the editors _can''t_ provide
typesafe command-completion, or even a simple Refactoring
Browser.
- To scale, you just buy more servers. Oh, I can''t _wait_ to tell
my penny-pinching client _that_ one!
- Ajax destabilizes both servers and browsers. ''nuff said.
- Also, I heard a rumor that someone is going to sue 37signals
for allegedly making web development "easy". The time is now
to get clear of _that_ debacle!
In summary, Rails is simply a way to allow inferior programmers to get by
with adequate website features. It is not a tool for serious or scalable
I am switching back to Tomcat immediately. I''m downloading it now, and
I
expect to have it configured by May 1st.
--
Phlip
http://flea.sourceforge.net/PiglegToo_1.html
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---
Phlip, I was wondering if you''ve gone bananas as I read, but I think you''ve forgot to add: Happy April Fool Day! Regards, -- Long http://MeandmyCity.com/ - Find your way http://edgesoft.ca/blog/read/2 - No-Cookie Session Support plugin ----- Original Message ----- Phlip wrote:> > Railsters: > > While I have work tirelessly on Rails for the past few months, and boosting > it for years, I have come to an important career juncture, and have decided > to stop using it. No single reason stands out, but this short list should > help you all understand my disgruntlement. > > - The "dynamic typing" system should just be called "passive typing". > Everything is just whatever type its environment wants it to be. > Types should be more assertive, to prevent bugs, and every interface > should declare what types it takes. This also helps self-document. > > - Between Monkey Patching and Ruby''s absurd "Module" system, > every object essentially sprouts every method of every other object. > > - The unit tests are easy to write for simple things like a database > hit, or checking that HTML contains a given field. But they are > absurdly hard to write for anything non-trivial, and this just takes > time from debugging. If the tests'' primary purpose are to provide > what normal languages do internally, with simple type checking, > then I can kill two birds with one stone by not writing unit tests > and by switching to a much stricter typing system. I will start > using Design by Contract, on websites, immediately. > > - When the time comes to "pick a language", keeping track of > which one you are in is a total pain. If you are inside Ruby, the > #{} will insert contents into a string. But in RHTML, <%= %> > inserts it. And don''t get me started on the horrors of trying to > figure out if I should write ", \", \\\'', '', ", or ' into > some string that may or may not emerge as JavaScript... > > - Because of Passive Typing, the editors _can''t_ provide > typesafe command-completion, or even a simple Refactoring > Browser. > > - To scale, you just buy more servers. Oh, I can''t _wait_ to tell > my penny-pinching client _that_ one! > > - Ajax destabilizes both servers and browsers. ''nuff said. > > - Also, I heard a rumor that someone is going to sue 37signals > for allegedly making web development "easy". The time is now > to get clear of _that_ debacle! > > In summary, Rails is simply a way to allow inferior programmers to get by > with adequate website features. It is not a tool for serious or scalable > > I am switching back to Tomcat immediately. I''m downloading it now, and I > expect to have it configured by May 1st. > > -- > Phlip > http://flea.sourceforge.net/PiglegToo_1.html >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Long wrote:> Happy April Fool Day!Thank you. (Bats eyelashes.) The worst AFDJ is when nobody acknowledges an attempt! And to this day, you will find nitwits saying everything I said about Duck Typing and TDD... But the local Rails group sure trumped me: http://comox.textdrive.com/pipermail/sdruby/2007-April/001725.html (Note I cited that, too...) -- Phlip http://flea.sourceforge.net/PiglegToo_1.html --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
And of course I read this on April 2nd, having basically already forgot about April Fools, thinking "has this guy gone completely batshit insane?" Thanks for the laugh. Now I should get back to work. Jason On 4/2/07, Phlip <phlip2005-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> > > Long wrote: > > > Happy April Fool Day! > > Thank you. (Bats eyelashes.) The worst AFDJ is when nobody > acknowledges an attempt! > > And to this day, you will find nitwits saying everything I said about > Duck Typing and TDD... > > But the local Rails group sure trumped me: > > http://comox.textdrive.com/pipermail/sdruby/2007-April/001725.html > > (Note I cited that, too...) > > -- > Phlip > http://flea.sourceforge.net/PiglegToo_1.html > > > > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---