«« Next » « Previous
«« Next » « Previous

Link Details

Apathy is the suck. Login and vote now.
Link 59736 thumbnail

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.
  • 28
  • 26
  • 2347
  • 1132

Comments

Add your comment
User 230109 avatar

robertdempsey replied ago:

1 votes Vote down Vote up Reply

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.

User 254930 avatar

dzonereader replied ago:

0 votes Vote down Vote up Reply

Concurrency is an application specific issue really? How many web-based enterprise applications are non-concurrent?

User 240010 avatar

Nikita Ivanov replied ago:

2 votes Vote down Vote up Reply

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.

User 102928 avatar

dglasser replied ago:

0 votes Vote down Vote up Reply

Yes, but you can't do "20.minutes.ago" in Java, so there!

User 240010 avatar

Nikita Ivanov replied ago:

1 votes Vote down Vote up Reply

But, you can do:

@Gridify
public void businessLogic() {
...
}

to run your business logic on the grid. So, you are right - there!

User 230109 avatar

robertdempsey replied ago:

0 votes Vote down Vote up Reply

All in all, it looks like it's coming along: http://www.infoq.com/news/2007/08/ruby-1-9-fibers

User 187417 avatar

sproketboy replied ago:

-4 votes [show comment] Vote down Vote up Reply
User 200965 avatar

jola_zm replied ago:

-4 votes [show comment] Vote down Vote up Reply
User 240010 avatar

Nikita Ivanov replied ago:

0 votes Vote down Vote up Reply

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.

User 242727 avatar

bwtaylor replied ago:

0 votes Vote down Vote up Reply

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?

User 220968 avatar

Todd Werth replied ago:

0 votes Vote down Vote up Reply

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.

User 242727 avatar

bwtaylor replied ago:

-1 votes Vote down Vote up Reply

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."

User 264808 avatar

blitzpa9 replied ago:

0 votes Vote down Vote up Reply

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.

User 230109 avatar

robertdempsey replied ago:

0 votes Vote down Vote up Reply

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.

Add your comment


Html tags not supported. Reply is editable for 5 minutes. Use [code lang="java|ruby|sql|css|xml"][/code] to post code snippets.