Rails vs. Asp.Net politics

L

Leslie Viljoen

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
 
P

Peter Hickman

Leslie said:
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.
 
L

Leslie Viljoen

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.

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
 
L

Luke Melia

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
 
L

Leslie Viljoen

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!
 
L

Leslie Viljoen

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


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
 
M

Matt Lawrence

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

Gregory Seidman

On Fri, Nov 10, 2006 at 08:50:12PM +0900, Leslie Viljoen 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
 
R

Richard Conroy

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

Patrick Lynch

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
 
S

Scott

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?
 
L

Leslie Viljoen

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.





--
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
 
M

Mike Harris

Leslie said:
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.



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.
For RubyCLR, have you tried the gem? I installed the gem a couple weeks
ago, and everything worked flawlessly.
 
L

Leslie Viljoen

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

Nithia Govender

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.

All I can say is that you're not looking at my bookshelf :) 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
 
L

Leslie Viljoen

All I can say is that you're not looking at my bookshelf :) 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.

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

David Vallner

--------------enig3C15A9C3684E08CB20FACC60
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
hi
how i create a game a ruby?
what's your msn?
=20

No thread hijacking.

Also, that's a very general question, what details of "creating a game"
you don't know to handle in Ruby?

Please start a -new- thread with those.

David Vallner


--------------enig3C15A9C3684E08CB20FACC60
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (MingW32)

iD8DBQFFVcYNy6MhrS8astoRAtdtAJ95eAWO/0hJJg4TcAcqbAEkJ88hAACeILod
nXIn8LmcjR9OqsQbWmTZVE0=
=pZ6g
-----END PGP SIGNATURE-----

--------------enig3C15A9C3684E08CB20FACC60--
 
D

David Vallner

--------------enig201D7B903353C52D2F273948
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Matt said:
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.
=20

Which few people actually need. It's a requirement to be evaluated as
any other, if you're doing a one-off app, or one for a long-term Windows
house, portability doesn't add value to the customer.

David Vallner


--------------enig201D7B903353C52D2F273948
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (MingW32)

iD8DBQFFVca7y6MhrS8astoRAt7hAJsFCSdNYRdGpi4Q59g3yP39CGz6tQCePOTm
827FxuIOaq4bWJvNJLcvx2Y=
=Ujm8
-----END PGP SIGNATURE-----

--------------enig201D7B903353C52D2F273948--
 
D

David Vallner

--------------enigF7EB14BEC0694F2F48813B08
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Leslie said:
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#.
=20

Playing devil's advocate, if the rest of the team only really knows C#
and ASP.NET, it might not be wise to be headstrong and put a technology
that you as the minority consider shinier.

However, with the timeframe you mentioned, I think spending some time on
technology evaluation isn't completely out of the question. And it sure
as hell is a better way to find out what technology your team -as a
whole- will be more productive with than getting (undeniably biased)
opinions from here; I consider programmer-language productivity to be
not really an absolute metric, and it's always bound by requirements (if
you had to do something for which a library in Ruby is only very flaky,
that might cause a drop in that, etc.)

Also, performance and scalability issues are also to be considered. If
the bottleneck is in the database, I'd be wary of Rails and ActiveRecord
- the "making things easy" way with which it approaches ORM isn't too
convincing from the performance POV, and you might end up with dropping
down to SQL or low-level operations a lot. If you have someone with
database experience on the team, maybe iBATIS would be a better choice -
divorcing your ORM from your database schema would let you optimize
things on that level easier, if giving up some of the "Oooh! Aaah!"
factor. Either way, if you expect (read: absolutely know, this would be
a horror to rewrite later) that the load will be low, you could just do
a load test to see if ActiveRecord on whichever SQL server you'll be
using is Fast Enough (tm).

David Vallner


--------------enigF7EB14BEC0694F2F48813B08
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (MingW32)

iD8DBQFFVcyKy6MhrS8astoRAt0pAJ46a6XUHYuVpXQ16D+WP8F+U2TyjQCdHrws
9Ctv4Z1Rhc6TddwPXzFlPzo=
=MqpS
-----END PGP SIGNATURE-----

--------------enigF7EB14BEC0694F2F48813B08--
 
N

Nithia Govender

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

I'm mostly a Java programmer (yes, I know, the Dark Side :), but I
have enjoyed Ruby since I first discovered it a few years ago. I
would think that Ruby/Rails on your CV (if you already have C#) would
be a good thing. It's bound to get going here eventually, even though
the larger South African corporations all seem to have sold their
souls to either Microsoft or IBM.

As for books, I almost always order programming books from Amazon or
the like. Bookstore here seem incapable of carrying anything more
substantial than "The Dummies Guide to X", "Teach Yourself Y in 21
Days" and an infinite number of titles having something to do with MS
Office. And don't get me started on the insane markups on technical
books. A book that costs $30 on Amazon is likely to set you back R500
or so in a local bookstore. Even assuming an exchange rate of R8 to
the dollar, that's still twice what you should be paying.

Sorry about the Web site issue. We're busy moving servers, so the DNS
entries may be still a little messed up. www.guruhut.co.za should
resolve correctly.

Later
N
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Staff online

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,012
Latest member
RoxanneDzm

Latest Threads

Top