Java Is So 90s
An anonymous reader writes "Some of you may recall last year's Java vs. LAMP Slashdot
flamewar. The fight has now "brewed" (couldn't resist) into the mainstream press at
BusinessWeek." From the article: "Yared says developers far and wide are creating a new generation of Internet-based applications with LAMP and related technologies rather than with Java. Can it possibly be that Java -- once the hippest of hip software -- has become a legacy technology, as old and out of style as IBM's (IBM) mainframe computers and SAP's corporate applications? Mounting evidence points to yes. Reports by Evans Data Corp., which does annual surveys of the activities of software developers, show Java use is slipping as LAMP and Microsoft's .NET technology gain traction."
When I think of the 90s, I think of my days designing in RIPterm and uploading and downloading warez while chatting with Bimodem while trying to figure out the best initialization string to take advantage of the V.42 modem I used.
I definitely do not think of Java as a 90s scripting/programming language -- although I do get very frustrated when Java apps don't run properly on my PDA. I do think that Java is an outdated language that always seemed unfriendly to users and caused a lot of extra cost/headache to my customers when every software company we supported seemed to attempt to create a Java app to access their software engines.
I think Java has (had?) some features that made it easier to program in, especially for not-so-wise programmers. The automatic garbage collection allowed my guys to make quick fixes without worrying about memory management (I am being sarcastic here, I had some real dumb asses subcontracting some of my work). The speed of Java was great too (still sarcastic), and the consistency of the output code was always a positive (yes, still sarcastic).
I guess my big concern with LAMP is what the hell is the P? PHP? Python? Perl? They're all very powerful and they all have their own positives and negatives in regards to quick scripting solutions, but all of them still allow bad programs to churn our badly written programs. I'm guessing that is the trade-off: the more complex programs you can write, the more likely you are to see badly written programs.
It is very hard not to be sarcastic when talking about Java. Every CEO of every company I consulted with loved to spew the big tech words, and Java haunted me for years. I'm glad I don't hear it anymore -- should I thank the dotbomb for that?
In the long run, I think the 90s client-server systems will come back into use. Software companies have every reason to move back to controlling their applications and charging for use rather than licensing the code out to end users. I seriously believe the push for faster cable modems and DSL to the home is through the software developers (and music and video publishers) in order to just stream everything rather than offer the user the ability of unlimited copying. Once you have 2MB WiFi nation wide, there is no need to ever store your programs or your media anymore, right?
The second sentence from the original article posted on /. Started as: "Not to start another PHP vs. Java flame war..."
And now begins the second flame war started by said article.
Gentlemen and nerds, prepare your flamethrowers and ectopacks (respectively)...
Begin!
When will I see a constructive article comparing and contrasting the two and inviting a civil conversation and an acknowledgement that there are fans on both sides?
Come on, it's not like this is a religious argument or (possibly worse) a Star Wars vrs. Star Trek argument.
My work here is dung.
Is JAVA the new UNIX? It's still useful sometimes somewhere somehow but most people tend to forget/ignore its existence.
Virtual Betting on Facebook for non-geeks.
Basic is reported as "So 80s".
Fat, drunk, and stupid is no way to go through life, son.
Languages all have their place(s). Maybe a LAMP setup is better in some places, but writing a "real" webapp in PHP vs. Java seems like a no brainer to me :p I'd go with C++/Java everytime.
;)
Everyone else is of course, free to use whatever they want though
Give us some more Ruby On Rails (RoR) Articles!
Censorship is obscene. Patriotism is bigotry. Faith is a vice. Slashdot 2.0 sucks.
I thought no one would notice my coffee has gone cold!!!
...they mean Linux Apache Middleware PostgreSQL.
And when they say middleware, they mean Ruby!
The Army reading list
Here's my take. For most web sites, use PHP. If you need enterprise level stuff, use Java but don't let anyone tell you that PHP is not scalable, that is simply not true. Don't go to .NET - nothing you can really get on .NET then you can't get with Java. Enough said. Flame On.
Bradley Holt
Do a job search right now. Count the number of Java developer positions needed.
.NET never really lived up to the hype and is slowly dying away.
Now search for PHP
Then Perl
Then Python.
Now take out about 70% of the Perl and 40% of the Python jobs, as it is most likely to be used as part of admin scripting, not web applications.
Last time I checked,
What I have noticed about the Java world, though, is that most companies are shying away from Websphere, Weblogic and other expensive application servers and switching to Tomcat and JBoss. Most APIs in use are the freely available ones (Struts, JSF, Facelets, Spring, Hibernate, etc...). So companies are finding its easier to go a cheap route with Java than to try and move to the LAMP way of doing things.
Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
If Blu-Ray beats HD-DVD, then Java will have successfully expanded in to another market. It's a good time to have MHP experience.
Problem is that Java programmers have been bought up by big companies deploying enterprise applications and they really haven't been contributing to open source projects. With all the PHP projects out there that you can just download and deploy and tinker with it is no wonder why php is all over the web now. Java should be easier to deploy as .wars and just as easy to tinker with. But it just seems like every open source J2ee app out there dies on the vine, probably because the java developers got real jobs or else they decided they could sell their software as an "enterprise" product.
Seriously. These articles are popping up because of the realization that you don't FRIGGIN need J2EE to build websites. You need scripting languages and libraries such as Ruby on Rails.
From the article summary:
Can it possibly be that Java -- once the hippest of hip software -- has become a legacy technology, as old and out of style as IBM's (IBM) mainframe computers and SAP's corporate applications?
I work for a company that uses IBM mainframes and SAP. I guess that means I should start brushing up on my Java so I'll be ready for its adoption here in about 5 years...
Can it possibly be that Java -- once the hippest of hip software -- has become a legacy technology, as old and out of style as IBM's (IBM) mainframe computers and SAP's corporate applications?
:P
I work for a major telecom company and we just UPGRADED to SAP software.
Oh, please.
Java is still in incredibly heavy use in larger-scale systems and internal applications. It doesn't need to be "hip", "trendy", or "LAMP". It just needs to do a job, do it well, and be maintainable. It does that (and more), has still proven fairly easy to scale from small projects to very large, and is still a decent (though not terrific) language.
It also plays well with many other solutions, by virtue of numerous scripting languages which target Java bytecodes, as well as native code integration if you simply cannot get by without some piece of C code (although, there goes easy portability - one of the major benefits).
These articles are just a joke. That they would even use the term "hip" shows that this is far from a serious study.
It's a strange world -- let's keep it that way
It is interesting to note that the page with 'last year's flamewar' not one of the posts were modded as 'Troll' or 'Flamebait.'
Which begs the burning question: Is it possible to have a 'flame war' without one post being identified as 'Flamebait?'
Discuss.
He who knows best knows how little he knows. - Thomas Jefferson
Can someone explain to me how .NET is so fundamentally different from Java that it could escape Java's fate?
.NET (C# really) just a Java rip-off?
.NET more attractive?
Isn't
I mean really, not long after MS dropped Java, C# "popped up"
It's clear that C# is only a repackaging of Java, why should its fate be any different?
What makes
I don't know the meaning of the word 'don't' - J
The big issue here is speed of development and ease of use. Java is a bitch to learn, it requires a compiler, and it has a syntax that's byzantine as hell. Compare that to an interpreted language like Python or Ruby that has a very spare syntax, is interpreted, and are quite easy to learn.
That isn't to say that Java doesn't have its place, just as an IBM mainframe has its place, but the vast majority of tasks don't require a mainframe. For doing something like simple text process, Java's syntax just gets in the way - why build a massive application in Java when you can bang out a much simpler and easier system in Perl, Python, PHP, or Ruby?
Look at Ruby on Rails - the idea that you can create a simple but powerful framework that does an excellent job of getting out of your way is nothing short of revolutionary. Struts provides many of the same benefits, but has nowhere near the elegance of Ruby and nowhere near the simplicity.
It's all about the KISS principle, and syntactically and practically Java is just too complex - it's like trying to dust a room with a jackhammer.
The Army reading list
LAMP? This is even worse than AJAX as far as stupid new names go. I guess that "Web-based application" doesn't sound cool anymore, nor does "dynamic web page." I suppose it doesn't matter, really. Marketing writes the press releases and we call it whatever we hear the most of, eventually.
I will shut up and get back to coding this app in PHP, now.
PHP with big application tends to become a nightmare. It doesn't have to be. Good modular design, capable developers and you can use every language to build something big and maintainable. Reality paints a different picture.
Microsoft's .NET "technologies" are just a java rip-off
Surveyors in South Korea have discovered that only old people use Java.
J2EE is a subset of Java, not the whole thing. Any conclusions drawn about J2EE's problems are not problems which spread to J2SE or J2ME. I work in J2SE every day, I think J2EE is overly complex with very little payoff, so I use other solutions where it would be.
J2EE is dying, long live Java
Is it because more developers are using
On a side note- funny thing about software and QA. People like to compare a software application (the enginneering aspect) to other fields of engineering, such as those involved in building a bridge. This is an inane comparison, because while software does entail an engineering component, the techscape is constantly changing. New languages, new frameworks, new methods, upgrades, updates- if a bridge can't survive a foundation laid on shifting sand, how can we expect anything different from software?
Does the 'P' mean Perl, PHP, or Python? Or, does it mean all three?
If I were a young programmer, which language would I select? (I suppose I would select the language depending on the task at hand. In any event, it seems to me that almost anything will produce results faster than Java.) Actually, around here, the answer is simple. Java. Our biggest local employer loves Java.
The FTA talks about the rise of ajax based books as if it were a diss to Java. Ajax actually hides the back-end implementation from the front end so it really doesn't matter what you use as long as it spits out XML. Java is just as good a language as any to implement the backend.
I'm not a Java fan boy or anything, but uninformed article based on hype really kills me.
Java, like many other languages was a response to problems in the days of its design. Lots of languages have come and gone that tried to address certain problems (and in some cases did so), but had little room for flexibility when the solutions to the original problems made new ones.
I think C has had tremendous resilience not because of inherent benefits (any claim that C is faster than Java is like saying boats are faster than cars) but because of its ability to roll with the times. Of course, at one time it was used for everything and anything, but now its found its place (e.g. in device programming) and the C community doesn't typically try to push it to solve problems for which its not well suited.
Java has indeed become hemmed in by its inability to adapt; but perhaps it is also too broad. Sometimes I think that the standard JDK just has too much junk in it. Maybe this junk keeps it from being agile enough to adjust to hip new needs of today's software developers.
Thou shalt not begin a subject line or post with the word "Umm".
The fight has now "brewed" (couldn't resist) into the mainstream press at BusinessWeek.
The author means "percolated," right? "Brewed into the mainstream press" makes absolutely no sense.
Java pulled a ton of fast ones around "standardization", plenty of ugly playing from Sun there. I remember loving how they submitted themselves as the independent custodian of the standard, which didn't fly.
.net go. Liked the lanuage, think the delivery was confused as Microsoft was putting it out there. People didn't seem really comfortable trying to run with it safely.
That said, when I was looking around for a nice messaging product, a bunch of java products popped up, but nothing on the LAMP stack looked that good. I'm thinking of things like ActiveMQ here. Or workflow applications
Ironically, for some things Java is also now very performant, while new hot things like Ruby on Rails still suffer a bit. How times have changed, and inevitably Ruby on Rails will get is act (and garbage collector) together performance wise as well.
I'm just curious to see where C# and
For example, there's Joe Walker's DWR Java/AJAX library.
The Army reading list
I hope Java isn't dead. that's what I'm learning to program in (and my school's cs department teaches programming in)
Java is now mature..
Not just as others point out in the amount of jobs available, but in stability, features and extensibility.
I love java for what it does on the development lifecycle. I enjoy my ant deployments through anthill automated to my application servers. I enjoy building war files to deploy, packaging apps as components.
I also love the way Nutch was written. Nutch/Lucene is elegent design, high performance and 100% java.
The LAMP meme has been rising slowly but steadily for years now, which surprised me.
P linuxDejanews.png
http://www.realmeme.com/Main/miner/technology/LAM
But the real move is that "Web 2.0" is rising rapidly, too, and will probably displace Java & J2EE as the primary job creator over the next two-three years.
The whole Java hegenomy is a different culture for different apps than LAMP/SAMP etc. "So 90's...." doesn't talk well about platform compatibility, resource management, coding methodologies, and numerous other characteristics. It's like comparing an airbrush to an airchisel. Ok, bad metaphor but also a bad comparison.
---- Teach Peace. It's Cheaper Than War.
LAMP is a collection of technologies for making web apps, whereas Java is a programming language that is useful for creating web applications (both on the server side and the client side. Even if Java isn't used as much for the web, it's still useful for making cross-platform standalone (sort of) applications.
If you can read this sig, you're too close.
Can someone explain to me how .NET is so fundamentally different from Java that it could escape Java's fate? Isn't .NET (C# really) just a Java rip-off? I mean really, not long after MS dropped Java, C# "popped up" It's clear that C# is only a repackaging of Java, why should its fate be any different? What makes .NET more attractive?
.NET and see where you've gone wrong.
Darned text-based communications medium... I can't tell if you're serious. Is it a form of sarcasm so advanced that I cannot detect it?
If you're serious, then look up
Perl significantly so, as it is from 1987 compared to Pyhton from 1990 and Java from 1991. Perl was probably the first significant "web application" programming language, so hearing it mentioned as a new breed of languages is kind of weird.
Perl was always a programmers tool, and never had the mainstream hype that surrounded Java from the start, so I kind understand why a journalist could get it mixed up.
People will only work on open-source projects in a given language if the project and language are worth using. So in order to determine which language(s) {Perl,Python,PHP,Java} holds water, check the number of open source projects and their activity levels for each and compare them.
"If you want to do more sophisticated things, you've got to have Java in it," says Tim Yeaton, senior vice-president for marketing at Red Hat.
Okay, what exactly does a marketting person know about programming? Wait, you have to have a slow, much-longer-to-code, ridiculously-processor-intensive language in order to do "sophisticated" things? This sort of idiocy is what drove multitudes of corporations to ask for "Java" without knowing what the heck it was. Sounds to me like the "Intel inside" campaign from the 80's.
not by a long shot.
My clients are very large financial instituions and I don't know one of them who is reducing mainframe capacity. In fact, almost all of them are increasing capacity.
Most managers find it troubling that their mainframe-centric data centers continue to be well managed, predictable facilities while their Open Systems (UNIX, Wintel, Linux) data centers are a mess. Horribly erratic power and space consumption and many other woes that make management and planning a nightmare. Blade servers have not solved these problems - in fact, they have intensified them (powering and cooling 1000+ W/sq' is much more difficult than 50-100 W/sq').
While style is subjective, age is not. There's nothing old about the new systems IBM recently announced. Also, if being in style leads to huge cost overruns or getting fired, many of might choose to be a little less stylish.
Why oh God WHY did ATI move to .Net. I HATE the driver interface in that it now REQUIRES MS.Net to be installed. At first, we were given the option to use drivers that used it or not. Now with 5.12v, it's required to have any of the advanced options available.
.Net
It's just added Bloat. So why even use it on Windows? I sure hope nVidia doesn't start using
Life is not for the lazy.
Can it possibly be that Java -- once the hippest of hip software -- has become a legacy technology,
Java was once the hippest of hip software - but largely due to Sun's marketing.
LAMP's success was due to the Open Source model. Because you didn't need to take huge training courses or buy huge packages to learn Apache, PHP or MySQL.
Java = Top Down. Here boys, have your language. Use it!
PHP = Bottom up. "Look at the language I made, anyone wants to help extend it?"
Of course, that doesn't make LAMP superior to Java in any way. It just proves that Open Source can be a more effective marketing tool than Sun's marketing team.
If you haven't, you should take a look at
http://www.netbeans.org/
LAMP, etc. is easier to get started quickly. If you get advanced enough, you will start to wonder how can I do more processing client side? Hmmm, ever though of an applet that can just request some server side PHP, Perl? I have not gotten in to the server side Java myself. That is simply because it is not offered on most of the less expensive hosting companies. That is somewhere Sun should really take some time and effort pushing Java.
The more time you spend with "web" development, the sooner you will realize push/pull really sucks for doing anything serious.
What worries me is that I teach at a community college. One of my colleagues subscribes to Business Week and takes them quite seriously. I'd rather not have to get into a curriculum battle over this. Business week just needs to STFU about technology in industry, because people who have limited contact with it (either by not interacting with the technology or not interacting with industry) will often take their ill-informed articles as Truth. (Incidentally, I left industry 4 years ago and am close friends with others still in various sectors. Even after only 4 years, I'm very suspicious of my own first thoughts on the way industry is going, and I always get first-hand input.
J2EE was designed to do big jobs with proprietary tools. Who in their right mind would want to code an EJB by hand when their are alternatives such as Hibernate.
Also, LAMP tends to scale, not because it was designed to but because it is simple. For instance, you can learn the state-diagram for the creation/deletion of a stateful session bean, or you can just use a browser cookie 90% of the time.
Personally I prefer to code in Java, but I have to admit that I am much more productive in Perl and the like.
I bought Learn Java in 21 Days in like 1996 and I STILL can't program in Java. How do I get my money back?
This
And .NET is Gay
I'm a Python guy, and I think the advantages of Python, Ruby, and (do people still program in?) Perl, and (cough) PHP, are clear.
That said: I envy the Java guys their component research.
If you want to do anything really cool with components, you pretty much have to use Java. It's not because it's a better language. (It's not.) It's not because it's elegant. (It's not.) It's just because Java is where the people are. That's where just about all the component people are.
Java is hideous, Java is complicated, Java is large, Java is unwieldly, and there's nothing more unpleasant than waiting for a Java app to load. Than waiting for Eclipse to load. (shudder.) But you can't beat their components research.
Just about every single component project I know of, is just copying technique from the Java people. And usually far behind.
(off-mic:) Isn't Perl a fable, these days?
Brick Tamland: I love... desk.
Ron Burgundy: Brick, are you just looking at things in the office and saying that you love them?
Brick Tamland: I love lamp.
Ron Burgundy: Do you really love the lamp, or are you just saying it because you saw it?
Brick Tamland: I love lamp! I love lamp.
Whatever has the biggest buzz and catches the ears of the top level managers is what will be used. Obviously java is older now and will suffer some buzzkill.
I would say that I prefer working in languages that don't try to do everything for you so that you have some idea of what is going on behind the scene and don't have to learn a bunch of new buzzwords for stuff you already new. When it comes time to solve the hard debugging/performance problems you'll really need to understand it.
Hello Cruel World
Whoever thinks that Java is a 90's language/architecture is not reading good papers/reports lately.
Today first experience with the Internet is done mainly through a cellphone. By 2007 more than 99% of CellPhones will have Java for running personal, business, games apps.
Cellphones running Linux will use Java as well, what is expected, most of the applications developed in Java.
LAMP is a great combination as in every technology it is not a all-purpose pill, sometimes is better than using the Java Framework others not.
The problem with LAMP it is not LAMP, is the pack of Linux Fanatics that think that Linux will solve all academic/corporate/business/personal needs, playing down BSD, Solaris, OpenSolaris, AIX, as real options.
That as soon as Sun KNOWS that it has lost about 1/2 of its support to C#/mono, then they will OSS it. So we will be able to avoid that argument here.
I prefer the "u" in honour as it seems to be missing these days.
Coding in Java vs. Flash/PHP/Perl the difference between dating a librarian (Java) vs. a cheerleader (Flash/Perl/PHP). Sure the librarian has lots of ideas you can check out, and is intellectually stimulating but who wants to take the time required to get to know all of her libraries before you can do something with her? A cheerleader (Flash) is great to look at, fast and easy to use only once. People marry for java, but they just do PHP/Flash/Perl.
So, what do you want to do today; be correct or be productive?
"Can there be a Klein bottle that is an efficient and effective beer pitcher?"
Pick a language based on what is "hip". Actually, any technology - it doesn't have to just be a language.
(Digression: "hip"? Who says "hip" any more? It's so 1960s...)
Languages always have their places. It's important to see what's happening to Java. There was a point when every job description had Java in it. Java java java. Java was used for everything. Web applets. Full fledged GUI programs. Command line. Server side. I think people are finally realizing Java isn't good for everything. I think we are finally reaching an age which Java is finding it's place. It's meant for full fledged, cross platform, programs. GUI or command line. Programs that are meant to be kept open and running for awhile. This is where Java excels.
Java has had a terrible history. It's a lot of people's faults. PHB's, HR depts, Marketing, Bad programmers, Sun, companies releasing Java tools. I think most people on slashdot have a pretty strong opinion of Java. Love it or hate it, they have a strong opinion. The initial GUI implementation was awful. People were expeted by PHB's and Marketing to learn the new buzzword language in weeks, when in reality Java is the type of language you need to spend years studying. It's huge and complex. Just like C++. Java came into wide spread usage in the 90's, when computers were still a bit slow for it. It isn't until now that Java is really finding it's place. It's not as grand as the original plan for it was. If you talk to people, most of them have stale opinions of Java. Their view of Java is Java 8 years ago. And little will change their opinion.
If an officer ever threatens to taze you, say you have a pacemaker.
Tomcat, the whole Commons libraries, myFaces, log4j, Maven, Struts, Ant... So the A in LAMP is huge into Java - what does that say (and that's a rhetorical question, so don't bother answering)?
Not to mention some of the best software for serious development is in Java (Eclipse as an IDE, and Hibernate as an ORM tool, JSF and Struts for front end, Tomcat as a servlet container).
It's like saying C and C++ are so 1980, yet your operating system, browser, and office suite were all developed and compiled in one or both of those two languages.
Professionally, I use Apache, Linux and MySQL, but with Java instead of PHP. JALM?
"has become a legacy technology, as old and out of style as IBM's (IBM) mainframe computers and SAP's corporate applications" I sure hope the sarcasm in this sentence was clear, as both mainframe and SAP developpers are some of the best paid positions in the industry.
Java is not obsolete...people with expertise in Java can and do get jobs in the tech sector. What is obsolete, at least from the point of getting a job, is C without any C++ classes. Perl is obsolete if it is "scripting Perl" (OO mod_perl is the only Perl that can get you a job these days); non-OO PHP is quickly becoming obsolete. .NET has plenty of job postings.
C++ job postings are still quite common; this will probably not change for a while.
Usenet and mailing lists as discussion mediums are very 1990s and obsolete; the new wave is PhpBB and related web discussion boards. PDAs are also 90s has-beens.
Email is almost always accessed with a web interface these days.
enough said. i have been a java dev for about 5 years now and i can't stand it. my testimonial should be worth something.
I feel java is one of the more flexible languages that i've worked in.
Swing components are plenty flexible. It's not hard to add checkboxes to trees, have spanning columns in tables etc...
Where do you feel java lacks flexibility?
The only thing i feel is that it's not ideal for quick and dirty tasks. I write little perl scripts all the time to accomplish one of tasks that would take 5x the time in java. But for real software development that's more or less a non-issue.
By contrast, I believe that Giudo keeps python as open as humanly possible.
:-)
A good point, but the true example of an open-ended philosophy surely is Perl? "There Is More Than A Dozen Ways To Do It"? "Everything to Everybody"? The idea that in Perl, people don't refrain from doing stuff because it's impossible, but because it's bad form. (LW compared to not entering someone's house through the window even if it doesn't have bars.) Also, LW's interest in natural languages and how they develop, and how it should be possible to speak "baby Perl" and still accomplish something. Perl is the diametrical opposite of Java strictness, for good and bad. (Mostly good, in my world.)
Btw, is Perl still the only language with anaphoric and cataphoric pronouns?
Ada reported as being "soooooooo....uh.....never....was?"
blog |
...and didn't we just see an article posted here on slashdot about a week ago about how Java had just become the new #1 language of sourceforge projects?
Playing the devils advocate here...
Some of the things that make a language less 'fun' and expressive, and more predictable, also make the code more maintainable.
Don't underestimate the costs of maintainance.
I'd never choose PHP over Java, when it comes to writing server software, such as an IRC server, or a MUD.
I'd never choose Java/JSP over PHP when it comes to writing form-based web applications.
They're tools with totally different uses! True, you can do PHP-like things in java/JSP, and PHP is better at them. You might as well say hammers are useless, because of the invention of the screwdriver.
Cmoon guys - since currently the main use of Java is for large and/or internal applications, should we consider as an advertisement "Migrate to .Net immediately - your preferred tool is dying"? Also, please don't forget that your handset games most probably are implemented in Java and as it seems will be around and kicking for good next 5 years at least (on a growing market).
.Net is excellent where neccessity to demonstrate maintainability and robustness of implementation to management matters (Also I find it easier to work with Java when multiple developers have to work on the same parts of system).
LAMP is marvelous for what it does good - Q&D solutions where result matters. Java and
Is it me, or was the header info for this thread just trying to bait all of the Java fans into defending their language of choice? Not used to such trolling headlines here... Hopefully it's not a sign of things to come, as this is a discussion worth, well... discussing.
But the way the blurb reads, it's basically saying "Get in here & defend yourselves, or you're going to be relegated to 'old timer' status". Might as well throw in some other inflammatory stories to go along with this one... Where's the "Are PHP users too retarded to learn a real language", and "Command lines are for losers" articles?
The local joke around here is ...
Q: What does the "J" in Java stand for?
A: "Slow."
Tired of FB/Google censorship? Visit UNCENSORED!
I love the ideals behind Java. It's a fantastic idea that is fighing too many problems the way I see it. While Java is supposed to run on all hardware, it's how efficiently that concerns me. With few exceptions, every use of Java I have ever used performs poorly either immediately, or over time. This is true of my favorite P2P software, GTK-Gnutella, the Java applets that come as part of the Gallery PHP photo book program, Limewire and other things such as on my Nokia 6600 phone.
I used to believe it was mostly sabotage ala Microsoft. But when I moved to Linux, things only improved moderately. It has been a real disappointment much of the time.
I still use it. I still use GTK-Gnutella. It works fine... but eventually it brings my system to a crawl and restarting only the program seems to fix it. (Does anyone know any tweaks to limit the harm this program can exhibit?) My phone needs to be rebooted from time to time... It's horrible. Wish I knew what was wrong but I understand it all runs on Java and so my assumptions are obvious. Limewire is a DOG of a program... or is it just that Java is? The Gallery applets work at first and after extended use, it really starts to fail in strange ways.
But rather than doing away with Java, which I still think is a great idea, I am still holding on with the hopes that it will get better.
For the price, those "Learn something in (X)days" books suck. They are sort of like cheezy exercise equipment sold on late night infomercials -- they seem like a good idea, but in the end they lack the substance and you lack the will power to put up with the tedium and they end up as a clothes rack.
It takes a lot of practice to be a proficient programmer. Get a copy of Just Java 2 by Peter Van Der Linden. It's probably the best Java book out there and a fun read at that.
Read the book, put in the time and then get a job as a Java programmer.
$35 book + time = $70K per year.
You'll have your money back in no time.
I'm not surprised. Developers are getting sick of spending months and years of their lives writing overcomplicated inspid CRUD apps using "marketecture" j2ee bullshit.
I think being hip and trendy hurt Java more than it helped. People tried to use java where it wasn't appropiate. Java applets for web buttons that could be done in CSS really hurt it a lot (I can't even tell you how many websites were doing that at one point). The Java buzz is cooling off finally. It's finding its place. Java is nestled in the ranks of C and C++. You'd probably use Java in the same places you might consider C or C++. That doesn't mean Java is going away. It means people are getting their acts together and seeing Java for what it is. Not as a way to make cute navigation buttons. But as a way to make serious applications such as Sphinx4.
If an officer ever threatens to taze you, say you have a pacemaker.
nt
Hey, maybe you can answer this. I work at a helpdesk that does password resets for SAP (among many other things), and I still don't know--what the heck is SAP? All I can find about it is that (a) it's very expensive, and (b) it's for enterprises. Is it a programming architecture? Is it a database system? Is it a floor wax and a dessert topping?
Laws do not persuade just because they threaten. --Seneca
I've watched Java ever since it first started making waves, back when Sun thought it would be the ubiquitous language for rich web content running in browser plugins, and had demos of a little anthropomorphisized coffee been dancing across your netscape browser that we had to show off at trade shows.
Java sucks. I've been saying it for so many years that I've mostly given up on mentioning it anymore. But I'm taking the effort today to make another rant about it, since this article happened to bring it up.
Java has never been hip. Everyone I've ever known or heard of that was a Java advocate or a Java programmer was never really a programmer to begin with. All the hard-core guys I've ever met, who really know how to code well in any language (and who know how to do really clever things for fun, but then smartly avoid cleverness when at all possible in production code), never liked Java. Java is an industry buzz pushed around by publicists, managers who don't know better, vendors who could care less what the right answer is, and "coders" who learned from a Java for Dummies book which they had time to read after being layed off from yet another position in which they were useless and incompetent. The vast majority of Java source code I've ever read has made me want to puke. What can be expressed succinctly in 40 lines of instantly recognizable code in any other language becomes a multiple-inheritance heirarchy of 40 classes in the hands of a "professional java developer". All those people who seem to succeed at navigating twisted inefficient beauracracies for a living, and twisting them further as they go, seem to be exactly the kind of people who love a language like java.
And while we're at it, "LAMP" isn't really a good term for what's killing Java. For starters, Java can kill itself just fine without any external help. Secondly, the idiom that most people mean when they say "LAMP" can be had without those specific technologies (Linux, Apache, MySQL, Perl). Some people do it with FreeBSD, Lighttpd, PostgreSQL, and Ruby (but FLPR doesn't have the same ring to it). My point is, this isn't the victory of Apache, or Linux, or MySQL, or Perl. It's a victory of concise, well-built, community-maintained, open-source software over corporate-inspired and corporation-pleasing bloated nasty red-tape-tangled environments like Java (or SAP, or any of a number of stupid software ideas to come along in recent decades).
11*43+456^2
For the next BS language that does exactly the same thing as the last, just in a completely different way.
Nothing but a Job Program for Geeks.
I for one am tired of having to learn a new freaking language every 5 years just because someone thinks they have a better mouse trap.
When Fascism comes to America, it will call itself Anti-Fascism, and tell you to give up your guns.
Java applets for web buttons that could be done in CSS really hurt it a lot (I can't even tell you how many websites were doing that at one point).
Damn skippy. And why is it that a relatively complete environment like Flash is so much quicker and more lightweight-feeling than Java? No, seriously! I remember the fifty-fifty chance of my browser shitting the bed when trying to run a simple demonstration of some graph algorithm. What on earth was the excuse for that?
Laws do not persuade just because they threaten. --Seneca
i'm not l33t anymore..
...it doesn't really fit. It should be "percolated".
In Java, there are many less right ways to do something.
And some examples would be...?
gimme a break. do the people who write this stuff actually know what the entierprise is?
After C/C++, Java ended a long nightmare of preprocessor abuse, ridiculous "APIs" (collections of warring header files with no-vowels function names that were never the same from computer to computer), especially GUI APIs (never failed to amaze me how someone could call Swing "stupid" and then go back to coding Win32 or Motif... Apple guys I can forgive :)... And then there was all the fun of the endless futility of "expecting" programmers to always get their own memory management right. That one really burns me.
;)
C/C++ never took the rap for billions upon billions of dollars in lost productivity because of all the bizarre failure modes of memory allocation failures (hey, there's garbage on the screen... or, hey... it's Tuesday, the full moon is out and the app segfaulted again... coincidence?) or having some clever sixteen year old shove 80k up your 256 byte buffer. You can't tell me wrestling with the garbage collector isn't an improvement on this, because it's ridiculous.
Java of course is within spitting distance of C++ already in one or two benchmarks, but in reality nobody cared either way because you got things in trade that made it a good deal even when it was still quite slow. Not sure what "consistency of the output code" means, but...
You got it right about LAMP. The problems were often that the higher level systems (well, PHP anyway) were great for making websites, but didn't enforce enough rules to be a good idea for projects above a certain size. Still and all, a great many companies in the 90's said "OK, we need 8-way oracle boxes with hot swap CPUs and a 50 disk RAID and Oracle and Weblogic, and... now, what are we going to build exactly?" Most of these places could and should have just used PHP on a few pentiums and saved themselves time and money and headaches. On the other hand, I saw plenty of places coast on a slick of Perl and human blood well past the point where they needed real "enterprise" (hate that word) software development.
It seems like Java was only ever a victim of its own success. No one ever wrote a shitty applet or misused the VM in some way, where the whole language didn't get blamed as a result. Basically, it's another tool in the toolbox, and though it drives C/C++ guys to conniptions, it's the right choice to replace many applications programming tasks right now. Not that I wouldn't throw a party to meet its succeesor.
Unlike many big languages past, Java is probably never going away. No one seems to have realized it yet, but as the VM-first-mover it's the ultimate langauge standard. I bet you people will be porting the Java VM long after we're dead.
Tired of Political Trolls? Opt Out!
On the one hand I am intrigued enough to revisit PHP and MySQL. I used these 3 years ago and found both easy to use. I then moved on to .NET, Java and Oracle. Partially because of circumstance, partially because .NET and Java had superior IDEs and extensible object-oriented approach. I felt that the code I wrote was "more OO". I would use .NET for UI and Web apps and Java for anything I could run from command-line (or non-windows apps).
.NET web applications built and I am not convinced that either is going away any time soon. Eclipse Java IDE is still going strong (check out their web tools plugin) and the next .NET release has been generating a lot of buzz.
So part of me is still skeptical about the "findings" in this article. For one thing book sales are maybe _correllated_ to Java's popularity but certainly that isn't the cause for the alleged decline in popularity. In the last 2 years of consulting I have seen a good share of new Java and
If you are rolling out a commercial web app then you should probably check out http://www.tpc.org/ before making a commitment to MySQL. Again, I haven't used MySQL for a couple of years, but there is no way they have caught up to Oracle in that short of a timeframe.
Depending on the application you use a different tool. When I'll need a quick dynamic site up I will try LAMP, but I am still largely unconvinced how exactly LAMP will replace a commercial J2EE web app. What IDE can I use with LAMP? Is there a concept similar to Java Struts?
...if only it had a properly working runtime that wasn't tied up in Sun licensing.
"Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
I mean the original article, not the slashdot comment...
It seems to me that it is pure marketing, but marketing for what ?
So, why should somebody write that Java is so 90... and that LAMP and .NET are up
The only one gaining here is Microsoft :-), so, I think we found the killer here :-)
Think with your brain
Searching monster.com for job listings within fifty miles of my zip code finds
PHP is wonderful, but no way is Java dead.
org.slashdot.post.SignatureNotFoundException: ewg
I haven't heard of a lot of cell phone companies puttin LAMP or .NET support into their cell phones. Are cell phones "so 90s", too?
I've been watching the local So. California programming job market for a while. And as of earlier this year, I started keeping track of the number of jobs available for specific programming languages. Throughout the past 9 months, Java has owned the market on number of available programming job.
Here's the spreadsheet that I put together. It's in no way scientific, but it is a good indicator that Java, C++, and Oracle own the programming jobs market.
http://www.timothytrimble.info/ForSlashDot.htm
If you don't believe me, then do the stats yourself. Go to HotJobs, Monster, Dice, CareerBuilder and find out for yourself. The stats don't lie!
Timothy Trimble The ART of Software Development
TheTiminator
I can't take this seriously after Java has recently taken over from C++ as the most popular language on sourceforge:
http://www.osnews.com/story.php?news_id=12778
Java is a popular and versatile language. Software development involves far more than the very restricted aspects covered by LAMP.
Over the years, as new technologies were added, the interpreter and the API were constantly augmented. Basically the new features were slapped on like coats of paint, but it was never reengineered nor refactored. Look how little of the old cruft of 'deprecated' stuff from JDK 1.0 or 1.1 has ever been removed. For example, why does Java still need 3 types of remote invocation, all flavors of the same thing: RMI, CORBA, and RMI-IIOP? Can't one be selected for the core API, and others be add-ons? Why are AWT and Swing still separate, and why do Swing classes still not implement Containers, as was the plan long ago?
I know that this is for backward compatibly, which is why I think it is time for JDK 2.0. The current J2SE/Java5 is really JDK 1.5. Let the old 1.x series be grandfathered out, but always be available for whoever needs it. Refactor, clean up, fix the things that have always needed to be fixed. Organize the API in a clean, logical and intuitive hierarchy. Make a JDK 2.x series with that new car smell. Market it as Java6 or whatever.
As an aside, I do not think that I will ever understand these "X is cool. Y sucks" arguments. A good developer selects the proper tool for the job, whatever it is. I haven't tried Ruby yet, but I have used all of the others. All have their qualities and drawbacks. For example, I really like PHP, but I don't think that MySQL- or Postgres-specific calls should be in the core; rather, the ODBC-like abstraction like can be found in PEAR.
Following the narrow path of a single language only limits a person's skills. Consider the different options not as opposing each other, but orthogonal to each other, adding new dimensions or degrees of freedom.
I wholeheartedly agree. The biggest strengths of Java are its cross-platform compatibility, its garbage collection, and its multithreading support (since the introduction of version 1.5). It's also useful as a research platform for computer scientists/engineers, because it allows for full control over both software and the (virtual) machine that it's running on. You can't get that in any other production software environment.
Some people (including me, soon) are taking advantage of this flexibility to try to improve Java's speed: Sable Lab
Is this good engineering? Too many of the newbs out of school
have one language under their belt, so everything is solved using it,
even when it shouldn't be. Just my 2 cents
-- Programming with boost is like building a house with lego. It's a cool but I wouldn't want to live in it
Can it possibly be that Java -- once the hippest of hip software -- has become a legacy technology, as old and out of style as IBM's (IBM) mainframe computers and SAP's corporate applications
Yes... this is the case. No one uses java anywhere, and it is now undeniably a "legacy" system.
And in case no one heard BSD is dying too.
TFA states that the language isn't changing very fast. That's a good thing. C# keeps adding features and is becoming as tangled as C++. Who uses all the "features" of C++, if they even work reliably across platforms? I want a clean, readable language.
TFA also states that the VM performance isn't improving very quickly. Well, I don't know. Java 6 seems to have improved things significantly over Java 5, which has improved things over Java 1.4. It is true that the gains are becoming incrementally less, but that is what you would expect from a mature VM.
In most good tests I've seen (that is, by people who know what they're doing), Java and C# perform about equally. C# is somewhat better on startup and doesn't seem to need the warmup optimization time that Java does.
I will acknowledge that Java Web apps use a ridiculous amount of boilerplate code.
On the server side, I don't think it's fair to say that Java is being abandonned. However, I want to comment about Java on the client side.
It is true that Java is far from being as popular as other technologies like Macromedia Flash. However, this might change. Many companies avoid Java applets because many web users don't have a recent JVM installed on their machine. You create an unnecessary hurdle by requiring customers to download a JVM just to view your website. People are put off by the installation process and some will just leave your website and find another one that "works".
It would be really great if a company like Google released a new free service as a Java applet. I'm thinking of a web service that everybody would use, like for example a web office suite. If Google indeed released some very popular Java applet, webmasters could from then on assume that the majority of internet users have a recent JVM installed. This might lead to an explosion of Java applets on the web.
This could happen quite soon. Remember the almost insignifant partnership between Google and Sun back in October. It seemed a bit odd to me. Google would not associate themselves with another company just for the brand. My guess is that there are some nice Google applets coming soon.
Google's influence also comes into play. Look at how much more popular the XMLHttpRequest object became after Google started using it in services like Google Suggest and Google Maps. It's as if webmasters all over the world suddenly realized: "You can do that?!?".
Java applets are not dead yet.
Java is sorely outdated. All my friends are programming using ** BEATLES BEATLES.
As a matter of fact Java plays huge role for programs on mobile devices and mobile devices are taking over the world as we speak. Maybe it's not the same Java, but it certainly ain't out of fashion.
You gotta love it. Netcraft confirms it, Java is dying.
Seriously I have no idea what to think about articles like this. There is so much conflicting information in the news these days and major news sources are now getting things wrong so much of the time now. Especially things that should easily be determinable (i.e. were 30K or 100K killed because of the IRAQ war?).
Some of the people interviewed here are a little suspect, Marc Andressen I mean who cares what he thinks, after all his fame is soooooooo 90s.
Btw PHP has been really popular for years in some areas so it's not like a lot of this is new.
Hey, could someone recommend a simple chat room ware for my website? Running Debian.
:::ducks from moderators:::
You know, it's funny. A few months ago a colleague and I had an argument about which platform was being more prominently used, J2EE or .NET. I argued J2EE, he argued .NET. Each of us thought the other was nuts.
.NET-related jobs outnumbered the J2EE-related jobs over 2:1 in his area, and it was exactly the opposite in mine.
.NET shop two weeks ago.
Then, we did a job search on Monster. He lives in LA, I live in Detroit. We started laughing pretty hard shortly thereafter, because the
Of course the irony of this is that I recently took a job at a
The fight has now "brewed" (couldn't resist) into the mainstream press at BusinessWeek.
Shouldn't that be "percolated"?
It's been around at least since 2000.
LAMP: The Open Source Web Platform
By the time I seriously started playing with PHP I already knew Java, yet it felt compelling somehow. I think it's just because it seems simpler, because the default choice is to put everything right in the page, rather than writing some JSP, some servlets, some EJBs and so on.
Writing JSP pages isn't really that much different from writing PHP pages; you can write them in a PHP style. But Java people tend to be degreed software engineers moreso than PHP hackers, so they make things complicated and build up layer upon layer of infrastructure, and you need to know a lot more to be able to deal with all those layers effectively. (And you end up needing to use struts, or EJB, for example, not because it's easy, but because management or coworkers pressure you into it.) Alternatively you can just do your database queries right in the JSP pages, which is ugly in a design sense (schema changes can be harder to propagate through the whole system) but very PHPish, and at least the whole pile of code will be smaller and more manageable if you have fewer layers to deal with.
The myth of software engineering is "after I write this nifty abstraction layer I'm never going to think about this facet of the problem again" (whether it be hardware abstraction, dealing with the database, the GUI API, dealing with web-based transactions and user-specific "state", or anything along those lines that you don't enjoy and would like to box up and forget about). The reality is that every layer you write also requires some maintenance, so you cannot avoid having to think about any of those things again. PHP hackers are just more likely to suck it up and deal with these annoyances head-on, with as terse code as possible, rather than try to abstract them away.
But some of the abstraction layers that have been created for Java applications are really elegant. Some much more than others.
Another factor is that large projects, for which more people are hired than is really necessary, with too much management, tend to take the long way around, in the name of elegance and maintainability. If programmers are smart enough to invent really elegant abstractions, and they have the time to do it, most will do it. But if you're on a scrappy underfunded little project you just take the most direct path to get the job done.
I, for one, developed quite a bit for linux-apache-mysql-java. Right now, I'm developing for linux-apache-jboss-mysql-java. What is it with people not being able to compare apples to apples? Java is a language first and foremost. Secondly, it's a set of frameworks, starting from EJBS (IMO, an abomination) to things like Hibernate, to Struts, to whatever else. Comparing these things simply makes no sense.
Every one is bashing but did you test it?
strcmp("LAMJ","LAMP")
Million Dollar Screenshot
Its not that pure programming skills are declining but, the demand for good programmers is so high.
The demand is so high that salaries are pushed up. High salaries attract a lot of people who might perform better in other fields. So, we have to wade through thousands of people to find the gems.
Programming is a complex task, and the people who do it well can do strange things with their brains.
Classes and books can teach people language syntax and data structures but, unfortunately they can't make programmers. The result, we have lots of people just getting by writing spaghetti code until they get promoted to program mgt.
----- If communism is a system where the government owns business, what do you call a system where business owns govern
BusinessWeek is so last year, so, so... so one-point-oh. (I kid, I kid!)
The "hip" thing for ex-Java folks is not LAMP but Ruby on Rails. When Bruce Tate wrote Beyond Java, it seemed it was time to check it out- and after doing so I have to say he's on to something.
Seriously, if you like the whole direction of Spring / Hibernate / JUnit, you owe it to yourself to check out RoR. The speed and joy of LAMP with the architecture and cleanliness of the best Java solutions.
Information: "I want to be anthropomorphized"
I really do.
Clearly, Google is the next Microsoft.
The new tools allow programmers with less training to build applications rapidly.
which is obviously a best practice.
it can be great to develop fast
however that which is developed fast is rarely great
i don't care
If they mean 'hip' as in 'the new cool technology that all the leet hackers are using these days', you're right, this won't affect how large business projects are done.
If they mean 'hip' as in 'which environment will the PHBs choose for the next project when they shoot from the hip', then studies like this are important. After all, those people are probably susceptible to the 'Google doesn't use Java' argument.
To a Lisp hacker, XML is S-expressions in drag.
In response to the gentleman fretting over the "P" in LAMP, may I propose we change the buzzword-du-jour to LAMA. The "A" represents the "Array" of scripting languages supported by the LAM platform, rather than the esoteric "P" that is the topic of so much debate.
"Apples deemed so last century as the industry rushes to adopt the wider use of oranges"
Ñ'
Gnome FTW.
Err... wait, I think I'm in the wrong flamewar...
Sorry, carry on.
We have secretly replaced these Slashdot mods' sense of humor with a rusty nail. Let's see if they notice!!
In principle, Java's situation is no different from that of proprietary general-purpose operating systems, which are power-diving into irrelevance for exactly the same reasons.
Java was one of the biggest boondogles in programming, ever.
as old and out of style as IBM's (IBM) mainframe computers and SAP's corporate applications?
Mainframe machines provide the easiest and most well-tested way of getting the five 9s. If it's out of fashion, how come IBM's Systems and Technology group (which sells the mainframes and other servers but not PCs) earned them $17bn last year, and grew by 14% on the previous year ?
And SAP, that company with an operating income of EUR1.7bn last year.
Is it out of style to earn pots of money ?
Well, really, that argument is pure bullshit. If you look at VB.NET you'll see exactly how flexible the multiple language support really is. You can't compile any VB6 code for .NET without extensive overhaul, and any application much beyond HellowWorld isn't gracefully handled by the update wizard. What .NET did was to make a C# language with a VB skin on it.
The native language for the CLR is definitely C#. That's what it was designed to run. It doesn't gracefully handle anything outside that mold. You can use C++ if you don't use multiple inheritance.
We must be on the 1st of Appril .... LAMP the successor of Java :) :) LOL :)
.net is not competting with Java, man ! So LAMP, c'm'on ;-)
... look at sourceforge, Java is now #1 !
;-)
You know even
(Please forget the Hype about Ruby on rail, Python, Rebol or whatever revolution)
Look at Java ME (for mobile, present on most mobile handset in the world ), Java SE (for desktop, the one that has not fully succeed), Java EE (for enterprise application, most medium/big custom applications are made out of this). The reason is because it is highly customizable/tweakable and will fit with the legacy system.
So, yes I agree that Java has become part of the legacy, because after a decade of existence it is there everywhere in every enterprise and will be there for years & decades !
But I can not agree on the point about the declining of Java, just because there are lot of new paradigms still pushed in Java, new APIs, updated APIs, new products, new solutions, improved technologies
Java is just waiting for a major event to bigbang, and this event is the arival of the Harmony Project from Apache Group, this will mark the begginig of Java as a full opensource solution and there will just kill PHP in less than 2 years and will just engrave the year on the C++ tomb. Not kidding. This is just a matter of time.
One day Java will decline, but our "Neo" has not yet come
I have had my doubts about java before. Especially in the game department. However, I recently came across a game, while not all that inventive or increadable, shows a well deployed, clean, fast running java game in action. A demo can be retrieved from their site: http://oddlabs.com/tribaltrouble.php. I am not advertising for the game, just mentioning that java seemed very sutable for this game. I use mac/win/lin, all three every day, and so for me, the fact that it is deployed easily on all three is important.
Eric Schmidt, the current CEO of Google, worked at Sun where he led the development of Java. He left Sun to be the CEO of Novell and retrained the programming staff on Java. He went from Novell to Google and still has ties with Sun, mostly recently with the joint venture with Sun in distributing the JRE with the Google Toolbar. Google is also purchasing Sun hardware possibly to obtain a better performance per watt. Eric Schmidt has also said that Google has several projects that use Java. Google is also a member of the Java Community Process.
So, it seems that Google has some serious management, business, and code ties with Java. That's to say nothing of IBM, Oracle, and others.
genamics-dot-com is known MS astrotufing site, which requires the question, what's your motivation for ramping it up ?
.. but what actually is Java? (I know it's NOT javascript)
I don't use it for sho, not sure I even have it. I thought it was a programming language, but then how can it be compared to LAMP? (a server configuration). This is like Google vs Microsoft.
Funny you should mention this. Yes, I routinely run Java on AIX, Linux, and Windows and JVM incompatibilities are very rare. However, I just ran into one on Windows, and it has me steamed. It seems that the "monospaced" font isn't. That is, the characters have varying lengths. Well, some of them. The ones the block mode legacy app I am displaying in an applet uses the most (line drawing). The solution is to check the charsWidth of each string, and when it doesn't match len * charWidth('M'), loop over each individual character and position it manually. Yucky. And slow. But only on Windows.
article.replace("Java","LAMP").replace("LAMP","Rub y on Rails").replace("Ruby on Rails","AJAX")
Why must everything be so black and white? I don't think we need to always set up debates where one language must be superior and win. Use the right tool for the right job and acknowledge the positive aspects of the other guy's tool.
It's live changing article. I will never more read something from BusinessWeek :-).
Reporters always make something out to be the end of the world or something drastic.
...or X is still around even though we wrote it off.
.NET. Whatever. I don't need to relearn logic everytime the technology changes, so just tell me what language we are using.
Gets eyeballs on stories. It's either Java dominates everything or Java does nothing. While the truth lies somewhere between those two extremes. But the truth in these type of stories makes for horrible reporting.
You'll also find that stories follow the following pattern: X is doing great, X stumbles/fails, X returns to glory
Next year they'll have an article about how Java is still being used all over the place.
Java can co-exist with other technologies. I programmed in Java. I program currently in
Except for ending slavery, the Nazis, communism, & securing American independence, war has never solved anything.
Solaris
Weblogic
Oracle
Java
But what would a multibillion dollar corporation know?
This is just stupid. People are wasting their energy arguing over completely different technologies designed for different purposes, with different strengths and weaknesses. If you think any one toolset is the right solution for every problem, you don't know enough about the all the options to have a valid opinion.
I've used most of the technologies people have mentioned here, some extensively. None of them are clearly all-around better than the others in all ways, and the statistics concerning toolset use are meaningless because technical merits are rarely the deciding factor in what tools or libraries a particular project ends up using. It's usually either the project team deciding to use what they're comfortable with (i.e. the I've-got-a-hammer-so-this-project-must-be-a-nail approach), or imposed top-down by management who were sold on the merits of one solution by a salesperson/article/more technically-savvy friend, etc.
Hell, the closest thing to an all-around great-for-most-anything tool for building web application was NeXT's old Objective-C based WebObjects which, despite the fact that Apple let it die a painful death, was years ahead of anything else on the market, and even now after not being developed or supported for several years, is still ahead of many solutions in some respects. But I'm not about to recommend to one of my clients that they should use it, even though I might think it's technically a better solution than something else. These decisions, even when made intelligently (which is rarely), are not, and should not be, made in a vacuum.
PHP sucks shit for transactional applications. It's great for read only apps, but for lite, medium and heavy transactional applications, it sucks hard. go ahead and trying using PHP to build a E-Commerce site that can handle several thousand transactions per second. It's possible, but much much much harder.
It is now official. Netcraft confirms: Java is dying
One more crippling bombshell hit the already beleaguered Java community when IDC confirmed that Java market share has dropped yet again, now down to less than a fraction of 1 percent of all servers. Coming on the heels of a recent Netcraft survey which plainly states that Java has lost more market share, this news serves to reinforce what we've known all along. Java is collapsing in complete disarray, as fittingly exemplified by failing dead last in the recent Sys Admin comprehensive networking test.
You don't need to be the Amazing Kreskin to predict Java's future. The hand writing is on the wall: Java faces a bleak future. In fact there won't be any future at all for Java because Java is dying. Things are looking very bad for Java. As many of us are already aware, Java continues to lose market share. Red ink flows like a river of blood.
JavaBeans is the most endangered of them all, having lost 93% of its core developers. The sudden and unpleasant departures of long time JavaBeans developers Jordan Hubbard and Mike Smith only serve to underscore the point more clearly. There can no longer be any doubt: JavaBeans is dying.
Let's keep to the facts and look at the numbers.
Java leader Theo states that there are 7000 users of Java. How many users of Java are there? Let's see. The number of Java versus Java posts on Usenet is roughly in ratio of 5 to 1. Therefore there are about 7000/5 = 1400 Java users. Java/OS posts on Usenet are about half of the volume of Java posts. Therefore there are about 700 users of Java/OS. A recent article put JavaBeans at about 80 percent of the Java market. Therefore there are (7000+1400+700)*4 = 36400 JavaBeans users. This is consistent with the number of JavaBeans Usenet posts.
Due to the troubles of Walnut Creek, abysmal sales and so on, JavaBeans went out of business and was taken over by Java who sell another troubled OS. Now Java is also dead, its corpse turned over to yet another charnel house.
All major surveys show that Java has steadily declined in market share. Java is very sick and its long term survival prospects are very dim. If Java is to survive at all it will be among OS dilettante dabblers. Java continues to decay. Nothing short of a miracle could save it at this point in time. For all practical purposes, Java is dead.
Fact: Java is dying
Stats do lie. They can be interpreted a dozen different ways. You may have just proved the articles point. Java programmers are moving on to LAMP and .Net. resulting in open positions.
J2ME is the subset, cut down version for embeded devices like PDA's/Mobile phones etc.
2 44/
J2EE is a superset of Java which adds the Enterpise level extensions to the core Java technology.
In summary :
* Java Servlets
* Java Server Pages (JSP
* Enterpise Java Beens (EJB)
* Java Connector Architecture (JCA)
* Web Services
* XML services
You can read the full spec here :
http://jcp.org/aboutJava/communityprocess/pfd/jsr
Java is the top language for projects on Source forge. .Net and LAMP are NOWHERE by comparison.
I call this article pure FUD and further proof of the Slashdot editor's antagonism towards Java.
And you know what - Slashdot editors REFUSED to post that story (which is pure fact) and post instead pure FUD filled crap like the current article.
/. editors? I really think so.
Anti Java bias from
I guess the old pageview quota is falling, since the 'editors' decided to deliberately start a flamewar.
Anyone else mentally picturing them sitting around a glowing monitor, rubbing their hands and cackling with glee as the ad pennies mount up in the account?
Here's my contribution - it's not a competition, unless you work for Microsoft or Sun. Since most of us don't, why get so damned up in arms about it? Is it a substitute for a real life? probably.
Eat that flame, assgrabbers.
Slashdot - where whining about luck is the new way to make the world you want.
Flex, altho may never be mainstream, I think will take a lil' chunk from Java as well. Now that it has file-system access via Flash 8 there is nothing stoping it. And MXML is sexy.
"The new generation of lighter-weight programming tools, including AJAX and PHP, are immensely popular with the Web 2.0 startups, including the likes of Friendster, Flickr, and Facebook."
/SAME/ technologies: one is "cool" so it is Web 2.0 but the other has drab colors and it is so legacy? WTF!
What does AJAX have to do with LAMP? or JAVA? We have several applications, built from Java servlets, which use "AJAX". And, Web 2.0, please.... Web 2.0 is the dumbest buzzword I have heard in a while. Two applications using the
I work for an unnamed financial services company and we write all our software in Java with the exception of some places. Java is far from dead. The class library is huge and very useful. The speed is not an issue. Java can be as fast as anything else after the initial load and this has been demonstrated numerous times. We can tie web front ends into internal trading systems easily using java since it can be a web tool or an application development tool. We also don't have to care what platform our users are running. We can run the server software and application software on our development machines running linux, windows, or mac (all 3 are present in the office according to taste) even though our users typically have all the server software on high end linux / sun systems and the desktop software running off a windows desktop. It's not a big deal to have an icon that calls java to start the app.
Big deal. It's not new. Most operating systems are written in C and C is much older than Java. Java falls under the same rule of thumb which all tools fall under: "right tool, right job". That's all there is to it.
Reality is nothing but a collective hunch.
This article is dated 2000!
The vast majority of the points raised have been addressed in subsequent releases of both languages.
This is not worth a read (or a link).
TODO: 753) write sig.
Browser pioneer Marc Andreessen, chairman of Zend, a PHP company, says the shift is like the one in the 1990s from traditional programming languages C and C+ to Java. "We're seeing it now with a big migration from Java to PHP in Web development," he says. Stats back him up. The number of Web sites using PHP has risen to 23 million today from zero in 2000, according to surveys by the Internet analysis firm Netcraft.
Was I dreaming back in 1997?
Web 1.0 was mostly B2B and thus Java was the best fit. Web 2.0 is driven by Google,Yahoo and consumers so it will be PHP. And regarding .Net.. .Net
managaedcode: Hey, Do you know what is
ASPXDev:It's an initiative that started in late 90s to fix Microsofts ever growing problems of memory leaks and vulnerabilities. Progressing towards 2005, as Ballmer added layer upon layer in management his PMs also did the same in products without relaizing the performance and buraucreacy the software has to go through.
Since SAP is now using Java does that mean it is twice as out of date? Where do you get the info that SAP is out of date BTW? I thought uptake of SAP software was cyclical in nature. Anyway, I bet Java hasn't had it's day. There are different tools for different things. Java has its own place in the food chain.
Next they'll be letting us know that Printed Circuit Boards are "so 30s" and that Boolean logic is "so 19th century". Then they'll grace us with their insight that hammers are "so stone age" and eating plants and animals is "so primitive". I can only praise the great New-Age Spirit of InfoTech (TM) that we have such wonderful oracles to guide us to the Truth (patented 2003, no prior art found).
I don't agree. Developers are going to go where the jobs are. If I was doing this for fun then I'd still be writing 6502 Assembler. But if the demand is for Java, Oracle, and C++, then that's where the programmers are going to go. This is not a developer driven market. It is employer driven. Maybe eventually, when the decision makers decide that there's a better approach then we might see a gradual change. But, for business, it cost money to make a major switch over to a new development platform. Especially when the business has already invested a significant amount of time and resources to providing products and services based on a specific technology. Timothy Trimble The ART of Software Development
TheTiminator
I'm currently working on a web application that's written in BASIC. No joke!
When LAMP can run on a cell phone, then it can challenge Java. That, and "run everywhere" like Java.
The 'closest' canidate for a LAMP phone is platforms like the Motorola A910. Yet, www.motocoder.com doesn't list the phone.
You call that evidence of the popularity of Java? Are you kidding?
I'm guessing you haven't actually browsed the projects on sourceforge recently. There's a lot of half-assed crap on there -- many are just abandoned pipe-dreams.
No offense to sf.net (I find good stuff on there all the time), but the standards really are rock-bottom....
I've never understood how job openings on a job board give any indication of how popular a programming language is. If my company posts 10 .NET Programmer openings and 10 Java Programmer openings on Monster.com, and we have 6 .NET developers apply and get hired and have 2 Java developers apply and get hired; then you go out to Monster and run some sort of statistic on it, what do you see? 4 .NET openings and 8 Java openings. That must mean Java is more popular!?! Nope, just means it's harder to fill the positions because it's becoming less popular. (This is just one way to look at it, not saying .NET is more popular than Java or the other way around).
What the hell is "LAMP"? I've been developing software for about eight years now, and I've never heard of it before. Yeah...I've been developing this really cool application in this new language called Kitchen Table...it's awesome.
At the risk of sounding defensive, this guy is so dumb that even when he's right, he's wrong. ;)
;)
.Net on the desktop is nominally competing with Java, but not really. MS is competing with itself there, and most of the .Net uptake is from people who are moving from unmanaged C++ to managed C# or from VB to VB.Net. Not really a Java story at all, I'm pretty sure .Net growth for web applications has been flat for the last couple years, going by job postings and book sales. Of course, he's right that .Net has killed most of the failing momentum that Java on the client had, and at this point you'd have to very carefully evaluate whether or not to do Java there. It's kind of a needle you have to thread to justify it IMO, you need to have high cross-platform requirements combined with high usability requirements, and yet not be able to do the whole thing in the browser, which AJAX makes more usable than ever. That may be the only way in which AJAX and Java compete, there are client-side Java applications that aren't being written now because of AJAX. Of course the developers are using Java on the server to do it. ;)
;)
1) He completely misses the biggest challenge to Java right now, Ruby. Probably because it doesn't fit nicely into the LAMP acronym.
2) AJAX and Java are orthogonal, tons of AJAX stuff is being written in Java, all of the major frameworks except Struts have an AJAX project now.
3) Him mentioning Google using AJAX as if it's a sign that Java is dying is one of the more amusing misconceptions. Google originally was a Python shop primarily, but they simply couldn't find enough developers, so now they're the fastest hiring Java shop on the planet. They probably have as many Java programmers as Sun does at this point.
4) Websphere as an indicator of Java's success?? Puhlease, people are finally waking up to the fact that Websphere _sucks_ is all that is.
5)
6) 0 PHP websites in 2000? Heh, PHP 3 came out in 1998 and was the first big uptick in adoption. Maybe he means there were 0 PHP 4 websites in 2000, except that'd be wrong too, since PHP 4 was released in early 2000. My first PHP project was in 1999, personally, and I was late to the party.
7) The Merrill's of the world don't use Java as much and likely never will, it's true. I like how they're just using Linux and Apache, though. I wonder what this guy thinks they're doing, static websites? Of course, based on the quote we know what he meant to say, which is that C and C++ on the server still have a following where things have to be highly scalable and still achieve close to real-time performance. Despite that, the financial services sector is still a big source of Java jobs, and those jobs aren't going to be lost to Perl or PHP coders anytime soon.
Over all, going by job postings, Java is actually significantly up since 2000, but down a little since 2003 I'd say. The main culprit is the LAMP stack, although it's not Perl that's the real problem, it's Ruby and PHP. And the entire focus on languages is misguided, adoption follows the frameworks, not the languages. Java on the server was the proverbial red-headed stepchild until J2EE was released. 90% of the uptick in Ruby development is because of the most excellent Rails framework, which makes it dead easy to knock out a simple CRUD application.
Thing is, the Ruby/Rails and PHP folks have a long way to go before they're going to be a solution you can use in corporate environments. They're perfect for homebrew web applications where you have 1 or 2 developers and the development team also controls the data model. Throw in any legacy data, or a team size greater than roughly 5 developers, and the framework breaks down fast. These people are still debating that you shouldn't put constraints in the db, something that enterprise developers the world over would laugh their asses off at.
As usual he will be more confused with this report from Business Week, especially Java losing to something called .Net and announce that Java will go open source. Lets hope he will.
Linux Apache Ruby PostgreSQL
...
Hmm, LARPing vs. Java, now there's something slashdotters can fight about.
These discussions always get me.
On one side you have a bunch of people who have never seen the kind of problems java solves so well.
These people for some reason think it's a horrible thing and must die. This has never made sense to me. I dislike a lot of crap that fits other people's needs and I don't really feel the need to rant against them at every opportunity. What kind of inadequacy drives this crap?
On the other side, you have a bunch of people who need it as is to get their daily jobs done. They are scratching their heads trying to understand why there is even a discussion going on.
If you are on a project with one developer and it's a web project, Java probably isn't for you. In fact, if you are on ANY project where you are the sole developer, don't bother unless you just like Java's syntax or you have worked in groups before and prefer the consistency and clear code that Java offers.
If you are writing a tiny app meant to run on a PC, dump java and write it in C/C++. The VM issues are kind of annoying that.
If you are writing a large client/server app, creating your own protocols, working with a group of 5-50 people, interested in long-term reusable clean code AND willing to spend the extra design time required to make such code, you might consider Java.
Honestly, I think most of the people complaining are trying to use "Java" to write some web app on their home computer and wondering why it's so hard. Like "Why does driving a backhoe have to be so much harder than riding my bicycle?!?!?" This is really for the hard jobs! If you don't have a hard job, if you are making a web app or something, Use your bicycle. PHP works fine.
Java makes a lot of the traditionally difficult issues much simpler, but these little apps typically don't even HAVE difficult issues, so yeah, Java may be a little cumbersome for them. Why did they even choose it in the first place.
My job became immensely easier and more fun by switching from C++ to Java. If you hate java, it may not be the tool for you! Backhoes are not great for tours around the lake, learn C++, VB, PHP, or whatever gets you off and enjoy. Just don't put down that funky looking, fuel guzzling backhoe unless you've tried digging a hole for a pool with your bicycle!
The problem with Java is that if you're a non-programming manager its very hard to tell the difference between a good java programmer and an incompetent java programmer. Both build software that displays a window on your screen which responds more or less correctly when you press the buttons. That the incompetent one simply caught and ignored all the exceptions isn't obvious until you're 18 months in to development with a product that can't be made to work. That the good programmer then says, "I told you so" is unhelpful.
Other languages are better about giving the manager indicators when the programmer is incompetent. For example, C crashes and burns while Perl drags along impossibly slow. A reasonably competent manager can look over the early prototypes and tell right off which of the team members know what they're doing. In Java, you don't know your programmers are digging you a hole until its too deep to get back out.
One might argue that the manager is incompetent if he can't tell the difference between good code and bad code, but that's really not the manager's job. The manager's job is to find and motivate good programmers (who know how to write good code). Java fails to provide the manager with the necessary tools to do accomplish that job.
Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
LAMP may "take over", which would be a shame because it looks like what PERL would be if it was a web language.
Like candy, it is fast and easy. Like candy, if you use it for your meals it will make you fat and rot your teeth.
LAMP looks a quick and dirty approach for sites, that is easy enough to use to be seductive which will lead to a huge base of hard to maintain code the way PERL did.
it continues to be reported as dead, uncool, slow, or whatever.
Having been recently assigned to a project that uses Java 1.5, I had to review the differences since 1.1, which was the last version I had programmed professionally in. I was delighted to find that almost all of the new "cutting edge" features in Java 1.5 are similar to "outdated" Ada features I have used and loved for over a decade.
C is an outdated language even though it is in wide use. Ada is not outdated in spite of its disuse. Don't confuse popularity with ability.
This space intentionally left blank.
You call that evidence of the popularity of Java? Are you kidding?
/. about Java not being open is rather ironic!
How else would you interpret it? as evidence of declining popularity of Java?
Sourceforge is an interesting example, as it shows increasing popularity of Java for open source projects... which given the usual (and partly correct) rants on
I'm guessing you haven't actually browsed the projects on sourceforge recently. There's a lot of half-assed crap on there -- many are just abandoned pipe-dreams.
Of course this is true. It is true for most projects in any language. But it is irrelevant to the matter of popularity.
You need to redo your spreadsheet. The numbers don't add up (you're only adding the Monster and Career columns). The averages are wrong as well (using the incorrect total column and then dividing by three). Thanks for putting this together, but you might want to get it cleaned up before more people check it out.
Another sensational statement grabs hold.
Its actually an important question, but how is it people who haven't actually used the technologies can get away with publishing something like this. I could just as well say " a new study finds that all movies today are categorically worse than those made in the past "....this statement would be equally meaningless.
First of all if you compare the Java and C# feature sets (as I have done a few times) they are nearly identical. If you know Java you can easily write C#. This is true the other direction too except for Java 5's new constructs.
Scripting languages are typically limited in how they seem to be initially designed. They are designed for a specific relatively simple task. They do this very well and so catch on like wild fire, but then they are put to uses which they don't fit and so they get extended, but they are intrinsically lacking.
Also scripting languages never seem to have very sophisticated tools. I love the tools for Java and C#. I'm not sure why but scripting languages never seem to have very good tools compared to languages such as Java and C#. Until this changes they will never be major players......though admittedly a lot is written using LAMP.
Uhhh, actually your numbers reveal that C++ "owns" the language market.
Also you have to ask yourself what's more important, the amount of current demand or the change? Your numbers reveal that Java is the only general purpose language losing mindshare. C# was the almost exact inverse of Java's decline and C++ trounced them all.
Finally, it's hard to judge what a lot of jobs on monster means except for the demand TODAY. It doesn't tell you about the future. Maybe the number of Java jobs tells you that current Java programmers are leaving their jobs for C# jobs. Maybe it just tells you no one is taking Java jobs. I'm sure there are also a lot of jobs available at McDonald's.
The only way to really judge where the language market is going is to look at what everyone is doing. IMO, most people are bailing on Java.
My question is similar:
Is there an up-to-date comparison posted somewhere that compares Java 1.5 with the current (2005) version of MS C#? Java 1.5 has enums, a foreach-like loop, and generics, for example.
Secondly, in the OO programming design community, the growing sense I've seen is that getters / setters (which C# properties make very easy) are considered a _bad_ idea.
Hmm.
It's still Oracle and SAP leading the pack, with every other ERP package a laggard. And SAP ain't going anywhere; at a price tag in the millions for an implementation, "falling out of favor" isn't much of anything.
Companies will bitch but they're still going to run SAP and follow the recommended upgrade paths.
Plus there's a 5 year adoption timeline from a company implementing to becoming proficient/improving the system. SAP was getting hot a decade ago; many companies are still well within the window of improving to competency yet.
You better watch out, there may be dogs about . .
Any IT manager who seriously believes that "Linux and Apache are insecure because of PHP" is an MSCE idiot. He is never going to change his mind, nor even have any real contact with the non-MS world, so why should we care?
General Ledger, AR, AP. The remainder of the business supports flowing the information into the GL.
The manufacturing piece actually was developed a little later, with the Purchasing and Production Planning modules being "bolt-on".
Generally speaking, all ERP packages are going through the behemoth process that SAP is undergoing, because the nature of their product is a single-use implementation/license.
So in order to generate more licensing fees, they need to generate more products to sell licenses for.
In SAP's defense, the major problem with ERP systems is crappy business process understanding on the client side. Particularly in the ERP craze of the late 90s where the magic buzzword "ERP" was viewed as the panacea.
"Our processes are fucked, we can't pay our vendors to save our life, and we juggle our capacity requirement planning so often it may as well be on a shoestring. We'll implement this ERP (the sound of angels playing horns floats through the air)." Fucked processes are still the major problem in any ERP imp. Most companies have the "we have this way to do it" in their mentality and customize the hell out of a graceful package and turn it into this clunky beast.
And ERP systems are inflexible. They have to be, as they integrate back into your system of record (GL) and need to maintain the controls throughout that process.
You better watch out, there may be dogs about . .
Remember: "I don't know what the new programming language of 2050 will be, but I know it will be called Fortran" :)
"You have the option of insanity. I do not. And that makes me crazy!" - Brian to Angela, My So-Called Life
Either way, be it PHP or faulty PHP scripts, it is PHP which is giving the entire open source community a very bad image.
Also, it doesn't matter how stupid such a manager is. Like it or not, they're the ones making the decisions. And if they incorrectly hear that Linux, Apache and MySQL are insecure just because of problems with poorly written PHP scripts, PHP is to blame for the bad image.
The one manager I mentioned actually had no contract with Microsoft, contrary to your incorrect assumption. They had been using HP systems for decades, but wanted to get away from HP-UX.
Cyric Zndovzny at your service.
ah yes our resident /. troll speaks again. shoo.
"One might argue that the manager is incompetent if he can't tell the difference between good code and bad code, but that's really not the manager's job. The manager's job is to find and motivate good programmers (who know how to write good code)."
See, this is what seperates well run companies from poorly run companies, often times. How, how, HOW in the world is the manager ever possibly supposed to do the latter, if he can't do the former (that is, how can he find and motivate good programmers, if he can't look at their code and figure out how good a programmer they are)?
I want a construction manager to know how stuff is built *the best way*, I want an engineering manager to know how stuff is designed *the best way*, I want a programming manager who knows how stuff is designed and coded *the best way*.
If you have an incompetent person in management, it is likely that you will, eventually, end up with a department full of incompetents (because the manager will drive out anyone more competent than him/her-self in most cases, or at least get in the way, or just not recognize the good ones and weed out the bad ones leading to a potentially discouraging, frustrating, or, in some cases, hostile work environment for the competent ones).
It's basically the same, with more syntactic sugar, more slack on execution safety and hence more shoot-yourself-in-the foot factor. And the class library is a bit less coherent. In short, it's an improvement on Java, sort of, for smaller scale projects and/or programmers.
My exception safety is -fno-exceptions.
Java is far from dead. In fact it recently overtook C++ on sourceforge for the number of projects in development. See here...http://www.jroller.com/page/matsh?entry=jav a_history_was_made_today.
Try comparing LAMP to LAMJ. Use Linux because it the best for servers. Use Apache to server up the static content because it's the best at that. Use MySQL as the database. Then, really, the only thing to compare is Java vs. PHP and that really just depends on your project.
Some things are pre-build in PHP and so easy to use that it makes no sense to take the time redo the work in Java. A great example of that is phpBB http://www.phpbb.com/ . I wouldn't dream of rewriting a BB when it only takes an hour (maybe two) to install phpBB but I will spend the time to make a Java program that uses the same database as phpBB to create a customizable RSS feed based off of personal encrypted tokens that pulls only the thread that person wants from those boards. So, there you have it! JLAMP!
The main difference between the two is this...
The main thing is to get the job done quickly, done well, and be easily maintainable. That might just mean mixing technologies. I am a huge fan of Java (except for applets, whoever uses applets should be shot) but only an idiot would not use all the tools at hand.
I like to write my own code. Re-use is cool, but I'd still rather re-invent the wheel. It usually takes less time to write from scratch than it takes to make other peep's crappy code work. Oh, and ALL these "application server" knockoffs are just stupid. LAMP lives! wooooot!
Excellent point. Another point to ponder is that mainframes run Java really well and LAMP stacks (plural) really well, all on a single piece of equipment together, at the same time. That's quite unlike the .NET programming model, where your platform is forced on you (leaving the Mono project aside). What if Windows isn't fit to purpose? With both Java and LAMP you get choice.
Since I didn't know what LAMP was, I looked it up on Wikipedia.
Apparently, it's the combined usage of Linux, Apache, MySQL, and PHP.
On my box, I'm running Windows Web Server, IIS, MySQL, and PHP. Does this mean I'm running WIMP?
The astro turfers are out in full force today.
/. is hostile to MS.
The FUD post gets a +5 and the reply gets modded down.
And people say
For people coding in the Microsoft world, when we code applications in C++, we are not just talking about C++, but all of Microsoft's helper classes that related to the Windows environment as well. Then Microsoft decides to dump this & just go with C# & .NET & what-not, so it stops supporting the older stuff.
Languages themselves may or may not become obsolete, but b/c in the Windows world it's really language + MS add-ons, MS can cut the lifeline on a language for all practical purposes.
in 1999 I predicted Javascript employment would beat Java employment by 2003 but I didn't count on the third world paper mills being pushed so hard to churn out Java programmers sucker punching buzzword compliant CTOs. Sun's perversion probably cost the world economy a trillion dollars but things seem to finally be turning around.
Seastead this.
Decent applications can be made in LAMP (by that in this case I am understanding Linux+Apache+Mysql+PHP), and decent apps can be made in Java.
The real difference seems to come, when you are reaching some level of complexity of the program. At some point the P(hp) part of LAMP becomes an obstacle and also the M(ysql) one.
After working a year for a PHP-based portal service, 3 years as IT manager for a bank, overseeing a Java-made internet banking application, and currently doing server-side support for a Linux-Lighttpd/Zeus-Mysql-Php portal application [A(pache) was thrown out because of the performance issues], now already spanning twenty servers... I am more and more convinced that LAMP development is limited to small-medium applications.
After all, the developers were forced to replace parts of PHP code with C-written custom PHP extensions for speed, and parts of Mysql with (again) custom written C application servers, again - for speed.
Whether a Java is an answer always, is a good question. But it supports a number of things, which make life easier for "enterprise" level computing, which LAMP does not support.
Thus I see the original post as yet another flamebait. This "platform war" tries to compare a sedan to a truck. These types of cars are built for different purposes.
It actually states it as its goal.
It had intended on "taking C++ programmers and moving them half-way towards Lisp" and in that they succeeded.
But as a productive language, it is quite miserable, when compared with Python or other excellent languages.
And maybe it is just me, but my experience with Java apps is quite horrible. Learning that something was written in Java immediately lowers my expectations of it.
CyricZ, who pays you to say such dumb troll stuff and can't you quit and get a real job like the rest of us?
I hate the articles that proclaim one technology dead because another supplants ONE USAGE of that technology. Web frameworks for Java are cumbersome and a pain in the ass. However, Java is really good for things and can work nicely side-by-side with AJAX, Flash, PHP or whatever other front-end technology you want to use.
The fact is, programming a stateful, multithreaded application on Java is extremely easy, and in certain circumstances, a stateful application with multithreaded capabilities comes in very handy. I'm thinking things like artificial intelligence applications, messaging, delayed database writes, etc.
I have programmed sites that are PHP, with a Java multithreaded application used to handle certain transactions or self-organization of graph structures.
I thought this whole Web 2.0 thing was about open interoperability?
I can't take this seriously after Java has recently taken over from C++ as the most popular language on sourceforge:
That's more of a measure of Java's acceptance in the open-source world. It doesn't surprise me that Java's mindhshare among OSS developers is showing an uptick, because gcj is finally becoming viable. Until recently, there just wasn't any free-as-in-speech implementation of Java. And even ignoring ideology, the non-free licensing made it a major PITA to install Java on FreeBSD, for example.
Find free books.
Here the real point is that many devellopers figured out that small, medium and even large projects can be deployed with simple technology like php, perl, python and the like. The "ENTERPRISE" class programming environment are OVERKILL for web catalog, CMS and many other Web-based services. PHP and PERL are scripting LANGUAGES ! The job is done well and fast. And thts is why more and more devellopers are using it.
"Insanity in individuals is something rare, but in groups, parties, nations, and epochs it is the rule." - Nietzsche
single keyword search results count from dice.com on 12-13-05.
I am sure lot of the numbers probably show up in different queries..
i.e not mutually exclusive.
Java 13601
.NET 10228
C 9105
C++ 7205
perl 4084
C# 4040
javascript 3393
cobol 1135
php 788
ada 210
fortran 181
ruby 70
lisp 23
operating systems
unix 12990
windows 12490
linux 5999
solaris 4593
IBM Mainframe 602
OS X 224
VAX 83
Databases
oracle 13808
MSsql server 4954
db2 2994
sybase 1914
mysql 758
IDE's
Visual Studio 1223
eclipse 537
Jbuilder 129
Buzzwords...couldnot resist
lamp 78
ajax 219
This article is complete hogwash. It's trying to put a spin on java like it's some kind of over-dressed scripting language for making web pages. The strongest advantage java has over all the others combined is in the 'portability'. You write the code once, and RUN IT ON ANY PLATFORM that has a byte-code interpreter for it. Is it perfectly done? -no. But writing an application on BSD and running the same class files on Windows is priceless in many circumstances. I've done enough socket programming in perl to say it's great for the platform you coding in but expect to be re-writing stuff if you move it to another platform. (Let alone the skull-fucked version of perl that ships with solaris 9) - And I *like* perl, and I also happen to like C, PHP, and assembler also. Each one has it's place where it's merits are unequalled. Each one has things that suck about it. You deal with them and move on because the next sexiest thing coming down the road is going to have it's same share of shortcomings, just like all the rest, be it .net, or mono, or AJAX or ruby or python. Try and focus on the best language for the task at hand instead of trying to make some kind of 'designer' statement to rule it out. Consider the source I guess.. another gaggle of fat-ass PHBs writing an article for a website for fat-ass PHBs..
Join the Slashcott! Feb 10 thru Feb 17!
That's more of a measure of Java's acceptance in the open-source world.
True, but it is surely also a sample of wider interest.
It doesn't surprise me that Java's mindhshare among OSS developers is showing an uptick, because gcj is finally becoming viable.
This could be the case, but I doubt it. Java has been growing in use on Sourceforce for some time, and gcj is still (in my view) far from being an adequate Java implementation. The most popular SourceForge Java project is Azureus, and the developers recommend Java 1.5, which is far from what gjc can provide.
Until recently, there just wasn't any free-as-in-speech implementation of Java. And even ignoring ideology, the non-free licensing made it a major PITA to install Java on FreeBSD, for example.
Good point.
Just FYI. Ok, so I had to Google it...
ISO certified == THX certified
AFAIK, PHP scales adequately in volume (about as well as java). It scales badly in complexity. Most PHP apps exploit its strengths by doing one task well. This lends itself to the OSS model of "reusable tool" development, and site construction by loosely linked seperate tools. By contrast, most java installations are bespoke and integrated, because java tends to be reusable at the library rather than app level.
Therefore:
- If you want to import functionality piecewise, and can cope with loose integration and off-the-peg tools, use PHP.
- If you need to build a coherent sitewide interface, or you need precision control of the "business logic", and are prepared to expend major effort on glue code and UI tuning, use Java.
This is the dumbest fucking story I have ever laid eyes upon. Yeah Java sucks... oooookay....
It's a shame that those who are easily swayed will read this, and actually think it may be true.
Languages don't cause bad programs to be written -- bad programmers do! It's just a sign of the decline in pure programming skills.
Right and guns don't people, people kill people, but it's a lot easier to kill people if you've got a gun, non? I think it can be legitmately said that the nature of Java is better lended to well structured code. It doesn't mean you can't write well structured Perl, but on the average, people will write better code in Java than they will in Perl. Sure, a good programmer can write good stuctured code in any language, but you have to accept the reality that there's far more demand for code than there are top notch coders. That doesn't reflect a decline in pure programming skills, it reflects a vast increase in the need for people with any skill at all.
I find these language debates kinda dumb, frankly. Here's the thing, with everything being web based, it doesn't matter a lick what you run it on. If Java works best for you, great. If LAMP works best for you, great. Personally I prefer LTPJ (Linux, Tomcat, PostgreSQL, Java), but then I know Java a lot better and I know how to make it do neat tricks I'd have to learn over again in PHP. Besides, can you even write threads in PHP?
But if you all websites work with the same browsers and all websites communicate with eachother in the same way, the code could be running off of punch cards for all it matters. In the long run that openness will tend towards minimizing the influence of any one platform or company. People will go with the tools that suit them best.
Articles like this one are even more stupid than the debate because it's clear they do no understand the technology. They talk about people using Linux and Apache as though that means they couldn't be using Java. In the end, you can totally mix and match Apache, Linux, Java, PHP, etc, to best suit the environment you're working with. But of course that doesn't make for as interesting an article, does it?
This sig has been temporarily disconnected or is no longer in service
I'm retired. I still do some consulting, mostly just for the hell of it, however. It keeps me up to date with the latest developments.
Cyric Zndovzny at your service.
I have to agree with the OP. We'll be living with big bloated Java systems well into the afterlife, just like we're living with the big bloated COBOL systems of yesteryears. Why? They're the same sort of systems.
Big 'enterprise' in-house systems which keep the business running. The COBOL ones which got re-written in the later 90s got rewritten to what -- Java. And they're not going to do that again for a good long time.
So, we've traded COBOL/VSAM for Java/EJB (shudder) or JDBC. Traded the expensive as hell VM system for an expensive as hell J2EE container. Or maybe JBoss.
And the folks getting rich doing the maintenance in 15 years will be the 'old timers' which still know Java / J2EE . And I pity them and their deployment descriptors.
it's r.a.i.l.'s
j/k... or am i?
-pyrrho
humans identify phenomenon with words... even though it's really just a hundred elements...
thinks should merely be named by their chemical composition.
-pyrrho
I just installed Tomcat from JPackage on Fedora and it was painful because Sun makes it difficult to automate the installation of the basic Java foundation. I have to click through a license to download it, then click through it again to unpack it, then assemble an RPM, then install the RPM. And I have to repeat this for multiple packages (eg. Javamail) before I have enough that I can let the rest of the open source packages from JPackage download and install on top without further interaction.
Then Sun fails to structure its Java to fit the Linux Standard Base (LSB) Filesystem Hierarchy Standard (FHS) so JPackage must provide an adapter package that symlinks all the Sun files to the correct locations.
what you say is the death of the craftsman.
oh, it's just sludge.
a good tool is sexy, to a good toolmaker, to a good craftsman.
a good tool is spiritual, it calls to the creators soul and whispers "freedom" and also "power".
-pyrrho
had a similar first experience with Python, which I'll be using for work next year, and also, for hobby projects, as I realized the C++ framework I was making was not the fun part I decided to buy the hype for a couple hours about rails and by the end it's like one of those, "it's fun to program" things.
I cannot believe Ruby, or Rails... it's fantastic stuff.
-pyrrho
... on what you do in the video.
-pyrrho
I'll point out one place where Java has it all over the other webserver languages. When you issue a HTTP request to PHP (the 'P' in LAMP), what happens? Off-the-shelf, it's gotta tokenize the scripts (and in any decent-sized web app there are MANY), then it has to execute it. Then it loads all the data needed to regain the client's context. Finally, now your request can be serviced. HUGELY INEFFICIENT and a really poor design.
With Java, you can connect with a pre-compiled, already-running servlet or JSP page that's part of a *continuously* running system. Shazam! The data's already there! You've got a pool of objects, threads and database connections, all ready to roll.
Whatever minor inefficiencies you point out with JVMs, having a continuously-running website application scores first place. Perl has the potential for this, but then you're stuck with its obscure syntax (not a biggie, but..), limited object orientation and too-new threading feature. Java works better for server apps.
I'd like to see the Ruby crowd compare on this basis. (Not against Ruby, just not familiar enough.)
Cheers.
O lord, bless this thy holy hand grenade, that with it thou mayest blow thine enemies to tiny bits, in thy mercy.
wouldn't it be nice if we could have sex with code.... sigh.
-pyrrho
The terms 'technologies' and 'a technology' constitute one piece of broken glass up my ass.
From the article: The number of Web sites using PHP has risen to 23 million today from zero in 2000, according to surveys by the Internet analysis firm Netcraft.
Where does Netcraft get these figures? I decided to learn PHP in 1998 because every second site I visited was serving up PHP pages. Large corporations were only just starting to use PHP back then, but this is a far cry over the "zero" quoted above. Looks like a convenient exaggeration.
OTOH, I never saw Java-backed web pages as being too popular. They've certainly diminished, but were there ever that many? I've never seen Java and LAMP as being in serious contest with each other.
While .Net is certainly eating into some of Java's space, it is really only getting seriously deployed on Windows, which is limiting its penetration (particularly on servers).
I'm more than happy to use any system, so I don't think I'm too biased. But my reading of this article is as a manipulative marketing exercise. It's a shame it's getting so much press.
I don't know from statistics, but the only user
groups that are packed to overflowing in the Boston
area involve Java. Perl gets a solid dozen, Microsoft-ish
groups get a great showing, almost filling a small
conference room. A good Java topic, SRO, 300 or more.
lines of COBOL code in use worldwide, and
through 2005 will be in COBOL.
Every significant language vendor has a COBOL compiler but need not market it since demand is so high.
COBOL has two properties that make it the up-and-coming language for WWW development:
I have just finished a long project written in Java, ASP (don't ask) and Perl on an Oracle DB, and have spent time inbetween debugging a complex php application. Granted, Java is verbose and it really pisses off newcomers to have to declare their variables, but taking ASP as an example, and much of the same applies to any loosely typed language, you simply don't have the easy ability to see what your return types or paramters are. Usually in an ASP or PHP class, you have to delve into the code (if it isn't documented) of the actual class to see what it takes and returns.
This little feature is what I really love about Java (or C# for that matter). The fact that a certain structure is enforced on you should not cramp your style, but if it does, it suggests that you don't understand the reasons for that enforced structure, which is to help make the code cleaner. Being up late at night debugging someone else's scripting language classes which have neither a compiler nor something like a stack trace is really painful. To all those people who maintain that Java is dying, they haven't seen a real enterprise application. I know that php is moving in that direction, but you have to be extremely disciplined in php not to create a mess of code that is impossible to debug. I wouldn't write a small script to parse a text file in Java and I wouldn't write an enterprise application in perl.
Personally, I think that Ruby has the best design of any of the new languages and will only improve with time. It has namespaces and many important features that Java has. php might have hundreds of extra features but it has no namespaces and is a terrible mix of perl, C++ and Java. Java and Ruby have, IMO, the one thing that really makes a language stand out: consistency.
Yes. It is true. In his spare time he consults for the porn industry.
Flexibility isn't a watch-word I'd use for any of the ERP system offerings. But the rest of your comment was spot-on.
And if you're doing any watching on the Oracle Apps front, their "future vision" of the next decade or so is very close to what you just described WRT business process definition and the next gen of their software.
You better watch out, there may be dogs about . .
We all can say that Java is not the gift from god cause there are clearly languages and systems that are better in pretty much every field (but not all at once i guess ;). Still it is absolutely *idiotic* to choose PHP over Java.
Why? Well fist of all it's SLOW! Not only a bit slow, like a turtle compared to a slug... it's one of the s-l-o-w-e-s-t languages you can get.[*1] The only thing i found to beat it was JavaScript interpreted with DOM (speaking of our next trend "AJAX"), and that *really* does mean something because JavaScript can kill a 3 GHz CPU with some silly table modifications while scrolling some divs over the screen.
If you don't believe me just check some of your algorythms - take anything you like - and give it a try.
Then PHP is so dirty inside it's core, it's an insult to anything i would actually call a programming language.
Have you had a problem using a constant lately (that crazy thing defined with define()!) and then you saw that php actually takes *every* text token it can't recognize as a STRING? I mean come on! What are those quotation marks for then?
Next: What - my god - was zeev *thinking* for putting out those PEAR-library? That it could stand up to something like CPAN or the standard C library? I mean: Come on! First you have to define a proper language. Then you can do your library.
And if you ever tried to do some advanced oop inside it you will know what i'm talking of when i say "PATCHWORK" in the best style of microsoft windows ME.)
Sure, if you want to write up stuff fast, then PHP is defenitely yours. But just as long as you don't need any decent planning or organization of your stuff.
PHP is literally the *ultimate* language for all those wannabe-coders calling themselves "web-developers" and making as if they were oohh-soo-experts for glueing up some code that just deserves the name for its caotic structure that makes it so cryptic you have to write it new everytime you change something.
The thing - THE ULTIMATE THING - about php is exactly the same as about microsoft products. The guy that tells what has to happen - manager or "web-developer" wants quick results, not caring for irrelevant things like security, code quality, reusability, or maintainability. This is the heart of php. from the bottom of its interpreter up to its nice *ehrm* gdlib-interface and mod_php.
Basically it's the BASIC of our days - the "internet century"?
If you don't have the nerve for making up the stuff yourselves that keeps your code clean and usable and you don't care about speed then chose PHP.
If you want a language for some larger web- or backend-projects that are easy portable, has a big base and is made for stability and properness: Choose Java.
And if you want ultimate speed and a "near-hardware-experience" (TM), you can just take C.
But in reality - take everything that suits your needs. No matter if it is "sooo 90s" or so hip.
I give you some examples:
Operating system? Well. C of course. And assemby where relevant.
Games? C++ mainly. But basially because the alternatives are even worse than this not-so-proper but still better implementation of oop over a fast C core.
Mathematical software. Prototyping. Advanced stuff? Well... I'd give functional progamming a good shot (mainly haskell and ocaml)
Speaking of ocaml: Well, it's nearly as fast as C, while smokin' killing java in things of bytecode AND being an oop PLUS a functional programming language. If the tools weren't so rare and underdeveloped C/C++ and java would have not a rain of a chance.
And finally: Easy templating of your webpages?
Well. Guess what: PHP was made for it and it does *this* job great exaclty for what its positive qualities are!
Aaas long as you stay with just that thing and don't drag backend stuff to the "View" (in terms of model-view-controller blabla...)!
So choose your language wisely guys. Cause "so 90s" is possibly a thing "web-developers" would say, but this is the thing real geeks do!
P.
Any sufficiently advanced intelligence is indistinguishable from stupidity.
If such an opportunity arose, I would go for it. Plus I'm excellent for such work. Since I suffer from severe impotency, I would not get the distracting erections that many younger men would get when subjected to hours of pornography viewing.
Cyric Zndovzny at your service.
Please remember that what you do correctly today will help your successor be productive tomorrow.
I've seen a lot of things, but I've never been a witness.
Oh, man, do we have to do this again?
Java has theoretical limitations that mean it will always have difficulty keeping up with a well-optimised C++ program.
For a start, let's get over the Hotspot thing. It's an optimiser. C++ has had them for a year or two, now, I hear. If Hotspot had revolutionary new techniques, why haven't they been adopted en masse in the C++ world? Presumably you can cite patents or similar that would prevent this?
There is a theoretical possibility that a dynamically-optimised Java application could do better than something compiled with C++ on a given data set. However, recent advances like profile-guided optimisation in the C++ world suggest that data-based optimisation doesn't help that much.
Moreover, there are very significant overheads incurred in the monitoring and, if necessary, compilation and optimisation steps running in the background. A compiled C++ program instrumented for use with a profiler will typically run several times more slowly than the equivalent uninstrumented code, unless you're running on something like an Itanium that has handy hardware support for these things, and there's no silver bullet that allows a JVM to magically collect the equivalent data without overhead, nor to collect a much smaller set of data yet still optimise to the same extent based on it.
Right, now we've got the Hotspot stuff out of the way, let's do the inherent difficulties with GC. To release memory, sometime, somewhere, you have to update whatever tables you use to indicate what's allocated. That's it. Anything you can do with a flashy GC in Java, you can code up the same memory management algorithms in C++ if you really need it. In C++, you can also write more specialised alternatives for different data types, and of course many objects are simply allocated on the stack anyway. Java is just about catching up with the advantages of that one with techniques like escape analysis today, yet it's standard, chapter 1 fare in the C++ world.
And of course, there are still the same fundamental weaknesses in Java's design that there always have been...
Java doesn't have value types, so everything's dynamically allocated by default.
Not everything is an object, so you have boxing overheads even in simple things like containers unless you use generics.
Those generics have only just been introduced into the language, and are a poor imitation of C++ templates, offering few of the advantages that template metaprogramming has been providing to serious, high performance libraries in C++ for a few years now.
Java's floating point model is constrained by its portability requirements -- for a while it was even theoretically impossible for a JVM to meet them, IIRC -- which unavoidably prevents the use of many math optimisations.
I could go on, but I'm getting bored, so I'll leave the record straight enough and stop there.
One last thing: before you reply and tell me to do research rather than rant as you have with other posters, you should know that I write high-performance, highly portable code for a living, and I work with countless other people in the industry who do the same. If the Java evangelists were right, and Java really was rivalling the performance of C++ and easier/safer/more productive today, then it's strange that the entire industry I work in, with all its R&D, hasn't noticed.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
As far as the CLR vs the Java runtime goes, Java byte code is fairly specific to java. It's possible to create non-Java languages that target the byte code, but it's not particularly practical. The CLR, on the other hand, was designed from the start with the idea of multiple language support.
OK, this is a biased question, but its still an honest question. I'm not a VB developer nor a .NET developer. However, I know a bit of VB syntax and I've seen a bit of VB.NET syntax. I've also talked to realy .NET programmers and real VB programmers who are in the know.
If the CLR is so language-agnostic, why is it that the VB.NET syntax is so vastly different than the old VB syntax? Granted, I thought the old VB syntax was crap. However, when I look at C# and J# and VB.NET, I feel like I could switch between the two languages with a few simple global search/replace for a ocuple dozen keywords. I don't feel like those languages are truly different.
While both .NET and Java are free, the application servers they run on are not. For ASP.NET, IIS is the application server. For Java/J2EE, it could be Web Sphere or a variety of others. In pretty much every case a Windows license will be a lot cheaper than the license for the J2EE app server... especially Web Sphere.
Correct me if I'm wrong, but wouldn't a better analogy be that IIS is a WebContainer more than an AppServer (e.g. TomCat, not JBoss)?
Second, TomCat (WebContainer) is free. JBoss is free. I also believe Sun just released abunch more of their stuff free. And all this free stuff can run on Linux, which is free.
Rhino is a JavaScript implementation for the JVM. IIRC, it can run in interpreted mode, but also be compiled into bytecodes (i.e. an actual language compiling to the JVM).
Here's another site full of plenty more languages for the JVM: http://www.robert-tolksdorf.de/vmlanguages.html
Automatic documentation generation with the code being the source!
(This is one of the most important things ever done)
Yeah, it makes unreadable documentation. Seriously, there is no project on the planet where I'd actually perceive this as beneficial.
The *only* benefit is that it allows you to make documentation that nobody will ever read, but which you can probably sell to a boss as "yes, it's fully documented".
REAL documentation has actual value to a developer. Javadoc-BS does not.
Whenever I start solving a problem in Java, as its complexity increases, I can tackle this yb developing objects/components/frameworks/libraries to abstract a lot of the complexity away -- effectively creating a new "language" (my APIs) with which to solve the problem in. Java lends itself well to this sort of OOP solution development.
When I used to do simple JavaScripts, or simple ASP pages, or simple Perl scripts, a lot of my solutions also started very simple. Many of these languages did not lend themselves well to objects, so you end up creating a lot of functions and passing data around and doing strange things with the standar data types -- but they also offered a richer syntax which allowed you to more easily accomplish these things without needing to hide anything. Still, I would eventually reach the point where I wanted to start wrapping things up more (JavaScript, now ECMAScript, supports Objects, Perl added OO support, etc.).
My point is that these "LAMP" languages make it very easy to write not-too-complex programs rapidly. However, my personal feeling is that once you start to make that more and more complex, the problems become easier to manage in bite-size chunks with OOP concepts like encapsulation. Since Java naturally urges you to start out OO, evolving the OO is simple. BUt to start with a non-OO programa nd evolve it to OO can be... trying.
Why the hell do we have all of these langauges with all the strange ass names ?, i mean really for years i have seen tons of them come and go and now the in thing seems to be cryptic scripting and byte code environments.
if all of these are to provide better lower level support of the machine then why not just get rid of them all together and program directly in ASM, that way you get better programmers becuase they will have to focus on Cycle counting and making sure they have a proper running program, leaving them less room for crappy programming ?.
yeah, i know that these are made to be faster and such but they seem to be more of a hinderance than a help.
CH
"half-assed crap" exists in ALL languages, not only Java. Here are some stat:
C++ & Planning 4954
C++ & Pre-Alpha 3663
Java & Planning 4364
Java & Pre-Alpha 3172
Of course it is not 100% accurate since there are many Planning/Stable combo but you see the big picture.
To paraphrase Jonathan Edwards, I used to be a language bigot and now I'm a tool bigot.
(And yes Smalltalk had a great IDE (and framework) in it's day (and Squeak is still fun, fun, fun), but for building non-trivial web apps, the tooling on the Java side beats anything else I know of...)
Turns out OS X supports transparency, so the SetRGB() call of a BufferedImage needs the high byte set to all 1's (| 0xFF000000 you pix values) so that an image is not invisible -- the transparency byte is ignored on all other systems. This is kind of stupid -- usually "unused" fields are set to all zeroes, and all zeroes should mean a default of opaque instead of a default that the image is completely transparent (i.e. doesn't show up).
The other problem I ran into was that I could copy said images to the system clipboard on every system except for OS X. That was a fine how-do-you-do as the Mac is supposed to be so Java friendly according to the hype and the Mac is supposed to be so graphics friendly. Windows and Linux, supposedly much less Java friendly but for different reasons, didn't have any trouble. Turns out that this was a known bug, fixed by a revision to Java 5 (1.5) that came out a few weeks ago.
Oh, and the Mac had some different font width for label widgets compared with everyone else that required some tinkering with preferred panel sizes in the layout manager.
By the way, the biggest Java "platform" incompatibility is not between Windows-Solaris-Linux but between Java versions -- it seems you need to compile separate binaries for Java 4 and Java 5. This makes Java a lot like Delphi in that if you release visual widgets you have to have binaries for Delphi 3, 4, 5, 6, 7 or require everyone to use Delphi 7. Windows, bless their black little hearts, is famous for a great deal of upward and downward compatibility of Windows binaries among Windows versions apart from some problem with button colors if you used the wrong color defaulting mechanism.
You mean everything except byte, char, short, int, long, float, and double?
Patrick Doyle
I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
1) What to you do/get for a GUI? Like Algol famously leaving "IO to the library" meaning they punted on IO and this really hurt Algol, Python leaves the GUI to the library, but there are two mainline choices -- TKInter and wxWidgets/wxPython. Does Lisp in a Box have no GUI, some homebrew Smalltalk/Squeek sandboxed GUI, or does it link to TK or wx?
2) Can you link to C/C++ to do drivers, low level stuff, reuse DLLs or SO modules, or is Lisp beyond connecting outside of the Lisp runtime? Even Java can reach outside with the much-maligned but really isn't too hard to use JNI -- I like JNI because it allows C/C++ to call Java and Java to call C/C++.
By the way, for all of the talk about .NET/C#, .NET has pretty easy ways for .NET to call down to C/C++, but for C/C++ to call .NET, you have to package the .NET module as a COM/ActiveX, and there are magic "metadata" keywords that you have to learn about that, and then you have to do all of this mystery "strong name" generation using a poorly understood process to register the .NET assembly in the Registry as a COM/ActiveX, and then you have to access a COM object through C/C++, which is far from pretty on account of Microsofts clunky use (hodgepodge of preprocessor, classes, templates, and opaque auto code generation) of the C++ language (MFC? ATL?) to do that. For all of the clunky nature of JNI, you can go both ways between Java and C/C++ without any of that Registry song and dance.
One of the strengths of Python is the ability to switch to C/C++ as the need arises, although the C/C++ side is still a little opaque to me because you have to go through some dance to represent Python's dynamic object and method name lookup on the C/C++ side. Anyway, I think part of Python's popularity is that you can drop down to C/C++ if you hit performance or feature roadblocks and the perception is that Lisp is like some Smalltalk implementations -- so highly sandboxed to prevent this sort of thing. What is the story on this?
Really, it was written for Defense (US) for Defense, circa 59/60.
It's amazing that .Net is even mentionned. Product of the company that couldn't deliver _anything_ technically excellent is compared to something which design was at least given a lot of thought, something that was implemented by several vendors and ported to several platforms, received a lot of feedback and made a few release cycles. As much as I don't think Java is a great thing, I simply wouldn't even consider .Net as a viable alternative. Microsoft spent no time to improve quality of their compilers (I have some acquitance with their c++ "98% compliant" implmentations), but spends a lot of time adding "features" with unclear semantics, even though the plain C++ or Java has a lot of dark corners when it comes to,for example, multithreading. I don't give a damn about any of their fantastic extensions, first show me the semantics and prove it allows to write correct programs!
I'd just like to state that Java (the so called dinosaur) also runs on the Mainframe (the other so called dinosaur).
It is what many, many, many enterprises are moving to (away from COBOL). Java is so pervasive that companies can now combine WebSphere products with old-world COBOL and batch processing products. Companies take ages to make a move like that, and there is *no way* any of the P languages would be able to replace the functionality of Java in these situations.
And thats only the beginning. Java's run-anywhere claim is indeed true, and does indeed work. Huge corporations that run much of your life are finding that they can now integrate their big-iron mainframe computer with all of their other systems, just by having the ability to use java. WebSphere on the mainframe can talk to WebSphere on Win/Linux/AIX/etc. and it can also talk to COBOL under AIX, and and SQL database (pick your flavor) anywhere.
You want to swap out a machine? You want to upgrade a computer from windows to linux? You want to combine several different machines together in one? Well thank god for java. just pick up your app and move it, and viola! Your application didn't notice a thing.
These languages all have their own special purpose. Just like the mainframes do. They aren't in some sort of battlefield fighting for survival of the fittest (or most intelligently designed). Java and the mainframe will go on, and maybe the guy who called Java a dinosaur will literally eat his hat like the guy who called mainframes a dinosaur a while back. (He ate his hat upon the introduction of the T-Rex mainframe from IBM)
Sincerely,
A person who works with Java on the Mainframe every day for work at a big TLA organization that you probably deal with every day.
it seems that alot of people just jumped in with idiot comments without actually reading what the article was about, or knowing (for that matter) either language..
which is a pity..
i've worked on j2ee in the "enterprise" since one of the first version of dynamo atg (quite a long long time ago), since then i've used practically every application server their is. Now, PHP i've done for fun... (and btw, if you dont know what php stands for, you probably shouldn't be posting in the first place). Similarly, if you dont know how to code in php in a structured way and didnt realise php was OO as well, you probably shouldnt have posted either.
But the point is simply this, everything i've done in j2ee (which is a hell of a lot more prevelant where i am) i've been able to do in php... php aint just a web language, which is something i think alot of posters dont even realise.
Again, both have massive (and extendable) frameworks. The only difference in my view is the syntax of the languages involved, now i've taken a look at the lamp structure and i find my self hard-pressed to really call it an application server in sense of the j2ee word, but it doesnt mean its any less functional for that either. In reality, i think the only thing j2ee embeds that php doesnt is the security model and how many j2ee folk out there finding them granting java.lang.AllPermissions to the grant block?;)
is this a competitor to j2ee? who knows, and who cares. With any luck it'll just be another tool for the job... and you can never have enough tools (there seem to be quite a few who posted comments in fact)
Has anybody seen the recent "Java in a Nutshell" books from O'rielly? It must be refering to a cocanut shell. You can kill a large dog with that thing.
Table-ized A.I.
If you're talking about WebApp development then certainly, yes: LAMP, Ruby on Rails, .NET are certainly gaining traction and market share, if not just a bigger piece of the lime-light.
... not by a long-shot. Now we could argue the relative benefits and drawbacks of web application development in Java vs. [insert accelerated webapp development language here] for a long time. But we won't right now, because that's a battle and this is a war.
.NET? Isn't cross-platform -- even in Billy's nightmares -- and not even by Java's flawed definition of the term.
But...
LAMP isn't a cross-platform application development framework. It's a cross-platform **WEB** application development framework. Yes web is nice, and web is good, and Web 2.0 is coming any day now. But it's not here yet, and web applications do not cover the entire scope of computing
Ruby on Rails? Tells the same story and LAMP.
C/C++ is a portability nightmare -- even when you're talking about the same CPU architectures. When you bring in different architectures, you can go save yourself some trouble and call ahead to your local migraine specialist. That being said, there are some good C/C++ portability resources and books that have come out lately: dulls the pain!
Java may not be the web FOTM but it is *still* serious player: seriously portable, seriously multi-threaded, SERIOUS library both packaged with the JDK, from open source projects, and from commercial vendors. And, while your web buddies may be yawning at it, there's a huge user base in the enterprise market who continue to like it and continue to use it, and continue to ask for it.
So. You can bust out a half-arsed database driven website for a small-time customer in 15 days when you're using LAMP or ruby on rails? Great! More power to you. But Java can take you places that make PHP and ruby blush.
-M
It's funny that there is no longer a Perl vs PHP flame articles and comments.
Isn't it because people by now who program tested to use either of those and now sits fine with their opinion?
Just try out, and calm the public.
JAVA is dead?
Whooooooo Hooooo!!!!
JAVA SUCKS!
Oh, and it uses waaay too many system resources.
FUCK JAVA.
Long live... uh... long live... the... mmm...
Whats the next "big thing", I already forgot.
I wrote my moon lander program in BASIC, then ported it to C and then to Java. Now I have to port it to "LAMP", whatever that is. I'm getting too old for this.
There are simply not enough **qualified** Java programmers out there in the market. You need serious Object Oriented Design skills to play with Java, and that is not easy for many programmers. Microsoft is flooding India and US universities with funding - teach programmers .NET and not Java. That's right, any hack can make a .net or php app run, you need to be a seriously skilled developer (and not some meglomaniac admin with a "P" language thinking they are suddenly a coder).
In a few years we are going to see this "rush from PHP back to Java" due to all the buggy and problematic business logic embedded in crappy php code. It's easy to cheer when a language speeds up the development process, but what about the maintainence? Anyone here want ot maintain a few thousand crappy php programs written by hacks? What a nightmare!
Horns are really just a broken halo.
Oh one more point.
.NET you do not have that choice. You can use the MS implementation or the buggy, half finished mono implementation. So J2EE is free, .NET costs money.
The people who use websphere or what have you CHOOSE to use it. If you want to develop in java you can CHOOSE to use them or you can CHOOSE to use jboss which is the majority choice. Jboss has proven itself to be fully functional, robust, scalable and proven in the real world. With
Note that I haven't even begun talk about lighterwieght containers and application servers either. If you add those into the survey they would probably dwarf the paid application servers. Tomcat + Spring + Geranimo + Jboss + Jonas probably host over 75% of all java applications.
evil is as evil does
http://www.realmeme.com:8080/roller/page/realmeme? entry=java_vs_lamp_vs_web
Rate of change clearly favors Web 2.0 right now,
while absolute numbers still favor java.
The delta between java and LAMP has opened up again,
indicating that in relative terms, LAMP may not be overtaking java.
This is always considered controversial, but it's totally true! Good programming depends 99% on the skill of the programmer. A bad programmer will write bad programs in ANY language. Granted, some languages encourage good programming more than others, but it is all ultimately down to the skill of the developer.
In the 4 years I've been involved in these projects, we've had a grand total of 1 bug that related to different JVMs.
I haven't tried this in a while, but a few years back, JVM:s behaved very differently under stress. Some even crashed under high loads. The great things is that the solution is just swapping out the JVM for another one. You can't really do that with Windows (there is only one Windows).
Java once was know as the only solution for any cross-platform work but that's not true anymore, it's not even first anymore. On the web side there is JavaScript (AJAX) and on the application side there is C++ (wyoGuide/wxWidgets) which are much better suited for any cross-platform work. So it's no wonder Java is dimishing.
See http://wyoguide.sf.net/papers/Cross-platform.html
My impression of Java, practicing with it at home, is that it sux, mostly because of its bloated API. Perl & Python are much more fun to play with. OTOH, Perl would be a total disaster at work. I have no problem understanding my Perl code, but if I had to work on someone else Perl, I'd surely rip out what remains of my hair.
Slow down, cowboy! It has been 4 hours since you last posted. You must wait another few hours.
1.4 bytecode will run just fine on the 1.5 vm and if you use the right options to the compiler you can even use some of 1.5s new features (such as genererics) and maintain compatibility with the 1.4 vm.
note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
Theres a lot of inherent aspects of the Java language which limit how fast it can be, regardless how well the VM is implemented. And many of these are avoided by C#, thus the comparison with C# is not entirely accurate.
Some examples are the inability to free objects manually (like C#'s dispose or how C/C++ forces one to do things), generics still working with objects, the design of the string class and many string operators, the (in my opinion) flawed design philosophy behind swing (thats the killer which makes all the windows apps so slooow and makes C# apps look so fast in comparison).
Despite all of this I still use Java for when speed isn't everything, i.e. for any database-backed application where the slowness of Java tends to be irrelevant compared to the database bottlenecks.
It doesn't have to be Perl:
LAMP-ng: Linux, Apache, MySQL and...Python!
At least, Python code would be much more maintainable... Please don't get me wrong here: I like Perl very much, but most code you write today ends up being maintained by some poor other guy who has to pry apart what you've coded yesterday. I've wrote some Perl code a few years ago, and, frankly, it's difficult to follow today. OTOH, old Python code is still perfectly understandable as it was back then.
cpghost at Cordula's Web.
You can use C++ if you don't use multiple inheritance.
Worse: you can use C++ if you feel like doing C# without any of its merrits.
Some time ago I looked at porting a solid Windows based 100.000 lines of code C++ GUI application to managed C++. If was a mature and stable application developed over 15 years.
The idea was to used managed functionality for UI and maintain unmanaged code for the older parts. While there is some "support" for using both managed and unmanaged code, it became clear very soon that doing so leads to huge problems. All advice basically points you either to one or the other, mostly favouring managed code (its *NEW*, after all).
In doing so we ran into a lot of low level problems more than multiple class-inheritance (which IMHO is a stupid concept in C++ anyway). We finally ended up with loads of messy code that in a hardly supported IDE (I guess Visual Studio abandoned C++ almost entirely some bugs in VC6 are still not fixed). Also performance halfed in some of the low level functions, requiring complete redesign.
The short story. After a month we abandoned Microsoft's "seamless" CLR migration path in favor for good old-fashioned Java+CORBA for the UI and kept the C++ core mostly intact.
We could have used C#+CORBA as well, but I guess the morale is that the CLR as a multi-language vehicle is just a laugh - at least in case of C++.
This isn't bragging -- it's the market here -- but frequently I would literally get an offer on my cell as I was driving home from a just-finished interview. So I was fortunately able to be fairly picky. Even though I de-activated all my search bots/resumes, I still get about 5-6 emails a week.
Stats are easily misconstrued, so perhaps Java is doing well in SoCal - and I hope it is, but .NET work is definitely more than plentiful here, but I think your "OWNS" statement is more fanboi-ism than factual.
'The unexamined life is not worth living' - Socrates
It is my humble opinion that one of the problems with Java is that it is over-engineered. This is particularly true of J2EE.
.NET has going for it is that it is far simpler to develop web apps in it than in J2EE.
For some strange reason the J2EE designers decided that XML is easier to work with than Java code and so we have all these XML descriptor files lying all over the place. The XML descriptors will describe everything from what classes to call, what actions to call when, configuration settings.. well pretty much anything that can be described. I can understand the need to store configuration settings like database connection settings, directory and file configurations etc in config files but why should the functionality of a site be described in an XML file? isn't that supposed to be done in code?
These XML descriptors are so big and complex now that we have tools to generate these XML descriptors.. but these tools are themselves configured using other XML config files, which may in turn be configured/written by yet another set of tools. Somehow all this doesn't make a lot of sense. The proliferation of additional tools which are required to develop in J2EE indicates the extent of this madness. But even then problems persist - These XML descriptors are not validated at compile time unlike code and so the errors may only show up at run-time.
If J2EE was designed keeping simplicity as one of its vital goals, it would have succeed far more than it has. One of the greatest advantages
If the functionality were just described in code instead of split across a zillion XML files as it is now, J2EE would have been fun to develop in.
I was just thinking about this the other day. With Flash and Ajax, there's little room for Java client apps on the Web anymore, either. Apparently, a lot of others agree: http://www.turdhead.com/2005/12/15/does-java-still -have-a-place-in-client-side-development/
and anyone who claims that java is 90's, should call themselves so lampish.
Indeed. Java is more like a 1970's language.
if there's anything in the opensource world that can obsolete java then it's python and it's compiled bytecode.
Java has been obsolete since the day it was created. What Java did achieve is to make morons like you aware that features like garbage collection and runtime safety even exist. That's a great accomplishment, but, in the end, it's not reason to stick with a third rate, obsolete language like Java.
As for the windowing libraries, Swing is now hardware accelerated and totally indistinguishable from 'native' GUIs on MacOS/X and Windows Vista.
I'm not sure why you people feel compelled to lie about this sort of thing. Running Swing on my OS X machines, I can assure you, Swing is very much distinguishable from native OS X applications, both in performance and in platform integration. It's even worse on X11.