“On the heels of last week’s vote to ratify the new Java specification, Sun Microsystems, the leader of the Java community, formally announced the release of Java EE 6. Along with the news, Sun today also released Glassfish version 3–the first Java EE 6-compliant Java server–as well as NetBeans 6.8 IDE, which also includes full Java EE 6 support. With the releases, Sun is providing the first major update to the Java EE platform in over three years. This month also marks another significant milestone with the tenth anniversary of the first J2EE release (the former name of Java EE) in 1999.”
This article is 2 days old and no one made a comment yet…does that reflect on the interest of Java?
I’ve been noticing that too. I guess it has to do with the interest by OSnews readers in a Page2 story on Java EE published at 0400 UTC on a Saturday, less than two weeks before Christmas, when obedient consumers, driven by fear of guilt, by habit, and by social mores, are preoccupied with what unwanted but politely accepted items to foolishly waste their money upon this year.
Am I the only one who cried when The Grinch was corrupted by the towns-folk at the end of that show? ๐
Edited 2009-12-13 18:15 UTC
Nah, it is more a reflection of how few actual developers visit this site.
The conversation about this on other sites mostly turned into a discussion about how much faster C# is evolving and leaving Java behind in terms of features. C# 3 now fits the classical definition of a functional language, you know. Linq (more specifically, extension methods) brings C# into a whole new league of its own, no longer just a Java competitor. I really can’t say enough about the language – and I’m by no means a MS fanboy OR someone who ever thought they would seriously consider writing apps that depend on a managed runtime. I just wish there was a cleaner BCL implementation than Mono (unfortunately the dotGNU project stalled before C# 3.0).
C# may be in non-web-space; but ASP.net doesn’t compare to what Java can do – and Silverlight/Flash will never make up for that.
That said, I don’t like Java and avoid it like the plague. I also avoid .Net/Mono the same way as I have no use for platform tie-in to Microsoft.
And for platform independence in the non-web-space, I’ve found Qt to be quite nice – native C/C++ speeds, with excellent portability between operating systems and compilers.
Web-space-wise, certain things are best left to Java (e.g. major web applications like Oracle’s Vide-conferencing tool), others are best left to Flash/HTML5 (like video ala YouTube), dynamic interfaces (e.g. webmail, etc.) are best left to AJAX development tools (e.g. Java/GWT, PHP+appropriate libs, etc.); and dynamic-non-AJAX sites are best left to PHP/Perl/etc. In other words – no one tool fits all jobs. Doesn’t mean some tools shouldn’t be avoided though…
In no-cases are JSP or ASP/ASP.Net pages appropriate.
And ASP/ASP.Net is just way too limiting to start with (yes, I’ve written a few) – especially when it comes to include files for code re-use. Talk about bulky – one header only for everything you want to do on the page.
I don’t really like Java or ASP.NET, but I think you are being a little unkind to ASP.NET. Its more flexible/capable than you think. Its is not bad in and of itself, but it sort of requires windows ( not really sure if I would trust the Mono backend in critical production services). That’s enough to keep me from using or further researching it.
Seriously – ASP.net only allows you to include 1 code file into a web page. That severely limits code re-use, or even making the code more modular. Pretty much every other web-space language can have more than one code include file.
So no, that’s not being “unkind” – it’s showing the limitations of the platform.
And honestly, there’s nothing in ASP.net you can’t do in another language. So why (i) restrict your users (e.g. people buying your web-space product) to the Windows platform, and (ii) why burden them with the performance hit that ASP/ASP.Net is? (BTW, JSP pages have the same performance issue.)
You are supposed to use static member functions for code reuse, rather than include files. See http://www.4guysfromrolla.com/articles/122403-1.aspx
But you don’t have to convince me asp.net is a bad idea for many reasons including the ones you listed at the bottom.
That’s all fine and dandy – but it still doesn’t address code reuse from what I can see in the article.
At least, the way the article presents it you may get that function in your current project; but there is no method of sharing between web-pages. I could be wrong.
So from that POV, ASP.Net looks even more horrid when you are “doing things the right way”.
Confused by your posting. I didn’t want to repeat its contents, but basically it advocates Object oriented design and every class included in the web project is in every page’s namespace. So worse case, you just create a class Util that has the random functions you need.
No problem with object oriented design. However, I don’t want to copy/paste, or redefined classes in every web page. Nor to I want one web page that does the entire site (that itself is bad design).
What I want is a simple file where each class or function set can be defined.[1] So you end up with a series of individual files that have the various functionality. The web page then just has to include those files to get access to the definitions and functionality. This allows the web page to focus on the specific user interface and functionality that it provides, and reduces the maintenance for the page.
The ASP Include directive kind of allowed this – but you could only have one file be included. So you had a single file with everything defined that any web page using similar functionality had; and a lot of code that most of the pages did not need, but one or two did so it had to be there since you could not have a second (or more) file included.
For example, in PHP I would define a class to manage the database interface for a specific database or table set in the database in a specific file (e.g. database.php.inc). That file would only have the necessary code and definitions required. I could then use the PHP include() or require() definitions to load the include file into the web page. database.php.inc may also have other files it needs to load, and thus do its own include() or require() calls. And the page being developed would likely need other functionality, so it may load other files as well.
[1] Some functionality does not always fit will into classes; and its silly to make a single class for a single function where nothing is used outside of the parameters and return value – that’s bad OO design, btw.
Again, I think you are confused. You can have multiple web pages within a project. A project has a single namespace. All of the classes inside the web project are available in any of the webpages in the project. As for bad OO design, eh I’m not a purist. Sometimes like Database normalization, its easy to go overboard adhering to a philosophy beyond the point of usefulness to a project.
I’m quite willing to admit that I don’t know the ins-and-outs of the projects you are referencing. That doesn’t negate the points. But I shouldn’t have to use the IDE in order to develop the site, etc. I should be able to just toss a page together, include a couple files, and have the functionality I need.
As per the projects, is this one of those ones you compile into the DLL? (Please tell me no.)
DLL implemented websites are just plain idiotic, broken, and tend to be more obfuscated for the user, etc. than anything else.
While not an old school dll, it does get compiled down to a similar file. I think. Its been a while since I’ve done it. I think there maybe a global configuration file specifying the included files.
But, Yeah, I agree it sucks. Not using asp.net. But, its slightly less broken that you thought.
By the way, could you please tell us which is your language of choice to develop Web pages ?
Typically PHP as it is relatively easy to put in place – both on Windows and UNIX/Linux – under a variety of web servers; with a simple enough language.
Though I’ve also been known to hand-code the HTML/JavaScript as well (mostly for sites that I have no control of per server features, e.g. geocities), so it all depends on where I am putting it.
Wake me up when .NET fits the classical definition of a cross-platform & OS independent environment.
Until then its all still a Windows-only thing…
Java EE is Java Standard Edition ( the core language) plus some stuff (extra api’s for doing enterprisey things). There are some alternative Java API’s for doing the same thing. In general there are a lot of Java related technologies that make it confusing for many people outside of Java development, and many inside it as well. Its not the same as a new C# version or Python.
As someone else has said, I’m looking forward to Java 7 SE. It will be the first core Java made with 100% open source.
I am a java developer. What I am more interested in are the changes going into the language for Java 7. 6 Was a nice improvement, 7 promises to continue the trend. Meanwhile for fun I’ll play with Groovy.
C# on the client computers. That is what I see in my job. We sell large server systems that costs tens of millions of USD dollars, that handles many billions USD each day.
These systems never run on Windows. They always use some kind of Unix or Linux or OpenVMS, because Windows can not provide the uptime and scalability that is needed.
C# is only fully supported on Windows. This means that the large server systems that run on Unix/Linux can never be developed in C#. It is always C/C++/Java that is used, which Enterprise OS supports.
That is the reason I never see C# on large server systems. I see C# a lot, but only on the client computers, that access these large server systems.
Also, with Oracle bying SUN, Java will be more tightly bound to Oracle DataBase. That DB is heavily used on Unix and on the back end server. This means that Java will fortify it’s position even more, as a language used mostly on Enterprise Server systems.
Another reason Java is used on back end server systems, is that Java is not changing rapidly. Which is a GOOD thing. If you intend to use and support an Enterprise system for many millions of USD dollars for many years, you dont upgrade it all the time. Not like Windows, which force you to upgrade each five year – which sucks. Java is evolving slowly and carefully. All rapid Java development is done in it’s libraries, but the Java language is slowly evolving. This is an official outspoken strategy from SUN. This is good.
Heck, OpenVMS machines count uptime in decades. You do not want to upgrade a system that works perfectly every 5 years. That sucks. Not Enterprise. Only Windows force you to do this as support dies very quick. When talking about Enterprise, you talk about very long support, for many years. With good back wards compatibility. Not like Windows. SUN guarantees that you can use old Solaris v2.11 binaries and run them on the largest SUN machine for millions of dollars, on Solaris v5.10 – with no recompile. Just copy your binaries. That is Enterprise. Just copy everything on your old Solaris v2.11 and dump it into Solaris v5.10 without problem. And you continue to run your business with minimal downtime. Enterprise. Long support contracts. Stability. Slow evolvement.
Agreed on most things you wrote.
Java + Unix has always been the big player for large systems. Sure, Java is resource-hungry for a small-scale website but you would hardly develop a personal website with that. That’s not what Java is for, I mean on the Web.
However, don’t underestimate .NET and ASP.NET. Java + Unix had very BIG performance advantages in the past, so big that no bank could ever think to develop something on a system other than Java. However, things got a lot better in last 4-5 years and ASP.NET is ready for big tasks. Java might still have some kinf of performance advantage but in most cases that can be balanced by lower maintenance costs.
But you’re truly right: that’s a market which moves every 10 years or so and thus it will probably take another 3-4 years until ASP.NET will be accepted in that market.
But as I said, don’t underestimate ASP.NET: I’ve already seen big ones switching from Unix to Windows Server. It IS happening. ๐
As a developer I am excited about JSF 2.0, I have been using 1.2 and I am looking forward to 2.0 features.
Here is a list of what is new in JSF 2.0 for anyone who is interested.
http://andyschwartz.wordpress.com/2009/07/31/whats-new-in-jsf-2/