The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

JSP vs. ASP.net development time

I've heard that ASP.net is more productive to work with than JSP.  What can I expect the average development time difference to be between the two?  Are there any hard and fast ratios or guidelines out there?  Thanks
jsp coder
Thursday, November 17, 2005
 
 
Nothing of this nature is hard & fast. It's like asking a seasoned C programmer is programming in VB (a language he has had little experience in) is faster to program in.

I'm sure you can figure out the answer to that. Generally people are faster at what they know well. So if you have a team of JSP programmers and you toss them in to .NET it's going to be quite slow for a while.
Stephen Caldwell Send private email
Thursday, November 17, 2005
 
 
That should have been "It's like asking a seasoned C programmer -if- programming in VB"
Stephen Caldwell Send private email
Thursday, November 17, 2005
 
 
Stephen, I could have phrased it better.  If I were to hand off a project to a team of experienced ASP.net programmers and hand off the same project to a team of experienced J2EE programmers, how much faster could I expect the ASP.net team to complete the project?
jsp coder
Thursday, November 17, 2005
 
 
In my experience (10 years), broadly speaking, MS environments are more productive than any others.
Anyway this issue depends heavily from developer experience.
Sevenoaks Send private email
Thursday, November 17, 2005
 
 
The other thing to look at is hosting.  It's easier to find ASP.Net hosts that those that support JSP.
Eric D. Burdo Send private email
Thursday, November 17, 2005
 
 
However, you should be aware that ASP.NET done quickly and dirtily is rarely very good. The price you tend to pay for getting it done quicker in ASP.NET is no clean separation of code, pages done using the 'visual' tools and designers, and can be unmaintainable.

That said, you can be very productive in ASP.NET if you do it the 'right' way as well, you just have to be disciplined and experienced, and probably have an existing framework to re-use (.NET doesn't have a proper app server a la Tomcat / WebLogic / etc).

If cost is not an issue, go with .NET (but then I would say that <g>). If it is, you might do better with JSP where most of the tools can be had open-source.
.NET Guy
Thursday, November 17, 2005
 
 
JSP itself (not J2EE) is much like classic ASP. It is a real pain to create code that is maintainable. The ASP.NET code behind and object models are much easier to use to create a decent framework with (if you take the time to do so). JSP seems to be backward to me. Hardly anything is an object. ASP.NET is firmly rooted in the OO design world (everything is an object).

However, as others have pointed out, it is very easy to write crappy code using either platform.
Turtle Rustler
Thursday, November 17, 2005
 
 
"However, you should be aware that ASP.NET done quickly and dirtily is rarely very good. "

That is true of any programming language/technology. It's all about the architecture.
Turtle Rustler
Thursday, November 17, 2005
 
 
+1 .NET Guy.

From personal experience, I can create a basic web site in roughly a third to half the time using ASP. However, ASP also allows me to take shortcuts that drastically compromise the quality of the code.

My general rule of thumb is that if the application simply saves and displays data, go with ASP (or ASP.NET)  If the application needs to execute some business logic and/or requires complex calculations, go with JSP.  The only time I'd go with ASP in the latter case is if the customer is willing to allow me to set up a robust developer environment with proper builds and test scripts.

Jakarta offers a number of JSP related technologies that are supposed to speed up the JSP development time, but I haven't tried them out.
Anonymous Coward
Thursday, November 17, 2005
 
 
I'm just a beginner with ASP.NET (it's not my day job), but ASP.NET 2.0 looks very good. I'm starting to use it now, and it looks like I'm going to be very productive in it. It also appears to be easy to separate layout from code.
sloop
Thursday, November 17, 2005
 
 
JSP (by itself) is for quick and dirty websites. With the aid of its reusable code called "Taglibs", particularly the JSTL, which is a collection of standard taglibs, you can knock together something pretty darn quick.

However JSP + related paraphenalia such as MVC architecture  is anything but rapid development.
Imminent Send private email
Friday, November 18, 2005
 
 
Saying that JSP is not object-oriented is ill-informed. Code in a JSP page is Java code and so is as object-oriented as any other piece of Java code. Of course, a JSP page is not a class, rather it is a template which gets its data from the backend functions, which is most likely a pure Java object model.

In this respect I don't see any difference with regards to ASP.NET. What the latter has going for it though is a coherent and integrated development environment while in Javaland tooling is usually a little bit of this and a little bit of that open source project.

So as far as productivity in the presentation tier I'd say ASP.NET has the upper hand. Whether you're better off with Java or the MS offerings on the backend is a whole different can of worms though.
jz Send private email
Friday, November 18, 2005
 
 
"Of course, a JSP page is not a class..."

Bingo! Also how would you describe taglibs in OO terminology? The two main entities that you deal with on a regular basis have no foundation in OO technology. They are simply scripting/parsing conventions.

Basically, my biggest complaint with JSP is that they tacked the OO support on after they developed the scripting/parsing portions. ASP.NET on the other hand, started with an OO model from the very beginning. This is what I mean when I say that JSP seems backward to me. In ASP.NET my page can inherit from a custom page class allowing me to have common functionality across all pages. This simply isn't possible in JSP since the page itself is not an actual "class". Pulling off this same capability in JSP requires me to hack the default programming model in some way.
Turtle Rustler
Friday, November 18, 2005
 
 
oblig ROR reference.
son of parnas
Friday, November 18, 2005
 
 
I guess JSP is an ASP-timeframe product, with much the same inspiration. Ironically, when Microsoft first introduced the technology that became known as ASP, it was designed to be simple glue that could be used on the server to connect business objects that would be built in VB (or C++) and run within MTS as a framework. This is much closer in intent (if not actual execution) to 'modern' n-tier Web development of the sort that you would do today, with ASP.NET as the top tier.

JSP, equally, can be just the glue that holds together a bunch of servlets running within an n-tier application. But it's also used, as ASP became, to hack together quick and dirty scripted apps. Indeed, while this model is dying on the commercial platforms, it lives on in the OSS world. Not that you can't do n-tier with Python or PHP to some extent, but it's the exception rather than the norm I think.

I also love the fact that ASP.NET is actually part and parcel of the platform, not a separate technology layered on top of it. Your ASP.NET application is (or rather can be) compiled into a DLL which lives like any other library. You can put classes into your Web app (helpers etc) which are just normal .NET classes and can be used as such, and you can use whatever libraries you have within the application just by declaring a reference and instantiating as needed. For someone who works across all the tiers in an n-tier system, this is incredibly liberating.

On a tangent, has anyone played around the Monad Shell alphas yet? This is the replacement for the Windows command shell which is fully .NET; you can script objects directly, write shell scripts in C# etc. Very cool stuff.
.NET Guy
Friday, November 18, 2005
 
 
I am a fan of both JSP and ASP.NET.  The similarities and functionality of the two are strikingly similar.  To think that JSP is not OO isn’t a very accurate statement.  The OO capabilities of JSP aren’t much different, if at all, from the .NET framework and ASP.NET.  It is arguable and perhaps even sometimes true that, ASP.NET gives you an environment that allows you to do OO much quicker but, there isn’t anything we have encountered in ASP.NET that we weren’t able to do in JSP.  Packaging classes in a manageable way which makes them available to all of your applications is relatively simple in java with use of archive files. The code-behind concept used in ASP.NET has long since been a part of JSP. 

All of my work in the past has been with ASP and then on to ASP.NET.  Recently, we invested a large amount of money in a product that has an API available only in java.  The solution seemed simple enough, use ASP.NET with the form POST method to communicate to servlets running off Tomcat to solve the matter.  Why re-invent the wheel huh?  Easier said than done.  Turns out, form methods are not available in ASP.NET.  You can only redirect with ASP.NET and attach parameters in the same way the GET method does to the end of a URL via concatenation.  Not really an option so JSP was the only way to go if we want to move forward.  This issue is said to be resolved with ASP.NET 2.0 but, waiting is also not an option.

This comparison that is difficult to make.  Both technologies have their benefits and drawbacks.  I beleive a better comparison would be to leverage these technologies against the added benefit each would provide in the environment available for implementation.
JASP
Monday, November 21, 2005
 
 
A very good article published, for those who are really interested, can be found here:

http://www.theserverside.com/articles/article.tss?l=J2EE-vs-DOTNET
JASP
Monday, November 21, 2005
 
 
That article is severely dated. .NET was just coming out at the time it was written. I'm not saying that it is right or wrong, just that things have changed significantly (for both technologies) since it was written.

Also, (JSP != J2EE).
Turtle Rustler
Monday, November 21, 2005
 
 
JASP, when you say that the codebehind model has been available for JSP for quite a while are you refering to JSF?
Turtle Rustler
Monday, November 21, 2005
 
 
These questions are always tough and subject to bias.  At JavaOne 2005 there was a "Smackdown" session where representatives from all the major frameworks sat on a panel to defend their technology and poke good humored jabs at the other guy.  The QA session was very informative.  There was no clear winner that I could tell, and these were the EXPERTS.

I learned three things from the smackdown:
(a) Struts is on the wane.
(b) JSF is on the rise despite it's problems.
(c) There is always another framework with more promise just around the corner.

Bring in ASP vs JSP, or .NET vs J2EE, and it becomes a holy war of biases.
OneMist8k Send private email
Tuesday, November 22, 2005
 
 
That is an outdated articlet but, a great deal of it is still relevant. 

No.  I haven't had the opportunity to look much into JSF.  I have heard very mixed things about it, depending on who you talk to.  Sounds worth waiting for some sound evidence of its success before jumping in too far.  The code-behind task can be completed by leveraging struts,beans, servlets, jsp:include, or a mix combination of them.  Yes, this does definately require a little more development time but, nothing that significant and, you still acheive the portability/reusability of that code withouth having it right on the page.

I know that JSP != J2EE just as i know that ASP.NET != VB.NET.  On that note though, i am in a situtation where i must provide very interactive/dynamic pages but, at the same time, include a great deal of application logic within it.  To add to that, i don't have one universal platform to contend with.  I have to use JAVA as that is what we were provided with and i have to use ASP/ASP.NET because that is what everything already in place was built in.  If it was up to me, i would have been given a choice of one or the other and stuck to it.  Probably would have been ASP because i had much more experience with it.
JASP
Monday, November 28, 2005
 
 
Wow, folks.  This set of dialog looks to be getting very academic.  Tell me, what is a better car if you want to drive from Tempe, AZ to Salt Lake City: a Chevy Malibu or a Ford Taurus?

I think that the solution here is that either one is going to have advantages and disadvantages and see-saw depending upon what release just came out.  You are better off looking at which one you think is going to be supported better and give you more future options than worrying about current speeds and feeds.

My simple opinion.
mark waldin Send private email
Tuesday, November 29, 2005
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz