ASP.NET vs Ruby on Rails

317 views
Skip to first unread message

Stephen Kellett

unread,
Jun 24, 2005, 2:46:35 PM6/24/05
to
HI Folks,

Anyone here done both ASP.NET and Rails? Care to compare and contrast?
I'm not interested in MS bashing, just the pros and cons of both
environments.

The reason I ask is that I've just read on joelonsoftware that he thinks
ASP.NET is excellent and is the best solution for server based work
presented on a website. I wonder if anyone thinks thats a valid
statement or not and can provide arguments for/against that point of
view.

If ASP.NET does offer superior things to Rails, what can be done to
Rails and/or Ruby to change things?

Stephen
--
Stephen Kellett
Object Media Limited http://www.objmedia.demon.co.uk/software.html
Computer Consultancy, Software Development
Windows C++, Java, Assembler, Performance Analysis, Troubleshooting

Paul Mitchell

unread,
Jun 24, 2005, 3:03:57 PM6/24/05
to
Hello,
I've just installed ruby-1.8.2 on OS X 10.3.9 in order to try and run
instiki-0.10.1. I'm gettig an error, right off the bat with instiki:

./instiki
./script/server:4:in `require': No such file to load -- optparse
(LoadError)
from ./script/server:4
from ./instiki:6:in `load'
from ./instiki:6
bp01:/tmp/instiki-0.10.1 root# cd ..

which, of course, means that the script/server ruby file cannot resolve
the few require statements at the top:

require 'webrick'
require 'optparse'
require 'fileutils'

(note: I downloaded a separate webrick before I realized that the *rb
files were located in /usr/local/lib/ruby/1.8/, which is why we squeak
past this one).

I've changed my PATH to include this directory:

echo $PATH
/usr/local/lib/ruby/1.8:/usr/local/sge/bin/darwin:/bin:/sbin:/usr/bin:/usr/sbin

but it doesn't find it. Every illustration I've found so far seems to
notuse fully qualified pathnames i nthe require statement - how then do I
direct ruby to these modules?

Thank for any help,

Paul Mitchell

==============================================================================
Paul Mitchell
email: pmit...@email.unc.edu
phone: (919) 962-9778
office: I have an office, room 14, Phillips Hall
==============================================================================

Adam P. Jenkins

unread,
Jun 24, 2005, 3:13:55 PM6/24/05
to
Stephen Kellett wrote:
> HI Folks,
>
> Anyone here done both ASP.NET and Rails? Care to compare and contrast?
> I'm not interested in MS bashing, just the pros and cons of both
> environments.
>
> The reason I ask is that I've just read on joelonsoftware that he thinks
> ASP.NET is excellent and is the best solution for server based work
> presented on a website. I wonder if anyone thinks thats a valid
> statement or not and can provide arguments for/against that point of view.
>
> If ASP.NET does offer superior things to Rails, what can be done to
> Rails and/or Ruby to change things?

Unless "Joel" has tried every other available web app framework,
including Rails, then I wouldn't give too much weight to his claim. It
just means ASP.NET is his favorite framework of the ones he's tried.

I haven't seriously used ASP.NET, but I have taken a look at it. I
think it's more well designed than Rails in some ways, but the bottom
line for me is that it's so MS-centric, from the SDK all the way to the
servers it runs under. If that's not a problem for you then there are
some definite advantages to .NET, but for all projects I've worked on,
being tied to a MS platform wasn't an option.

Adam

Berger, Daniel

unread,
Jun 24, 2005, 4:20:21 PM6/24/05
to
> -----Original Message-----
> From: Stephen Kellett [mailto:sn...@objmedia.demon.co.uk]
> Sent: Friday, June 24, 2005 2:03 PM
> To: ruby-talk ML
> Subject: ASP.NET vs Ruby on Rails
>
>
> HI Folks,
>
> Anyone here done both ASP.NET and Rails? Care to compare and
> contrast?
> I'm not interested in MS bashing, just the pros and cons of both
> environments.
>
> The reason I ask is that I've just read on joelonsoftware
> that he thinks
> ASP.NET is excellent and is the best solution for server based work
> presented on a website. I wonder if anyone thinks thats a valid
> statement or not and can provide arguments for/against that point of
> view.

Joel is an MS bigot. Also keep in mind that this is the same guy who
thinks structured exception handling is a bad idea, and we should all
resort back to using error codes, so you'll forgive me if I take his
opinion regarding ASP.net with a huge grain of salt.

Don't get me wrong - I generally like his column when he sticks to high
level subjects (and even some low level ones). But, once he starts
waxing rhapsodic about programming philosophy or tools....blech.

Regards,

Dan


Bill Guindon

unread,
Jun 24, 2005, 4:53:06 PM6/24/05
to
On 6/24/05, Stephen Kellett <sn...@objmedia.demon.co.uk> wrote:
> HI Folks,
>
> Anyone here done both ASP.NET and Rails? Care to compare and contrast?
> I'm not interested in MS bashing, just the pros and cons of both
> environments.

Some comparisons here:
http://dema.ruby.com.br/articles/2005/04/29/rails-vs-asp-net-comparison
http://dema.ruby.com.br/



> The reason I ask is that I've just read on joelonsoftware that he thinks
> ASP.NET is excellent and is the best solution for server based work
> presented on a website. I wonder if anyone thinks thats a valid
> statement or not and can provide arguments for/against that point of
> view.
>
> If ASP.NET does offer superior things to Rails, what can be done to
> Rails and/or Ruby to change things?
>
> Stephen
> --
> Stephen Kellett
> Object Media Limited http://www.objmedia.demon.co.uk/software.html
> Computer Consultancy, Software Development
> Windows C++, Java, Assembler, Performance Analysis, Troubleshooting
>
>


--
Bill Guindon (aka aGorilla)


Corey

unread,
Jun 24, 2005, 5:11:54 PM6/24/05
to
On Friday 24 June 2005 01:02 pm, Adam P. Jenkins wrote:
> the bottom line for me is that it's so MS-centric, from the SDK all the way
> to the servers it runs under. If that's not a problem for you then there
> are some definite advantages to .NET, but for all projects I've worked on,
> being tied to a MS platform wasn't an option.
>

http://www.mono-project.com/Main_Page

http://www.mono-project.com/ASP.NET


I'm not saying I like ASP.NET ( or any of the .NET framework ), because I
don't - but I had to point out that due to mono, it's not as MS-centric as
you suggest.


Cheers,

Corey


Joseph Graham

unread,
Jun 24, 2005, 5:22:03 PM6/24/05
to
Hello,
I've used both and if I may offer an opinion and maybe some experience.


Short Answer:
Depends on what you want to use it for and how committed you are to your
technology requirements.

My choice:
ASP.Net for commercial projects that have to get done NOW and require
more from your development platform.

Here's the short list why:
* More control over the "URL" and what your URL's look like. (sometimes
this matters for SEO)
* Individual control caching and results caching
* Object relational mapping API and graphical toolsets
* True component architecture for both commercial and free components
(likelihood of reinventing the wheel lowered)
* Choice of multiple languages for both component and application
development and binary compatibility across languages
* Unified API for dealing with data from various providers such as
databases, ODBC, and XML web services.
* You don't have to use any of the above and you can still get the job
done

Final Notes:
Those are just the things that immediately come to mind. Rails is a
really cool idea and will evolve into something great no doubt. If you
have time to mess with it and are creative you can get a lot done and
have a great app. However I prefer the "evolution" of ASP.Net and its
component driven architecture. There are some cases where I did not
even use the component system or ADO.Net or really anything outside of
the scripting language to get stuff done.
Evolution is another factor driving technology choices and in my
experience the "state of evolution" has weighed in much more heavily
because of the huge requirements demand, team skill-sets, and short
timelines and usually non-negotiability of all of the above. However
given my personal choice I prefer a nice simple language like Ruby over
any of the .Net mainstream languages. GOOD LUCK!!


**Some notes on licensing: **
I've heard licensing and cost thrown in as a con but you can't really
look at licensing without looking at how much time something is going to
take you and/or your team and it's return on investment. Sure that's a
"business" approach but **IT is a cost of doing business so it depends
on how your business center wants to downstream their costs. If you
work in say a "profit center" where costs really hurt their numbers and
licensing software hurts then dragging the project out while you play
around with open software is the way to go. If you work in a cost
center and have lots of money to throw at getting something done then
comparatively speaking commercial products have a lot to offer vs.
building on your own (build vs. buy) I'm really tired of people bashing
licensing costs because in a pinch I'll shell out the cash to save me
hundreds of hours on completing a project and especially where deadlines
are concerned. Commercial software can be a lifesaver and this is
especially true where some component of your "commercial, proprietary"
application has a GPL license. So there's both pros and cons to
licensing so let's stop just throwing it out there as a "commercial=con,
open=pro" as it really degrades your argument.

**Rails being a web application platform seems heavily geared towards IT
related projects.

Stephen Kellett

unread,
Jun 24, 2005, 5:30:35 PM6/24/05
to
In message <67a2229205062...@mail.gmail.com>, Bill Guindon
<agor...@gmail.com> writes

Well that page says he is going to write some articles. I can't find how
to read the articles he has written (there are no links to his
articles). There is a syndication link but I have no idea how to read
anything provided by that. Clicking on it just brings up loads of XML.

So how do I read the syndicated stuff? This has all passed me by - too
busy writing software to keep up with web trends.

Zaninsk

unread,
Jun 24, 2005, 5:46:11 PM6/24/05
to
Since you can develop ASP.net applications with Ruby, i say go with ASP.net.
If you prefer only ruby go with Wee instead of Rails. Wee is really cool.


Mando Escamilla

unread,
Jun 24, 2005, 5:43:53 PM6/24/05
to
I believe you need to set your LOAD_PATH to include /usr/local/lib/ruby/1.8,
rather than your PATH. Give it a try and see if that helps.

--
Mando

On 6/24/05, Paul Mitchell <pmit...@email.unc.edu> wrote:
>
> Hello,
> I've just installed ruby-1.8.2 on OS X 10.3.9 in order to try and run
> instiki-0.10.1. I'm gettig an error, right off the bat with instiki:
>

> ../instiki
> ../script/server:4:in `require': No such file to load -- optparse

Bill Guindon

unread,
Jun 24, 2005, 5:54:48 PM6/24/05
to
On 6/24/05, Stephen Kellett <sn...@objmedia.demon.co.uk> wrote:
> In message <67a2229205062...@mail.gmail.com>, Bill Guindon
> <agor...@gmail.com> writes
> >Some comparisons here:
> >http://dema.ruby.com.br/articles/2005/04/29/rails-vs-asp-net-comparison
>
> Well that page says he is going to write some articles. I can't find how
> to read the articles he has written (there are no links to his
> articles). There is a syndication link but I have no idea how to read
> anything provided by that. Clicking on it just brings up loads of XML.
>
> So how do I read the syndicated stuff? This has all passed me by - too
> busy writing software to keep up with web trends.

That was his initial post, the followups are all on the main page:
http://dema.ruby.com.br/

start at the bottom, and work your way to the top, you'll see a mix of
Ruby/Ajax/ASP/Rails in there.

> Stephen
> --
> Stephen Kellett
> Object Media Limited http://www.objmedia.demon.co.uk/software.html
> Computer Consultancy, Software Development
> Windows C++, Java, Assembler, Performance Analysis, Troubleshooting
>
>

Adam P. Jenkins

unread,
Jun 24, 2005, 6:53:30 PM6/24/05
to

I'm aware of Mono, but I've been told that while Mono does allow you to
use the base ASP.NET functionality, enough of the useful .NET
functionality is proprietary and Windows-specific that in practice you
won't usually be able to take an existing .NET app and run it using
Mono. Since I've not actually seriously used .NET I don't know if this
is FUD or for real.

Adam

Stephen Kellett

unread,
Jun 24, 2005, 7:07:18 PM6/24/05
to
In message <67a222920506...@mail.gmail.com>, Bill Guindon
<agor...@gmail.com> writes

>That was his initial post, the followups are all on the main page:
>http://dema.ruby.com.br/

Doh! Thanks.

Thats what you get for late night swimming then starting cooking your
evening meal at 11pm...

Tobin Harris

unread,
Jun 24, 2005, 8:21:20 PM6/24/05
to
I've used both for commercial projects, although I'm not an guru in either.

In ASP.NET, I've been using NHibernate for data access, and Wilsons Master
Pages for page templating. Both these tools are fantastic - and provide a
*lot* of power. ASP.NET is a dream in that you can do everything you want to
do - sky == limit. On the flip-side, getting things done in .NET isn't
always so easy, I think it lacks the high level of abstraction that Rails
has. If it's abstraction you want, you can always invest in one of the RAD
tools for .NET such as Deklarit, IronSpeed etc, which will make some of
these decisions for you.

Otherwise you can spend a lot of time figuring out exactly how to carry out
a particular task. You have to dig into the framework class libriaries quite
heavily, learn how it's classes collaborate to get the job done, and select
the best method for your situation. For example, in .NET there are various
ways of getting at your data, also there's many ways to send an email, to
create a custom GUI control, to handle authentication etc... Then, if you
want ORM, there's a *lot* of tools to pick from - NHibernate, Gentle.NET,
ORM.NET, EntityBroker, LLBLGen and many many more.. quite an overwhelming
collection.

Ruby on Rails is fantastic. It seems to be focused on making web application
development a breeze. I think one of the main reasons I like Rails is that
the framework makes a lot of decisions for me. I'm a *very* enthusiastic
developer who likes to play with ideas and tools, but this doesn't always
help when it comes to getting the job done. Rails is quite convention based
and provides a default way of doing most things, so it narrows down the
decision making process - which personally is a good thing.

If you have the luxury then I'd try both. Rails will probably get you
started quicker, and your solutions may entail less lines of code. ASP.NET
is a fantastic framework, but there's a lot of ground to cover to get up and
running.

Hope this helps.

Tobes

"Stephen Kellett" <sn...@objmedia.demon.co.uk> wrote in message
news:jCeUDxML...@objmedia.demon.co.uk...

Dema

unread,
Jun 25, 2005, 1:09:28 PM6/25/05
to
Hi Stephen,

I've seen that aGorilla has pointed you to my blog
(http://dema.ruby.com.br) on this subject.

As I am still working on both platforms, let me give you a summed up
comparison.

I think both ASP.NET and Ruby on Rails approach different ways for
building web apps, but both manage to do it in a very high quality
manner.

In the end, it's much more about developer's taste and less about
technical issues.

For instance, if you're more towards statically-typed languages and are
used to have a compiler and a top-notch IDE (VS.NET) to help you out,
then by all means go with ASP.NET.

On the other hand, if you prefer simpler tools (more text-based),
dynamic languages, and running your app in a interpreted, more agile
environment, RoR might be a good fit.

On the technical side, ASP.NET as we all know has some portability
issues, so, inspite of Mono, your best bet on a production environment
would be on a Windows web server and a SQL Server database. Remeber the
high costs of that.

RoR is based on a completely free, open-source stack (Ruby, Apache,
Lighttpd, MySQL, Postgre, etc) and runs well on pretty much any OS
platform out there, be it Linux, FreeBSD, Windows, MacOS, Solaris, etc.

If your going with RoR, remember to allocate some quality time for
studying the language and the framework and getting used to new tools
and environments and learning how things are done in a open-source
community. It takes some time to get up to full speed, but at the same
time, can be a revealing and rewarding experience.

Of course, these days, I'd recommend RoR, but remember that what best
fits me, and it might be different for you. Anyway, you will be in good
hands if you go with ASP.NET as well.

best regards,
Demetrius
http://dema.ruby.com.br/

Dema

unread,
Jun 25, 2005, 1:33:22 PM6/25/05
to
Stephen,

I've just posted a slightly corrected version of my previous reply on
my weblog: http://dema.ruby.com.br/

rgds

Michael Campbell

unread,
Jun 25, 2005, 4:59:56 PM6/25/05
to
On 6/25/05, Dema <demetri...@gmail.com> wrote:
..

> ... and a top-notch IDE (VS.NET) ...

Thanks, that's the funniest thing I've read all week.


Dema

unread,
Jun 25, 2005, 7:47:01 PM6/25/05
to
Hehehe, like they say in my country: "you can't argue taste" ;-)

Stephen Kellett

unread,
Jun 26, 2005, 7:39:58 AM6/26/05
to
In message <811f2f1c05062...@mail.gmail.com>, Michael Campbell
<michael....@gmail.com> writes

I agree. Visual Studio 6.0 is *SO* much better than any of the VS.net
versions. I'm still using VS6 to write C++ on Windows and will only use
VS 7.0 or above when I have to (i.e. the customer has a bug and has
supplied a project to demo it and it comes in VS7.0 format).

There really isn't any comparison. VS6 is very productive, the ones that
come afterwards fight you every step of the way.

xml...@gmail.com

unread,
Jun 28, 2005, 1:23:02 PM6/28/05
to
Having written tens of thousands of lines of code in ASP.NET for
commercial sites (www.deltavacations.com, www.covacations.com among
them) and being in the middle of writing a new site using RoR, I
believe I can add some hard-earned comments to this discussion:

ASP.NET is very powerful. The library is enormous and it has many
enterprise-ready technologies built into it. The most important of
these is transaction support. .NET 2.0 transaction support is even
better with the lightweight transaction scope. This is perhaps the
biggest gap in RoR's offering. That said, I disagree that ASP.NET is
more productive than RoR. I have been FAR more productive with RoR
after just a few months of learning Ruby and a few weeks of using RoR
than I am with .NET even though I've been coding on the MS platform for
10 years, with half of that time spent almost exclusively working on
web applications.

It is true that ASP.NET provides some great controls (grids, etc) for
web applications and 2.0 has even more (login view, for one). But what
is doesn't provide out of the box is a true ORM layer (from Microsoft
anyway). ActiveRecord is responsible for the great majority of the
productivity on the Rails platform. If I never have to create another
SqlConnection, SqlCommand, or SqlParameter object again, it will be too
soon. Yes, I have rolled my own Data Access layer, but for goodness
sakes, how many DALs have I built in the Windows world in the last 10
years?! Nhibernate is not fun either. Powerful as it may be, it moves
the burden from C# code to xml configuration. If I were to consider an
ORM tool for .NET, it would be LLBLGen.

My second-favorite Rails feature is the architectual guidance that is
built right into the framework. MVC clear as MVC can be, with
directories built right there for you. Yes, ASP.NET is MVC also, but
the PageConroller style generated in ASP.NET using Visual Studio is too
weak for my taste. RoR encourages validation of business rules in the
model, where it can be re-used effectively (read: where it belongs),
whereas ASP.NET's validation controls seem to encourage developers to
validate the rules in the UI. Surely, a case can be made for UI
validation to avoid server roundtrips and workload, but I don't buy
into it. My servers are running at 5% CPU utilization, and my
developers are running at 105% utilization. Of course, I can build my
own Enterprise Templates (a$$uming you have an Enterpri$e Ver$ion of
Vi$ual $tudio) but Rails' approach of sensible defauls (and everything
overridable) clearly wins out here.

The net result is that I *don't need* an ultra-powerful IDE like VS to
develop RoR apps. I do just fine with VIM, thank you. I may not have
IntelliSense or Refactoring, but the time saved on DALs alone more than
makes up for it, and, honestly, I refactor a lot less in Rails because
everything is already in place. If someone told me I had to build a
commercial ASP.NET application with VIM I'd tell them to go fly a kite.
Furthermore, VS does a bunch of weird crap to make interoperability
with Linux/Mono impossible (maybe a non-issue if you're a 'Microsoft
shop'). VS.NET code-behind pages use different attributes which make
building Visual Studio ASP.NET solutions on Linux with mono impossible.
You could argue this is a Mono limitation, I suppose, but the point is
you are pretty much locked in to the MS platform meaning Windows XP on
the development desktop, Windows 2003 on the Server, Visual Studio, and
MS SQl server. Add up the cost of that.

Lastly, I'll mention the default ASP.NET push for people to use data
structures such as DataReaders and DataSets. I don't care for them. I
prefer a real domain model, for several reasons. First, it encourages
*real* oo-style programming. Second, and most important, I am in
control of my data structure's internals, not Microsoft. Ask any
VB6/Windows DNA/ASP 3.0 developer how much fun he's having Interop'ing
the old ADO Recordset object with his shiny, new ASP.NET code and he'll
tell you he's ready to blow his brains out. I won't make that same
mistake. I prefer a Hotel object to a HotelDS and an IDictionary to an
SqlDataReader. That way when MS abandons the SqlDataReader I won't
care.

Having said all that, I do think the .NET platform is solid and
enterprise-ready. C# is an enjoyable language to program in compared to
C++, VB, and Java (all of which I have written production code with).
Still, the dynamic power of Ruby and it's cavity-causing syntactic
sugar like Enumerable#collect and Enumerable#partition is hard to
overcome. Don't rule MS out, however. They're busy at work on a Python
version for .NET (IronPython) and Don Box loves him some Ruby. I also
believe MS has made great strides with .NET 2.0, especially wrt
ASP.NET, but I think they have a long way to go to provide the kind of
out-of-the-box, architecturally sound, and simple productiviy found in
Rails. In contrast, most of the architectural guidance coming out of
Redmond these days is constipated -- Enterprise Library, anyone? Again,
nothing in ASP.NET prevents you from writing aesthetically beautiful
and simple web application code, but the feeling I get from the default
Visual Studio web project setup falls short or 'rails myapp'.

In short, if you need transactional capabilities or need to integrate
with some of the other enterprise features (message queueing), build
with .NET and get yourself a good code-generation/ORM tool. If you're
building your standard 3-tier web app, or have a tiny budget, I
recommend giving Rails a serious look.

Cheers,
Christian Romney

John Wilger

unread,
Jun 28, 2005, 1:43:44 PM6/28/05
to
On 6/28/05, xml...@gmail.com <xml...@gmail.com> wrote:
> Having written tens of thousands of lines of code in ASP.NET for
> commercial sites (www.deltavacations.com, www.covacations.com among
> them) and being in the middle of writing a new site using RoR, I
> believe I can add some hard-earned comments to this discussion:

Thanks for writing this up. Very insightful.

--
Regards,
John Wilger

-----------
Alice came to a fork in the road. "Which road do I take?" she asked.
"Where do you want to go?" responded the Cheshire cat.
"I don't know," Alice answered.
"Then," said the cat, "it doesn't matter."
- Lewis Carrol, Alice in Wonderland


xml...@gmail.com

unread,
Jun 28, 2005, 2:12:47 PM6/28/05
to
wrt VS.NET, haven't written C++ code with it but all the managed C++
stuff looks ugly as hell to me, so I wouldn't be surprised if the C++
experience sucked. However, for C# code, VS.NET is very nice,
especially version 2005 with its refactoring support, code snippets and
IntelliSense. There isn't an open-source/linux IDE that can hold a
candle to Visual Studio (6.0 - 2005) and that's a fact.

Michael Campbell

unread,
Jun 28, 2005, 3:34:30 PM6/28/05
to
On 6/28/05, xml...@gmail.com <xml...@gmail.com> wrote:

IntelliJ's IDEA and even Eclipse (for Java, anyway) both have more
refactoring tools, better code templating support, and a much bigger
"after market" plugin library than VS 6.0 had.

Granted, I've only seen beta-2, and time will grow the VS plugin
market for sure, but it's still got some room to catch up.


Adam Sanderson

unread,
Jun 28, 2005, 5:17:19 PM6/28/05
to
Since we're mentioning Java IDEs, Netbeans is pretty good too. It has
great XML/Html support. It's been getting a *lot* more polished
recently.

The funny thing is that since I started using ruby, I haven't *needed*
anything more than a text editor like Scite or TextMate. It's odd not
hitting ctrl-space every ten seconds ;)
.adam sanderson

Ryan Leavengood

unread,
Jun 28, 2005, 5:56:07 PM6/28/05
to
Adam Sanderson said:
>
> The funny thing is that since I started using ruby, I haven't *needed*
> anything more than a text editor like Scite or TextMate. It's odd not
> hitting ctrl-space every ten seconds ;)

Exactly. I've begun to realize that the need for an IDE like Eclipse or
NetBeans or whatever to be productive in Java (or another language like
C#) seems to indicate to me a flaw in the language. Well maybe flaw is a
bad term, but clearly the language is hard to program in if it requires
such a massive environment for the best productivity.

Still a lot of the features of these IDEs would be nice in Ruby, but the
fact that we can still be very productive without them sure makes Ruby
seem that much better.

Ryan


John Lam

unread,
Jun 28, 2005, 9:07:15 PM6/28/05
to
I saw a link to Christian's post on the Rails blog tonight so I
thought I'd chime in with a few additional points.

I've been building ASP.NET apps for a long time. I've taught probably
several thousand developers over the years how to write web
applications using ASP.NET. I used to manage DevelopMentor and
Wintellect's web curriculum back in the day.

So here it is: ASP.NET started out with a bad assumption and painted
themselves into a corner because of it. ScottGu & co are super-smart
guys, but when you start out with a bad assumption it's really hard to
overcome it. What was the bad assumption? That a forms-based "control"
model that was so successful in creating rich client apps a'la VB
would work on the web.

That model led to hacks like ViewState (ASP.NET's mechanism for
storing state on the client via a hidden HTML form field). Abuse of
ViewState prevents apps from working well in the *Internet* where
things like deep linking are commonplace.

That model keeps many, many developers and program managers employed
over at Developer Division building the tooling that is necessary to
keep a control-based model approachable to your typical web developer
in IT organizations around the world.

My team has built a really cool Rails application that we hope to
unveil to the world sometime soon. Total time to build: about 3
developer days. It's part of a much bigger project that is built on
top of a lot of ASMX / Web Services plumbing but I have to say that
the team enjoyed building the Rails code much more than the other
stuff :)

So while we're not all that big on Rails experience, we've really
liked what we've seen so far. In particular, the AJAX support really
makes for a compelling user experience. And the front-controller model
rocks so much harder than the page controller model in ASP.NET.

Our build / deployment infrastructure is now Ruby / Rake based.so
there's other Ruby code in the infrastructure as well. We've punted
NAnt out of our infrastructure and don't miss it one bit.

Now, a few things in defense of the .NET platform:

1) I18N and Unicode support. These are *huge* if they matter to you.
This support is baked into the platform at a very fundamental level
and is very well thought out.
2) Debugging support. This too is extremely well supported by the tool set.
3) SQL Express - if you want a free database there's nothing out there
that comes even close to this (although you'll have to pony up for a
Win2K3 Web Server Edition license so the overall package still costs
you money so it will play a bit of havoc with scale-out economics).
4) Performance. The CLR generates very fast executable code, and a lot
of attention has been focused on how to get apps to run fast on top of
IIS 6, which despite its configuration faults is a very secure and
very fast web server.

Notice that none of these points are directly tied to ASP.NET, and
that's intentional. I think that it's possible to write
high-performance web applications using ASP.NET, but it's so much
harder than it looks. With Rails it's a lot harder to write a bad
application because there's much more guidance than "throw a few
controls onto a page".

Cheers,
-John Lam
http://www.iunknown.com


davidnorth

unread,
Jun 29, 2005, 4:17:16 AM6/29/05
to
> * More control over the "URL" and what your URL's look like. (sometimes
> this matters for SEO)

I'd allways thought that is very hard to do nice SEO friendly URLs in
ASP.Net wheras Rails makes this as easy to do as not, and gives you a
great deal of control over how they look through Routes.

xml...@gmail.com

unread,
Jun 29, 2005, 1:17:45 PM6/29/05
to
Jon does a great job of outlining more of ASP.NET's strengths. ASP.NET
is still my bread and butter and a really capable platform and I didn't
mean to sound so down on it, but as he illustrates in his anecdote, the
mass-market model of ASP.NET is not the model I want for my code. This
doesn't mean I haven't been able to do things my way, only that it was
more work than Rails makes it to do the same thing. I also had a
similar experience in terms of "having more fun" building with Rails.

As for the IDE discussion, I think both NetBeans and Eclipse are
bloated, unnatural beasts but that is totally a value statement. Since
I also don't do any professional Java work, I'm not qualified as an
expert evaluator so that's just my $.02. John also mentioned one of the
areas in which Visual Studio kicks the living **** out of all the other
IDEs I've seen: debugging. Whether you love or hate Microsoft, spend a
few hours with the VS debugger and a few hours without and I'm
convinced you'll have to give them their due credit.

xml...@gmail.com

unread,
Jun 29, 2005, 1:23:02 PM6/29/05
to
There's a few ways to do SEO friendly urls for IIS/ASP.NET. One way is
ISAPI_REWRITE which is like a mod_rewrite for IIS. A pure ASP.NET way
is to implement a custom HttpModule. The module is pretty easy to
write, but if you want something nice and configurable like the Rails
routes you'll have to devote more energy to it. I bet you'll start
seeing a lot more of the ideas in Rails ported to ASP.NET by the
community. In cases where you don't have the luxury of just switching
architectures and blindly throwing away code (you'd be nuts to do this)
it makes sense to adapt stuff as elegant as the Rails implementations
and port it to .NET. A lot of the really good Java stuff has already
been ported (at least partially): JUnit, Hibernate, Spring, Maverick,
Ant etc.

John Lam

unread,
Jun 29, 2005, 10:45:03 PM6/29/05
to
>> My question is this. Your brief experience with Rails and web services; how
was it. Any pointers for me?

Our experience with SOAP4R was not good. We wound up using ERb to
generate XML docs and sending them via HTTP POST to our ASP.NET web
service. SOAP4R barfed something awful on our ASMX-generated WSDL -
which does not use any bizarre XSD stuff nor estoeric WSDL features.

I had a similar experience when I first started experimenting with
SOAP4R with the Amazon Web Services - I wound up doing everything via
their REST interfaces instead.

Hopefully you'll have a better experience with SOAP4R but I couldn't
imagine a simpler "real" interface than the one that we expose -
essentially arrays of structs that contain strings (and only strings).

Cheers,
-John
http://www.iunknown.com


baalbek

unread,
Jul 27, 2005, 9:16:20 AM7/27/05
to
John Lam wrote:

> 3) SQL Express - if you want a free database there's nothing out there
> that comes even close to this (although you'll have to pony up for a
> Win2K3 Web Server Edition license so the overall package still costs
> you money so it will play a bit of havoc with scale-out economics).

I beg to differ: Firebird ( http://firebird.sourceforge.net ) is the
King of Open Source, free databases.

A decade ago Firebird (then named Interbase) it was sold as a commercial
database, being used for quite demanding tasks, both on Windows and Unix.

Firebird is fast, extremely stable, with lots of features not available
even on commercial databases.

QZZ

Reply all
Reply to author
Forward
0 new messages