Apathy is the suck. Login and vote now.
By nivanov
via jroller.com
Published: Jan 03 2008 / 22:11
I don’t have much beef with Ruby and RoR as I don’t encounter it beyond simple web applications. In enterprise systems, dominated by Java and .NET, it is statistically non-existent. But nonetheless I was really startled when I read about concurrency “support” in both Ruby as a language and RoR as a framework. Well, basically, there are almost none in both at least at this point.
Comments
robertdempsey replied ago:
The requirement of concurrency in an application is an application specific issue, not a global one. Ruby and Rails are effectively being used in many enterprises, it just isn't talked about as much.
dzonereader replied ago:
Concurrency is an application specific issue really? How many web-based enterprise applications are non-concurrent?
Nikita Ivanov replied ago:
No, I believe it's used somewhere.... ThoughtWorks is doing some work somewhere :-) It's just that if Tomcat would require new JVM for every new "thread" it would be ridiculed. In RoR - it's an elegant design choice.
Btw, concurrency is NOT an application concern.
dglasser replied ago:
Yes, but you can't do "20.minutes.ago" in Java, so there!
Nikita Ivanov replied ago:
But, you can do:
@Gridify
public void businessLogic() {
...
}
to run your business logic on the grid. So, you are right - there!
robertdempsey replied ago:
All in all, it looks like it's coming along: http://www.infoq.com/news/2007/08/ruby-1-9-fibers
sproketboy replied ago:
jola_zm replied ago:
Nikita Ivanov replied ago:
Guys,
It's not that I just want to bash Ruby or RoR (although it deserves it for its current threading mess). It's just that normal people would not race in Formula 1 on the scooter no matter how elegant, simple and progressive its design may seem...
Nikita.
bwtaylor replied ago:
At the moment, the votes on this are +19 / -20! It amazes me how the rails community just buries their head in the sand whenever legitimate technical criticism are levied their way. Nikita politely points out the obvoius: yes, you do need threads to scale and not having them is a severe limitation, and people vote him DOWN? Sad. Zed Shaw, creator of Mongrel is bailing on the RoR community (not the technology) because of crap like this. Is it any wonder the RoR community is eating it's own?
Todd Werth replied ago:
I voted this down, and I'll explain why. First, it was short with very little new valuable content. Second the title is purposely antagonistic, as was some of the actual post, such as the last line. These kinds of posts certainly get a lot of comments and eyeballs, but they add little to the discussion of software engineering.
I noticed Mr. Ivanov posts a lot about Grid computing, I look forward to learning about that, and I'll happily vote up posts with valuable content, wether or not they agree with my views on technology.
bwtaylor replied ago:
To numskulls who think app servers don't need threading: please see today's DZone post entitled "16,000 Concurrent Connections using Tomcat 6" and RTFA. http://www.dzone.com/links/16000_concurrent_connections_using_tomcat_6.html
If your attention span is too short to read an article like this, just skip down to where he says "Let's talk about scalability."
blitzpa9 replied ago:
Sure RoR has it's own issues, but we shouldn't automatically condemn Ruby as a language. There's great stuff in Ruby that has nothing to do with the Rails framework.
What about Drb?
http://www.ruby-doc.org/stdlib/libdoc/drb/rdoc/index.html
http://eric_rollins.home.mindspring.com/ParallelRuby.html
or web frameworks like Merb?
http://www.merbivore.com
.NET and Java don't automatically make applications scalable. And Ruby should be no less "ready for enterprise" by your definition than Python or Perl are. Ruby has outstanding facilities for developing domain specific languages which enterprises NEED, it's just a shame that Ruby can't seem to separate itself from Rails in the minds of unfamiliar developers.
robertdempsey replied ago:
Having not taken the app server into consideration enough, I stand corrected on the requirement of concurrency (and therefore stable threading) in an application, to include web-based applications. However, I have heard of some heavy systems built in Ruby on Rails that don't seem to have scalability issues. It would be cool, and nice, if Rails had an app server that would handle 16K+ connections (such as the tomcat link posted above), though I wonder how much hardware you need for that?! Things are improving in both the Ruby and Rails worlds, so we will see what happens. Also, as mentioned, perhaps we won't have to worry about it as JRuby and Merb are making serious headway.
Voters For This Link (28)
Voters Against This Link (26)