This week's book giveaway is in the OCPJP forum. We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates on-line! See this thread for details.
I know this is a very broad topic, but how "popular" (for lack of a better term) is J2EE for designing web sites?
The reason I ask is that when viewing web sites it seems that I see a lot more CGI, ASP, PHP, and straight HTML than I do JSP sites. Ironically many web sites that teach about J2EE seem to be created using other technologies.
Do I have an accurate picture of the state of the web? Why would those other technologies be more prevalent (if they are)? [ February 14, 2007: Message edited by: Ryan Day ]
Anybody with a keyboard can create an HTML site. Anyone with a keyboard and a hint of programming know-how and create CGI or PHP sites. As these technologies are a lot easier to pick up than Java, it's not surprising that these technologies proliferate on the web.
But if you ignore sites whose purpose is to show pictures of kittens and narrow your pool to serious web applications, I think you'll find a much larger percentage of Java-powered sites.
Also be aware that many sites would not show the .jsp extension, because that is hidden behind a servlet. Also, some Java frameworks use different extensions, e.g. ".do" for anything that's Struts-based.
For example, the JavaRanch FAQ and the Blogs are both Java-based, although you wouldn't be able to tell from the URLs.
I was under the impression (again, not solid references) that C++ had the biggest share of banking systems currently used and deployed.
The reason is simply due to historical timing - it was the 1980s and early 1990s when most of the major (underlying infrastructure) banking software systems introduced (both inhouse development and banking software products).
So that means that many banks have many millions of lines of C++ code that the maintain and update as required, even if new projects from scratch are done in Java (again, no reference for this, it's just 'common knowledge'/hearsay that banks don't develop mission critical apps in .NET).
Many bank systems, government systems, and large corporations systems are built upon languages like cobol and tal and so on.
While it's not popular there are many newer technologies that were more "new" then anything else. And new seemed good for awhile until those new standards and languages took way too long to develop and replace the old systems and had far too many bugs and security issues and by the time they were completed or near completed, that "new" technology wasn't new anymore.
there are still billions of lines of code in Cobol in the world. There are millions of lines of TAL(used in tandem mainframe computers) in the world. While it's not new and while many places want to replace these older mostly mainframe systems, the reality is, large scaled web applications in j2ee, .net or whatever else comes out have serious security issues. And that is a major concern when management and the finance departments start looking at changing things.
I think java and j2ee as long as many things stay open source has a lot easier task than .net. Because the fact is, many organizations do not like spending tons of money on IT anymore.. Not when every other month there is another "lost computer" or hacked personal files from their servers and systems.
I never programmed in cobol, i had exposure to TAL and used it for a few years, but i've consulted on enough projects to where the fact remains, mainframe systems still exist and at least for the next 20 years or so, cobol, tandem tal, and other mainframe languages will probably run the beef of these large systems until java or .net or whatever proves it can handle and deal with these security issues.
Yeah most people look at these systems as "ancient" but when a system has been used productively with minor changes for over 20 years, it's hard to prove financially that anything that has come out in the past 5 years will do the same.
In the end, IT needs to support the business or organization it is in.. Too many times us tech people push the latest and greatest only to look like fools when security fails, bugs invade, or the end product just doesn't live up to what the salesmen might have claimed.
As far as j2ee and ASP and so on.. ASP and cgi was what was used for over 10 years on the net. Java wasn't very programmer friendly for the web. It was a nice theory, but java beans weren't that good and doing MVC was a nightmare.. Now with all the frameworks and updates, it's become a lot easier and it is a lot more robust than anything CGI or ASP might try to do.
Originally posted by Bear Bibeault: if you ignore sites whose purpose is to show pictures of kittens and narrow your pool to serious web applications, I think you'll find a much larger percentage of Java-powered sites.
Exactly. I've worked on several (hmmm, more than a dozen, now that I think about it) J2EE projects, and none were for "web sites". If all you want to do is serve HTML and images, then there's nothing wrong with PHP or Perl, and they're both lighter-weight technologies than J2EE. J2EE is for web applications, which are quite a bit different than a blog or forum site. The last really big project I worked on required me to aggregate and present data from sites across the US and Germany in as close to real time as we could manage (the back-end systems were processing tens of millions of bar code scans a day, we could only get filtered and sanity-checked stuff that lagged by about ten minutes). It was hard enough to do that with EJBs, I can't imagine trying to meet reliability and traceability requirements with a home-grown distributed system infrastructure in Perl or PHP...
That said, when I threw together a quick photo-sharing site for my family (a few years ago), I just used PHP, because it was quick and easy.