Ruby
From APIDesign
Line 1: | Line 1: | ||
[[wikipedia::Ruby_(programming_language)|Ruby]] is a programming language gaining some popularity in the first decade of 21st century due to lack of certain important features in [[Java]]. Some thing that these features invoke [[Talk:Blogs:JaroslavTulach:Theory:LanguagesForEvolution|duck-typing]], some like [[closures]], but in fact the killer features is [[gems]] - standard [[module system|packaging system]] for all [[Ruby]] libraries and frameworks. | [[wikipedia::Ruby_(programming_language)|Ruby]] is a programming language gaining some popularity in the first decade of 21st century due to lack of certain important features in [[Java]]. Some thing that these features invoke [[Talk:Blogs:JaroslavTulach:Theory:LanguagesForEvolution|duck-typing]], some like [[closures]], but in fact the killer features is [[gems]] - standard [[module system|packaging system]] for all [[Ruby]] libraries and frameworks. | ||
+ | |||
+ | == Tim Boudreau on ''walking in circles'' == | ||
+ | |||
+ | * 1999 - Make everything an EJB!....2002: "The best way to win the J2EE game is not to play" (Bruce Tate - Better, Faster, Lighter Java) | ||
+ | * 1980's - CASE tools generate giant wads of code for you; 1990's gee when there's a bug in my unreadable generated code, how do I fix it; 2006 or so...Ruby on Rails generates giant wads of code for you... | ||
+ | * 1990's - RMI, other "object with one foot on each side of the wire" strategies - network-based objects; 2000's - gee, you have no idea what call sequence will block on network I/O - objects with one foot on each side of the wire are a horrible idea - let's do SOA instead (which is just procedural programming over sockets). | ||
+ | |||
+ | -- Tim Boudreau | ||
+ | |||
+ | == Andreas Stefik's addition == | ||
+ | |||
+ | Just chiming in here. I'll admit that when I read this I laughed heartily I couldn't agree more! | ||
+ | |||
+ | The [[ruby]] on rails folks are obsessive compulsive about how awesome and | ||
+ | "easy" rails is (e.g., a blog in five minutes), I suspect because it | ||
+ | generates giant wads of code for you, which they somehow assume never needs | ||
+ | to modified, or possibly that modifying it is "easy" or --- I don't know, | ||
+ | something. Whenever I use it, though, I think to myself, "crap, now how do I | ||
+ | debug these giant wads of generated unreadable code." I swear, every time I | ||
+ | touch rails, I spend 90% of my time twiddling around with silly | ||
+ | configuration and generation issues (or updating to version 2.20001, which | ||
+ | seemingly changed the way you interact with your generated code from | ||
+ | 2.20000) and the rest on actually doing something useful. And keep in mind, | ||
+ | I have a phd, write compilers in my spare time, and have done a "reasonable" | ||
+ | amount of web programming for various projects, so this isn't exactly my | ||
+ | first day. | ||
+ | |||
+ | Anyway, that's my two cents, for what it is worth (if anything). | ||
+ | |||
+ | -- Andreas Stefik |
Revision as of 05:20, 28 January 2010
Ruby is a programming language gaining some popularity in the first decade of 21st century due to lack of certain important features in Java. Some thing that these features invoke duck-typing, some like closures, but in fact the killer features is gems - standard packaging system for all Ruby libraries and frameworks.
Tim Boudreau on walking in circles
- 1999 - Make everything an EJB!....2002: "The best way to win the J2EE game is not to play" (Bruce Tate - Better, Faster, Lighter Java)
- 1980's - CASE tools generate giant wads of code for you; 1990's gee when there's a bug in my unreadable generated code, how do I fix it; 2006 or so...Ruby on Rails generates giant wads of code for you...
- 1990's - RMI, other "object with one foot on each side of the wire" strategies - network-based objects; 2000's - gee, you have no idea what call sequence will block on network I/O - objects with one foot on each side of the wire are a horrible idea - let's do SOA instead (which is just procedural programming over sockets).
-- Tim Boudreau
Andreas Stefik's addition
Just chiming in here. I'll admit that when I read this I laughed heartily I couldn't agree more!
The ruby on rails folks are obsessive compulsive about how awesome and "easy" rails is (e.g., a blog in five minutes), I suspect because it generates giant wads of code for you, which they somehow assume never needs to modified, or possibly that modifying it is "easy" or --- I don't know, something. Whenever I use it, though, I think to myself, "crap, now how do I debug these giant wads of generated unreadable code." I swear, every time I touch rails, I spend 90% of my time twiddling around with silly configuration and generation issues (or updating to version 2.20001, which seemingly changed the way you interact with your generated code from 2.20000) and the rest on actually doing something useful. And keep in mind, I have a phd, write compilers in my spare time, and have done a "reasonable" amount of web programming for various projects, so this isn't exactly my first day.
Anyway, that's my two cents, for what it is worth (if anything).
-- Andreas Stefik