Questions for my readers
May 14th, 2006
I come from a primarily Microsoft focused back-end server programmer background. I've spent the past few months learning as much as I can about bleeding-edge web development, mostly focusing on Ruby on Rails and Ajax. I'm really interested in furthering my career focusing on open source and free technologies. With that in mind, here are my questions:
Does it make sense for me to teach myself java? In really large, modern applications, can ALL of the development work be done in Ruby on Rails? How does rails fit in with components? Can you make reusable components with just Ruby?
Part of this is just born out of my curiosity in learning java. I already know C# pretty well, so I think learning java wouldn't be too tough, but I'm also interested in learning how java handles all of the things that I'm currently doing with C#. I'm not interested in learning how java can do the same things that Rails does - I want to know if/how it complements rails development.
Should I remain solely focuses on Ruby and Rails or will it be helpful for me to learn java server side stuff as well? Is java obsolete?
Does it make sense for me to teach myself java? In really large, modern applications, can ALL of the development work be done in Ruby on Rails? How does rails fit in with components? Can you make reusable components with just Ruby?
Part of this is just born out of my curiosity in learning java. I already know C# pretty well, so I think learning java wouldn't be too tough, but I'm also interested in learning how java handles all of the things that I'm currently doing with C#. I'm not interested in learning how java can do the same things that Rails does - I want to know if/how it complements rails development.
Should I remain solely focuses on Ruby and Rails or will it be helpful for me to learn java server side stuff as well? Is java obsolete?
June 10th, 2007 at 07:21 PM Terry, I'm 99% certain you'll never regret learning java. In my experience, learning another programming language just adds to my understanding of other languages, so learning java may actually make you a better programmer. And no, I don't think java is obsolete. I think what's happening in dynamic languages like Ruby/Python/Smalltalk is more interesting than what's happening in java, but Java won't be obsolete for a long, long time. Personally, learning Ruby has made me look into other languages. I've had a new view of Javascript after using prototype, and Matz' mention of IO (http://www.iolanguage.com/about/) took me down that path for a while. I've got Haskell (http://www.haskell.org/haskellwiki/Haskell) on my watchlist too, along with Smalltalk. If you've seen what Avi Bryant is doing with DabbleDB (http://www.dabbledb.com/) in Smalltalk you may feel you're seeing what Rails could become. I think you should have a look at java. Given your experience with C# you may feel you're moving backwards coming to java, in that case you'll know... Have fun! Regards, Marius
June 10th, 2007 at 07:21 PM I've started following this blog a few weeks ago. I'm also just getting my feet wet with Rails and really enjoy hearing about your exploration. My thoughts on Rails is that it is an awesome framework for creating database connected web applications. It's a very specialized tool that fits a small (in terms of scope in application development) niche. But it's a niche that pervades moden life. For enterprize scale applications that expand beyond the web, obviously C# or Java would be a better choice. But for rapidly and flexibly creating database connected web applications, Rails is simple amazing.
June 10th, 2007 at 07:21 PM You guys probably have much more experience than me, but I did some .NET and Java... I think the reason why RoR is so popular now is because of the popularity of web apps in particular. But I guess until Ruby improves (and I know it will, with the quality of the people driving it) I guess it depends on what you would like to do. Worth it to learn? I guess you can think about it this way, is there something I would like to do that I can do with .NET but not with RoR? (not because of knowledge gaps but because of framework limitations) If there is, there is probably a counterpart in Java (for the .NET way) and java is more in use and more "free" and less proprietary than .NET... (it's taking steps towards that direction, and you just know something drastic has to happen for MS to do the same thing)