ASP or JSP?
Fooknut asks: "I'm here, in the infant stages of development of a corporate website, and portal for my employer. I asked to build on JSP/servlets/EJB, so they setup a Win2k server with IIS 5 and JRun (allaire). Two weeks into the dev process they have a meeting with some managing "programmers" and the decision is made that JSP/Java was just a foolish thing to do, and that we should go with ASP. So here I am, chucking all of my hard work out of the window because someone "important" likes ASP better. Luckily I haven't written much code yet. These decisions are made by ASP lovers, people stuck in the MS rut, unwilling to try or hold a new skillset (I believe because they don't know how and don't want to know how to program anything else). Does it make business sense to put all your chips in the MS hat? Should a web dev co do one thing only, or should it embrace a variety of technology? So what are the advantages and disadvantages of JSP over ASP and vice-versa? Please don't post anti-MS comments, I really would like some serious comparisons."
Being glued to MS isn't by itself evil, and you can do some pretty nifty stuff with ASP, despite what you have heard on Slashdot...
What the question really boils down to is 'are you willing to fight for the best system for you to do the job with, regardless of vendor'... While not a web developer (Although I was one, briefly) I generally don't care what is actually calling the shots as long as they get called on time and consistantly so. I'm sure the manegerial staff (And the 'heavy-hitter wioth a MS pref) don't really care either, so long as you can show them the why and why not. They're just used to that 'Microsoft thing', and in their mind the world's most valuable company can't be wrong..
.sig: Now legally binding!
Why is it that MS products, (ASP, VB, VC, Access, etc) are always the 'quick and the dirty'??
.sig: Now legally binding!
I have been attached at the hip to all things microsoft for 5 years. Access, VB, sql server, etc etc. And accomplished a bunch of ad hoc work.
With MUCH difficulty, I have learned enough java to write servlets and database calls and server side java can now do much of what I would do in ms land with the power of java running on opensource servers with free database software on a cheap monthly host.
I will agree that down and dirty wins the business contest. But it also is really really stupid, just like all the management decisions that make down and dirty programming the rule of the day.
This battle is far from over. If you want the definition of easy, try php, not ASP. And java is actually quite easy, once you get past all the inane classpath issues.
While the corporate monkeys are all addicting themselves to mindless tech, there are a bunch of us learning how to do real work with slightly more clunky technology and actually enjoying it. It is going to be very fun to watch the slug fest in the following years. I have my own personal ideas of who might win the war, and it won't be the mindless ones.
Cause MS stresses ease of use over anything else. (Well, besides world domination :-). Seriously, It is incredibly easy to do relativity simple things with MS products, but if you want to do anything complicated that MS didn't write in explicitly, you are screwed.
A wealthy eccentric who marches to the beat of a different drum. But you may call me "Noodle Noggin."
Quando Omni Flunkus Moritati
Just a thought.
I use Macs for work, Linux for education, and Windows for cardplaying.
I lurk here a lot but never post anything so here's my FIRST POST. I have used both technologies (ASP and JSP) on several different projects and enthusiastically recommend JSP over ASP. So far in all the different methods I've used to develop web apps (C++-CGI, C++ISAPI, JSP, ASP) I feel JSP just from a language stand point is a better choice over JSP. The limitations of the VBScript language is something I felt like I was constantly fighting -- the VBSript language is just too limited when compared to the power Java gives you. The concept behind both technologies are the same: embeded Java or VBScript within the HTML. As far as I know the ASP will be interpreted each time it is processed. JSP's will get turned into a java code (as a servlet) that will stay in memory until a change occurs, at which time it will be processed and compiled again. Also with a good JIT virtual machine I think performance of JSP is better than ASP. I don't have any benchmarks but based on my experience JSP pages "feel" faster. Hope this helps.
ASP is nice; I am a PHP man myself, but I recently had to look into ASP for a consulting gig. ASP has a coupla features I'd really like to see in PHP, but in the end of the day, I'd still pick PHP's versatility.
But anyways, back to ASP vs JSP: JSP sucks! there's no other way to put it: JSP is a hack on top of a kludge: it's ugly syntactically, it tries to fit a square peg (Java) into a round hole (server-side scripting) and it has nowhere the built-in functionality and features of either PHP or ASP.
Now, OTOH Java *servlets* (not JSP) rock! Session management, persistent objects, the ability to leverage Java's impressive APIs; it's the answer to any serious enterprise-level solution.
So, what to do? PHP4 is supposed to be able to manipulate Java objects *directly* (it's in the spec but I haven't used it). If that works, you can now throw away JSP, put all your middleware logic in Java beans and servlets and use PHP to do the string-parsing and HTML pushing...
If I were you, I'd try to push for PHP as a 'peer to' ASP with the advantage of being able to use your old Java work...
engineers never lie; we just approximate the truth.
Now, OTOH Java *servlets* (not JSP) rock! Session management, persistent objects, the ability to leverage Java's impressive APIs; it's the answer to any serious enterprise-level solution.
Hmmmm. From what I understand, JSPs are a superset of servlet functionality. JSPs, in fact, get converted into servlets before being executed. You should be able to insert any valid Java servlet code you like into an JSP page.
Maybe you were using something that only conformed to the JSP 1.0 spec? You should be working with JSP 1.1 at least. There are dozens of vendors with different implementations, which is a key advantage over ASP, BTW.
PHP4 is supposed to be able to manipulate Java objects *directly* (it's in the spec but I haven't used it). If that works, you can now throw away JSP, put all your middleware logic in Java beans and servlets and use PHP to do the string-parsing and HTML pushing...
What you describe is the entire idea behind JSP. I love PHP, but the idea that PHP will provide better connectivity to Java then JSP (which is Java), seems a bit unlikely.
BTW: I love PHP. Great platform.
- Scott
------
Scott Stevenson
Scott Stevenson
Tree House Ideas
If you're a Java lover but you're forced to use ASP, you can put your business logic into Java classes and call them from your ASP pages! That way the suits will be happy, and you'll still be doing most of your coding in your language of choice (Java). Here's a great article that shows you how to do that. It's quite easy! http://www.4guysfromrolla.com/ webtech/080999-1.shtml
A bit of advice from a guy who's learned it the hard way.... no matter what language you're coding in, your ASP or JSP tier should just be a thin "glue" to hold together the objects that contain yer bizness logic. Those objects can be either compiled DLL's or Java classes, it really does not matter- just as long as you keep it out of your ASP and JSP pages where it's ugly and not very reusable. With prior proper planning, you can create a set of middle-tier objects that will make your ASP/JSP pages a snap to code.
IMHO, the ASP/JSP tier should be so thin it really shouldn't make too much of a difference whether you use ASP or JSP. The meat of your code should be in the middle tier. I haven't done any real work in JSP, so I can't directly compare it to ASP, but I would agree that Java is a nicer language than VB to code in, so it's a good choice for your middle tier logic objects. :) Good luck on your project!!!! :)
OtakuBooty.com: Smart, funny, sexy nerds.
I'm no expert, but these are the advantages as I undertand them:
1. Multiple JSP implementations are available from multiple vendors. Many of which are free (You either have to buy NT, or software from Chilisoft to use ASP).
2. JSP functionality can be stored in JavaBeans
3. JSPs can be deployed on virtually any platform in existence. And while ASPs can be deployed to environments other than Windows, ActiveX library support cannot. Therefore, if NT/W2K runs out of juice (witness Toys R Us), you can't move up to Solaris or AIX.
4. JSPs are compiled into servlets for faster execution (does ASP do this?)
5. JSP engine can run on a different machine than the webserver
For more information, check out The JSP FAQ.
- Scott
------
Scott Stevenson
Scott Stevenson
Tree House Ideas
I was hoping for something a little more earth-shatteringly philosophical, or perhaps some insight into the actual dev stages; I know of a dozen MS employees who post here, and at least one worked on the last gen of Visual [stuff].
I'm a former VB/VC++ drone, [it paid the bills] so I'm rather familiar with it in practical use..
.sig: Now legally binding!