Hi,

I just want to get the opinions of JSP developers on what they think the future of the platform holds.

I'm currently a university student and I have gained a lot of experience in Java, and some in JSP. I'm looking now to concentrate on a single web language in order to gain some practical experience in web development. I've noticed how there seems to be a lack of 'talk' about JSP compared to PHP and ASP.NET on the web, lack of up-to-date 'printed' books and just news in general.

I get the impression that JSP is either 'dying' or never really took off and is just a bit of a niché language/environment (whatever the right term is).

I find this a shame as I really like Java (especially now that I'm using C++) and wouldn't mind going down a JSP route. But at the same time, I don't want to invest my time in something that doesn't really have a future. PHP and ASP.NET are where, it seems, the jobs are at.

These are just my observations. Would anyone care to disagree? :)

Thanks

Completely wrong.

JSP holds a much larger share of all sites that are more than "hobby" sites, as compared to PHP and ".NET" anything.

And where did you get the idea that PHP and ".net" anything are "where the jobs are at"?

I've noticed how there seems to be a lack of 'talk' about JSP compared to PHP and ASP.NET on the web, lack of up-to-date 'printed' books and just news in general.

IMO, this kind of reasoning is flawed. Java is a pretty established language, as are C and C++. Do you still see a lot of C/C++ books these days? No. Can these languages be called dead? Hell no. You are confusing popularity/noise with liveness of a language or a framework. Sure, no one blogs about C/C++/Java these days, but that doesn't imply these languages are dead.

I get the impression that JSP is either 'dying' or never really took off and is just a bit of a niché language/environment (whatever the right term is).

View technology would be a right term. JSP's were primarily meant to reduce the effort required by a developer to render a view. Before JSP's web applications typically had this sort of code:

public void doGet(HttpServletRequest req, HttpServletResponse res) {
	PrintWriter out = // get printwriter
	out.println("<html><head><title>HELLO</title></head><body>");
	// a crapload of embedded HTML
	out.println("<p class=\"p\">Bye</p>")
}

Imagine having to render a complex view and maintaining it using the above syntax, yuck (btw, been there, done that, believe me, it's a nightmare). The solution? Come up with a view technology in which the content is given more importance and values are placed in placeholders on fly. Enter JSP. But then again, after writing a significant amount of JSP, developers realized its weakness (embedded Java code in JSP, again yuck) and JSTL was born.

Still JSTL + JSP + helper taglibs remain a viable choice for developing a web application but the explosion of "MVC" frameworks for the web has lead to JSP taking a back seat. Read more about frameworks like GWT, Wicket, Stripes, Spring MVC to get a hang of the general direction in which web development in Java has progressed these days. Frameworks rule these days. Hardly anyone creates a web service by parsing SOAP messages. They use a framework. Hardly anyone writes JDBC code for an enterprise application; they use a framework. Of course, frameworks aren't a replacement for concepts, which sadly is a case these days. Java + the supporting frameworks are still going strong and growing at a healthy rate. Java has always been a strong contender for developing "mission critical" server side applications.

I find this a shame as I really like Java (especially now that I'm using C++) and wouldn't mind going down a JSP route. But at the same time, I don't want to invest my time in something that doesn't really have a future. PHP and ASP.NET are where, it seems, the jobs are at.

I sincerely hope you aren't trolling. :-)

Thanks for your replies.

It's not my intention to 'troll' or anything like that - I don't know enough to argue any kind of point. I'm just playing devil's advocate in order to get some information. What I said in my first post are my initial impressions of JSP today.

Job Trends:

http://www.itjobswatch.co.uk/default.aspx?page=2&sortby=0&orderby=0&q=&id=0&lid=2618

http://www.itjobswatch.co.uk/default.aspx?page=2&sortby=0&orderby=0&q=&id=0&lid=2618

http://www.itjobswatch.co.uk/default.aspx?page=2&sortby=0&orderby=0&q=&id=0&lid=2618

I know these figures prove jack, but again, somebody just looking at these figures (and I've been casually following them for a year or 2) might get the impression that PHP and ASP.NET are more popular than JSP.


As for books...

You can get new (re-printed) books of C++. I personally have one from mid last year. But C++ has been around so long I don't think there's been an 'official' new feature added to it since 1999? (Any new development on the language) Or at least anything ground braking being. But there have been new libraries and tools( Boost? Qt?)that you can use with it.

Just doing a quick Amazon search for PHP and ASP.NET you get books printed late 2000's to 2010.
JSP: With one exception, very early 2000.

So, this is my reason of thinking. Yes, we did learn a module of JSP at university, but that's because our Uni seems to love Java and Linux.

On a tangent, how similar are ASP.NET with C# and JSP? I was thinking about learning the former due to the amount of resources available and the fact C# and Java are very similar languages. And if down the road I want to take up JSP, it won't be as much of a learning curve (I hope).

Oh, and I tried PHP a couple of times and hated it. So, there's your trolling :)

And yet, in those lists, both Java and J2EE (should be JEE BTW), of which JSP is only a small part of, and I used "JSP" to mean JEE before, rank above PHP, by a fair margin. And Java, alone, a fair margin above ASP.NET.

I can always contradict your links with following http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html showing technology usage in world ;)

PS: It is good at the beginning specialize in one area, but learning about other languages (python, scala, clojure etc) will expose you different way of programming, working and thinking plus show that you are versatile (not bound to one technology)

I just graduated from a university with a MS in SE. And one of the things that helped me get my job right now was the array of programming languages that I was good at and had experience in. I am really an ASP.Net developer with VB.Net and C# skills. But I used my Java experience from college to land a job in JSP development.
For me this was a good option since I wanted to learn how to develop in JSP's since I have seen various companies such as Google, use JSP for serving their websites.
And like you mentioned Java and C# are very similar. So if JSP goes down, just jump onto the ASP.Net wagon. at least that's my approach.

But take this from someone who just got out of finding a job in this market. Gain experience in a variety of languages and if you can pull off a Masters then go for it! Together they will be great for landing a good job.

also forgot to mention but jsf or java server faces is similar to asp.net.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.