Slashdot Mirror


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."

40 of 923 comments (clear)

  1. The real 90s versus outdated 00s software by dada21 · · Score: 4, Interesting

    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?

    1. Re:The real 90s versus outdated 00s software by xtracto · · Score: 4, Insightful

      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.


      How can you call it an "outdated" language? what is an outdated language? Ada is an outdated language, BASIC may be another.

      I like Java (as a language) a lot, I have used it for enterprise level applications (supply chain management software) and currently I am using it to make market based simulations.

      The wrong thing about Java is the Virtual machine implementation. You can blame Sun for that. If Java is slow, grabs lots of memory and all that it is because of the virtual machine, not because of the language. A language is just a BNF diagram specification which describes the syntax of the program, and all of its reserved words.

      What Java needs is a better (less memory and faster) implementation of the libraries it has and the virtual machine to run the programs. As an example, almost everyone who has used C# or any other .NET program can see the applications run quite fast.

      --
      Ubuntu is an African word meaning 'I can't configure Debian'
    2. Re:The real 90s versus outdated 00s software by dada21 · · Score: 4, Insightful

      LISP? ;)

    3. Re:The real 90s versus outdated 00s software by brunson · · Score: 4, Funny

      Write once, debug everywhere.

      --
      09F911029D74E35BD84156C5635688C0
      Jesus loves you, I think you suck
    4. Re:The real 90s versus outdated 00s software by Decaff · · Score: 4, Interesting

      However, it also seems to me that Java is just not keeping up. It's windowing libraries still suck. Its VM barely improves with each release.

      Eh?

      Java 5.0 VMs are vastly better than previous releases, with more optimisations and better garbage collection. They can routinely equal C++ in terms of performance. As for the windowing libraries, Swing is now hardware accelerated and totally indistinguishable from 'native' GUIs on MacOS/X and Windows Vista.

    5. Re:The real 90s versus outdated 00s software by plumby · · Score: 4, Insightful

      It's funny. Every time there's an article about Java, someone posts a comment like this, and every time I respond by pointing out that at my company, we build enterprise scale Java applications - usually developing on Windows, and then moving (in the test/live environments) to HP/UX or Solaris, and not beginning to do some on Linux. 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.

      Doesn't prove that incompatibility doesn't happen, but does demonstate that cross-platform is entirely possible.

    6. Re:The real 90s versus outdated 00s software by jkauzlar · · Score: 4, Interesting
      Because those oh-so-free PHP developers can't stand that sun-controlled Java can be easily lumped in with Linux and MySQL. I use only Linux and MySQL w/ Java and I'd feel severely handicapped w/o many of JSP's cool features. I still meet people (developers) who think that Java means 'applet' which only proves that the applet was the most retarded marketing mistake ever created. I don't even touch Java GUI.

      I'm not trying to flamebait, but I'd like to point out why JSP is much more attractive to me than PHP:

      1. JSP tags w/ expression language-- I barely need to code inside of a JSP page. JSP works as the ideal 'pure templating language' along w/ CSS.
      2. The webapp environment w/ web.xml-- okay, I'm not sure if PHP has a similar construct, but it's great to be able to organize an entire web application in a single file.
      3. The option to move into full-fledged J2EE (scalability)
      4. The language and libraries, while maybe not well implemented, are extremely well thought-out. The collection libraries are absolutely perfect! The 1.5 features make them even better
      5. Very standardized. Those that don't want to track the versions of all their supplementary libraries need not worry. Sun and Apache have nearly everything you'll need.
      6. Eclipse! Amazing IDE! Handles refactorings, remote revision control, builds & deployment, Javadoc tooltips and it 'knows' Java well. You'll never get compile-time errors and very few run-time errors.
    7. Re:The real 90s versus outdated 00s software by moro_666 · · Score: 4, Interesting

      indeed, java is much more than just a language.

      and anyone who claims that java is 90's, should call themselves so lampish.

      java is a multithreaded platform that runs across most servers that you can meet todays. it runs on windows ,linux ,os x, solaris, bsd so it has most of the parts covered. it doesn't need code recompilation nor does it need the developer to be aware of what the platform actually does beneath. people that have done lots of cross platform stuff in C know that this is a living hell from some point on.

      perl/php are no real competitors to java, they have never been ... but python is a different story, there's something usable coming out from there :) python isn't really a platform, but it's much closer. it has pretty fast bytecode, it has threads, it has most the usual platform things builtin. it has quite strict syntax too, which makes it less error prone.

      as a programming language the java language is quite superior to any other platform independent languages today, it doesnt need #define's in the code to compile everywhere nor does it need you to keep count on bits and bytes of the cpu architecture. again the only competition is coming from python.

      php doesn't have threads, perl has clunky ithreads (hopefully we see something better in perl6). how can you even call a forced singlethreaded script a "php platform" ? yeah sure you can make the script complicated, or even fork it and use flock's and shared memory between the things ... but this is like stoneage or smth ... if you have a massive 5-class deep extension tree on your oop layer , php needs to parse (or use the cached version, but still rerun) all the classes each time a php page is loaded in apache. perl has had some ways to overcome that issue including fastcgi & counterparts. but this is still stoneage compared to the rockstable persistancy provided by python or java.

      java and python are the ones that are fighting for the throne of opensource application servers and services. php is dying and perl is ... well perl is perl. for now ... but i have really big hopes on perl6 ...

      and somehow i forgot ruby altogether ... but i haven't investigated it that much, so i'll better keep my mouth shut.

      from my point of view :

      perl : yay, my swiss army knife, my love, my favourite tool
      php : easy way to do dirty stuff quickly, good for little servers
      python : a well start dudes, keep the pressure on, good almost everywhere.
      java : i only wish it had a smaller memory footprint, great for real servers, overkill for little ones

      if there's anything in the opensource world that can obsolete java then it's python and it's compiled bytecode.

      perl & php without proper persistance and threading models are so 90's. and using php scripts that are 4-5 times slower than the according in java or python analogues is so 90's too.

      --

      I'd tell you the chances of this story being a dupe, but you wouldn't like it.
    8. Re:The real 90s versus outdated 00s software by Decaff · · Score: 5, Insightful

      Yes, Java can equal C++ in terms of performance, if you ignore JIT startup lag, ignore the bloated memory footprint, and ignore the insanem performance losses when the garbage collector kicks in.

      No.

      There is no JIT startup lag in modern VMs - the JIT is not called at startup - it is a background thread.

      There is no bloated memory footprint. Java applications (as in J2ME) can run in only a few hundred kilobytes. The simplest standard Java apps can run in only a few MB, which on machines with 256MB or greater is totally insignificant. Server-side apps can securely share the same VM, so can take up even less memory.

      There are no performance losses when the garbage collector kicks in on modern VMs, as the garbage collection can run in the background. As proof of this, Java can now be used for real-time applications (such as in aeronautics) where any garbage-collection delay would be disastrous.

      Other than that, you are correct.

    9. Re:The real 90s versus outdated 00s software by drightler · · Score: 5, Funny

      "joys of Perl".... that makes me shudder. I learned how to program with Perl. Took me forever to unlearn the "Perl" way and start programming the "right" way. ;)

      --

      blah blah blah....
      drightler@technicalogic.com
    10. Re:The real 90s versus outdated 00s software by naarok · · Score: 4, Insightful

      Absolutely! The Java apps we have (over 100 thousand lines, so not small), have been deployed on customer equipment running on Windows, Mac, Netware, Solaris and AIX. Other than some bad coding on our part relating to file paths the only problems we've had is look & feel issues where the screen didn't look or work right on some environments. Yes, running on many platforms does require a great deal more testing (our QA department has machines piled on machines) so the write-once-test-everywhere statement is true. But if the choice is to expect a customer to buy a new machine to use your software or let your software run on their existing machines, the price is well justified by the sales.

    11. Re:The real 90s versus outdated 00s software by S.O.B. · · Score: 4, Informative
      I've never seen any serious developper that could tell me he was able to make Java code flawlessly run on every plateform.


      I work on a Java app that processes over 25 million transactions a week for a large financial institution.

      This app used to run on OS/390 but we moved it to Solaris and the only compatibility problem we found had nothing to do with Java but SQL language differences going from DB/2 to Oracle. Now we do all of our development on Windows and our production runs on Solaris using the code we compiled and packaged on Windows.

      Now that might not be "every platform" but I think you'll agree that the three platforms I mentioned are about as different as you can get. Especially OS/390 on which none of the other languages mentioned in this discussion will even run.
      --
      Some of what I say is fact, some is conjecture, the rest I'm just blowing out my ass...you guess.
    12. Re:The real 90s versus outdated 00s software by MaggieL · · Score: 4, Insightful

      I've never seen any serious developper that could tell me he was able to make Java code flawlessly run on every plateform.

      Quite a straw man there. Very few real "developpers" will claim to make *anything* run "flawlessly" on even one "plateform". Come back and share your opinion once you're able to write a "flawless" English sentence.

      With a parochial attitude, it's easy to introduce an unintended platform dependency. But with a little care about platform issues (especially where access the filesystem is concerned), Java runs smoothly across OSX/Windows/Linux/Solaris/OS400/Mainframes.

      --
      -=Maggie Leber=-
    13. Re:The real 90s versus outdated 00s software by aftermath09 · · Score: 5, Informative

      have to agree with Mr. Decaff there. Garbage collection has gotten more advanced using things such as incremental GC. Also, specialized VMs such as from bea (look for JRockit) use advanced techniques such as multiple GCs.

      Also the article mentions:

      For one, many of the now-large companies built from the ground up to operate on the Internet don't make Java a major piece of their tech strategy. Those include Google (GOOG) and Yahoo! (YHOO).

      In this article, Li Moore (software engineer at Google) says: "Google makes extensive use of the Java platform. Large parts of popular Google products are written in Java. We also use Java in many internal systems and products under development." So, this would seem to be entirely untrue in Google. I wish people would do a bit of research, instead of speculate/lie (which are, of course, easier to do).

      Finally, I notice that the author of the article asks Peter Yared and Marc Andreessen their opinion. What sort of answer would one expect from the CEO and chairman (respectively) of competing technology companies? Naturally, they would champion their own technology and bash a competitor. I certainly would if I were in their shoes!

  2. Don't Flame Me Because I'm Beautiful ... by eldavojohn · · Score: 5, Insightful

    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.
  3. In Related News by CodeHog · · Score: 4, Funny

    Basic is reported as "So 80s".

    --
    Fat, drunk, and stupid is no way to go through life, son.
    1. Re:In Related News by mforbes · · Score: 4, Funny

      The first code I ever wrote that had an actual purpose was in BASIC:

      10 for i = 1 to 100
      20 print "I will not talk in class."
      30 next

      (True story!)

      --

      Allegedly real newspaper headline from 1998:
      Man Struck by Lightning Faces Battery Charge

    2. Re:In Related News by daeley · · Score: 4, Funny
      Wow, I wrote my first basic aroung 1975:
      • 10 print "Hello World"
      • 20 goto 10


      And it's STILL RUNNING!!!! ;)
      --
      I watched C-beams glitter in the dark near the Tannhauser gate.
  4. PHP vs. Java by mysqlrocks · · Score: 5, Insightful

    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.

    1. Re:PHP vs. Java by pinkstuff · · Score: 4, Funny

      If PHP is so scalable, then why use Java for enterprise applications? :-)

  5. It is to laugh by msuzio · · Score: 5, Insightful

    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.

    1. Re:It is to laugh by nettdata · · Score: 5, Insightful

      Seriously, if you were going into business for yourself, would you base your application on Java? I sure wouldn't.

      Well, I would, and I did. What other language is going to give you the ability to write one hunk of code that will act as a client and/or a server from Linux/Aix/Solaris/HPux/Windows/Mac/etc?

      For us, the best tool for the job was Java. Period. End of subject.

      But that's what it's all about... determining the best tool for the job, and dealing with the inherent trade-offs.

      To say that one language is better than another, without context, is meaningless.

      --



      $0.02 (CDN)
  6. .NET?!? by Progman3K · · Score: 4, Insightful

    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?

    --
    I don't know the meaning of the word 'don't' - J
    1. Re:.NET?!? by ThinkFr33ly · · Score: 5, Informative

      Can someone explain to me how .NET is so fundamentally different from Java that it could escape Java's fate?

      Well, I'm not sure what Java's fate is, but while .NET isn't fundamentally different than Java, it has several big differences.

      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.

      It may not seem like a big deal to some, but being able to write more or less equally capable code in VB.NET, C#, J#, C++, Python, or a long list of other languages really does increase adoption.

      The CLR affords far better platform specific integration than Java. JNI is complicated and horrible. COM Interop and API invocation in .NET is fairly easy and straight forward. This is important for adoption considering the huge amount of legacy code that often needs to be interop'd with.

      The security framework built into .NET (Code Access Security) is arguably more refined and capable than the model built into Java. This doesn't really affect the current generation of applications, but for the v2.0 generation it will be very important due to ClickOnce deployment.

      The CLR has support better support for a variety of programming constucts, such as generics, than Java does... or, in some cases did but the latest and greatest java releases have done a pretty good job and matching .NET's language feature set.

      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.

      As far as language comparison goes, it's not really all that useful since the CLR supports pretty much everything you could think of, including a nearly 1 to 1 copy of Java. (J#). But if we must, here is a great, although some what dated, comparison of Java and C#.

      Isn't .NET (C# really) just a Java rip-off?

      Not really. It's an evolutionary step. They certainly looked at Java, but they looked at everything. Managed runtimes were not invented by Sun. They've been around for 30 years. Microsoft creating .NET is a step toward Windows having a 100% managed API... something that's good for everybody. 10 years from now it will be rare to see an unmanaged application on Windows, aside from some niche areas. Java could never have done that because Sun wasn't in the position Microsoft is in.

    2. Re:.NET?!? by ThinkFr33ly · · Score: 4, Informative

      I forgot to post the language comparison between C# and Java. Sorry.

    3. Re:.NET?!? by richieb · · Score: 4, Insightful
      It may not seem like a big deal to some, but being able to write more or less equally capable code in VB.NET, C#, J#, C++, Python, or a long list of other languages really does increase adoption.

      Actually Jython runs very nicely on JVM. I know there is JRuby in the works, plus several others.

      On the other hand, Java runs on Unix and Windows. Is there a working version of .NET for Solaris?

      --
      ...richie - It is a good day to code.
    4. Re:.NET?!? by rhedin · · Score: 5, Informative
      I can accept most of your points except:
      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.
      It is possible that WebSphere, WebLogic, and the like may cost more than the .NET equiv (not sure as I've not priced MS lately), but that does not consider: That are completely free of charge to both develop and deploy for production use. Support is also available if you'd like-- both free via the web and for-pay for each of these.

      Many of your points may be correct, but a price comparison is not necessarily one of them.

      rob.
  7. Re:UNIX by ackthpt · · Score: 5, Funny
    Is JAVA the new UNIX? It's still useful sometimes somewhere somehow but most people tend to forget/ignore its existence.

    Meanwhile, somewhere in Denmark, a graduate student is thinking "...I like Java, but not Sun's dictatorial stance on it... I think I'll come up with my own and call it Lava... (Pronounced "LooVa")

    --

    A feeling of having made the same mistake before: Deja Foobar
  8. Re:UNIX by MightyMartian · · Score: 5, Insightful
    What irritates me about these sort of articles is that they seem to indicate that language and platform choice ought to be chosen on how "hip" or "kewl" they are, rather than on the strengths they may offer a project. Java has some very important strengths, and to discount it as "so 90s" is rather like discounting C as so "70s". It's an idiotic metric, and encourages the kind of faddish thinking that sees useful technologies judged solely by what some self-serving magazine editors think is the current sexy language.

    Here's a tip. Programming languages and platforms aren't sexy. They are tools. Use .NET if that's the tool that best fits what you need to do, or what your employer requires. Or use Java. Or use COBOL, if that's what fits. Under no circumstances should one use the above standard, which is about on the same level as some twelve year old girl deciding whose pictures are going to adorn her wall.

    --
    The world's burning. Moped Jesus spotted on I50. Details at 11.
  9. Re:UNIX by the+chao+goes+mu · · Score: 4, Insightful

    I have to agree. Whenever I used to propose that C may be the best solution for a programming task, I would hear "But isn't C out of date?" from a host of "Hooray for Java and XML!" types. When I explained that different languages have different strengths and weaknesses they didn't seem to get it. They were all convinced some new "bleeding edge" technology would come along and solve every problem. It was like watching them eat soup with a fork, trying to explain a spoon to them, and getting the reply "Sure, THIS fork is bad, but wait for the NEXT fork! It will work just fine for soup!"
    Wow, that was the most disjointed thing I have posted yet! I was about to delete it, but it is so confusing, I just can't. Enjoy.

    --
    Boys from the City. Not yet caught by the Whirlwind of Progress. Feed soda pop to the thirsty pigs.
  10. Lies, Damned lies and Statistics by MacGabhain · · Score: 4, Interesting
    Java book sales from one publisher are "off 4%" while book sales of some random new technology are "up 68%". Yeh. It's a new technology. Pick something that had its first book hit the shelves around Christmas last year and you'll see it's sales shoot up well over 1000% last year to this.

    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.

  11. Re:Mod submitter -1, Troll by ADRA · · Score: 4, Insightful

    Two points:

    1. Having Microsoft release more software that supports their platform doesn't make the platform's industry support any better intrinsicly. So unless you can say companys x, y, and z are all moving strongly behind .NET, then great. I don't know the .NET ecosystem, so I don't know if there are any non-ms vendors pushing .NET based technologies.

    2. Just because I disagree with your argument, I do agree that Microsoft based .NET initiatives are growing and not shrinking as grandparent assumed. But, there is a natural evolution of Microsoft products that one must also pay attention to. Much of the developer attention to Microsoft technologies would have been there with visual studio 7 even if .NET didn't exist.

    I think the 'more' interesting finding is that Microsoft has been unable to seriously penetrate these Java / Web markets as much as they'd have liked. All they've done is create a third fraction of the modern development market. Most coders these days fall into three buckets: Java developer, Web developer, .NET developer. See? They haven't made Web developer mean ASP.NET, they haven't made Application programmer mean C# develoeper, etc.. As things stand, they can only hope to maintain their current business's migration cycle without too much bleeding. This may change with radical shifts in their business model, but as of today, MS can't expect .NET technologies to dominate the developer market.

    --
    Bye!
  12. I guess it depends on where you came from by Concern · · Score: 4, Insightful

    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!
    1. Re:I guess it depends on where you came from by Pxtl · · Score: 4, Interesting

      People always blame C++, but I still think that the problems with C++ come from two sources, neither of which are the language itself:
      1) lack of a single, dominant library for all the things that Java provides (like serialization, gui, etc.) and generally fugly APIs for the ones that are mainstream.
      2) coders who treated C++ as "C, with some new features" rather than treating it like "Java where you can import C functions". Use vectors, smart pointers, etc. and the language miraculously changes from fugly to pleasant.

      If Java was just a C++ library and a good free compiler, we might have dodged this whole mess. The only loss would be applets (not gonna run untrusted C++ code on the browser) - and who would miss those? Really, who uses the hardware-agnosticism of Java anyways? If the hypothetical "Java Library for C++" was created to be platform agnostic (just as Java is) then you'd have the same functionality in C++ - after all, it's pretty easy to write C++ code that will compile/run everywhere if your libraries work the same everywhere, and your compilers actually follow the standards.

  13. Stats Don't Lie! Java OWNS the current market! by TheTiminator · · Score: 5, Informative

    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
  14. Java use slipping? You have to be joking by Decaff · · Score: 5, Insightful

    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.

  15. Re:Interpreted Versus Compiled by maraist · · Score: 4, Interesting

    I'll grant that Java requires a significant learning curve.. But not for people that have been initiated into the computer-science field.. Java was specifically meant to have a low-learning curve... For EXISTING programmers of the langauges of it's day.. C, C++, and friends.

    But this is a misnomer.. Take a person off the street and teach him a "hello world" program in python or basic.. He'll say "Wow, I'm a programmer now!!".

    Then ask him to synchronize two credit card databases of different structures with it. Ops, learning curve!

    It's a damn-simple thing to do, but you needed to learn an API, and a bunch of underlying concepts first.

    Same thing with java.. It is designed rigidly so that the programmer can make assumptions that make their life easier. You have to explicitly manage errors for one.. Doing so means whenever you change the form of data, you are forced to think about it to make sure that the data has exchanged correctly. In Python, perl, numbers become strings become floats become triggers based on how you tickle the data (not necessarily access). These are simply two different assumptions about the significance of the data. If I wanted to have refactor a perl object definition (say change a method name), it would be damn near impossible to do. I couldn't just perform a text-search for the method name because it would probably overlap w/ other methods that had similar names.. But in Java, that rigidity means I can clearly know exactly who uses this exact method.

    If you're writing small apps and your definitions are distinct enough this isn't a problem.. But in my 15 years of programming, I've had to do a lot of refactoring, and in c or perl-type languages, I almost always resorted to work-arounds instead of true data-migration; as it just wasn't worth it.

    I perfectly agree w/ KISS.. But Simple and concise are not the same thing... Perl/Python/Ruby provides conciseness (saying a lot with a little), but at the expense of convoluted code (your rails project has the name of a method mean several different things). Java provides preciseness (and of course the ability to shoot yourself in the foot by being non simple, non-concise and non-precise). You are able to be concise in Java if you make use of rails-like-APIs.. Essentially modularize/aspectize your code so that the complexity is held elsewhere to define a type of work.. Then you concisely write the core of your application. Hibernate + xdoclet or attributes provides an example of this.. EJB provides a means of isolation of units-of-work in a way that is scaleable, clusterable, and safe all at once.. (Not that I ever use EJBs directly; but there are plenty of EJB-like services). This is not to say that RAILS can't be made similarly.. But to my knowledge you are still choosing a particular framework, and don't have a lot of flexibilty to alter those large units-of-work outside of the original author's inception.

    I've regularly hooked together many open-source units-of-work in ways that I'd never seen done before, and Java has always made this not only easy, but reliable (providing thread-safe, classloader independent, order-of-execution-safe, work-flows out of the box). Of course almost all of my units of work live inside of a serlvet engine.. Rolling your own main means that your mileage may vary.

    --
    -Michael
  16. Again? by bill_kress · · Score: 4, Insightful

    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!

  17. LAMP, the new PERL? by beforewisdom · · Score: 4, Insightful

    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.

  18. Re:Java: Where Components come from by Black+Perl · · Score: 4, Informative

    (off-mic:) Isn't Perl a fable, these days?

    Not sure what you mean here. Perl doesn't enjoy the "hip" factor that Python and Ruby have. But Perl has an overwhelmingly larger community than either of those two languages.

    I like both Python and Ruby, and think they are better-designed languages. But Perl has a huge advantage over these other languages: CPAN. You can be more productive in Perl because 80% of your code is written for you, ready for the taking. Visit http://search.cpan.org/ to see just how much stuff is there. But here is what the Python folks don't get. CPAN is much more than a repository. It's an automated distribution system. On any Perl system, type, for example, "cpan Spreadsheet::ParseExcel" and voila, you've got a class that can read binary Excel files. Any module you install may have other CPAN dependencies, which are installed automatically. These modules have a test suite and won't install unless they pass the tests. You can also, via CPAN, view the test results on many different platforms, see module ratings, the automatically extracted docs, discussions, the bug tracker entries for the module, etc. Because this is all standardized and centralized, you can write a module that depends on other modules without having to worry about inconveniencing your users--everything will install for them automatically. So the barrier to code reuse is very low, and people build modules by subclassing or otherwise extending and combining the functionality of other modules, simply writing the glue code. In other words, one of the basic tenets of the OO concept, encapsulation and code reuse, is being very elegantly played out in a place you wouldn't expect.

    Ruby is getting a good start at emulating some of the CPAN functionality with their RubyGems. Python doesn't have anything like this yet. I have no doubt they will someday, and there's been brought up many times on the Python groups, and usually gets knee-jerk reactions that don't show an understanding of what CPAN has to offer. The vaults of parnassus, etc are certainly not even close to the same thing.

    So, I am currently more productive with Perl, and it is certainly not because of the language or syntax itself--its despite it. I just find myself writing a lot less code and getting more accomplished. I look forward to being able to do the same in Ruby or Python someday.

    --
    bp