Rails vs. Asp.Net politics

I have the deciding vote in a new (rather large) web app we need to
develop. I am experienced in Rails, but the other 2 guys on the team
know only C# and very basic Ruby. About 25% of the app could benefit
from existing classes written in C#.

So I could force everyone to learn ROR, which they may or may not
thank me for, or I could learn ASP.NET. I know C# well but have never
used ASP.NET.

I doubt execution speed would be a factor, since the bottleneck will
be in the database and there would be very few concurrent users. We’d
make a lot of use of Ajax.

So is there any advice? Anything I should take into account? Has
anyone done large projects in both environments?

Les


Man’s unfailing capacity to believe what he prefers to be true rather
than what the evidence shows to be likely and possible has always
astounded me. We long for a caring Universe which will save us from
our childish mistakes, and in the face of mountains of evidence to the
contrary we will pin all our hopes on the slimmest of doubts. God has
not been proven not to exist, therefore he must exist.

  • Prokhor Zakharov

On 11/10/06, Peter H. [email protected] wrote:

If you already have C# I’m not too sure of the value of adding ASP.NET
to your CV.

I think so, although in the backwater of South Africa, very few people
have ever heard of Ruby or Rails! I have yet to see a single book here
on either subject.


Man’s unfailing capacity to believe what he prefers to be true rather
than what the evidence shows to be likely and possible has always
astounded me. We long for a caring Universe which will save us from
our childish mistakes, and in the face of mountains of evidence to the
contrary we will pin all our hopes on the slimmest of doubts. God has
not been proven not to exist, therefore he must exist.

  • Prokhor Zakharov

Leslie V. wrote:

I have the deciding vote in a new (rather large) web app we need to
develop. I am experienced in Rails, but the other 2 guys on the team
know only C# and very basic Ruby. About 25% of the app could benefit
from existing classes written in C#.

Well you could sell it as a good CV move for them. In the end they will
know C# and Ruby and Rails. Got to be a good thing if they ever want to
move.

If you already have C# I’m not too sure of the value of adding ASP.NET
to your CV.

go for Rails only !!
Rails is evolving a lot, i guess the two guys can easily be satisfied if
u
just show them
a live little let say a small blogging application with some essential
features.

How about picking a small slice of the app and doing two week-long
spikes, one with each technology? That should be enough to let you
have a more informed group discussion than you can now. Hopefully,
consensus will emerge. If not, you can make your decision but your
team will at least feel their ideas were given a shot.

Luke

On 11/10/06, Luke M. [email protected] wrote:

How about picking a small slice of the app and doing two week-long
spikes, one with each technology? That should be enough to let you
have a more informed group discussion than you can now. Hopefully,
consensus will emerge. If not, you can make your decision but your
team will at least feel their ideas were given a shot.

Great idea!

On 11/10/06, Leslie V. [email protected] wrote:

On 11/10/06, Luke M. [email protected] wrote:

How about picking a small slice of the app and doing two week-long
spikes, one with each technology? That should be enough to let you
have a more informed group discussion than you can now. Hopefully,
consensus will emerge. If not, you can make your decision but your
team will at least feel their ideas were given a shot.

Great idea!

Also, if you do end up looking back at C#, take a look at Monorail[0].
It’s
an excellent framework to replace ASP.NET’s page flow, with a more true
MVC
architecture. It borrows a lot from Rails, but not to the point of
porting
features that just won’t work. Definitely something to check out!

[0]http://www.castleproject.org/monorail

On Fri, 10 Nov 2006, Leslie V. wrote:

So is there any advice? Anything I should take into account? Has
anyone done large projects in both environments?

ASP.NET limits you to running on Windows. Rails runs well on Windows,
Linux, BSD, OSX, and many more. So, Rails would give you much greater
flexibility in choice of platforms.

– Matt
It’s not what I know that counts.
It’s what I can remember in time to use.

On 11/10/06, Tanner B. [email protected] wrote:

Also, if you do end up looking back at C#, take a look at Monorail[0]. It’s
an excellent framework to replace ASP.NET’s page flow, with a more true MVC
architecture. It borrows a lot from Rails, but not to the point of porting
features that just won’t work. Definitely something to check out!

[0]http://www.castleproject.org/monorail

Ah thanks, I am already using Castle ActiveRecord.
We do what little we can.


Man’s unfailing capacity to believe what he prefers to be true rather
than what the evidence shows to be likely and possible has always
astounded me. We long for a caring Universe which will save us from
our childish mistakes, and in the face of mountains of evidence to the
contrary we will pin all our hopes on the slimmest of doubts. God has
not been proven not to exist, therefore he must exist.

  • Prokhor Zakharov

On Fri, Nov 10, 2006 at 08:50:12PM +0900, Leslie V. wrote:
} I have the deciding vote in a new (rather large) web app we need to
} develop. I am experienced in Rails, but the other 2 guys on the team
} know only C# and very basic Ruby. About 25% of the app could benefit
} from existing classes written in C#.
}
} So I could force everyone to learn ROR, which they may or may not
} thank me for, or I could learn ASP.NET. I know C# well but have never
} used ASP.NET.
}
} I doubt execution speed would be a factor, since the bottleneck will
} be in the database and there would be very few concurrent users. We’d
} make a lot of use of Ajax.
}
} So is there any advice? Anything I should take into account? Has
} anyone done large projects in both environments?

I have worked on large projects in both. As a language, I enjoy Ruby
more
than C# by a significant but not huge margin. As a framework, I enjoy
Rails
more than ASP.NET by a large margin. C# and ASP.NET make it slightly
easier
to have many engineers working concurrently, but not by a whole lot.
Where
it really gets interesting is in deployment. I am going to paint this in
rough brushstrokes, and make some generalizations, but I hope the
high-level view will be of use in making your decision. I’m also going
to
use numbers without units, which are really only useful for relative
comparisons since they mostly represent a vague performance metric
having
something to do with incoming requests based on my experience.

A single box running IIS/ASP.NET can probably manage at least 20-30.
More
than that and you need more boxes and a load balancer, plus you need to
make sure that all of your shared state is in the DB (or another
explicitly
shared resource) rather than ASP.NET’s various implicitly shared
resources
(e.g. class variables). You also have to figure out how to make sessions
an
explicitly shared resource (it might be easy, but it’s been a while and
I
don’t remember). It scales roughly linearly that way for a while,
probably
to 500 or so, then gets much as when the shared resources become a
bottleneck.

A single box running a single Rails process (whether lighttpd or
mongrel)
can manage maybe 5-15, depending on the demands of serving particular
requests. Beyond that you need at least multiple Rails processes and a
load
balancer, with session data stored somewhere other than in-process
memory
(memcached is a good choice). A decently powerful box with plenty of
memory
should be able to manage enough Rails processes to support maybe 40-60.
After that, it scales roughly linearly as you add boxes and processors,
up
to maybe 1000-1200. From there it gets significantly messier because you
need to deal with multiple levels of caching granularity, plus the same
concerns about shared resources as ASP.NET.

It sounds like your intended application will work well under either,
given
your small team and expected deployment size. The main
tradeoffs I see for your app are the existing code and that while Atlas
makes AJAX stuff easier with ASP.NET if you have anything trickier than
what Atlas supports you will find it more difficult to deal with in
ASP.NET
that you would in Ruby.

} Les
–Greg

On 11/10/06, Leslie V. [email protected] wrote:

So I could force everyone to learn ROR, which they may or may not
thank me for, or I could learn ASP.NET. I know C# well but have never
used ASP.NET.

So is there any advice? Anything I should take into account? Has
anyone done large projects in both environments?

I am scratching my head here, but isn’t there some project out there
where guys are basically trying to make some version of Ruby.NET?

Basically some way of integrating Ruby (and therefore Rails) into
the .NET world. I am more familiar with JRuby which is an equivalent
project.

If you’ll still be developing and deploying on a Windows box, you can
use RubyCLR to leverage your existing C# classes.

What is the timeframe for the project? I think you’d be much better
off spending the beginning of the project getting everyone up to speed
on RoR than doing concurrent development, since one team will have
wasted 2 weeks of work when the decision is made. Is
internationalization support required?

Good afternoon,

I worked with both ASP.NET 1.1, VB.Net and C# along with SQL Server 2000
for about a year – doing some logical modelling, testing and
development.

I have been working, currently, with Ruby, MySQL and TK – doing a
statistical application. I’ll work this app initially with Ruby (to get
the graphics and math down pat) and then convert it to RoR.

I found that ASP.Net to be a steep learning curve. In addition, it is
expensive, since you probably will want to use Visual Studio. The nice
thing about Visual Studio is that it links everything together – the
database, the web and the languages C# and VB.Net

Personally, since I am not developing large applications initially (but
if successful they could turn into a moderately sized commercial
package) I prefer Ruby.

The reason why I switched to Ruby (and RoR) is when I tried to upgrade
from ASP.Net 1.1 to ASP.Net 2.0 – I was trying to use the ‘trial’
software provided by Microsoft but I failed in my attempt to install SQL
Server 2005 – currently, on my desktop, I will be unable to install any
version of SQL Server…after a few weeks of trying I finally gave up…

I will be purchasing an Apple desktop in the 1Q07 and will be doing all
my development on it, using Ruby, MySQL, RoR, Tk and possibly BLT or
some other graphics package…It’s just more fun…

If you go with ASP.Net, let me know and I can give you some really good
references…

Good luck (to both of us)…
pat

Leslie V. wrote:

it.
the better for us (obviously). A good question is which choice would

Leslie V. wrote:

be in the database and there would be very few concurrent users. We’d
astounded me. We long for a caring Universe which will save us from
our childish mistakes, and in the face of mountains of evidence to the
contrary we will pin all our hopes on the slimmest of doubts. God has
not been proven not to exist, therefore he must exist.

  • Prokhor Zakharov

For RubyCLR, have you tried the gem? I installed the gem a couple weeks
ago, and everything worked flawlessly.

On 11/10/06, Scott [email protected] wrote:

If you’ll still be developing and deploying on a Windows box, you can
use RubyCLR to leverage your existing C# classes.

I have looked at RubyCLR but it seems really green. I have not gotten
it working yet because last time I tried I couldn’t compile it and
this time it’s not working on Ruby 1.8.4 yet. I don’t think I can
actually propose it for our projects yet, but I am eagerly watching
it.

What is the timeframe for the project? I think you’d be much better
off spending the beginning of the project getting everyone up to speed
on RoR than doing concurrent development, since one team will have
wasted 2 weeks of work when the decision is made. Is
internationalization support required?

Timeframe is about 6 months according to marketing, although our
initial estimate puts it at a bit over a year. The faster we can go
the better for us (obviously). A good question is which choice would
make the development quickest. Internationalization is not required
but may be after a few releases.

If we do the spikes, we’ll start with Ruby and see how the others
adapt. If there are serious problems we’ll investigate further, or
we’ll just start design.

I doubt execution speed would be a factor, since the bottleneck will
than what the evidence shows to be likely and possible has always
astounded me. We long for a caring Universe which will save us from
our childish mistakes, and in the face of mountains of evidence to the
contrary we will pin all our hopes on the slimmest of doubts. God has
not been proven not to exist, therefore he must exist.

  • Prokhor Zakharov


Man’s unfailing capacity to believe what he prefers to be true rather
than what the evidence shows to be likely and possible has always
astounded me. We long for a caring Universe which will save us from
our childish mistakes, and in the face of mountains of evidence to the
contrary we will pin all our hopes on the slimmest of doubts. God has
not been proven not to exist, therefore he must exist.

  • Prokhor Zakharov

On 11/10/06, Mike H. [email protected] wrote:

For RubyCLR, have you tried the gem? I installed the gem a couple weeks
ago, and everything worked flawlessly.

Probably with the older version of Ruby? I just updated the
one-click-installer and to Ruby 1.8.4. I can’t find a Gem, probably
because of that.

I’ll may have an older Ruby on my OSX box, I’ll try it there a bit
later.

On 11/10/06, Nithia G. [email protected] wrote:

from existing classes written in C#.

can see why Rails, with it’s “constraints are good” philosophy, may
not be the best framework for every Web app. I must admit that I
haven’t done much work in Rails, but for me Ruby itself is a
beautiful, elegant language that is a joy to program in.

Wow, I have searched this backwater as best as I could to find other
Ruby programmers here! I also search every bookstore I go into for
Ruby books - where did you get them? I have many, but all ordered from
overseas.

Would you agree with the idea that Ruby/Rails on your CV might be
better than ASP.NET (if you already have C# there) - in South Africa?

Also, where do you work? Guruhut.com doesn’t resolve to a www server
right now…

On 2006-11-10 17:54:50 -0500, “Leslie V.” [email protected]
said:

benefit
to your CV.
scary complexity of many of the apps we produce for our customers, I
Would you agree with the idea that Ruby/Rails on your CV might be
better than ASP.NET (if you already have C# there) - in South Africa?

Also, where do you work? Guruhut.com doesn’t resolve to a www server
right now…

Try here, as a guess:

http://www.guruhut.co.za/

Best,
James

On 10 Nov 2006, at 14:23, Leslie V. wrote:

will
on either subject.
All I can say is that you’re not looking at my bookshelf :slight_smile: From
where I sit in my South African backwater of a study, I see two Ruby
books, plus a PDF or two. In my work environment, most people have
heard of Ruby and Rails. Most view Rails with a certain scepticism,
especially given that we do most of our work in Java. Looking at the
scary complexity of many of the apps we produce for our customers, I
can see why Rails, with it’s “constraints are good” philosophy, may
not be the best framework for every Web app. I must admit that I
haven’t done much work in Rails, but for me Ruby itself is a
beautiful, elegant language that is a joy to program in.

Nithia

hi
where are you from?
what’s your msn?
i am create a software as a game for super games

2006/11/10, Leslie V. [email protected]: