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

923 comments

  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 Billosaur · · Score: 1, Interesting
      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.

      Languages don't cause bad programs to be written -- bad programmers do! It's just a sign of the decline in pure programming skills. You either have the intellectual "I-have-a-comp-sci-degree" programmer who's good on theory but lousy on execution or the "90-day wonder" programmer who read a book or took a course and thinks they're God's gift to IT.

      As to Java, it's just ramped up C/C++ and while it has changed and bettered itself over the years, it's still a thick, clunky language. I tried to learn it once, but it was too much like C, and since I'd found the joys of Perl, I couldn't go back.

      --
      GetOuttaMySpace - The Anti-Social Network
    2. 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'
    3. Re:The real 90s versus outdated 00s software by Eric+Giguere · · Score: 2, Insightful

      What I don't get is why it's always characterized as "LAMP vs. Java". To be correct it should either be "Perl/PHP/Python vs. Java" or "LAMP vs. LAMJ", because many Java systems are already built around Linux, Apache and MySQL.

      Eric
      Invisible Fence Guide

    4. Re:The real 90s versus outdated 00s software by Spellbinder · · Score: 1
      there is no need to ever store your programs or your media anymore, right?
      yeah and 640kb ram ought to be enough for anyone
      different problems need different tools
      the day managers get that, there will be a big load of unemployeed peoples from marketing departments
      --


      stop supporting microsoft with pirating their software!!!!!
    5. Re:The real 90s versus outdated 00s software by dada21 · · Score: 1

      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.

      You're right, and that's the first time I've been reprimanded by anyone for making that connection :) I really do hate the virtual machine implementation. Still, if you're the first person (out of hundreds over the years) to remind me that my hatred extends to the implementation and not the actual language, how many other people -- more powerful people -- are making that same mistaken connection?

    6. Re:The real 90s versus outdated 00s software by eneville · · Score: 3, Interesting

      Its much more than just ramped up c/c++. It's a platform of it's own. c/c++ is compiled, as I am sure you are aware. For the most part java byte code is not executeable as such, its something between executeable and script, close enough to script to be decompiled directly to it's original structure.

      Yes perl is nice, but perl itself is 90's also.

      There are ofcourse something that java has which these others do not, such as stronger types and a good OOP.

    7. Re:The real 90s versus outdated 00s software by dada21 · · Score: 1

      yeah and 640kb ram ought to be enough for anyone

      Considering what I accomplished with 512kb of RAM for the first 10 years or so, I think I saw better programming during those days :)

      different problems need different tools

      I concur.

      the day managers get that, there will be a big load of unemployeed peoples from marketing departments

      (Tinfoil hat warning)

      Sure, but these same companies that are "secretly" pushing for more bandwidth everywhere are also the companies that have control over Congressional decision-making. Once the bandwidth is everywhere, once it is cheap and once people are accustomed to AJAX-based applications, how long do you think it will be before the megacorps decide that we don't need to store anything on our hard drives but our browser's temporay internet files?

    8. Re:The real 90s versus outdated 00s software by ericdano · · Score: 1
      I hear you man. I still remember a lot of AT commands for modems, even though I left modems behind in 1995 (ISDN baby, then fractional frame, now DSL).

      Now, I hope those PUSH clients don't come back. I can't remember the name of the company, but they were really big in 1996ish. Weather, news, etc. Lame.

      Somehow I think Java, Perl, PHP and all those others are going to be around for a long time.........

      --
      It's either on the beat or off the beat, it's that easy.
      I moderate therefore I rule!
      --
    9. Re:The real 90s versus outdated 00s software by masklinn · · Score: 1
      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.

      You've never actually written python code have you?

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    10. Re:The real 90s versus outdated 00s software by IAmTheDave · · Score: 3, Interesting
      I really do hate the virtual machine implementation

      As a once was Java developer (now more LAMP and .NET) it seems to me that Java deserves two things. First, it deserves credit as the first of the truly wonderful cross-platform, virtual machine driven JIT compilation using languages. It was, without question, the inspiration for the .NET platform.

      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.

      So Java's claim as a landscape-altering language is indeed deserved, but one must wonder how long it can last. It will probably always have a market, just as C still has a market, despite the likes of C++, Java, etc. However, everything that goes up must come down, and as dynamic internet language, I believe its hayday to be over.

      --
      Excuse my speling.
      Making The Bar Project
    11. Re:The real 90s versus outdated 00s software by dada21 · · Score: 1

      You've never actually written python code have you?

      Time preference forced me to stop coding years ago, except for things I knew I could "fix" quickly. Now that I can subcontract all my code to some anonymous programmer in who-knows-what-country and receive my code in minutes, I gave it up. My talents are better suited to things that earn a little bit more than $3 per hours :)

      I've researched python though, and it seems like a God-send. Of course, marketing always sells products as salvation, so I'd probably have to talk to the programmers to see what they like and dislike about it. For me, I just need code that works, is commented properly, and is easily adapted down the line by whoever might be doing the job. I promise to look deeper into python :)

    12. Re:The real 90s versus outdated 00s software by joebp · · Score: 1, Flamebait

      Languages don't cause bad programs to be written -- bad programmers do!

      Nonsense. Languages can be specifcally designed to encourage and assist programmers in achieving different outcomes. PHP - being poorly designed - encourages poor practices and certainly does not enforce or even encourage secure code. Hence why it is an absolute disaster in practice.

    13. Re:The real 90s versus outdated 00s software by Anonymous Coward · · Score: 1, Interesting

      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's a three-way thing, not a two-way thing. Flexibility, robustness, simplicity: pick any two.

      Java is simple and robust, but not flexible: you do what it lets you, not what you want to do. Great for novices and monkeys, crap for programmers.

      Perl/Python/PHP/Ruby are all simple and flexible, but not robust: trivial type errors can break applications that have been running for days. Great for gurus and hackers, crap for programmers.

      Haskell is flexible and robust, but requires a Ph.D in advanced mathematical theory to use. Great for geniuses and scholars, crap for programmers.

      Alas, who shall save us from this woeful trilemma?

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

      LISP? ;)

    15. Re:The real 90s versus outdated 00s software by eneville · · Score: 3, Insightful

      > > Languages don't cause bad programs to be written --
      > > bad programmers do!
      >
      > Nonsense. Languages can be specifcally designed to
      > encourage and assist programmers in achieving
      > different outcomes. PHP - being poorly designed -
      > encourages poor practices and certainly does not
      > enforce or even encourage secure code. Hence why
      > it is an absolute disaster in practice.

      I don't think it's really fair to claim that a language which is designed for those who are more familar with strings.h to be the cause of faulty, or buggy pages. The fault is that of the programmers for not doing their home work.

      That said, there are some improvements in later versions. This whole article is comparing one type of programming language with a totally different type and thus partly an unfair question as it will slant towards the more popular language paradigm rather than discussing the merits of either.

    16. Re:The real 90s versus outdated 00s software by Ooblek · · Score: 3, Insightful
      truly wonderful cross-platform

      Ahem...

      It should be truly wonderful, as-long-as-all-your-customers-use-the-same-version -of-the-VM-on-the-same-OS-unless-you-are-insane-en ough-to-figure-out-how-a-lot-of-different-virtual- machines-crap-out-on-your-code cross-platform

      I like Java, but it's only cross platform in theory. You have to have good architecture to make it behave properly cross platform. Sure, it's easier than doing cross-platform in C/C++, but the customer doesn't care that its the VM's fault.

    17. Re:The real 90s versus outdated 00s software by mzwaterski · · Score: 1

      Pointcast?

    18. Re:The real 90s versus outdated 00s software by Anonymous Coward · · Score: 0

      Yes, you made that point in the original flamewar.

    19. Re:The real 90s versus outdated 00s software by mmkkbb · · Score: 1

      Push client? What do you think RSS is?

      --
      -mkb
    20. Re:The real 90s versus outdated 00s software by sammy+baby · · Score: 1
      Now, I hope those PUSH clients don't come back. I can't remember the name of the company, but they were really big in 1996ish. Weather, news, etc. Lame.

      I'm willing to bet you're thinking of Pointcast.

      It's funny, but I remember talking to an unbelievably smart ex-Wired/Hotwired/Suck guy (you'd recognize the name if you follow the people involved) about how wrong those guys were on "push," and the miserable failure I thought it represented. In response, he noted how RSS, parts of Ajax, and podcasting are all the logical descendants of what used to be called push. For as much as I found all the push hype irritating, I'm not sure I can disagre with him.
    21. Re:The real 90s versus outdated 00s software by b17bmbr · · Score: 3, Insightful

      I teach AP Comp Sci and have been programming in Java, perl, PHP, and others for years. Even did my penance with VB!! I love java and hate java. here's why:

      love:
      object serialization
      sockets
      everything is an object
      i/o
      syntax
      ability to pass objects and arrays as data types
      consistency
      threading

      hate:
      verbosity!!!
      dogmatic approach -> there is one way to do anything
      swing

      overall, i'd say for alot of things, java is powerful enough and useful enough to do most programming projects. without starting a linux flamewar, i see java like linux on the desktop in some ways. it does 98% of what 98% of people need. however, there is no substitute for the remaining 2%. java's security model is limiting as is it's speed. i teach economics as well, and like in econ, there is a trade-off to everything. java trades speed and security for portability and simplicity.

      it tried to be everything to everyone. reminds me of the old SNL bit about a desert topping and a floor wax.

      however, as c/c++ brings enormous problems and difficulty which java solves, python has OO design and clarity and speed of development like java, yet is far more extendable. (think UI's)

      had python the corporate backing of java it'd be more prevalent, which I'd like to see that happen in the near future, especially with the AP test. but, any language still boils down to the best tool for the job. and for many things, java is really good.

      --
      My problem? I was perfectly gruntled, until some numbnuts came by and dissed me.
    22. Re:The real 90s versus outdated 00s software by masklinn · · Score: 1
      Of course, marketing always sells products as salvation
      There is not much Python marketting, because there is no Big Business behind Python ;)
      so I'd probably have to talk to the programmers to see what they like and dislike about it

      For most of the people that are very new to Python, the fact that leading whitespace are significant is a kind of a turn-off. Until they realize that they just have to indent as they'd do anyway (to have readable code) and it Just Works. Other than that, the explicit 'this' (called 'self' by convention) in classes is disliked by some and loved by others, and most people that come from C++ or Javaland are horrified by the fact that Python has no concept of compiler-enforced "private" or even "protected", everything is public ("we're all consenting adults" and all), and only convensions tell you that "you know you're not supposed to use that, don't whine if it breaks" and "you know, you really really shouldn't use that because it WILL break sooner than later, and when it will you'll be in a damn impressive heap of dung".

      On the plus side, there are too many things pythonistas love about python, i'll let you discover them (hint: there is a "live" interpreter, use and abuse it it's a darn cool feature)

      BTW, after installing python, the first thing you should type in the command line is "python -m this".

      I promise to look deeper into python :)

      Do also check Ruby, wether or not Python turns you on, it's an other extremely nice language that got quite a lot of deserved hype lately thanks to Ruby on Rails (quite a shame it needed RoR to get to be known in the western world though).

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    23. 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
    24. Re:The real 90s versus outdated 00s software by Eric+Giguere · · Score: 1

      RSS is push? Maybe if you send it via email... Whoops, here comes another debate...

      Eric
      How to masquerade your browser

    25. Re:The real 90s versus outdated 00s software by SimHacker · · Score: 1

      Don't you mean: (lisp-p) ?

      -Don

      forth ?know if honk else forth learn then

      --
      Take a look and feel free: http://www.PieMenu.com
    26. 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.

    27. Re:The real 90s versus outdated 00s software by richieb · · Score: 1
      everything is an object

      Hmmm.... what about int or float or char? If you want to see a real pure Object Oriented language try SmallTalk or Ruby.

      --
      ...richie - It is a good day to code.
    28. 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.

    29. Re:The real 90s versus outdated 00s software by Q-bert][ · · Score: 1

      Your big concern is the P? Mine is the M for MySQL. The fact that so many people are learning about databases using it scares me almost as much as people learning about databases using Access.

    30. Re:The real 90s versus outdated 00s software by timeOday · · Score: 1
      The wrong thing about Java is the Virtual machine implementation.... A language is just a BNF diagram specification which describes the syntax of the program, and all of its reserved words.
      From a practical standpoint, a language is exactly as fast as its fastest implementation on a platform available to you. It would be nice if we could dream up wonderful language features and simply wish away their impact on performance, but it doesn't work that way. Language design impacts performance. You can't make up nice features like guaranteed type safety and then yell "not my problem!" and run away when it doesn't run well.

      I say this even though I personally think it's a tragedy that Java didn't take over the world. To my brain (which runs C++) it seems so much simpler and more general than this LAMP trainwreck.

    31. Re:The real 90s versus outdated 00s software by Anonymous Coward · · Score: 0

      LISP is incredibly powerful. The feature that impresses me the most is its magical ability to transform all those who use it into supercilious assholes.

    32. Re:The real 90s versus outdated 00s software by Decaff · · Score: 1

      hate:
      verbosity!!!
      dogmatic approach -> there is one way to do anything


      I can't understand this statement. There is a huge development community around Java, and there is almost never one way to do things. Take a look at persistence, web frameworks, GUIs etc and you will see a range of alternatives.

      java's security model is limiting as is it's speed.

      I don't understand this either. Java's security model is totally customisable - in stand-alone Java apps there is by default no security at all! As for speed, Java now routinely matches C++ performance in all areas - networking, numerics etc. So how are these limiting?

    33. Re:The real 90s versus outdated 00s software by Maxwell42 · · Score: 1
      everything is an object
      As much as I like to work with java, this really is not true compared to some others languages. Primitive type are a pain in the ass to deal with (and java 5 only hide this in an horrible way making performance management worse when dealing with collections of those types).
    34. Re:The real 90s versus outdated 00s software by BreadMan · · Score: 1

      >> I really do hate the virtual machine implementation.

      Give GCJ a look. It's a front-end to GCC that produces machine code from java source. It may not produce code that runs as fast as a hotspot VM, but it does a reasonable job and you don't have the start-up cost of a VM. GCJ can be built so that it cross-compiles too.

      If you're interested in ditching SWING, consider SWT the presentation underpinnings of the Eclipse ide.

    35. Re:The real 90s versus outdated 00s software by man_of_mr_e · · Score: 2, 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.

      Other than that, in a bubble of pre-JIT'd code with only a single data point, Java Rules.

    36. 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.
    37. Re:The real 90s versus outdated 00s software by xtracto · · Score: 1

      From a practical standpoint, a language is exactly as fast as its fastest implementation on a platform available to you.

      I agree with you on that, but I was only pointing that the closed nature of the Java VM implementation is what is impeding its development.

      Take for example C/C++ (I love both of them, I'm currently programming wxWidgets/SDL/OpenGL as hobby =o), how many compilers (commercial or free) exist? Borland C++, Microsoft VisualC, MetroWorkers CodeWarrior, Gnu C , Watcom, Symantec Digital Mars, etc.

      They all depart from a standard language specification and implement compilers which are better/worse.

      If we could have the same thing for Java (or any other language) I am sure we could have 2 or 3 virtual machines competing against each other.

      I am currently using Java Mustang beta build and I find it really faster than the 5 version. I loved the introduction of generic types in 1.5.

      Personally I hope the the GCJ compiler gets better, and although I have never used it I would like to know how is it nowadays. But if it needs the JVM to run the programs then we are chained to Sun's implementation.

      --
      Ubuntu is an African word meaning 'I can't configure Debian'
    38. 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.
    39. Re:The real 90s versus outdated 00s software by Jobe_br · · Score: 1

      Java 1.5 provides auto-boxing, which essentially makes everything an Object, because the JVM abstracts the details away from your app. Treat an Integer as an int, treat an int as an Integer, doesn't matter.

    40. Re:The real 90s versus outdated 00s software by Anonymous Coward · · Score: 1, Interesting

      Python has done a fantastic job achieving cross-platform portability. Whereas Java had massive hype about Write One Run Anywhere, and a reality that falls far short, Python has quietly and with little hype truly achieved the ability to run the same code on nearly any platform.

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

    42. Re:The real 90s versus outdated 00s software by ericdano · · Score: 1

      Pointcast! Yes that is what it was. Oh the memories of that client........

      --
      It's either on the beat or off the beat, it's that easy.
      I moderate therefore I rule!
      --
    43. Re:The real 90s versus outdated 00s software by OwnedByTwoCats · · Score: 1
      First, it deserves credit as the first of the truly wonderful cross-platform, virtual machine driven JIT compilation using languages.
      You're forgetting UCSD P-System in general, and UCSD Pascal in particular. Many languages compiled to byte-code, that ran in VMs on the most popular platforms of the day. Of course, the day was 1979...
      The more things change, the more they stay the same.
    44. Re:The real 90s versus outdated 00s software by Anonymous Coward · · Score: 0

      I agree completely. It's hard to argue that Lisp doesn't score very highly on all three criteria.

    45. Re:The real 90s versus outdated 00s software by G-funk · · Score: 1

      Java was definitely one of those overused words back in the .bomb days, but now the buzzwords are "Ajax" and "web 2.0" and other such nonsense. And if Java is old and "outdated" like SAP (!?!???), all the better for me. Less know-nothing graduates competing with me for the next high-paying J2EE contract.

      --
      Send lawyers, guns, and money!
    46. Re:The real 90s versus outdated 00s software by Bunch'a+4th+Graders · · Score: 0

      I didn't have the honor of reading the original flamewar. It's a valid on-topic point of view.

    47. Re:The real 90s versus outdated 00s software by masklinn · · Score: 2, Informative
      First, it deserves credit as the first of the truly wonderful cross-platform, virtual machine driven JIT compilation using languages.

      That would be Smalltalk.

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    48. Re:The real 90s versus outdated 00s software by jnana · · Score: 1

      Yes, some Lisp users give Lisp a bad name, and Lisp in general has been far less welcoming to new users than newer languages. Python, for example, is very welcoming and friendly to newbies. That's unfortunate, but it's far from universal, and there are indications that things are changing in the Lisp world, with the release of a new book last year (Practical Common Lisp, available free online as well as in dead tree format), and the Lisp in a Box project (download, install, and have a great (Free as in beer and freedom) Lisp environment set up in minutes).

    49. Re:The real 90s versus outdated 00s software by masklinn · · Score: 2, Informative
      everything is an object

      That's so wrong it hurts.

      Primitive types are not objects, nor are functions, methods, or class.

      Check Smalltalk, Ruby or Python (for example) to see what "everything is an object" truly means.

      A class is an object, a module is an object, a function is an object, every single built-in type is an object. THAT is an everything is an object approach.

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    50. Re:The real 90s versus outdated 00s software by masklinn · · Score: 1

      Classes are still not objects, functions and methods are still not objects, packages are still not objects, and auto-boxing doesn't work for calling methods on primitive types (or didn't last time I checked) so primitive types are not objects.

      Everything is definitely not an object in java, and the JVM's abstactions leak like sieves.

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    51. Re:The real 90s versus outdated 00s software by masklinn · · Score: 1
      If we could have the same thing for Java (or any other language) I am sure we could have 2 or 3 virtual machines competing against each other.

      Only Sun has a stable 1.5 JVM, but there are multiple 1.3 and 1.4 JVMs...

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    52. Re:The real 90s versus outdated 00s software by b17bmbr · · Score: 1

      what I was referring to is java is completely opposite a language like perl. while i like java's i/o structure, it is open resource (i.e. file, socket), get input/ouptut stream, read/write to stream, then close. fine, but I love perl's pipes and redirects. and compare this: File f=new File("file.foo"); BufferedInputSTream bis=new BufferedInputStream(new FileInputStream(f)); while( (br.readLine()!=null) ... or open (FILE, "file.foo"); @f=; foreach(@f){ ... perl is cryptic and hard to get for a novice. no doubt. but it has a beauty all its own.

      --
      My problem? I was perfectly gruntled, until some numbnuts came by and dissed me.
    53. Re:The real 90s versus outdated 00s software by Berkov_s1 · · Score: 2, Informative

      "Ada is an outdated language"

      Rubbish. There is about to be a new definition of the language 2005/2006 depending when they get round to it. You know the new Airbus - running Ada. It is still the defacto safety-critical/defense language

    54. 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
    55. Re:The real 90s versus outdated 00s software by masklinn · · Score: 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.
      Smarty, or any other templating language, just use the one you want.
      The option to move into full-fledged J2EE (scalability)

      Unnecessary until proven required, over-engineering should be a cardinal sin, KISS

      The language and libraries, while maybe not well implemented, are extremely well thought-out.

      Until you've tried more dynamic languages (see Ruby, see Python)

      Very standardized.

      Which is not a bad thing. On the other hand, users don't have much to say in the direction the language takes (PHP is even worse in that aspect though)

      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.

      Every good languages is available with batteries included, and this point has no relation with the previous one.

      Oh, and keeping track of the Apache libs versions is still a pain, you should check Ruby's Gems for a nice painless libs-handling tool. It's like apt-get at the language level.

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    56. 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.

    57. Re:The real 90s versus outdated 00s software by m50d · · Score: 1
      Its much more than just ramped up c/c++. It's a platform of it's own. c/c++ is compiled, as I am sure you are aware. For the most part java byte code is not executeable as such, its something between executeable and script, close enough to script to be decompiled directly to it's original structure.

      So it's ramped up C/C++ changed to be bytecode like perl etc. so it runs at their speeds. What a great idea!

      --
      I am trolling
    58. Re:The real 90s versus outdated 00s software by KilobyteKnight · · Score: 1, Interesting
      I like Java, but it's only cross platform in theory.

      Which is why I gave up on it a long time ago.

      Every time I have ever expressed any negative opinion of Java on Slashdot someone mods me down. Some people get really touchy about Java. I still stand by my opinion that it has never lived up to its hype.

      I would agree that it is the fault of the VM, not a fault of the language syntax. But the net effect is that I don't even like dealing with it as an end user. It seems like all the Java apps want to install their own VM and trying to get them all to work correctly (and together) is never easy.
      --
      When will Windows be ready for the desktop?
    59. Re:The real 90s versus outdated 00s software by m50d · · Score: 0, Flamebait
      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.

      If you listen to Java zealots, that's been true from day 1. In the real world, it still doesn't happen.

      As for the windowing libraries, Swing is now hardware accelerated and totally indistinguishable from 'native' GUIs on MacOS/X and Windows Vista.

      BS. I can tell by the seconds of lag when you click a menu before it appears.

      --
      I am trolling
    60. Re:The real 90s versus outdated 00s software by timeOday · · Score: 1

      I have to wonder if Sun would be better off open-sourcing its class library, or maybe even the JVM. This would open the door to a lot of spinoffs, which might really give Java a boost. The barrier to starting from scratch on a JRE is just too high. I can understand Sun not giving away the goods when they thought they had a hot item, but if it's true that Java is losing ground to C# (and the article gives statistics which support this assertion), perhaps Sun would be better off with a smaller piece of a larger (Java) pie.

    61. Re:The real 90s versus outdated 00s software by naarok · · Score: 2, Informative

      If you haven't met a serious developer that could say Java ran flawlessly on every platform, then you haven't been looking.

      How about a 100 thousand plus line app running flawlessly on Windows, OS X, Netware, Solaris and AIX? Not linux yet, but close. The problem wasn't with our code, but getting drivers for third party hardware.

      Oh, and also talking to MSDE, MsSQL, MySQL, Oracle and Postgres databases.

      Why this kitchen sink of combinations? Because that is our customers environments and if we can say we work on their environment rather than forcing them to our environment, we both win (only our QA department loses)

      While "Java, Write once, Test everywhere" is true, that should be true of your product regardless of language, so you haven't really lost anything.

      We've had some GUI issues, but the server-side code has required almost no special handling for the different OS's (we did need to work around an OS X bug).

    62. Re:The real 90s versus outdated 00s software by jdog1016 · · Score: 1

      Its really not a mistaken connection. There is an intimate relationship between the language (which involves both syntax and semantics) and its implementation. If Sun were to, for example, make Java a compiled language in the same way that C++ is, there are likely a large number of design decisions that would have to be changed. Even without a virtual machine, Java programs as is still require that runtime system to function properly, so simply hacking out the virtual machine doesn't really completely address the problem, and may even create new problems.

    63. Re:The real 90s versus outdated 00s software by Anonymous Coward · · Score: 0

      Damn, you are ignorant! You need to update your misinformed opinions, because they're not even remotely plausible except to the other anti-Java zealots who find an argument that made sense in 1997 compelling today.

    64. Re:The real 90s versus outdated 00s software by AdamRobinson · · Score: 1

      Wasn't the entire point of Swing to be hardware-INdependent? Not that I promote that; to the contrary, I think reinventing the wheel when there is one that is 99% round is a waste of time, and is generally the byproduct of a developer with too much ego and not enough work.

      The various points about which language is better, did MS copy the Java class library, and on and on and on...all come down to a personal preference. I had a bad experience by jumping into Java early, so I saw all of the bloat. It is much faster now, but I still have the bad taste in my mouth, and after having worked in C# .NET for about two years now, I much prefer it to Java. Doesn't make me right, doesn't make me wrong. I just prefer the design patterns that Microsoft used in their admitted adaptation of the Java class library to those used in the "original".

    65. Re:The real 90s versus outdated 00s software by ClamIAm · · Score: 1
      I guess my big concern with LAMP is what the hell is the P?

      It's Ruby.

    66. 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.
    67. Re:The real 90s versus outdated 00s software by Decaff · · Score: 1

      Wasn't the entire point of Swing to be hardware-INdependent? Not that I promote that; to the contrary, I think reinventing the wheel when there is one that is 99% round is a waste of time, and is generally the byproduct of a developer with too much ego and not enough work.

      Good point. Swing was never hardware-independent, just like the particular implementation of a Java VM is not hardware-independent. The point of Swing is that your GUI code and the look-and-feel of your application can be totally hardware and platform-independent. However, this does not prevent the Swing libraries on any given platform from making full use of hardware and OS-specific software. Swing graphics can automatically make use of DirectX and OpenGL. This also does not prevent the development of a look and feel that matches the native GUI for a platform accurately. Apple have done this for Swing on MacOS/X, and Sun and Microsoft are working on this for Windows Vista.

    68. Re:The real 90s versus outdated 00s software by man_of_mr_e · · Score: 2, Interesting

      A background thread doesn't help you the first time you access the application. It still has to JIT before the code can execute. Background threads can help with predicted access, but that's not always going to happen either. If the code runs faster than the JIT'er can JIT, you're still left waiting.

    69. Re:The real 90s versus outdated 00s software by Anonymous Coward · · Score: 0
      And I can assure you that C is insanely slow because I have this dog-slow program, and it's written in C.

      Hey dumbshit, do you really think that you can make a valid inference from a sample size of 1 (and probably a sample size of 1 stupid user running on his grandma's java 1.1 jre)?

      I use many Java apps, and there is no seconds lag, no noticeable lag at all.

    70. Re:The real 90s versus outdated 00s software by Decaff · · Score: 3, Insightful

      A background thread doesn't help you the first time you access the application. It still has to JIT before the code can execute.

      No, this is not true. What happens is that the code starts up as interpreted so that the program can proceed without any JIT at all. Then, in the background, the performance profiling starts and time-critical sections of the code are translated. This is the way that the Hotspot optimiser works on modern VMs, and it is very effective in reducing start-up times.

    71. Re:The real 90s versus outdated 00s software by man_of_mr_e · · Score: 2, Interesting

      Also, background threads don't help with CPU intensive work on single processor boxes. It just steals more cycles from the CPU bound task. You seem to think that background threads magically create more cycles out of fairie dust.

      Background thread or not, the GC and the JIT'er take CPU cycles, (and lots of them). The only time you get a benefit from background threads is when the foreground process is blocked waiting for something else. All too often you're left waiting all right (for the JIT'er to finish, or for the GC's time slice to end).

      Just because something uses background threads doesn't mean it mysteriously improves performance.

    72. Re:The real 90s versus outdated 00s software by arevos · · Score: 1
      Perl/Python/PHP/Ruby are all simple and flexible, but not robust: trivial type errors can break applications that have been running for days.

      I don't think type errors are that big a deal. I've been programming for quite a while, and I can't recall ever having run across a type error in a running piece of software. Also, the lack of static typing allows the programmer extra flexibility that may be worth the tradeoff of having no compile-time type checking.

    73. Re:The real 90s versus outdated 00s software by Decaff · · Score: 1

      I like Java, but it's only cross platform in theory.

      There may be some areas where Java is poorly cross platform, but in recent years I have not found any. If large and complex applications such as Tomcat and JBoss can be deployed as a single Java binary for any platform with a certain level of JVM or greater (from any JVM supplier) then there should be few problems if any for the general developer.

      In fact, it is very common indeed for Java development to be done on Windows and then deploy on Unix/Linux. This is standard practice, and there are few reports of problems.

    74. Re:The real 90s versus outdated 00s software by Insideo · · Score: 1

      I couldn't agree more. Let the LAMP fanboys have it. Means more jobs for you and me. :)

    75. Re:The real 90s versus outdated 00s software by Anonymous Coward · · Score: 0

      '@f=;' is what he meant. Slashdot ate it.

    76. Re:The real 90s versus outdated 00s software by eneville · · Score: 1

      > > Its much more than just ramped up c/c++. It's a platform of it's own.
      > > c/c++ is compiled, as I am sure you are aware. For the most part java
      > > byte code is not executeable as such, its something between executeable
      > > and script, close enough to script to be decompiled directly to it's
      > > original structure.
      >
      > So it's ramped up C/C++ changed to be bytecode like perl etc. so it runs
      > at their speeds. What a great idea!

      Perl is more of a system level language than java. Java is more of it's own platform. From the programmers point of view perl is more like interpreted c, hence why sys admins love it so much.

      They each have their merits, just don't try and compare the two together as they're totally different.

      The point of java is portability. Fast, cheap, reliable, pick any two.

    77. Re:The real 90s versus outdated 00s software by Decaff · · Score: 3, Interesting

      You seem to think that background threads magically create more cycles out of fairie dust.

      No, I never implied that.

      Background thread or not, the GC and the JIT'er take CPU cycles, (and lots of them). The only time you get a benefit from background threads is when the foreground process is blocked waiting for something else.

      Exactly. In earlier implementations of Java the foreground process would be blocked waiting for JIT or GC.

      All too often you're left waiting all right (for the JIT'er to finish, or for the GC's time slice to end).

      Not with a good scheduler and the correct settings for the JVM. If this were true, then implementations of Java which also use JIT and GC would not be suitable for high-performance real-time control, where you must never be left waiting for anything! They are.

      Just because something uses background threads doesn't mean it mysteriously improves performance.

      It can't improve overall performance, but it can certainly improve things like start-up delays and event response times.

    78. Re:The real 90s versus outdated 00s software by b17bmbr · · Score: 1

      thanks. I put it in there but forgot the damn thml problem!! arrrgghhh!!!

      --
      My problem? I was perfectly gruntled, until some numbnuts came by and dissed me.
    79. Re:The real 90s versus outdated 00s software by freeplatypus · · Score: 1

      I like ADA. ADA95 seems quite nice language (althought I dislike the syntax which is somehow similar to Pascal). It is of course general purpose language but the lack of libraries make it not quite "easy" to build complex application. It may be good for some niche applications, but it won't make it to mainstream.

    80. Re:The real 90s versus outdated 00s software by Anonymous Coward · · Score: 0
      I guess my development shop, which has 100s of thousands of lines of code in Java, and in which our developers use whatever platform they want (pretty evenly split between Linux and Mac, with a couple of Windows, using Java tools for development and running and testing the apps) is a total fluke, huh?

      No, actually it's not. I love Python, but it's just inaccurate to imply that Java isn't extremely cross-platform (barring stupid devs who do things like hardcode Windows filepaths and the like).

    81. Re:The real 90s versus outdated 00s software by freshman_a · · Score: 1

      Nonsense. A good programmer will code properly (structure properly, comment, etc.) regardless of whether or not the language encourages good coding practices.

    82. Re:The real 90s versus outdated 00s software by generationxyu · · Score: 1
      A language is just a BNF diagram specification which describes the syntax of the program, and all of its reserved words.

      No... it is that, yes, but it also describes the semantics of the language -- what those reserved keywords, constructs, data types, etc, do. This is where you start getting into inherent problems in the language, like its garbage collection, etc.

      --
      I mod down pyramid schemes in sigs.
    83. Re:The real 90s versus outdated 00s software by b17bmbr · · Score: 1

      okay, everything was an overstatement. I meant it in a broad sense. in other words, you can write non-OO c++ code but not in java. yes, there are primitive types, but they all have object wrappers. int = Integer, etc. from a pure CS perspective, I was incorrect. I grant that. java has it's incosistencies, arrays for example. but what Iike is that all code must be contained in objects (not true in python by the way) which makes plugging into an application really easy.

      --
      My problem? I was perfectly gruntled, until some numbnuts came by and dissed me.
    84. Re:The real 90s versus outdated 00s software by thallgren · · Score: 1

      From my point of view Java isn't even 80's technology. Java is more like Smalltalk-72(not everything is an object) with C-ish syntax. Seems like things must be reinvented a couple of times before the public catches on.

    85. Re:The real 90s versus outdated 00s software by squoozer · · Score: 1

      I fear you are wasting you breath. As my wise old mum used to say: There are none so deaf as those that won't hear.

      I can't help feeling that a lot of the Java bashing is because the first couple of versions (e.g. pre 1.2) were pretty poor. I, personally, don't think the language started getting good until 1.3. 5.0 is fantastic though, it's really made me believe that they can keep growing Java.

      It's going to take a seriously big "big new thing" (TM) to make be put down my Java compiler.

      --
      I used to have a better sig but it broke.
    86. Re:The real 90s versus outdated 00s software by irablum · · Score: 1
      First, it deserves credit as the first of the truly wonderful cross-platform, virtual machine driven JIT compilation using languages.
      You're forgetting UCSD P-System in general, and UCSD Pascal in particular. Many languages compiled to byte-code, that ran in VMs on the most popular platforms of the day. Of course, the day was 1979...

      The more things change, the more they stay the same.

      Hey, I wrote an interrupt driven piece of software on UCSD P-System back in 1985, and it was about as non-cross-platform as you can get.

      Ira

    87. Re:The real 90s versus outdated 00s software by m50d · · Score: 1
      And I can assure you that C is insanely slow because I have this dog-slow program, and it's written in C.

      And I have a program written in C which isn't. Someone show me that in Java and I'll change my tune.

      Hey dumbshit, do you really think that you can make a valid inference from a sample size of 1 (and probably a sample size of 1 stupid user running on his grandma's java 1.1 jre)?

      Who said anything about size 1? I've tried at least 10 Java programs more or less at random, always using the latest stable JRE, and I go back and repeat it every few months. It still sucks.

      I use many Java apps, and there is no seconds lag, no noticeable lag at all.

      Well, good for you. I imagine you have a better machine.

      --
      I am trolling
    88. Re:The real 90s versus outdated 00s software by masklinn · · Score: 1
      not true in python by the way

      That statement is false, since technically everything in python is written in a file, a file is a module, and a module is an object.

      Now, that's stretching it, and you can indeed write structured, functional or aspect-oriented code in Python, instead of having to write OO even when it's inconvenient. I (and most pythonistas) consider that it's a good thing, actually.

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    89. Re:The real 90s versus outdated 00s software by squoozer · · Score: 1

      You were doing really well up till number 6. Dump Eclipse and go for NetBeans. It's much better for developing web apps (well IMHO anyway). I'd wait a month or two and try 5.0 (I'd avoid the beta versions they are a bit flakey this time round).

      --
      I used to have a better sig but it broke.
    90. Re:The real 90s versus outdated 00s software by JPrice · · Score: 1

      I don't disagree with your basic statement that there are other languages that do "everything is an object" to a much greater extent than Java (and primitive types not being objects is certainly a failing, IMO).

      However, all objects in Java have a "getClass()" method that returns a Class object representing their type, which you can query for objects that represent Methods, Fields, Packages, etc. of that class. Admittedly, "Method" objects and the like aren't nearly as convenient to use as they could be, but aside from that is there a meaningful difference between how Java treats these things as objects vs. the other languages you mention?

    91. Re:The real 90s versus outdated 00s software by RedHat+Rocky · · Score: 1

      Having just been through the pain of watching our developers switch from Sun 1.3 to IBM 1.4.2, I think your experience is out of the ordinary.

      Ask anyone running Tivoli what they think about JVMs.

      --
      Anything is possible given time and money.
    92. Re:The real 90s versus outdated 00s software by Decaff · · Score: 1

      I can't help feeling that a lot of the Java bashing is because the first couple of versions (e.g. pre 1.2) were pretty poor. I, personally, don't think the language started getting good until 1.3. 5.0 is fantastic though, it's really made me believe that they can keep growing Java.

      I do find the typical /. attitude to Java puzzling, as I would have thought that those enthusiastic about IT would be regularly re-visting different technologies to see if they had changed. An outdated view of Java based on 1.2 or earlier shows a seriously outdated knowledge of IT.

      And, I agree, Java took a long time to become acceptable. Early versions were so slow and buggy I was amazed that anyone was using them.

      Things have changed.

    93. Re:The real 90s versus outdated 00s software by tacocat · · Score: 1
      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.

      I disagree to a point. There will be better programmers in languages that have a higher entry barrier. Java sucks because they made it easy for dumbass people to get a certificate and start programming. Similarly, Average Windows administrators are frightenly stupid when compared to average linux/BSD (not Sun/HP/IBM) administrators because the entry barrier is so much lower than going at it in Linux/BSD environments.

    94. Re:The real 90s versus outdated 00s software by BitwizeGHC · · Score: 1

      RSS is the new push. I see weather, news, etc. above my Gmail now.

      --
      N4st0r, trixx0r h0bb1tz0rz! Th3y st0l3 0ur pr3c10uzz!
    95. Re:The real 90s versus outdated 00s software by bani · · Score: 1

      it doesn't need code recompilation nor does it need the developer to be aware of what the platform actually does beneath

      which of course is why there are seven different distributions of azureus, each one OS-specific.

      "php is dying", eh?

      if anything, the long term graph shows it's java that is dying.

    96. Re:The real 90s versus outdated 00s software by Anonymous Coward · · Score: 0
      You are totally right. My desktop box always runs at 100 % CPU utilization, so there's no way that I can spare a few for a background thread. All of my Java apps also run at 100% always too.

      Do you even have a clue how modern Java garbage collectors work? Collection of short-lived objects (which is the vast majority in many apps) in a generational GC is extremely fast, and definitely does not take "lots of CPU cycles".

    97. Re:The real 90s versus outdated 00s software by m50d · · Score: 1

      Perl is at least as portable as Java, it just makes less fuss about it.

      --
      I am trolling
    98. Re:The real 90s versus outdated 00s software by Boronx · · Score: 1

      My biggest problem with lisp is that "emacs" seems to be a given. Let's face it, unless you love emacs, it sucks.

      A couple of years ago I learned some emacs, enough to do a few cool things with the built in lisp. I set it aside and a year or so later found "Lisp in a box" or whatever. This is a package that supposed to get new lispers up and running with minimal fuss.

      I installed on a Windows machine, the lisp interpreter worked, the editor popped up, and it was a Windows version of emacs. I couldn't remember how to do one thing with emacs, not even how to quit.

      Many other like me, I'd guess, will just avoid lisp until "Those that don't you use ilisp with emacs deserve to lose.", as it said in one CMUCL man page, is no longer the horrible truth.

    99. Re:The real 90s versus outdated 00s software by Anonymous Coward · · Score: 0

      Just as an aside, don't forget that there are other VM's that you can use that are written by companies other then Sun. Sun makes a large bloated VM. I have worked with other VM's that are much faster and implement the libraries in a much cleaner way with a much much smaller footprint.
      I agree with a lot of these posters. It's the VM that is at fault and not the language.
      Java itself is still a great option for many projects....as long as the VM that is used to execute the code is something designed for speed and not that Sun piece of crap.

    100. Re:The real 90s versus outdated 00s software by eneville · · Score: 1

      > Perl is at least as portable as Java, it just makes less fuss about it. I've never seen perl on mobile phones ;)

    101. Re:The real 90s versus outdated 00s software by Darby · · Score: 1

      I didn't have the honor of reading the original flamewar.

      Well, now you can!

    102. Re:The real 90s versus outdated 00s software by Karma+Farmer · · Score: 0, Redundant

      1997: Java 1.1 VMs are vastly better than previous releases, with more optimisations and better garbage collection. They can routinely equal C++ in terms of performance...

      1998: Java 2.0 VMs are vastly better than previous releases, with more optimisations and better garbage collection. They can routinely equal C++ in terms of performance...

      2000: Java 3.0 VMs are vastly better than previous releases, with more optimisations and better garbage collection. They can routinely equal C++ in terms of performance...

      2002: Java 4.0 VMs are vastly better than previous releases, with more optimisations and better garbage collection. They can routinely equal C++ in terms of performance...

      2004: 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...

      2007: Java 6.0 VMs are vastly better than previous releases, with more optimisations and better garbage collection. They can routinely equal C++ in terms of performance...

      2009: Java 7.0 VMs are vastly better than previous releases, with more optimisations and better garbage collection. They can routinely equal C++ in terms of performance...

    103. Re:The real 90s versus outdated 00s software by Thundersnatch · · Score: 1

      I love Python, having just picked it up. It has very natural syntax, and it is truly cross-platform. But man does it run SLOW. As in Java-1.0, everything is interpreted slow. As far as I can tell, there are no fully working JIT VMs, nor any working native compilers.

      Pyrex and Psyco can address performance somewhat, but require at least some code changes. They are also incomplete at accelerating all of Python, according to their own documentation.

    104. Re:The real 90s versus outdated 00s software by prionic6 · · Score: 1

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

      Damn, if only this was true. One of java strongest point for enterprise applications are application servers like Weblogic, Websphere etc. Unfortunately, this also mostly kills the compatability... Our company needed about a week to lift a somewhat big application from Weblogic 8.1 to 9.0...

    105. Re:The real 90s versus outdated 00s software by CoolVibe · · Score: 1
      So, will this mean the trolls wil finally give up that tired old BSD is dying routine and do a | sed -e s/BSD/java/ on those posts? (just kidding)

      Back on-topic though, the six versions of azureus is just the packaging. The .jar will run basically everywhere you can get a jvm for.

    106. Re:The real 90s versus outdated 00s software by CoolVibe · · Score: 1

      Well, I do have Python on my Symbian-60 powered phone (nokia).

    107. Re:The real 90s versus outdated 00s software by bani · · Score: 1

      no, it's more than that. the linux version includes a bunch of platform-specific binary gtk shared libs. the osx version includes a bunch of platform-specific binary carbon shared libs.

      don't even get me started on how bloated and slow azureus is either :)

    108. Re:The real 90s versus outdated 00s software by aled · · Score: 1

      You know, some people like to have applications packaged in their native OS standard. That doesn't mean the application isn't the same, only the packaging is different. In the case of Azureus it has some native components -notably Eclipse SWT- but AFAIK the Java part is the same in every distribution.

      --

      "I think this line is mostly filler"
    109. Re:The real 90s versus outdated 00s software by Anonymous Coward · · Score: 0
      Ada is probably still the best language available for it's design area: Military embedded systems. It is still used to code for - you guessed it - military embedded systems. Including new military embedded systems. Ada 95 has been updated with support for object oriented programming, and the original had most of the "modern" features (packages, exceptions, etc). Ada isn't usually garbage collected, though the language supposedly supports this.

      I think calling it "outdated" is a bit harsh - there's not many left that try to use it outside it's design area any more, yet that has always seemed to be a fairly small group anyway.

      Eivind.

    110. Re:The real 90s versus outdated 00s software by m50d · · Score: 1

      It's certainly doable, and I'd be surprised if it hasn't been done. If nothing else I'm pretty sure there's a perl interpreter for the JVM.

      --
      I am trolling
    111. Re:The real 90s versus outdated 00s software by Decaff · · Score: 1

      1997: Java 1.1 VMs are vastly better than previous releases, with more optimisations and better garbage collection. They can routinely equal C++ in terms of performance... ....
      2009: Java 7.0 VMs are vastly better than previous releases, with more optimisations and better garbage collection. They can routinely equal C++ in terms of performance...


      I suggest you actually look at the history of Java performance before posting a rant like this. It does not help your argument, and how it was rated 'informative' is beyond me.

      There was no doubt that early versions of Java were slow, and came nowhere near C++ performance. Before version 1.2 of the JVM Java would only reach 10%-30% of C++ speed. This is typical of low-quality JIT compilers, and many other cross-platform languages (such as Smalltalk) would reach similar speeds.

      Then IBM got in on the act, and started to produce really high-quality JITs for the JVMs. Even so, programs would only reach around 50-70% of C++ speeds typically. Sun's VMs were usually worse.

      The big speedup came with Hotspot in Java 1.4. This was not a traditional JIT, but a background compiler and optimiser. This could produce far better machine code than JIT as it could take the time to perform extensive optimisations. This is when Java really started to hit C++ speed. In theory this sort of optimisation (where the machine code is continally re-profiled and adapted as a program runs) could produce faster code than a single pre-execution compilation as with C and C++.

      In reality, some Java implementations did reach C++ speeds even in 1997! However, these were very specialised VMs or Java compilers that would only provide such performance on specific platforms. The key to Java's current speed is general approaches that can give true cross-platform high performance.

      The moral: don't rant - research.

    112. Re:The real 90s versus outdated 00s software by bnenning · · Score: 1

      and compare this: File f=new File("file.foo"); BufferedInputSTream bis=new BufferedInputStream(new FileInputStream(f)); while( (br.readLine()!=null) ... or open (FILE, "file.foo"); @f=; foreach(@f){

      Right. And that's why I'm starting to really like Python:
      f = open("file.foo","r");
      for line in f.readlines():
          blah(line)


      Only slightly more verbose than Perl, but far more readable.

      --
      How to solve most of our problems: 1.Lots of nuclear plants. 2.Cure aging.
    113. Re:The real 90s versus outdated 00s software by Anonymous Coward · · Score: 0

      I think you're mistaken about Haskell. I don't even have a cs degree, let alone a math ph. d., and I've been Learning Haskell for a couple of weeks and find it very simple and powerful, not to mention flexible and robust. It's true that it lends itself really well to mathematical-type programming, but it's not limited to that, and doesn't require any more background knowledge than any other functional language. As compared to Python, which is probably the easiest language to learn bar none, it just requires a little more discipline, and the tool help isn't quite there yet.

    114. Re:The real 90s versus outdated 00s software by Decaff · · Score: 0

      Well, good for you. I imagine you have a better machine.

      So what is the spec of your machine? What Java apps are you running? Let's actually compare real apps and hardware.

    115. Re:The real 90s versus outdated 00s software by Anonymous Coward · · Score: 0

      What do you mean "you'll never get compile-time errors and very few run-time errors"?

      If you're talking about Eclipse itself, of course there won't be compile-time errors

      If you're talking about applications developed using Eclipse, I agree the IDE makes it nicer to code (Eclipse is awesome) but how the hell does it affect the number of run-time errors?

    116. Re:The real 90s versus outdated 00s software by ph1ll · · Score: 1
      "I do think that Java is an outdated language"

      Jeez, how many times does this have to be said: there is no shortage of good programming languages, just a Worldwide shortage of good programmers.

      Although a Java fan myself, I totally respect excellent Perl programmers, excellent C++ programmers - hell - even excellent Cobol programmers.

      It's a sweeping generalisation, but the people who say: "dude, this language is so, you know, totally outdated" are from the same crowd who work on a failed project, reflect for a second then say: "Man! Why do I keep finding languages that soooo blow?".

      --
      --- "We've always been at war with Eastasia."
    117. Re:The real 90s versus outdated 00s software by Anonymous Coward · · Score: 0

      > Having just been through the pain of watching our developers switch from Sun 1.3 to IBM 1.4.2, I think your experience is out of the ordinary.

      I call rubbish on that one.

      We have moved from Sun 1.3 to IBM 1.4.2 and back seamlessly on enterprise projects (vehicle and warranty tracking/mgmt systems for Toyota and financial application suites for several banks in Europe).

      In fact, we have gone as far as developing on IBM 1.4.2 on a Debian linux box and deploying this to a production environment running Sun 1.3 on Solaris with zero problems. We have been doing this for the last 3 years for a variety of our customers, and never have had a problem. We have tried other configurations also, such as developing for IBM 1.5 on linux which then gets deployed to Sun 1.4 OR Sun 1.5 on Windows machines (as the customer requires).

      From your post it seems you are not a developer - maybe it is more the fact that your developers screwed up or don't understand what they are doing. If the software was designed to the Java specification it WILL work between these two virtual machine implementations.

      You made no mention of the problems you had - maybe you could give some actual details instead of making claims.

    118. Re:The real 90s versus outdated 00s software by m50d · · Score: 1

      800mhz Duron. Ram varies between 128 and 384mb. Azureus, yaggui, jedit, then a few random ones I can't remember off freshmeat as a more unbiased comparison. Seconds is an exaggeration, but there is a noticeable, I'd say at least 500ms, delay between clicking something in the gui and having a response occur. I've tried blackdown 1.4, sun 1.4, and sun 1.5 JVMs.

      --
      I am trolling
    119. 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=-
    120. Re:The real 90s versus outdated 00s software by countach · · Score: 2, Insightful

      Most programmers are NOT 'good'.

    121. 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!

    122. Re:The real 90s versus outdated 00s software by Decaff · · Score: 2, Informative

      Even though i'm more of a pythonista, don't forget Ruby here, it got a LOT of momentum fropm Ruby on Rails and the language itself deserves fame. It's well built, flexible, stable, and clearly the best competitor of Python.

      Even though I am mainly a Java developer, I agree that the Ruby language deserves a lot of success. However, I really don't think that there is a lot of momentum around Ruby on Rails. There is a lot of press, and a lot of discussion, but there is little evidence that this has actually resulted in significantly increased use.

    123. Re:The real 90s versus outdated 00s software by typidemon · · Score: 1

      Suns new Squark compiler for j2me (for their motes (sun spots)) is even smaller and faster. They have cut down the size of the squark files to 1/3 the size of class files and added a bunch of optimisations.

      The only thing I like about java is IntelliJ IDEA, it is by far the best IDE since smalltalk IDEs. That includes Visual Studio, which is slow clunky and horrible compared to IntelliJ IDEA.

    124. Re:The real 90s versus outdated 00s software by typidemon · · Score: 2, Insightful

      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.

      You think eclipse is good? You should try IntelliJ IDEA. It is what Eclipse tries to be.

    125. Re:The real 90s versus outdated 00s software by Decaff · · Score: 1

      Actually, that is understandable. I have found even relatively bare Windows XP and Linux with Gnome/KDE to be less-than-usable on a machine with, say, 128MB. I would expect significant delays even with C++/KDE apps on a machine with that spec.

      The key thing, in my view, is swap space. A machine with 384MB and, say, 512MB of swap with that spec should give a reasonable performance. The delay in the GUI should be there at the start, but disappear as the JIT starts to work.

    126. Re:The real 90s versus outdated 00s software by Maxmin · · Score: 2, Interesting

      background threads don't help with CPU intensive work on single processor boxes.

      If you know enough about thread management to enter this conversation, then you would know about thread priority settings.

      the GC and the JIT'er take CPU cycles, (and lots of them).

      What takes lots of CPU cycles is poor design. If you find that you're creating and disposing of objects over-and-over again, such that your memory manager is kept noticeably busy, then it is time to revist your design, whatever the language. Simple memory-management in C++ can mask bad design, because inline malloc/dealloc (vs. the GC) will spread the task over time, instead of bunching it together like Java (on a properly prioritized background thread :), making it less noticeable, even though it might be a similar percent of CPU cycles utilized.

      Good reading to this end:

      Effective Java
      Effective C++

      The other thing is, when you use Java J2SE classes from the built-in libraries, you're working with sometimes very general-purpose classes, designed to handle lots of situations. General purpose can equal slow performance. If you want better performance, write better code, specific to the task at hand.

      Also realize that Strings in Java are not at all like char[] in C++. Like I said, general purpose classes can be slow. You're better off rolling your own, at times.

      Cheers.

      --
      O lord, bless this thy holy hand grenade, that with it thou mayest blow thine enemies to tiny bits, in thy mercy.
    127. Re:The real 90s versus outdated 00s software by Jobe_br · · Score: 1

      How is java.lang.Class not an Object? And java.reflect.Method would be an Object as well. Since Java doesn't differentiate betw. functions and methods, that takes care of functions as well. I'm not sure how/when a package would need to be an Object, so I can't answer that.

      If you need methods on integers, doubles, floats, etc. - then you would use the appropriate classes (Integer, Double, Float, Long) to represent them, right? The method belongs to the Class, after all, not the data type. There's a difference. Auto-boxing just takes away the need to know what you're getting (parameters to a method) or what you're sending (does the receiver expect an int or an Integer? doesn't matter). This is really the only place it is needed, I think. And elegantly enough, backwards compatibility isn't broken.

    128. Re:The real 90s versus outdated 00s software by Maxmin · · Score: 1

      One other thing. If you've got a CPU-intensive task, why not write that in C/C++ and import it to Java? You can do that, you know. The interop is pretty clean. You get the best of both worlds.

      --
      O lord, bless this thy holy hand grenade, that with it thou mayest blow thine enemies to tiny bits, in thy mercy.
    129. Re:The real 90s versus outdated 00s software by rossifer · · Score: 2, Interesting

      Java's "Write once run everywhere" motto is a joke, and everyone knows it.

      "Write once, run anywhere" certainly was oversold. For server-side applications, however, it's awfully close to reality.

      We currently test our server-side Java application on Solaris, RHEL, and Win32 (2K, XP, 2003) with JBoss, WebLogic, and WebSphere as the app server with zero changes outside of two configuration fields. All of the internal code that pays attention to the platform differences (and there's more for app server than for hardware/os differences) is in three classes that haven't been touched in almost two years (I just checked).

      This isn't truly "run anywhere" as we only use commodity OS's on "PC or better" hardware, but it sure beats porting a C++ program across those same platforms.

      [...] Ruby on Rails and the language itself deserves fame. It's well built, flexible, stable, and clearly the best competitor of Python.

      I agree. Ruby and Python are rightly taking over light-weight web-application mindshare, but Java and .NET still seem to be more appropriate for more complex systems with big transactional database requirements (and there are a lot of business applications that have these requirements).

      Regards,
      Ross

    130. Re:The real 90s versus outdated 00s software by Jasin+Natael · · Score: 1

      Exactly. PHP is like, four different languages all rolled into one. Move from 3.0 through 5.1, and you'll see it go from being a simple, kind-of-crappy scripting language, to a platform where you can implement most Java classes as PHP classes, and get similar performance characteristics (if you use a cache/optimizer).

      The reason it <quotey_fingers>doesn't encourage good coding</quotey_fingers> is because it hasn't thrown out the simple, linear scripting. It probably never will, because it was designed to meet a wide range of needs with a single scripting language. There's value in dropping out a text file of some statistic you need, and there's also a lot of value if you write a class with all the modern features to turn a raw SQL Query Result into a JPG Bar Graph. You could do either with Java -- but reducing the amount of work for the simple task is a noble ambition, and (IMO) the second task is much easier as well.

      For the record, I use Java for server apps, too. If I had a team of programmers, I'd probably insist on Java. But for 1- or 2-person projects, PHP is a timesaver and a lot less problematic in the long run.

      --Jasin Natael
      --
      True science means that when you re-evaluate the evidence, you re-evaluate your faith.
    131. Re:The real 90s versus outdated 00s software by Decaff · · Score: 1

      One other thing. If you've got a CPU-intensive task, why not write that in C/C++ and import it to Java? You can do that, you know. The interop is pretty clean. You get the best of both worlds.

      This simply isn't necessary. There is little evidence that C/C++ is faster at such things.

    132. Re:The real 90s versus outdated 00s software by octopus72 · · Score: 1

      If java is outdated, then what is C/C++?

    133. Re:The real 90s versus outdated 00s software by opos · · Score: 1
      Java is definitely outdated and it's fall was absolutely predictable. Virtually every programming/scripting language developed by the corporate world (with the exception of Cobal) has been short lived. Look at the history dating back to the mid 50s.

      For survivors, languages designed to solve specific problems have enjoyed a long life. Fortran was designed by John Backus to facilitate converting formulas to machine language (formula translator), Basic came out of Dartmouth to make teaching programming easy, B came from Ken Thompson at Bell Labs which led to Dennis Richie's C in order to overcome obstacles with the Multics/PL-1 project. More recently, Perl, PHP etc - also were driven by individuals solving specific problems.

      What fell? PL/1, designed by IBM to combine the utility of Cobol and Fortran failed. The Defense Department jumped in and designed ADA and so on until we arrive at Java. Designed by Sun - again, not a response to a specific issue but rather a coporate strategy to solve classes of perceived problems.

      Bottom line - programming/scripting languages, designed by individuals to solve individual problems seem to enjoy a longer life than languages designed by corporate groups that address large classes of problems (to increase market share?).

      And another point - typically languages initiated by individuals have a shallow learning curve (remember printf("Hello world");) whereas languages initiated by groups tend to be too feature-rich (look at PL/1). The remarkable lesson for me is how a few individuals addressed their own problems in such a way that the resulting language could be extended while maintaining a very shallow learning curve.

    134. Re:The real 90s versus outdated 00s software by urbanRealist · · Score: 1
      You hint at it, but no one has yet pointed out the most wonderful thing about Java that makes it a much nicer environment than the P* scripting languages: javac.

      Seriously, haven't you ever mispelled a varible in perl? Doesn't it suck? Such a fiasco never occurs in Java because the compiler catches the error no matter what. Scripting languages may gain popularity, but you can pry the JVM from my cold, dead fingers!

      --
      I've seen a lot of things, but I've never been a witness.
    135. Re:The real 90s versus outdated 00s software by quasi_steller · · Score: 1

      My biggest problem with lisp is that "emacs" seems to be a given. Let's face it, unless you love emacs, it sucks.

      Well, I like Lisp (and Scheme) a lot, but I just can't get myself to like emacs. There are a few good ways to use Lisp with other editors. Personally, I'm a vim guy, and although it is nice having an editor that understands what your doing at a deeper level, even emacs doesn't have the kind of environment that is possible with Lisp. The development environment is an area where I think Lisp is currently lacking. (Wasn't always that way, but, alas, the Lisp environments of the LISP Machines of the 1980's are gone). Personally, I think it would be really cool to build a development environment (in Lisp of course, if only because it will make the environment more tightly integrated) that has a vim type mode (and maybe even an emacs mode). Until then you'll just have to settle for either emacs or perhaps VIlisp in vim.

      --
      ...interesting if true.
    136. Re:The real 90s versus outdated 00s software by Anonymous Coward · · Score: 0

      "First, it deserves credit as the first of the truly wonderful cross-platform, virtual machine driven JIT compilation using languages."

      No, that would be Smalltalk - it was available in 1980 and Java still isn't nearly as good today as Smalltalk was then. Java is a dog with ugly verbose syntax and crummy cast off control structures and type system.

      If you think its good then you've been under a rock. Go buy a book that provides a survey of programming languages over the last 30 years and you'll see we've thrown away many languages that were miles better than Java.

    137. Re:The real 90s versus outdated 00s software by Gr8Apes · · Score: 1

      You don't need to write to the proprietary apis. I've written relatively complex apps that you could drop into Tomcat, Resin, ATG, and Weblogic and run with no issues whatsoever on any of them while they were running on Linux, OS X, Solaris, and Windows flavor of the month. I will mention that at least one of those listed app servers is not J2EE spec compliant, but unless you're really playing with J2EE internals or doing stupid things, you'll never know.

      The problem with compatibility is usually when you want some specific short cut function for a client app, generally with the GUI. This is usually done for performance reasons.

      --
      The cesspool just got a check and balance.
    138. Re:The real 90s versus outdated 00s software by Vladimir · · Score: 2, Interesting

      Oh, come on! What you say may be true on an average desktop with the usual 2% cpu load, but if you have all your CPUs 100% busy where do you get any time for "background"? Next, ever tried any Java IDE? NetBeans,Eclipse -- try that against Xemacs! It's only 100 times more responsive and doesn't crash with "NULL pointer exception" while collecting compilation output. The problem with Java is that you pay A LOT for stuff you don't use. How may bytes is Object on 64 bit platform? What is the price of Object allocation vs C-style allocation on stack? And it's not going away with a better compiler, because language itself guarantees certain things (that are expensive). Another problem is the memory model of Java. The C program can use as much virtual memory as it is allowed (i.e. in most cases the it is a priori bounded by the virtual memory size), on Java, if I understand correctly, you should set beforehand how much you will allow it to use (and the one I tried didn't allow for more than 2GB on 32 bit linux). Can I set the limit to 1TB on 64bit? In C program it make perfect sense as *I* control memory, on Java I'll need to do tricks to clean the memory or it'll eat everything.

      Also, please disclose which airlines use Java for realtime purposes!

    139. Re:The real 90s versus outdated 00s software by koko775 · · Score: 1

      Java *already* allows you to compile your bytecode to machine code, eliminating pre-compilation or JITC delays. What's your point? Furthermore, Java is an open standard (though it's true that Sun owns the base classes, not all of which have been re-coded in the GNU Classpath, iirc Azureus can now be run entirely without Sun code/compilers) -- ever heard of gcj? No, I think that Python can't obsolete Java, just like Java can't obsolete C++, or C++ to C. They have their strengths, niches, and weaknesses. Java happens to have a large niche, and several strengths, and as such I don't believe that any weaknesses or shortcomings will obsolete it for quite some time, thanks especially to the open nature of the platform.

    140. Re:The real 90s versus outdated 00s software by Anonymous Coward · · Score: 0

      Java 5.0 VMs are vastly better than previous releases, with more optimisations and better garbage collection.

      Same claim for each release... always bullshit.

      They can routinely equal C++ in terms of performance.

      [cough] Bullshit...

      As for the windowing libraries, Swing is now hardware accelerated

      Oh, nice to see Sun throw hardware at the problem. Shame that, as usual Linux is the third-class citizen.

      and totally indistinguishable from 'native' GUIs on MacOS/X and Windows Vista.

      Utter bullshit... not even with the Mustang builds. Swing is as ghastly as ever, both in performance and looks. It's long overdue for Sun to throw in the towel with Swing. It's a donkey. If you wait long enough, Moore's law will make computers fast enough so that Swing won't look like someone is *PAINTING THE FUCKING IMAGE*, but it'll still be a badly designed donkey that hogs the processor and memory.

    141. Re:The real 90s versus outdated 00s software by Decaff · · Score: 1

      Oh, come on! What you say may be true on an average desktop with the usual 2% cpu load, but if you have all your CPUs 100% busy where do you get any time for "background"?

      Java uses real OS threads. The scheduler will ensure that these low priority threads are activated. In fact, there is a JVM switch to ensure that such threads get the right proportion of CPU time.

      Next, ever tried any Java IDE?

      All the time.

      NetBeans,Eclipse -- try that against Xemacs! It's only 100 times more responsive and doesn't crash with "NULL pointer exception" while collecting compilation output.

      What are you talking about? I have never seen that happen.

      The problem with Java is that you pay A LOT for stuff you don't use.

      Like what?

      How may bytes is Object on 64 bit platform?

      Depends entirely on the Java implementation. This is no concern for the developer.

      And it's not going away with a better compiler, because language itself guarantees certain things (that are expensive).

      No, they are not expensive. Things like range checking and security are dynamically analysed at run time and are often optimised out.

      on Java, if I understand correctly, you should set beforehand how much you will allow it to use (and the one I tried didn't allow for more than 2GB on 32 bit linux).

      This is an implementation dependent thing, and not specified in the language. For example, HP's Java supports up to 3.5GB on 32-bit HP/UX.

      Can I set the limit to 1TB on 64bit?

      Depends entirely on the implementation. This is not specified in the language.

      on Java I'll need to do tricks to clean the memory or it'll eat everything.

      You may say this, but no-one else seems to need to do this. Major Java app servers run for very long periods without having to do such tricks.

      Also, please disclose which airlines use Java for realtime purposes!

      Boeing. They have real-time systems that they demonstrated at JavaOne this year.

      The real question is why you are asking these things. This information is all available in the public domain, and no further away than a Google search.

    142. Re:The real 90s versus outdated 00s software by Anonymous Coward · · Score: 0

      in most cases, and my opinion, threads, blocking I/O and even worse, "tiers" (as a synonym for "it's still too slow), are pretty outdated. when it comes to non-blocking I/O, the cards are shuffled again, the great benefit of java applications to handle threads without a hell of mutexes is not that important any more.

      when it comes to fast little daemons for common tasks, java was the language of choice once - now, c (and c++) strike back, giving the power to php, python and the others to use selects, poll or any other event completion api.

      but java still has its places. it's a bad idea to write middleware in "p", regardless of the acronym, if you can do it in java. and there are other "best practices" too, where java should be used. the hype is over and as any hype, it suggested a general usability for almost any task, an approach that none of the lamp languages will fulfill either. atm, the only one who claims to be able doing it is, as always .net - and the ones loving "jsomething" framework to abstract the framework for virtual not really interplatformoperbility bytecode can switch from the one to another without a big difference. the beauty of c# can keep up with the superior design in java (in comparision to the other availeable languages last century, java really was a milestone).

      the availability of libs, out-of-the box clustering solutions and cheap scripting language programmers allow a cheaper way to fit most needs. but java will not die, as a forecast, i think it will end up like cobol, where the programmers who really stayed at using it will maintain solutions of bigger companies not willing to change the running system.

    143. Re:The real 90s versus outdated 00s software by Decaff · · Score: 1

      Oh for goodness sake!

      Stop saying 'bullshit' and actually check some facts. It isn't hard you know!

      Check the VM parameters for differences between Java 1.4 and 1.5. There are substantial Java vs. C++ benchmarks out there a no amount of saying 'bullshit' will invalidate them, no matter how much you may want this to.

      As for Swing performance, you are showing your ignorance yet again. Linux is not a 3rd class citizen, as OpenGL acceleration is available.

      Regarding Swing on MacOS and Windows Vista, you can say 'utter bullshit' if you like, but guess what? Mustang is beta! Sun and Microsoft are still working on things, which not surprising as Windows Vista is not finished yet! If you don't believe that Swing on MacOS/X is not totally compatible, perhaps you might want to actually check with Apple? They happen to disagree with you.

      And why should Sun give up on Swing when it has recently become the most popular GUI for client-side development?

      Stop ranting and try and actually research some facts.

    144. Re:The real 90s versus outdated 00s software by Anonymous Coward · · Score: 0

      The big speedup came with Hotspot in Java 1.4. This was not a traditional JIT, but a background compiler and optimiser. This could produce far better machine code than JIT as it could take the time to perform extensive optimisations. This is when Java really started to hit C++ speed. In theory this sort of optimisation (where the machine code is continally re-profiled and adapted as a program runs) could produce faster code than a single pre-execution compilation as with C and C++.

      Bollocks. This run-time profiling is a total myth. Java still badly loses benchmarks where, if your claims were true, it should win handily.

      This run-time profiling is a common claim by Java advocates... it's just a shame that it is 100% shite that sounds impressive.

      In reality, some Java implementations did reach C++ speeds even in 1997! However, these were very specialised VMs or Java compilers that would only provide such performance on specific platforms. The key to Java's current speed is general approaches that can give true cross-platform high performance.

      I bet you were wanking while you wrote that. Fortunately, most people have a more realistic vision of Java. Namely that every Java app they've ever tried blows... drinks memory like water (and never gives it back) and slows their machine to a crawl while being spectacularly ugly. (and yes, this is with Java 1.5 *and* with the Mustang dev versions).

      The moral: don't rant - research.

      The moral: don't believe everything you hear from Sun marketing. They tend to lie a *lot*.

    145. Re:The real 90s versus outdated 00s software by Decaff · · Score: 1

      Bollocks. This run-time profiling is a total myth. Java still badly loses benchmarks where, if your claims were true, it should win handily.

      That is a broad claim, and is utter nonsense.

      Java simply doesn't badly lose benchmarks:
      http://www.kano.net/javabench/

      I bet you were wanking while you wrote that.

      Way to go to get modded up.

      Fortunately, most people have a more realistic vision of Java. Namely that every Java app they've ever tried blows... drinks memory like water (and never gives it back) and slows their machine to a crawl while being spectacularly ugly. (and yes, this is with Java 1.5 *and* with the Mustang dev versions).

      Fortunately most people have a more realistic vision of Java that you, which is why it is so successful. It is your opinion against the majority.

      By the way - Java *does* give memory back. You need to research more.

    146. Re:The real 90s versus outdated 00s software by 3770 · · Score: 1


      For a single threaded piece of work on a computer with SMP, hyperthreading or dual core... Umm, yes, it does.

      Also, consider a call to a web servie. With C++ the destructors for any objects you allocate has to be executed before the webservice can return. For Java the webservice can return before the objects are destroyed. So they will be able to do some of the work after the web service has responded to the client. This is a benefit for single threaded hardware.

      --
      The Internet is full. Go Away!!!
    147. Re:The real 90s versus outdated 00s software by 3770 · · Score: 1

      off topic, but do you know that gruntled actually isn't the opposite of disgruntled? The dis is part of the word and not a prefix. I still appreciate your sig, I just thought that you might be interested to know.

      --
      The Internet is full. Go Away!!!
    148. Re:The real 90s versus outdated 00s software by sbrown123 · · Score: 1

      now, c (and c++) strike back, giving the power to php, python and the others to use selects, poll or any other event completion api.

      Umm, I don't think it was a c and c++ strike back. Java's virtual machine is written mostly in c/c++ and it achieves its "power" from them just like LAMP languages do.

      but java will not die, as a forecast, i think it will end up like cobol, where the programmers who really stayed at using it will maintain solutions of bigger companies not willing to change the running system.

      True. But I also see Java as a language that is currently evolving thanks oddly enough to Microsoft and RoR. Microsoft's .NET got Sun off their asses to improve the language and look at how slowly they were adopting new ideas. Sun copied ideas from .NET just as .NET original cloned C# off of Java. And Java is currently seeing gained interest in being the base for scripting languages with the eventual adoption of Groovy and Beanshell. RoR has those numerious oversized and complicated Java web frameworks questioning their design and starting again with the idea of keeping it simple.

    149. Re:The real 90s versus outdated 00s software by mbrod · · Score: 1

      I've written a lot of Perl, C, C++ code for years. Most of my web programming has been with Perl and PHP. The organization I work for recently became more friendly to open source tools and software. We started standardizing on Apache Tomcat and use a ton of Java with that. I must admit I absolutely love it. Much of what I hated about Java when I looked at it years ago is much better now and a lot of really good design literature is out there on how to structure everything well. The good architecture and design always seemed to lack in the Perl and PHP web based solutions. Not the fault of either language but the programmers writing it. Anyway using Java and Tomcat to build solid web applications has been a blast and it is fairly easy to come up to speed on how they structure everything.

    150. Re:The real 90s versus outdated 00s software by Anonymous Coward · · Score: 0

      The world doesn't only have GOOD programmers and BAD programmers, there are AVERAGE programmers

    151. Re:The real 90s versus outdated 00s software by Trinition · · Score: 1

      Java's "Write once run everywhere" motto is a joke, and everyone knows it. I've never seen any serious developper that could tell me he was able to make Java code flawlessly run on every plateform.

      While I don't have a picture handy so you can see me, lets start by having you know that I exist:

      Hi I'm a serious developer who relies on Java's cross-platform support
    152. Re:The real 90s versus outdated 00s software by Kent+Recal · · Score: 2, Insightful

      So they will be able to do some of the work after the web service has responded to the client. This is a benefit for single threaded hardware.

      Wtf. Can you name a piece of "single threaded hardware" that provides "web services" (I assume you're talking about SOAP and the ilk?).

    153. Re:The real 90s versus outdated 00s software by Anonymous Coward · · Score: 0

      I believe the argument here was that C++ was slower than Java. Somebody mentioned that incremental GC and background threads for the extra processing somehow gave Java the advantage.

      Nobody's saying the GC and start-up times haven't improved. It's just that these artifacts don't exist in C++ at all, and no amount of optimisation will make something look like nothing.

    154. Re:The real 90s versus outdated 00s software by Angus+Chan · · Score: 1

      > The C program can use as much virtual memory as it is allowed > (i.e. in most cases the it is a priori bounded by the virtual > memory size), on Java, if I understand correctly, you should > set beforehand how much you will allow it to use That's GOOD practice!! I have experience that a bad software (its BitComet earlier version) eat up 2G memory and what I can do is to unplug my PC

    155. Re:The real 90s versus outdated 00s software by davygrvy · · Score: 1
      When I think of the 90s, I think of my days designing in RIPterm [wikipedia.org] 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.

      Time portal flashback.. That rocked! Do it again.

      Oh the days in front of procomm+ on an 80x25 vga screen programming in aspect, wow.

      +++ATH0^M

      --
      -=[ place .sig here ]=-
    156. Re:The real 90s versus outdated 00s software by 3770 · · Score: 1

      A single CPU machine without hyperthreading would be an example.

      I'm wondering if you actually are talking about software in your question. And while the application server most certainly will be multithreaded your web request will most likely execute in one thread from the time the request is made until you send the response. Unless you create a second thread yourself.

      But I shouldn't have said: "This is a benefit for single threaded hardware". I should have said: This is a benefit you get _even_ on single threaded hardware.

      And the benefit I'm talking about is that the cleanup can take place after the response has been sent.

      --
      The Internet is full. Go Away!!!
    157. Re:The real 90s versus outdated 00s software by Anonymous Coward · · Score: 0

      Sorry to break it to you, but Perl has been renamed "Ruby" and it's now the latest fad. Better get started learning it again.

    158. Re:The real 90s versus outdated 00s software by aled · · Score: 1
      Please, let me quote from the same siteas you. Seems that Java is more than twice as popular as PHP and growing, while PHP popularity is declining:
      TIOBE Programming Community Index for December 2005
      December Headline: Java and C# Nominees for "Programming Language of 2005" Award
       
      The TIOBE Programming Community index gives an indication of the popularity of programming languages. The index is updated once a month. The ratings are based on the world-wide availability of skilled engineers, courses and third party vendors. The popular search engines Google, MSN, and Yahoo! are used to calculate the ratings. Observe that the TPC index is not about the best programming language or the language in which most lines of code have been written.
       
      The index can be used to check whether your programming skills are still up to date or to make a strategic decision about what programming language should be adopted when starting to build a new software system.
       
      Position Dec 2005, Position Dec 2004, Programming Language, Ratings Dec 2005, Delta Dec 2004
       
      1 2 Java 22.129% +5.80%
      2 1 C 19.632% +0.06%
      3 3 C++ 11.026% -0.89%
      4 4 PHP 9.629% -1.76%
      5 5 (Visual) Basic 8.710% +0.54%
      (I had to reformat the table, look at above URL for the complete data)
      --

      "I think this line is mostly filler"
    159. Re:The real 90s versus outdated 00s software by Vladimir · · Score: 1

      Okay, name ONE major Java application that you are proud of (as a Java fan). I know two: Eclipse & Netbeans. Both sucks at speed/memory footprint compared to Emacs (I agree they have other very nice features and can be useful for a lot of things). Both easily run out of memory when compile a big project. Name one Java implementation where I can have a vector with a billion of elements. Name one serious game written in Java (I like BookWorm -- Comodore64 class game, I tried Quake2 -- too bad didn't work for me on Linux). Name one compiler written in Java that is competitive with GCC...
      Yes, the language itself is nice, it's just impossible to implement it efficiently.

      And I do not agree that sizeof(Object) should not bother developers: actually it matters a lot in many projects. If you don't need locking, don't need virtual tables, don't need garbage collection -- you don't want to pay for all this stuff.

      With C (and to some extent with C++) I can predict cache footprint of a function, can ask questions about page misses, memory locality, can rewrite code to use SSE2 intinsics, etc. With Java such questions have no meaning as you have a very little control over it!

      And about Google searches -- not surprisingly they write software in C/C++ and don't run on HPUX (I think).

    160. Re:The real 90s versus outdated 00s software by Nataku564 · · Score: 1

      I find thats usually due to the fact that perl is fairly unique in the way it lets you tackle problems. Most people already have experience with the strong/static typing languages like Java, C++, C#, etc. My university doesn't even offer a course in Perl, or any language similar to it for that matter. Yet we have plenty on C++ and Java. Uber-OO languages are in right now, so no one is taught how to use other ways of thinking.

      Heck, I learned more ML and Prolog at the university than Perl. Sad, really. I currently spend about half my time at work coding in Perl, and I love it.

    161. Re:The real 90s versus outdated 00s software by bani · · Score: 1

      the long term graph shows a definite trend in declining java popularity, and growing php popularity. a 1 year delta does not nullify the 5 year trend, unfortunately for you.

      but go ahead and quote till you turn blue in the face, won't change facts :)

    162. Re:The real 90s versus outdated 00s software by SageMusings · · Score: 2, Interesting

      People keep saying this. I suppose that includes most slashdot posters, too.

      I do not mean to rock the boat but I have mostly met very good programmers. Those who were less than stellar usually improved markedly after a bit of coaching and review. Why does everyone believe that good programming requires some magic intangible that most of do not have?

      I have yet to run across another professional from another discipline who constantly claims all his peers "mostly suck". This is not an attack on you or your post; it is just a fervent wish that we start selling ourselves as the professionals we want to be perceived as being.

      Now QA? They suck....:)

      --
      -- Posted from my parent's basement
    163. Re:The real 90s versus outdated 00s software by Nataku564 · · Score: 1

      I know someone who works at GE Medical on one of their monitor products. The user interface is being written in Java. They had to get a custom VM from IBM in order to get the reaction speeds required of a said monitor.

      So, yeah. You can write Java apps to be real time, if you get a custom implimentation of the VM.

    164. Re:The real 90s versus outdated 00s software by Vladimir · · Score: 1

      You probably from msdos background, as with the bad software you described you can trivially fix it with limits ("limit vmemory 256m"). But the good system should allow you to use all resources of you machine -- shouldn't limit you. With java, it is possible to, for example, pass "-Xmx400000m" to sun's java 1.5 (just tried on my box) -- first thing it does is to pre-allocate 400GB, making eclipse to use 800MB of RAM. Not a very scalable system if you need tweak memory settings for every program, I much prefer programs that take memory as they need it.

    165. Re:The real 90s versus outdated 00s software by Nataku564 · · Score: 1

      I love java. I dislike java zealots, which frequently translates into me appearing as if I were bashing java.

      I'm a C++ guy, by training and preference. I currently code in .NET and Perl at work, and do my fun C++ at home. I like interpreted languages (or "managed" as microsoft has buzzworded it), and they have their place. Most user applications should be written in them. They are safer, more secure, blah blah blah. It just irks me when zealots declare language X as efficient as my pretty optimized binary. C++ has its place. If you want to scream and bleed, its the only way to go.

    166. Re:The real 90s versus outdated 00s software by Nataku564 · · Score: 1

      I am curious as to what platform you are running your webservices on, that requires object destruction before spitting stuff back across the wire. Sure, you _can_ do it this way, but I am unaware of any such requirement.

    167. Re:The real 90s versus outdated 00s software by bill_mcgonigle · · Score: 2, Insightful

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

      The Perl Way is to let you do what you want. That you chose to code poorly (or didn't know any better) isn't a reflection on Perl, unless you believe Perl should have forced you to program a certain way.

      Larry Wall is a linguist and he wrote Perl.
      Linguist Larry Wall wrote Perl.
      Larry Wall, a linguist, wrote Perl.
      A linguist wrote Perl; his name is Larry Wall.

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    168. Re:The real 90s versus outdated 00s software by Nataku564 · · Score: 1

      From what I recall, P-Code wasn't JIT'd. So by being very specific about his qualifications, the OP does seem to have a point. Kind of like when car commercials tell you its the "best in its class", and then you do a bit of research and find there are a total of 3 cars in its class, and both are made by the same guy, and some aren't even for consumer sale, just used to justify the "best" qualifier on the real one.

    169. Re:The real 90s versus outdated 00s software by wwwillem · · Score: 1

      1 2 Java 22.129% +5.80%
      2 1 C 19.632% +0.06%
      3 3 C++ 11.026% -0.89%
      4 4 PHP 9.629% -1.76%
      5 5 (Visual) Basic 8.710% +0.54%

      So I may guess that the remaining 28.874% of the programs are still written in Cobol? :-)

      --
      Browsers shouldn't have a back button!! It's all about going forward...
    170. Re:The real 90s versus outdated 00s software by Anonymous Coward · · Score: 0

      Java is outdated because it does all the things that other languages do, but poorly. Of course, it (along with most other languages) was obsoleted in 1958 by LISP.

    171. Re:The real 90s versus outdated 00s software by Per+Abrahamsen · · Score: 1

      > If java is outdated, then what is C/C++?

      Not existing? There never was a language called C/C++. There are two quite different languages called C and C++. Both gives access to low level programming, something none of the languages in the article does. The run-time support (and sometimes the compiler) of each of those languages are typically written in C or C++ for that reason. C++ additionally support object oriented and generic programming better than Java. It does not support rapid prototyping as good as any of the mentioned languages.

    172. Re:The real 90s versus outdated 00s software by man_of_mr_e · · Score: 1

      I did explicitly say "single processor boxes". Hyperthreading MAY give you better performance, but many benchmarks are showing otherwise.

      I've used a TON of java programs, and not *ONE* of them has ever given anywhere near the responsiveness of even a poorly written native application.

    173. Re:The real 90s versus outdated 00s software by Anonymous Coward · · Score: 0

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

      Easy.

      Ada 95 is not oudated. Ada 84 is.

      Fortran 77 is too.

      Basic is unless you're referring to the BasicStamp, and then it's not.

      Java 1.4.2 is, Java 1.5 is not.

      See? Easy.

      > A language is just a BNF diagram specification which describes the syntax of the program,
      > and all of its reserved words.

      Absolutely correct. But "Java -- the Operating System that Knows Better than You" is not just BNF. And it's the implementation that sucks so hard. Because the implementation of Java includes things like Swing in the core set, I'll be seeing crappy java gui's now til 2010, since it will take that long for gcj to write a good and speedy gui interpreter.

      But the BNF also sucks. Why do you have two types of inheritance, "implements" and "extends" when you only really need one. Why did it take til 2005 to get generics and enumerations? How fucking hard is it to say that the symbols ( X, Y, Z) represents the integers ( 1, 2, 3)?

      Why did you extend "+" for java.lang.String, but not for java.lang.Integer? Why can't I override the "aritmetic" operators for my own Matrix and Complex classes?

      ( I + J ) ** ( K * Z ) is easier to read then -> I.add(J).power(K.multiply(Z)).

      Anyway I made my point. We had to use a stupid home-made enumeration class that we created because java didn't have one for us. When we went to 1.5, that broke, and it became very painful to swap our enumerations to the Java ones.

    174. Re:The real 90s versus outdated 00s software by ciggieposeur · · Score: 1

      but aside from that is there a meaningful difference between how Java treats these things as objects vs. the other languages you mention?

      You can't get Java to take the code from one method (or anonymous function) and stick it in a different class at runtime.

    175. Re:The real 90s versus outdated 00s software by man_of_mr_e · · Score: 1

      Oooooh, interpreted! Why didn't you say it was using such speed demon techniques?

      How can you sit there with a straight face and tell me that Interpreted code startup isn't slow? You take interpreted code that runs at roughly 1/10th the speed of native code, THEN (because that's not fast enough) you fire off a CPU intensive compile in the background sucking up even more CPU cycles, and this IMPROVES performance HOW?

      So, if the backround JIT is taking 50% of the CPU time, and the interpreted code is running at 1/10th native speed, that means that the code is running at 5% of what a native program would be running (assuming there aren't even any other programs running). No, of course, now I understand why startup times are blistering fast.

    176. Re:The real 90s versus outdated 00s software by offerk · · Score: 2, Informative
      Especially OS/390 on which none of the other languages mentioned in this discussion will even run

      Not true. Perl runs on every platform mentioned in the above thread, including OS/390.

      --
      I learn from all my mistakes, I intend to be a genius at the end of my life.
    177. Re:The real 90s versus outdated 00s software by Com2Kid · · Score: 1

      Ada is an outdated language,


      Hey, I object!

      It may be an overly irritating language, that is in a drastic state of decline, but it isn't outdated by any means. Unpopular, sure, but not outdated.

      Excellent teaching language (derived from Pascal), just has the unfortunate site effect of causing programmer's to want to tear their hair out.

      Actually I do know of some people who like it. Mostly hyper-organized people who appreciate its innate clarity and clean syntax. (Compared, to, say, C++. :) )
    178. Re:The real 90s versus outdated 00s software by ron_lima · · Score: 1

      Programmers need to make their homeworks in order to improve their skills. I've met lots of bad programmers on the area, no matter the language they work with. Most of the deficiencies they have are almost all the same: data structures, poor logic constructions...

      --
      Ronaldo Faria Lima
      E-mail:ronaldo@ronaldolima.eti.br
      Home page: http://www.ronaldolima.eti.br
    179. Re:The real 90s versus outdated 00s software by drgonzo59 · · Score: 1
      Python (and Ruby) at first seemed to me just like another Perl-like scripting language. I "played" with Python a little and was able to write a 10,000+ lines OO program that would have probably have taken me at least 3 times as much to write in Java or C++ so I made Python my best friend since (before I would say how scripting is for kids, 'real' men compile their programs). But the OO stuff + the power of scripting + having a dictionary (hashtable) as a base type + a great library of modules + the ability to inline C/C++ code with some 3rd party extensions made Python work for me. Ruby I think is pretty close but the library of modules is still not there.

      The way I see it, Python is definetly slower at run time but is faster at developing time. The difference between Java bytecode speed (or even native compiled code) and Python at runtime is a constant factor. Sometimes could be as bad as 10x for tight CPU intensive computational loops (no I/O). That is pretty bad, but it is still a constant factor. In a couple of years Python will be as fast as Java is now. Of course Java will be even faster, maybe Swing might be actually usable ;-) but today's applications that need Java for speed would run fine with Python. So I do see a bright future for scripting languages as the hardware gets faster.

      (By the way did I mention that with some special modules like weave it already is pretty simple to inline C/C++ code in Python and I am experimenting with that for scientific computing and so far I am pretty impressed, it surely beats Java in my benchmarks.)

    180. Re:The real 90s versus outdated 00s software by hayriye · · Score: 1
      So I may guess that the remaining 28.874% of the programs are still written in Cobol? :-)
      About 5 years, I've been constantly saying "Java is te Cobol of the future". Yes, Cobol is still the leader, but you may notice Cobol's decline in recent years if you study the numbers carefully :)

      By the way, which language belongs to 2000s and why?

    181. Re:The real 90s versus outdated 00s software by Anonymous Coward · · Score: 0

      Here's some real world experience. I'm a software developer for a company whose primary development language is Java at the time being.

      There's a lot of things which you say is true. Eclipse is absolutely amazing. Yet, no one at my place of work wants to use it. I did some asking around, and it turns out that for some development environments it's a pain to take an already working Java w/Ant build script and convert it to an Eclipse Project. People who use java there insist on avoiding the use of eclipse, and therefore force everyone's eclipse environment to be broken. They would rather code with TextPad or similar.

      Full fledged J2EE is nice, but moving off J2EE is a pain in the ass. J2EE isn't meant to be scalable down to something like a PDA. EJB 2.x is worthless, which is why everyone was rushing towards Hibernate/EJB3.0 which, btw, may have life beyond the J2EE server. Oh and changing deployment descriptors for different app servers is a royal PITA. EJB 2.x relations are completely screwed up that way.

      The language took till this year to get enumerations. How hard is it to assign a set of symbols to integers in BNF, anyway?

    182. Re:The real 90s versus outdated 00s software by Anonymous Coward · · Score: 0

      "Java ran flawlessly on every platform"

      "Not linux yet, but close."

      I rest my case.

    183. Re:The real 90s versus outdated 00s software by aled · · Score: 1

      About 5 years, I've been constantly saying "Java is te Cobol of the future".

      Does people that make this comments have any idea of what they are talking about? I worked in COBOL many years ago and JAVA more recently, and they are very, very different languages.

      --

      "I think this line is mostly filler"
    184. Re:The real 90s versus outdated 00s software by HamishLawson · · Score: 2, Informative

      Especially OS/390 on which none of the other languages mentioned in this discussion will even run.

      Python appears to be available for OS/390:

    185. Re:The real 90s versus outdated 00s software by masklinn · · Score: 1
      Java treats these things as objects vs. the other languages you mention?

      Try passing a function/method as an argument to another function (GUI callback for example)

      Without using strange patterns that only exist as crutches to the language.

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    186. Re:The real 90s versus outdated 00s software by m50d · · Score: 1
      Actually, that is understandable. I have found even relatively bare Windows XP and Linux with Gnome/KDE to be less-than-usable on a machine with, say, 128MB. I would expect significant delays even with C++/KDE apps on a machine with that spec.

      KDE runs fine on it. My 60mb (64 but it's shared with the graphics) celeron 650 machine can run KDE apps more responsively than Java on the duron.

      The key thing, in my view, is swap space. A machine with 384MB and, say, 512MB of swap with that spec should give a reasonable performance. The delay in the GUI should be there at the start, but disappear as the JIT starts to work.

      I set it up with a gig of swap so I didn't have to worry about that, and it has 384mb in there at the moment. GUI delay's still there in Azureus even when it's been running for several hours and I'm doing the same things I've been doing for all that time.

      --
      I am trolling
    187. Re:The real 90s versus outdated 00s software by Decaff · · Score: 1

      How can you sit there with a straight face and tell me that Interpreted code startup isn't slow?

      Because it isn't, and even a few seconds of thought would reveal. The fact that interpreted languages like PHP and PERL give good response times show that it isn't.

      You take interpreted code that runs at roughly 1/10th the speed of native code, THEN (because that's not fast enough) you fire off a CPU intensive compile in the background sucking up even more CPU cycles, and this IMPROVES performance HOW?

      Because the compile isn't CPU intensive. It is a low-priority background thread (see below).

      So, if the backround JIT is taking 50% of the CPU time, and the interpreted code is running at 1/10th native speed, that means that the code is running at 5% of what a native program would be running (assuming there aren't even any other programs running).

      Why not actually check some facts? Who says that the background JIT is taking 50% of the CPU time? Of course it isn't! It is a low-priority thread, and it is even possible to fine-tune the proportion of CPU time given to an application that this JIT takes.

      No, of course, now I understand why startup times are blistering fast.

      This post shows you don't understand much about this technology.

    188. Re:The real 90s versus outdated 00s software by Decaff · · Score: 1

      Okay, name ONE major Java application that you are proud of (as a Java fan).

      Oxygen - the XML/XSLT processor with GUI.

      I know two: Eclipse & Netbeans. Both sucks at speed/memory footprint compared to Emacs (I agree they have other very nice features and can be useful for a lot of things)

      I simply disagree that they suck relative to emacs. I find NetBeans very responsive.

      Both easily run out of memory when compile a big project.

      I have never found this, even on projects with several hundred thousands lines of code.

      And I do not agree that sizeof(Object) should not bother developers: actually it matters a lot in many projects. If you don't need locking, don't need virtual tables, don't need garbage collection -- you don't want to pay for all this stuff.

      You don't pay for it. Most of this is automatically optimised out by the Hotspot engine even in J2ME implementations.

      Name one Java implementation where I can have a vector with a billion of elements.

      Java 5.0 64-bit.

      With C (and to some extent with C++) I can predict cache footprint of a function, can ask questions about page misses, memory locality, can rewrite code to use SSE2 intinsics, etc. With Java such questions have no meaning as you have a very little control over it!

      True. But this is where C or C++ excels - it is what they were designed for. It is not functionality needed by general purpose code.

      Yes, the language itself is nice, it's just impossible to implement it efficiently.

      Contrary to the evidence....

      And about Google searches -- not surprisingly they write software in C/C++ and don't run on HPUX (I think).

      Google make extensive use of Java.

    189. Re:The real 90s versus outdated 00s software by Anonymous Coward · · Score: 0

      wow, thats not bad. ive only found one bug in my very trivial use of java. i wrote a program that plotted some points and joined them up with lines (written on OS X, jvm 1.4.2), worked fine on os x, tested it on my friends windows machine and only the points were plotted. i never thought to check the jvm version, though it seems like a stupid thing to change the api for, especially since its compiler didnt complain at all

    190. Re:The real 90s versus outdated 00s software by Kent+Recal · · Score: 1

      I'm wondering if you actually are talking about software in your question. And while the application server most certainly will be multithreaded your web request will most likely execute in one thread from the time the request is made until you send the response. Unless you create a second thread yourself.

      I really don't get your point. You have a request, you process it, you respond. There's not much to parallelize in that situation.

      And the benefit I'm talking about is that the cleanup can take place after the response has been sent.

      You mean the GC? Well, the java GC is pretty mature and has been proven faster than most malloc(), free() schemes in all but very special situations. You generally do not *want* to clean up after each request because lots of the stuff will be re-used (and would have to be re-allocated) later anyways.

    191. Re:The real 90s versus outdated 00s software by Kent+Recal · · Score: 1

      I guess you are confusing UI responsiveness with overall performance.
      Getting a cross-platform UI toolkit right (and fast) is hard.
      That has not much to do with the java language, though.

    192. Re:The real 90s versus outdated 00s software by S.O.B. · · Score: 1

      I stand corrected. I hadn't heard that Python and Perl had made it to OS/390.

      --
      Some of what I say is fact, some is conjecture, the rest I'm just blowing out my ass...you guess.
    193. Re:The real 90s versus outdated 00s software by Anonymous Coward · · Score: 0

      Stop saying 'bullshit' and actually check some facts. It isn't hard you know!

      If the word fits... I might have chosen "Advert!", since you clearly don't live in the real world when it comes to Java.

      Check the VM parameters for differences between Java 1.4 and 1.5. There are substantial Java vs. C++ benchmarks out there a no amount of saying 'bullshit' will invalidate them, no matter how much you may want this to.

      Same claims for each release. Bullshit. Sun's marketing and changelog claims don't change the fact that Java is still all but useless for desktop apps. You blather about research -- and yet, all the people who are forced to use Java apps feel the same. How much research do you really expect them to do? Should they read the research papers that make grandiose claims for how well the JVm works -- or should they trust the fact that running even a small Java will send their machine (even one with 512Mb of RAM) into swap and slow it to a crawl?

      As for Swing performance, you are showing your ignorance yet again. Linux is not a 3rd class citizen, as OpenGL acceleration is available.

      1. It doesn't work. 2. Swing is even more awful under Linux than it is under Windows and the Mac -- and remains so under Mustang. Java on Linux is a mess... so gratuitously awful is it, that I've often wondered whether it's incompetence or sabotage.

      Regarding Swing on MacOS and Windows Vista, you can say 'utter bullshit' if you like, but guess what? Mustang is beta!

      Uh? 1.5 is ugly and slow, Mustang just as ugly and slow. So what the fuck were you looking at when you made claims that Swing is indistinguishable? Plus, this doesn't change the fact that Swing is so badly designed that only Moore's law and hardware accelerated graphics can save it from looking like someone is hand-drawing everything... and it also uses masses of RAM. For a 2D drawing system, that's a killer. Swing is a grotesque horror show of zealotry over common sense.

      And why should Sun give up on Swing when it has recently become the most popular GUI for client-side development?

      Because it doesn't work... and has never worked despite the claims made by Sun with each new release. There's a reason IBM ended up having to create a new toolkit with SWT -- and it wasn't because they felt like it. You Java zealots simply don't live in the real world. *NO-ONE* outside of a hardcare Java fanatics like Swing.

    194. Re:The real 90s versus outdated 00s software by Anonymous Coward · · Score: 0
      (By the way did I mention that with some special modules like weave it already is pretty simple to inline C/C++ code in Python and I am experimenting with that for scientific computing and so far I am pretty impressed, it surely beats Java in my benchmarks.)
      There's also Pyrex and Psyco. And the future holds Parrot and PyPy.
    195. Re:The real 90s versus outdated 00s software by AKAImBatman · · Score: 1

      Python has the same cross-platform issues that Java does. For example, if you use an absolute path containing "c:\", you can expect your code not to work on any operating system except Windows. You're not supposed to do it this way, but programmers do it anyway. This also holds true for C, C++, PERL, Ruby, ColdFusion, PHP, C#, Mono...

    196. Re:The real 90s versus outdated 00s software by Anonymous Coward · · Score: 0

      That is a broad claim, and is utter nonsense.

      No it isn't. Point me to a concrete example of Sun's run-time profiling making a difference -- note: no academic specially selected benchmarks. Real world stuff. You can't because there aren't any. It's a myth. A claim made to justify a total waste of memory and CPU power. Here's a clue: These days Sun would do better to make Java work as either a pure interpreter or compile Java code once at installation. It would save memory *and* speed things up. Sun still haven't learned anything from either .net or python -- both of which can be used for desktop apps without many of the nightmarish problems that Java suffers from.

      They won't of course. Sun is locked into a mindset with Java. Your own posts are perfect examples: you refuse to acknowledge problems and prefer to accuse others of not doing research. Depsite the fact that we are *Java users/developers* (reluctant ones, but still) who use Java everyday and are telling you that it fucking blows. Bury your head in the sand if you wish, you'll be in good company with the rest of Sun Microsystems. They've been living in fantasy land with Java for a decade.

      By the way - Java *does* give memory back. You need to research more.

      Running the latest Mustang. Java hogs as much RAM as the JVM command line settings allow it to, and never gives it back.

    197. Re:The real 90s versus outdated 00s software by korbin_dallas · · Score: 1

      You example is upheld by my experiences.

      There are a couple of display bugs between windows(tm) and X. The one I think of is that X doesn't include the caption bar at top=0.

      However add PDAs to the mix and you get real problems. There are quite a few 'issues' lurking in the pda vm's.

      IMHO, Sun should rework the vm, bring back the component builder Java Studio, promote beans and component architecture.

      Alas, Sun never 'fixes' anything.

      --
      They Live, We Sleep
    198. Re:The real 90s versus outdated 00s software by mattpalmer1086 · · Score: 1

      I suspect what is meant is that in the future there will be a vast number of legacy systems written in Java quietly working away mostly, and people won't realise that Java is still powering a lot of our infrastructure. We'll all have moved our gnat like attention on to Blog#Aspect.NET or whatever the current fad is. Similar to the situation with COBOL today.

    199. Re:The real 90s versus outdated 00s software by ciggieposeur · · Score: 1

      I stopped using Java professionally around JDK 1.3.2 (WebSphere 5.0x). In the J2EE/WebSphere environment, we encountered about a dozen problems due to JVM incompatibilities. Here are a few I remember off the top of my head:

      1. DBCS charsets on Solaris (Sun-only JVM, 1.3.x) cored the install (InstallShield MultiPlatform).

      2. DBCS charsets on AIX+Linux (IBM JVM) required a custom environment parameter to render correctly on AWT buttons. This due to an undocumented IBM "enhancement".

      3. Spawning a sub-process on AIX 5L and Windows (IBM JVM) caused the sub-process to die (we saw "stackpointer=xxxxxxxx" in the outputstream) but the parent process never noticed == hung application. (Same code worked fine on Solaris, AIX 4.3.x, and Linux.)

      4. We had about 20 EJBs in the application. Running a long time under Solaris (Sun JVM) caused an erroneous OutOfMemoryError: the HotSpot JIT was misbehaving. An undocumented -XX parameter could prolong the application's lifetime before the error appeared, but nothing actually fixed the problem. Sun closed the defect after two years (and confirmation from dozens of customers) with "non-reproducible".

      5. On AIX (IBM JVM 1.2.2) we had to disable the JIT or it would core under heavy load (not sure why).

      6. (I like this one.) Instantiating an AWT object, on Linux (IBM JVM), with the DISPLAY variable pointing to X11 server via tunnelled ssh: immediate core. Put the DISPLAY over a non-ssh link, all is well. Remove the X11 server entirely, the AWT libraries stopped working (this was before headless support) but the JVM wouldn't core.

      I felt really bad for the install developer. He had to put some extra work into it so that we could run ISMP using any JVM, and then create a matrix of "operating system / charset / defect" combinations so that customers could figure out which JVM was capable of installing the product. (Once installed, the WebSphere JVM was used to run the product.) There was no way to provide a default JVM for each platform that would workaround every defect invisibly to the user. The available JVMs were IBM and Sun, 1.2.0 through 1.4.x.

      I used to buy into the Java hype, now it's simply one tool of many. In some problem domains (such as large enterprise webapps) it's the best tool available, but there are many places that I see Java as inappropriate. YMMV.

    200. Re:The real 90s versus outdated 00s software by kisrael · · Score: 1

      Hmm. I think the incompatabilities are sometimes less at the JVM level and more at the "Application Server" level stuff, at least for web server based kind of things. J2EE in general is only so-so at write once, run anywhere.

      --
      SO YOU'RE GOING TO DIE: The Comic for Dealing with Death
    201. Re:The real 90s versus outdated 00s software by ciggieposeur · · Score: 1

      If the software was designed to the Java specification it WILL work between these two virtual machine implementations.

      Not always, especially in J2EE land (i.e. WebSphere/WebLogic/etc). Some examples here: http://developers.slashdot.org/comments.pl?sid=171 079&cid=14255921 .

      Most times, yes it works fine. Add EJB+DBCS+SQL and write 500 KLOCs and things might go wrong even with "100% Pure Java(tm)".

      But I suspect recent JVMs have improved the situation lot. I don't hear so many horror stories these days. There was a time (Java 1.[01].x) when the JVM would just core for no apparent reason (as in run it again, on the same data and same platform, and it works fine). Later (Java 1.[0-3].x) we discovered that all AWT-based apps (like chart generation libraries) required an X11 display somewhere (that's fun to explain to customers, that your app which runs in a server room that has no CRTs in it nevertheless needs to access an X11 server, so could they please set up a virtual framebuffer server?). Then there was the whole "green threads, native threads, and JIT" suite of issues. And there will likely be a lot of problems after GNU Classpath becomes the first non-Sun-derived "Certified Java(tm)" implementation.

      Anyway, YMMV. If you're happy with Java, keep using it, it'll only get better.

    202. Re:The real 90s versus outdated 00s software by ciggieposeur · · Score: 1

      Or WebSphere. :)

      (I used to work for both in RTP circa 2000-2003.)

    203. Re:The real 90s versus outdated 00s software by Bob+Uhl · · Score: 1
      I guess my big concern with LAMP is what the hell is the P? PHP? Python? Perl?

      PostgreSQL. What--LAMP doesn't mean LISP, Araneida, eMacs & PostgreSQL?!?

    204. Re:The real 90s versus outdated 00s software by Bob+Uhl · · Score: 1
      Plenty of folks have pointed out problems with Java-the-language as well; it's really not that great in several ways, and has some major misfeatures in others (big one: not everything is an object).

      But you do raise a point which cannot be emphasised enough: Java is many things. There's Java-the-language, which is a better C++. There's Java-the-VM, which is nothing to write home about. And there's Java-the-library, which while not always well-designed is extremely full-featured. As far as I can tell, the real selling points are that Java-the-language does memory management for the programmer, and that Java-the-library saves him from writing some code.

      But anyone who's played with more advanced languages really doesn't like Java-the-language. It's kinda sad.

    205. Re:The real 90s versus outdated 00s software by Anonymous Coward · · Score: 0
      Running software is not where I've noticed type errors, but at development time after doing any non-trivial refactoring, since refactoring support in the current IDEs for dynamic languages is woefully inferior to that available in IntelliJ or Eclipse.

      You do catch them before it's deployed of course, and if you have really exhaustive unit tests, then they'll be caught quickly by the unit tests, but I sure do miss the IDE feedback that static typing makes easy to implement.

    206. Re:The real 90s versus outdated 00s software by b17bmbr · · Score: 1

      maybe I read the wrong python books. I thought you had to define a class to import the methods. perhaps I'm wrong. But then again, I'm no pythonista. I do like it alot, and when I have the time (3 kid, sure, there's plenty!!)I do plan on spending more time with it. it does everything perl does and it's readable too!!

      --
      My problem? I was perfectly gruntled, until some numbnuts came by and dissed me.
    207. Re:The real 90s versus outdated 00s software by nzhavok · · Score: 1

      Yeah, maybe you did :)

      All the primative types are (or at least can be used as) objects, but even more interestingly classes, modules, methods etc are *first class* objects which means you can manipulate them quite a lot.

      I had to remove a lot of the output from dir because it set of slashdot's junk filter, but I guess you can get the picture.

      >>> x = 5
      >>> x.__add__(3).__mul__(2)
      16
      >>> class foo:
      >>>>>> def bar():
      >>>>>>>>> pass
      >>> f = foo()
      >>> dir(f)
      ['__doc__', '__module__', 'bar']
      >>> s = "a string"
      >>> dir(s)
      ['__add__', '__class__'...]
      >>> dir(5)
      ['__abs__', '__add__'...]
      >>> dir(foo.bar)
      ['__call__', '__class__'...]

      Not everything can be used directly:

      >>> 5.__add__(3)
      SyntaxError: invalid syntax

      --

      He who defends everything, defends nothing. -- Fredrick The Great
    208. Re:The real 90s versus outdated 00s software by nzhavok · · Score: 1

      Try passing a function/method as an argument to another function (GUI callback for example)

      Without using strange patterns that only exist as crutches to the language.


      Not the OP and I don't quite follow you here, by "strange patterns" do you mean the reflection API? I haven't used it to do this, but I don't imagine it would be too hard. For example if you know you have a class Bar with a method "foo" with no arguments and you want to pass it then you could do something like the following:

      Bar bar = new Bar();
      Method foo = bar.getClass().getMethod("foo", new Class[] {});
      callFoo(foo, bar);

      public void callFoo(Method m, Object o) {
      m.invoke(o, new Object[] {});
      }

      That's off the top of my head, in reality there are probably a bunch of exceptions that need to be handled/thrown. It's not as terse as python and there are some extra things; you have to pass the method and the object, and you have to provide signatures (since python lacks method overloading and java does have overloading, it obvious you need to pass a signature).

      --

      He who defends everything, defends nothing. -- Fredrick The Great
    209. Re:The real 90s versus outdated 00s software by drgonzo59 · · Score: 1
      Tried them all, but I found weave to be the best for me at this point. I can just say
      import weave
      ...python code...
      pyvar1=stuff
      pyvar2=stuff
      code="""
      ... c code...
      int cvar1, cvar2...;
      ...use pyvar1, pyvar2...
      return_val=stuff
      """
      ...back to python code...
      output=weave.inline(code,['pyvar1', 'pyvar2'])

      Easy to write and set up but might have to manipulate Python's internal data structure manipualtions in C. As someone said: Pyrex tries to make C data look like Python data with language extensions, and weave makes Python data looks like C data inside the C inline code.

      Psyco offers from 50% to 30% speedup - not near what a CPU bound tight C loop would but still very usefull.

      PyPy isn't there yet for me, but is certainly interesting.

      Also for those inclined to use Fortran there is f2py...

    210. Re:The real 90s versus outdated 00s software by masklinn · · Score: 1
      Not everything can be used directly:
      1. >>> 5.__add__(3)
      2. SyntaxError: invalid syntax

      That doesn't work because of the floats syntax, Python's trying to build a float with decimal part "__add__(3)", which doesn't work too well...

      This kind of syntax is usually frowned upon though, since methods with double pre and postfixing underscores are "magic methods" used to implement specific operations of the interpreter.

      BTW working example for 5+3

      1. >>> (5).__add__(3)
      2. 8
      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    211. Re:The real 90s versus outdated 00s software by neelm · · Score: 1

      I wish I had mod points today to give you; I've often described python as delivering on java's promise. Java has many great ideas, but got botched along the way... python isn't all the way down the road yet, but it's on the same road and avoiding pot holes java hit. Perl and PHP aren't on the same road - if that's good or bad depends on the problem they are solving.

    212. Re:The real 90s versus outdated 00s software by naarok · · Score: 1

      You might want to re-read my post. The JAVA side ran fine. It was the third party drivers (written in C) that failed.

    213. Re:The real 90s versus outdated 00s software by Baric · · Score: 1

      um, no. He said "truly wonderful" (speaking as a Smalltalk programmer)

    214. Re:The real 90s versus outdated 00s software by Anonymous Coward · · Score: 0

      Pointcast is being resurected on a mobile phone near you. Telcos love the idea of being able to bill you for all the bandwidth you need on a pointcast sytle system (and remember pointcast used A LOT of bandwidth back in the day). so be prepared for screen savers on your mobile phone raking up your comms bill. Stupid idea really but then there are plenty of stupid customers around at the moment.

    215. Re:The real 90s versus outdated 00s software by lachlan76 · · Score: 1

      Such a fiasco never occurs in Java because the compiler catches the error no matter what

      But every programmer worth his salt is starting his/her scripts with use strict.

      This forces you to declare your variables. With PHP however, I admit, you're screwed.

    216. Re:The real 90s versus outdated 00s software by hepwori · · Score: 1

      All you seem to be saying is "Java isn't suitable for all projects". I don't think that's surpirsing, news, or in dispute.

    217. Re:The real 90s versus outdated 00s software by Anonymous Coward · · Score: 0

      Extremely fast, as in as fast as deallocation on the stack? Impressive.

    218. Re:The real 90s versus outdated 00s software by Dan+Hayes · · Score: 1
      for line in open("file.foo"):
      ....print line

      File objects are iterators now.

    219. Re:The real 90s versus outdated 00s software by b17bmbr · · Score: 1

      yeah, i've been told that by a few people and never bothered to look it up on dictionary.com. i just thought fo ra moment and said "that's a witty sig". stupid? sure. kinda like (un-PC moment here) does a person from China who moves to the US become disoriented?

      hey, i think i found my new sig!!

      --
      My problem? I was perfectly gruntled, until some numbnuts came by and dissed me.
    220. Re:The real 90s versus outdated 00s software by Anonymous Coward · · Score: 0

      then isn't the real problem here that these guys want to use a GUI but don't want to use swing?

      it's not a problem for server apps (no GUI).

  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.
    1. Re:Don't Flame Me Because I'm Beautiful ... by homebrewmike · · Score: 1

      > 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?

      Logical and Civil discourse was disposed of when Donahue aired. This is the new century, where the validity of an idea is determined by the loudness of an applause.

      "Next on a very special Oprah, Bill O'Reilly and Dr. Phil make out."

    2. Re:Don't Flame Me Because I'm Beautiful ... by eldavojohn · · Score: 1

      Sage comment.

      I also like your sig, it brought stitches to my sides. But I guess I would prefer if you replaced "make out" with "play with gasoline and matches."

      --
      My work here is dung.
    3. Re:Don't Flame Me Because I'm Beautiful ... by __aaclcg7560 · · Score: 1

      Logical and Civil discourse was disposed of when Donahue aired."logical and civil discourse" for a lot of talk shows.

      Shouldn't that be "went off the air"? I grew up on Phil Donahue and learned a lot from his show. But after he went off the air, seems like cheating spouses and staged fist fights replaced "logical and civil discourse" for a lot of talk shows.

      The only exception would be Saturday Night Live's version of the George Bush/Al Gore presidential debate. :P

    4. Re:Don't Flame Me Because I'm Beautiful ... by Anonymous Coward · · Score: 0

      if slashcode allowed me, i would mod you up 5 times, sir.

    5. Re:Don't Flame Me Because I'm Beautiful ... by Anonymous Coward · · Score: 0

      Hi, I'm creimer. I'm too young to know what things were like before Donahue hit the airwaves, and too stupid to realize that maybe the earth didn't just cool off and form about the time I was born. I learned most of what I know from a prancing, prattling, patronizing left-wing crazy, so I think he was normal, and Slashdot is normal.

    6. Re:Don't Flame Me Because I'm Beautiful ... by timeOday · · Score: 1
      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?
      Actually the article goes a fair bit beyond flaming by citing statistics about the number of fans on both sides, and the trends in those statistics. Perhaps you'd prefer something more technical, but a quantifiable shift in popularity is newsworthy.
    7. Re:Don't Flame Me Because I'm Beautiful ... by __aaclcg7560 · · Score: 1

      What did you expect? I was a Democrat when Donahue was on the air and became a Replublican when he went off the air. BTW, Slashdot is "abbey normal". :P

    8. Re:Don't Flame Me Because I'm Beautiful ... by angel'o'sphere · · Score: 1


      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?


      Never of course :D

      PHP and Java are so different like Ada and BASIC.

      I would say a hughe amount of *good* PHP coders don't know much about Java, or they would conclude "it's different but nice also". And the same in reverse is true for Java coders. (oh no ... did I say that, well I *hate* PHP, but some Java coders, I know, like it)

      PHP: garbage collected like Java
      Java: language level multi threading suppport
      PHP: dynamic typed
      Java: static typed
      PHP: text interpreted, or in other words, text laoded and inerpreted/compield on invocation. On web servers it can be chashed.
      Java: compiled language, to bytecode, and JIT compiled at runtime. (Like .NET)
      PHP: lots of libraries, albeit with inconsistent naming and calling conventions, no GUI
      Java: lots of libraries (frameworks even) with consistent naming conventions, over all a good abstraction on most libraries and well thought out API, 3 (well only 2 in fact) competing GUI libraries exist.

      Java: runs on my PDA and on my mobile phone
      PHP: runs everywhere (he he)

      Java: good IDEs with refactoring support .... I don't think there is something like refactoring for PHP existing.

      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  3. UNIX by biocute · · Score: 1

    Is JAVA the new UNIX? It's still useful sometimes somewhere somehow but most people tend to forget/ignore its existence.

    1. 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
    2. 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.
    3. Re:UNIX by Anonymous Coward · · Score: 0

      What the fuck is JAVA? It's bloody Java. Why are you randomly capitalising THE letters in a WORD? Java has never ever been an acronym. I doubt you could find a single reference to JAVA on http://java.sun.com/.

    4. 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.
    5. Re:UNIX by mugnyte · · Score: 2, Funny


      Quick! JAVA is the new BSD!

    6. Re:UNIX by masklinn · · Score: 3, Interesting
      Here's a tip. Programming languages and platforms aren't sexy

      Yes they are, coding in Ruby or Python is actually geniuinely fun and rewarding. Not having the language go in the way and prevent you from thinking about the program (the forest) because you have to think about the code (the tree) is like discovering programmation over again. Being 5 times more productive with a third of the code lines without losing any clarity or expressiveness (quite the opposite in fact) is refreshing.

      There is no reason for programming language to not be sexy but the ones you accept when you use crappy languages.

      I perfectly agree with the "Use the right tool for the right job", you can't use high level interpreted language when performances and memory footpring are issues, but you won't use Java either anyway...

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    7. Re:UNIX by Anonymous Coward · · Score: 0

      Ruby isn't a real language because you can't write a driver with it.

    8. Re:UNIX by orderb13 · · Score: 1

      Come on, this is /. We will have none of your "common sense" stuff here. You are either FOR Java or a M$ shill. So take your intelligent comment and go post it somewhere people will actually think instead of here with the /. sheepies.

    9. Re:UNIX by The+Man · · Score: 1
      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.

      Between IT directors who make their choices based on what they read about $BIGSHOT_CIO's latest success story in Business 2.0 and foreign outsourced code grunts who learned a single tool at a trade school that updates its curriculum every year to "stay current", this is as good a description as any. Do you really think a group of senior engineers with knowledge of many old and new languages gets together to discuss the project and choose a language? Hell, no. Most companies have so few such individuals on staff, and work them so hard fixing other people's errors, that any kind of technically-directed planning is impossible. Even more importantly, the typical company's IT shop will only have on-staff knowledge of 2 or at most 3 languages, and a given team will consist mainly of junior people hired because their single skill is plentiful and, therefore, cheap. Not coincidentally that'll be a hip and popular language at that time, thanks to mutual reinforcement between trade school curricula and IT management wankfests. Whether that language is technically suited to the problem space would be the last of all possible considerations, and frankly in most cases I would be surprised if it's ever considered at all.

    10. Re:UNIX by Anonymous Coward · · Score: 0

      Well developed Java code is very sexy to people that appreciate writing rock solid reusable code.

    11. Re:UNIX by richieb · · Score: 2, Funny
      That's because the O/S written in Ruby is not finished yet. It will be called Rubix.... ;)

      --
      ...richie - It is a good day to code.
    12. Re:UNIX by metamatic · · Score: 1

      UNIX (TM) as in System V may be increasingly irrelevant, but Unix lives on as OS X, BSD, Linux, and so on. You may not personally run Unix on your desktop, but many do, and it also runs most of the Internet, as well as many corporations. There's a big world outside your AOL client.

      --
      GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
    13. Re:UNIX by masklinn · · Score: 1

      Good Python or Ruby code is much sexier, just as rock solid and probably more reuseable if that could be quantified...

      Your point?

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    14. Re:UNIX by zootm · · Score: 1

      To be fair, on the "C is out of date" side, the use of C has to be very well-justified to make a convincing case. It's not a language that is suitable for many applications these days.

    15. Re:UNIX by kilsoft · · Score: 1

      "...I like Java, but not Sun's dictatorial stance on it... I think I'll come up with my own and call it Lava...
      That is one of the funnier things I've read here.

      Java has never been of interest to me because of the speed. Regardless of the reason for it's slowness everything always seems crappy and old when running on it.

      *be gentle this is my first ever post.

    16. Re:UNIX by size1one · · Score: 1
      I whole heartedly agree.

      Just yesterday I had my client telling me we needed to make the entire user interface use AJAX. The workflow would be exactly identical, the only difference is he can tell potential adopters that we use .

    17. Re:UNIX by dup_account · · Score: 1
      Java has never been of interest to me because of the speed.

      You mean java has too much speed for you? If not, nice troll...

    18. Re:UNIX by Anonymous Coward · · Score: 0

      "I perfectly agree with the "Use the right tool for the right job", you can't use high level interpreted language when performances and memory footpring are issues, but you won't use Java either anyway..."

      In Javas case (and .Net for that matter) yes you can. The code is recompiled in memory and profiled to ensure it gets faster the longer it runs. Can't do that with compiled binaries.

    19. Re:UNIX by Anonymous Coward · · Score: 0

      So, you mean they're better, not sexy. In essence you're agreeing with the parent poster. All you've added is that "Java sucks!", although I didn't see any actual arguments.

    20. Re:UNIX by Anonymous Coward · · Score: 0

      Already happened, but the language is called APE and not lava...

    21. Re:UNIX by Anonymous Coward · · Score: 0

      C'mon people. Toss some funny mods this guy's way!

    22. Re:UNIX by masklinn · · Score: 1
      The code is recompiled in memory and profiled to ensure it gets faster the longer it runs

      I know, that's JIT compiling, and it doesn't change anything to the RAM consumption...

      Can't do that with compiled binaries.

      ... and it can't be faster than binaries that went through and optimizing compiler.

      JIT allows you to get within an order of magnitude of compiled languages, faster for some tasks when the compiled code is not that good (or the compiler blows, but that's pretty much long past us by now unless you're using a relic of the Dark Ages), but you won't get faster on average.

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    23. Re:UNIX by solspin · · Score: 1

      Well put!!

    24. Re:UNIX by chhupa_rustam · · Score: 1
      Here's the problem with that argument. Management almost inevitably gears on the hipness factor when making strategic technology decisions. Only when you have an engineer high enough on the ladder to counteract these morons does Good Technology (tm) stand a chance against Hip Technology (tm). I work for a bulge-bracket IB, so I have many examples to give. My favourite centers around web apps: although at this point it is universally recognized that the JSP/Servlet scheme is over-engineered for the kind of simple web apps developers write day in and day out (think web traffic monitoring for a small team website, or a simple web-based way to start a regression run, or a web-based system to get
      top
      output from a specified server), a quality web development platform like RoR is not approved for use. Perl was grudgingly allowed in a few years back, but not early enough to prevent the regression system from being written in a mixture of Make and Java that scares the shit out of me. Oh, and to answer some of the other comments I've read so far: - PHP is crap. Don't fight it, just move to a better language. There's no reason for you to subject yourself to this humiliation. At this point, even VB users have moved to a real language. - .NET is not actively displacing Java in industry -- anyone who tells you that is lying. However, it is increasingly being picked for new projects, particularly those involving (real-time) GUIs, and that *will* shift the numbers over time. It's important to note that .NET is a very high quality platform and there's really no reason any more to do GUIs in Java. (I've thrown down the gauntlet there, I fully expect some Java zealot to try to smack me with it...) - Importantly, Java's still king on the server-side, because it can run on racks and racks of cheap *nix blades. Many companies are investigating how best to set up MS infrastructure and support, and compared to *nix, it's a nightmare. - Put the last two points together and you get this one: companies are indeed reverting to the client-server model, putting heavy-duty processing on the Java/*nix-side and the real-time display on the .NET/desktop side. Not a bad compromise for everyone, eh? - C++/C continues to occupy the minds of a select few who still sneer at Java and scoff at .NET. This may make perfect sense in embedded systems or 3D games, but I see less reason for this in my industry every day.
    25. Re:UNIX by Anonymous Coward · · Score: 0

      Yes they are, coding in Ruby or Python is actually geniuinely fun and rewarding.

      Speaking as a COBOL programmer, Java looks like that from here ;)

      Gnoll110
    26. Re:UNIX by chhupa_rustam · · Score: 1

      Balls, my last post got freaky-formatted...

      ---

      Here's the problem with that argument. Management almost inevitably gears on the hipness factor when making strategic technology decisions. Only when you have an engineer high enough on the ladder to counteract these morons does Good Technology (tm) stand a chance against Hip Technology (tm).

      I work for a bulge-bracket IB, so I have many examples to give. My favourite centers around web apps: although at this point it is universally recognized that the JSP/Servlet scheme is over-engineered for the kind of simple web apps developers write day in and day out (think web traffic monitoring for a small team website, or a simple web-based way to start a regression run, or a web-based system to get `top` output from a specified server), a quality web development platform like RoR is not approved for use. Perl was grudgingly allowed in a few years back, but not early enough to prevent the regression system from being written in a mixture of Make and Java that scares the shit out of me.

      Oh, and to answer some of the other comments I've read so far:
      - PHP is crap. Don't fight it, just move to a better language. There's no reason for you to subject yourself to this humiliation. At this point, even VB users have moved to a real language.
      - .NET is not actively displacing Java in industry -- anyone who tells you that is lying. However, it is increasingly being picked for new projects, particularly those involving (real-time) GUIs, and that *will* shift the numbers over time. It's important to note that .NET is a very high quality platform and there's really no reason any more to do GUIs in Java. (I've thrown down the gauntlet there, I fully expect some Java zealot to try to smack me with it...)
      - Importantly, Java's still king on the server-side, because it can run on racks and racks of cheap *nix blades. Many companies are investigating how best to set up MS infrastructure and support, and compared to *nix, it's a nightmare.
      - Put the last two points together and you get this one: companies are indeed reverting to the client-server model, putting heavy-duty processing on the Java/*nix-side and the real-time display on the .NET/desktop side. Not a bad compromise for everyone, eh?
      - C++/C continues to occupy the minds of a select few who still sneer at Java and scoff at .NET. This may make perfect sense in embedded systems or 3D games, but I see less reason for this in my industry every day.

    27. Re:UNIX by Weedlekin · · Score: 1

      My feelings for someone who believes that _any_ programming language is sexy are the same as I would have for one who said that wrenches or shovels are sexy, i.e. a genuine and profound sense of sadness.

      --
      I'm not going to change your sheets again, Mr. Hastings.
    28. Re:UNIX by Randito_aggie · · Score: 1
      Here's a tip. Programming languages and platforms aren't sexy
      Yes they are,
      Umm.. a language isn't sexy. Some languages, like French, let you act sexy.

      But I don't think Ruby lets you act sexy. You may create a blog in 15 minutes, but most hotties are probably checking out the jock at the end of the bar, not checking out your web app.

      Doing something really fast, and making a 15 minute video of it, is probably not the way to impress her.

    29. Re:UNIX by Anonymous Coward · · Score: 0

      To be fair, on the "C is out of date" side, the use of C has to be very well-justified to make a convincing case. It's not a language that is suitable for many applications these days.

      Depends on the application I suppose. On the embedded side it's hard to justify anything BUT C.

    30. Re:UNIX by Anonymous Coward · · Score: 0

      and so we all wait for the language equivalent of the "spork"...

    31. Re:UNIX by Anonymous Coward · · Score: 0
      *be gentle this is my first ever post.

      I'll be using that sig from now on. Hope you don't mind.

    32. Re:UNIX by fredrik70 · · Score: 1

      >... and it can't be faster than binaries that went through and optimizing compiler.
      actually it can, you need to compile your code for a lowest common platform. for example the Pentium II in order to make sure the code will run on all platforms, JIT sees what CPU the system got and can generate code on the fly accordingly. Also, if the system is a multi CPU system, the JIT can generate code to take this into advantage.

      --
      if (!signature) { throw std::runtime_error("No sig!"); }
    33. Re:UNIX by masklinn · · Score: 1

      Last time I checked, compiled binaries didn't mean that you had to distribute the binaries themselves, distribute the compilable source, let the client sort it out, done.

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    34. Re:UNIX by bnenning · · Score: 2, Interesting

      Yes they are, coding in Ruby or Python is actually geniuinely fun and rewarding. Not having the language go in the way and prevent you from thinking about the program (the forest) because you have to think about the code (the tree) is like discovering programmation over again.

      This is absolutely true. After wanting to take a look at Python for a while, I finally wrote my first program in it this weekend. It's a simple script that finds all words in a Boggle grid. (Useful for cheating here). It took maybe an hour of looking up the proper syntax for reading files and creating lists and such (all of which are intuitive and easy to remember, unlike Perl), and it worked perfectly on the first run. It was only then that I realized how little code it had taken and how *pretty* it was: Java would have had loads of redundant code with classes and casts and explicit list creation and copying, and Perl would have had about the same line count but peppered with inane "@$" prefixes for the lists of lists.

      Python is good. Check it out, even if you think the significant whitespace is silly. (I'm still undecided; I don't like being at the mercy of how text editors interpret spacing, but it does improve readability somewhat).

      --
      How to solve most of our problems: 1.Lots of nuclear plants. 2.Cure aging.
    35. Re:UNIX by pc2005 · · Score: 1

      C out of date !! No way. Want to squeeze each clock cycle out of the processor ? C and "handcrafted assembly" is the only way. And I find this kind of embeded applications outnumbers PC based application.

    36. Re:UNIX by zootm · · Score: 1

      Well, there are languages specifically for embedded systems, but I think you're missing my point. I didn't say C was out of date (I was paraphrasing a quote in the parent post that didn't agree with it either), but it's just not got so many applications these days. It's quite rare that speed is a higher priority than development time, maintainability, stability, and so on. As you mention, though, when speed is your priority, optimised C is the way to get the best results. However if you don't have the time to put in on the optimisations, even then you might be better with something else.

    37. Re:UNIX by Anonymous Coward · · Score: 0

      "It ain't about the dollar or trying to go fast
      Unless you take pride in what you're doing, it won't last
      Craftsmanship is a quality that some lack
      You got to give people a reason for them to come back"

      -Buck 65 "Craftsmanship"

      Programming in a framework that allows you to accomplish things elegantly is damn sexy!
      It allows you to transform your ideas to reality without all the usual frustration, and pride in a job well done is one of the sexiest things there is.

    38. Re:UNIX by pc2005 · · Score: 1

      I mostly agree with you except in one place - "It's quite rare that speed is a higher priority than development time, maintainability, stability, and so on." There are many platforms like mobile handsets, PDAs where reducing the computational/storage complexity play a dominant role in s/w development. Unless you achieve optimization to a certain level the software simply does not work on these platforms (with limited computational resources). And these applications are increasing in number. I work in multimedia application development for a mobile handset company. Most of the guys in our lab are always concerned with MIPS and KBytes more than anything else. Ofcourse if someone is working with non-real time applications he really need not spend so much time into these low-level stuffs.

    39. Re:UNIX by richieb · · Score: 1

      Thanks!

      --
      ...richie - It is a good day to code.
    40. Re:UNIX by Anonymous Coward · · Score: 0

      It's also a big world outside your glass house.

    41. Re:UNIX by buzmeg · · Score: 1
      ... and it can't be faster than binaries that went through and optimizing compiler.
      Not true. A static compiler can only make optimizations which are a universal improvement. A JIT can make optimizations based upon usage patterns of the specific invocation (OS, memory system, disk access, input data, etc.) which might not hold for all invocations of the program.
    42. Re:UNIX by zootm · · Score: 1

      Real-time applications are better written in predictable languages (Esterel and Ada, for example), and much of the time when programming for mobile platforms, "safer" platforms are more than enough — my current job is programming applications for PDAs in .NET CF (obviously for MS-based ones), and it's more than quick enough for the job. There are obviously PDA applications where this doesn't apply, but the march of technology is making hand-optimisation (except, of course, in the platforms that applications are built on, which are the optimisations that largely make application optimisation unnecessary) less and less necessary all the time.

      Again, I'm not saying there's not applications for optimisation, it's just that the number of applications are diminishing as time goes on, particularly when compared to the disadvantages of such an involved approach.

    43. Re:UNIX by kiwipeso · · Score: 1

      weird, I am doing a java based bsd.

      --
      - Kaos games and encryption systems developer
  4. 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 AndroidCat · · Score: 1

      As usual, the news gets it wrong. BASIC was "So 70s".

      --
      One line blog. I hear that they're called Twitters now.
    2. Re:In Related News by krgallagher · · Score: 1
      " Basic is reported as "So 80s"."

      Wow, I wrote my first basic aroung 1975:

      • 10 print "Hello World"
      • 20 goto 10
      --

      Insert Generic Sig Here:

    3. Re:In Related News by Mark+of+THE+CITY · · Score: 1

      More like 1963

      --
      The clearance system sounds logical. It is not. It is completely arbitrary. -- John Bolton
    4. 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

    5. Re:In Related News by biggerboy · · Score: 0

      Er no. As noted below, BASIC is so 70's. I would say C and Pascal are so 80's.

    6. Re:In Related News by xtracto · · Score: 1

      Wouldn't that be:

      10 for i = 1 to 100
      20 print "I will not talk in class.", CHR$(13)
      30 next

      --
      Ubuntu is an African word meaning 'I can't configure Debian'
    7. Re:In Related News by AndroidCat · · Score: 1

      They might have started it in 1963, but until companies like HP and DEC had implementations for their computers, the language wasn't much more than just an experiment on DTSS. And I don't have my Dartmouth manuals any more, so I'm not sure exactly when that grew to a useful configuration. (Even in 1972 it was a Rube Goldberg contraption with different types of core memory, drum memory and new fangled disk storage, bleh!) I think my first user id there was M030017. The password was random and I still use it.

      --
      One line blog. I hear that they're called Twitters now.
    8. 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.
    9. Re:In Related News by brunson · · Score: 1

      Dude, Bill Gates invented BASIC in the 80s on the back of a napkin on a flight to meet with IBM. Everyone knows that.

      --
      09F911029D74E35BD84156C5635688C0
      Jesus loves you, I think you suck
    10. Re:In Related News by AndroidCat · · Score: 2, Informative

      Print with no , or ; termination automatically does a CR/LF.

      --
      One line blog. I hear that they're called Twitters now.
    11. Re:In Related News by AndroidCat · · Score: 1

      Yeah, you should have seen what a POS it was before I fixed it while he was snoring over his margaretta. "It looks like you're trying to write a BASIC interpreter", I told him. He jotted down what I said for some reason.

      --
      One line blog. I hear that they're called Twitters now.
    12. Re:In Related News by masklinn · · Score: 1

      C was created in 1971, hardly "so 80's"

      C++ is so 80's (1983), as well as ADA (1979).

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    13. Re:In Related News by websters · · Score: 1

      I'd love to know what OS you're running to have uptime like that! :-)

    14. Re:In Related News by Anonymous Coward · · Score: 0

      Bah! A Cray could have completed this one in a microsecond!

    15. Re:In Related News by Anonymous Coward · · Score: 0

      Back in the early 80's before teachers had any clue what so ever about computers, I asked to "type" out my lines. ahhh good old dot matrix printers...

  5. .NET? by mr_stinky_britches · · Score: 1

    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.
    1. Re:.NET? by Not+The+Real+Me · · Score: 1

      .NET? hah hah blah hah!
      Java? hah ha heh blah!
      LAMP? hah hah blah ha!

      PHP and C/C++ for me. Anything else is uncivilized.

      As the old saying goes, if it ain't broke, don't fix it.

    2. Re:.NET? by the+chao+goes+mu · · Score: 1

      PHP? The language that can't distinguish between a remote webpage and a local file? Or between an internal and external argument? I couldn't imagine writing anything serious in a language like that. C, yes. C++, maybe. Perl, if it is mainly text processing and performance can be a bit slower. Maybe forth if no one else has to ever read or modify the code. But php?

      --
      Boys from the City. Not yet caught by the Whirlwind of Progress. Feed soda pop to the thirsty pigs.
    3. Re:.NET? by the+chao+goes+mu · · Score: 1

      s/between an internal and external argument/between an argument and an internal variable/

      I should proofread before hitting submit.

      --
      Boys from the City. Not yet caught by the Whirlwind of Progress. Feed soda pop to the thirsty pigs.
    4. Re:.NET? by masklinn · · Score: 1

      the P of LAMP doesn't actually force you to use PHP, Perl and Python work just as well. And Ruby fits the bill too, even though it's name doesn't start with P (LAMP should really be called LAMS, actually)

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    5. Re:.NET? by jrexilius · · Score: 1

      Well, I guess its worth understanding what you mean by "real" web application. Apache/PHP scales a hell of a lot better than java if you know what you are doing.

      People often confuse the scalability of the language/platform with the skill of the developers who use it. From a coroporate hiring perspective, where you can't rely on effective hiring practices, this distinction might not matter. Java developers, by and large, came from engineering backgrounds and languages like C++. A large percentage of PHP developers came from designing web pages in HTML where prior to that they may have been a theater major working in the service industry. Not disparaging those folks on their creativity and adaptability, but its not the same as engineering.

    6. Re:.NET? by Anonymous Coward · · Score: 0

      "Apache/PHP scales a hell of a lot better than java if you know what you are doing."

      This proves you have absolutely no clue what you're talking about. I've met a lot of PHP retards in my time but not many have made such a stupid claim. All PHP programmers should just kill themselves now because anyone with a clue wouldn't have selected such a joke of a language. In terms of security, PHP makes Microsoft look good. At least use Python or Ruby you clueless fuck.

    7. Re:.NET? by Anonymous Coward · · Score: 0

      Hey, masklinn! when you've been screaming Python and Ruby all evening why did you start posting anonymously???

    8. Re:.NET? by masklinn · · Score: 1
      Perl, if it is mainly text processing and performance can be a bit slower. Maybe forth if no one else has to ever read or modify the code.

      Since when is it possible to read Perl code beyond a few hundred lines of the stuff?

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    9. Re:.NET? by masklinn · · Score: 1

      Hey, PHP has AT LEAST 25 different functions to escape quotes in SQL data (and 10 people on earth who actually know which one is the only one to work) (and god forbid the devs just got rid of the 24 ones that don't work). So it must be good 'k?

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    10. Re:.NET? by Weedlekin · · Score: 1

      Perl code is a nice way of showing the youngsters what happened when you tried to send a file over an RS-232 link to a computer that was running at a different baud rate.

      --
      I'm not going to change your sheets again, Mr. Hastings.
  6. About time by Anonymous Coward · · Score: 2, Funny

    I thought no one would notice my coffee has gone cold!!!

  7. And when they say "LAMP" by tcopeland · · Score: 2, Insightful

    ...they mean Linux Apache Middleware PostgreSQL.

    And when they say middleware, they mean Ruby!

    1. Re:And when they say "LAMP" by Anonymous Coward · · Score: 0

      Or do they mean Linux Apache MySQL and Perl.... No PostgreSQL or Ruby there. (dont ask me, i like Postgre over mysql and Solaris over linux. Either way it all cost the same)

    2. Re:And when they say "LAMP" by Trogre · · Score: 1

      Uh, I think you mean Linux Apache MySQL PHP/Perl

      --
      "Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
    3. Re:And when they say "LAMP" by The+Unabageler · · Score: 1

      You're thinking of LAMR, linux/apache/mysql/ruby. pronounced lamer.

      --
      perl -e '$_="\007/4`\cp%2,".chr(127);s/./"\"\\c$&\""/gees; print'
    4. Re:And when they say "LAMP" by Anonymous Coward · · Score: 0

      You missed the gag, fucker!

    5. Re:And when they say "LAMP" by Anonymous Coward · · Score: 0

      Er, I think you meant 'Oh God, why did I click submit?!'

    6. Re:And when they say "LAMP" by masklinn · · Score: 1

      Except that it's spelt LAPR, as in Linux Apache PosgreSQL Ruby.

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    7. Re:And when they say "LAMP" by rtaylor · · Score: 1

      Freebsd Apache Python Postgresql is so much better though. Who wants to LAMP when you can FAPP instead?

      --
      Rod Taylor
  8. 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 estebanf · · Score: 2, Insightful

      true.. but the choice between .NET or Java should be based on other facts different that you hate MS. Consider your enterprise enviroment... if you are in a windows only network, why would you look for trouble with java?...

      --
      DON'T STEAL MUSIC!
    2. Re:PHP vs. Java by mysqlrocks · · Score: 1

      Yes, good point. My comment was very much oversimplified. There are WAY to many factors to really make a blanket statement. I would never really recommend a solution to someone until I'd asked a lot of questions. This topic seemed like an open range for flame wars so I thought I'd throw in my 2 cents.

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

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

    4. Re:PHP vs. Java by mysqlrocks · · Score: 1

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

      Two possible reasons. One, a manager likes the word "enterprise" and wants something that falls into that category. Two, development. If you are creating a very complicated application you are more likely to find competent developers for Java than for PHP. This is not a dig against PHP developers, I personally love developing in PHP but it's true the skill level is much higher for Java developers in general.

    5. Re:PHP vs. Java by mysqlrocks · · Score: 1

      Yeah, I'm going to listen to a guy named "mysqlrocks" try to tell me the best way to make a scalable Web site.

      Your flame would have been so much more effective if it wasn't from an AC. Try this one. I'm going to listen to a guy named "Anonymous Coward" try to tell me that you can't make a scalable web site with PHP & MySQL.

    6. Re:PHP vs. Java by ergo98 · · Score: 1

      Interestingly this entry was inspired by the DVR/commercials story earlier, but it also applies as to how people end up with PHP and MySQL as the backbone of their infrastructure.

    7. Re:PHP vs. Java by supra · · Score: 3, Informative

      I don't see why it has to be a black or white issue. While websites can certainly be developed using only one or the other, it doesn't have to be that way. And I don't think it should be portrayed that way.

      I'll use http://www.wheeloyum.com/ as an example. The web site is 100% LAMP. The app (client, applet, and server) is 100% Java. They both do well for their job. They even communicate with each other. Obviously they have their own strengths and weaknesses, especially relative to each other.

      As with most other tasks, the right tool for the job is key.

      --
      On a computer or under a hood.
    8. Re:PHP vs. Java by pinkstuff · · Score: 3, Insightful

      I have a certain fondness for PHP as it's the first web based scripting language I used - but I think you will find that creating a large, complex, and scalable application with a web front end will be much easier, and more robust if done so in Java (them fighting words I know!).

      This isn't to say writing web apps in Java is easy. Writing entity beans, and even session beans can be a headache and Java can be made unmaintainable if not careful. i.e. session beans _can_ be made very unmaintainable (if used inapropriatly).

      This isn't to say LAMP, in particular PHP doesn't have it's place. I think it is a much better solution for small to medium sized shop front type websites for example. i.e. assign right tool to the problem, they both have there use.

      One, a manager likes the word "enterprise"

      If management are calling shots, and telling you what architecture to use then may I kindly suggest you look elsewhere for a job! Seriously tho, management should not need to micro manage like that, it is one thing that gets on my nerves! Leave it for the techies! :-)

    9. Re:PHP vs. Java by killjoe · · Score: 1

      Who says java is trouble. It's much more elegant the .NET, is easier to scale and has a more stable API. Not to mention the wealth of open source libraries.

      --
      evil is as evil does
    10. Re:PHP vs. Java by Decaff · · Score: 1

      but don't let anyone tell you that PHP is not scalable, that is simply not true.

      Depends what you use it for. For applications that need very high performance, (which requires things like isolation from the database and application-scope caching) PHP simply won't work.

      Simply saying 'PHP is scalable' is too simplistic.

    11. Re:PHP vs. Java by Kugrian · · Score: 1

      I spend most of my time online programming within a mud using LPC. It's pretty close to java and perl syntax, and I find it works great for my needs.

      This, I hope is the point the parent was trying to make. I can't comment about either Java or PERL as a programming language, but I can comment about using a language within what it was proposed for. If a language is used for web devol and hasn't moved since, if it was used for client side aps, use it there. If it was used for both, go overdose and do us all a favour as the future is slight. In either case the language will serve its time and be dead (or stay on at no doubt the profit of both server and client) and at least one wants to move on. No language can be purely static and hope to survive.. anyone that does is being foolish or simply ignorant.

    12. Re:PHP vs. Java by robgamble · · Score: 1

      If you have *nix platform requirements, or an existing Java-centric team, go Java. If you are Windows-only and/or have a MS-centric team, .NET will get you there. Beyond that, *both* development platforms are very capable and have enourmous crossover (even in the area of open source libraries).

      I would not hesitate to recommend either Java or .NET to a client, based on their needs and current resources. I thought the holy wars between Java and .Net were over, because in the end realistic people understood there was room and value in both.

      --
      No sig for you!
    13. Re:PHP vs. Java by scotty · · Score: 2, Insightful
      If PHP is so scalable, then why use Java for enterprise applications? :-)
      There are more than just web applications in this world, which is apparently what PHP is only good at. When you start adding desktop interface, interpolating with other entities with COM, CORBA or other customised RPC mechanism -- find me a PHP app that does all that.
    14. Re:PHP vs. Java by Bush+Pig · · Score: 1

      > If management are calling shots, and telling you what architecture to use ... ... then you're working at the same kind of place as every other programmer in the world.

      Look elsewhere for a job? That's quite unrealistic, because you're unlikely to find one where the suits don't think they know more than you do (about anything, really, but particularly IT) unless you start your own company.

      --
      What a long, strange trip it's been.
    15. Re:PHP vs. Java by rufus+t+firefly · · Score: 1
      I have to agree with this to a point, but it has to do with the way PHP is designed.

      Things like register_globals and magic_quotes (issues which any PHP developer has probably noticed when the core PHP developers make a policy change) seem to be focused around trying to force developers to adopt good security practices. I think this is an *awful* idea. People will write awful code, complete with SQL injection vulnerabilities, passing unchecked variables to shells, etc, no matter how sugar-coated their language is.

      I'm sure there are just as many awful Java coders are there are PHP coders... and it's arguably easier to write crap Java code that OOMs or has buffer problems than it is in PHP, where a lot of those things are automatically checked. But then again, I'm sure many people would believe the exact opposite. So which is better, being a Catholic or Protestant?

      Java's "everything is an object" concept is okay, but can simply be overkill for certain things. On the other hand, PHP isn't just a language for doing simple web-scripts. There are a fair number of very complex "enterprise grade" applications which have been designed in PHP. It's simply ignorant to categorize one as being a scripting language, when it has the *ability* to be a scripting language, but can also perform fairly complex object oriented tasks.

      <soapbox> All of this language fervor is a moot point, anyways. Applications should be speaking common dialects (SOAP, XML-RPC, etc) so that applications written in multiple languages can collaborate, instead of stranding a developer with a single platform. In a way, proprietary protocols and lack of documentation are the things that seem to be going out of style, not the languages themselves. </soapbox>

      --
      "He may look like an idiot, and talk like an idiot, but don't let that fool you. He really is an idiot." - Duck Soup
    16. Re:PHP vs. Java by Anonymous Coward · · Score: 0

      You know why they call it .NET don't you? It's full of holes. There is no equivalent to the servlet and enterprise objects in .NET, and that's just a start. .NET is not equivalent to Java. Neither is PHP.

      If you want to do something big and secure, Java is the way to go because it offers more functionality built into the class libraries. Also, most of your databases and servers and middleware have a Java API, more than .NET or PHP, so if you want to do customization, you have more options if you know Java.

    17. Re:PHP vs. Java by pinkstuff · · Score: 1

      Sad but true :( - it just really, REALLY, bugs me when management does things like that!

      I don't understand how they think it's there place - any management staff out there want to shed light on this? Of course not because they won't be reading the 'developers' section of Slashdot!

      (Gratefully prooved wrong!)

    18. Re:PHP vs. Java by Mr2001 · · Score: 1

      There is no equivalent to the servlet and enterprise objects in .NET, and that's just a start.

      I must've been sick the day they covered that in buzzword class. WTF is an "enterprise object"? Is it like a paradigm synergizer?

      --
      Visual IRC: Fast. Powerful. Free.
    19. Re:PHP vs. Java by killjoe · · Score: 1

      I don't get it, are you under some kind of an impression that java does not work on windows?

      Why wouldn't you do java development in windows and enjoy the benefits of the massive open source community (sorry but it dwarfs the open source .NET community) and the stable API?

      --
      evil is as evil does
    20. Re:PHP vs. Java by Decaff · · Score: 1

      I must've been sick the day they covered that in buzzword class. WTF is an "enterprise object"? Is it like a paradigm synergizer?

      It is an object that can provide a transactionally safe, clustered service - something that won't fall over leaving a mess and can be run in parallel on different servers, giving increased performance and security, without extra effort from the programmer. Examples are J2EE Session Beans and Entity Beans.

    21. Re:PHP vs. Java by Anonymous Coward · · Score: 0

      Oh you mean like Enterprise Services that unlike Java does not require buying an app server (and doesn't suck like EJBs do) ? Here check it out :
      http://www.codeproject.com/dotnet/KdotNET.asp

    22. Re:PHP vs. Java by Decaff · · Score: 1

      Oh you mean like Enterprise Services that unlike Java does not require buying an app server (and doesn't suck like EJBs do) ?

      You don't have to buy an app server. There are very high quality free ones, such as JBoss and Geronimo. As for the saying that EJBs 'suck' - I have no idea what this means, as thousands of commercial companies use them very effectively to provide high-performance and robust services. E-Bay is a good example. They may be a pain to program (although this changes with EJB 3.0), but there is no denying that they are effective where required.

    23. Re:PHP vs. Java by robgamble · · Score: 1
      Nope. I'm not under that impression at all.

      I'm simply stating that for a fresh new project, your technology selection should consider the following:

      • Java talent + *nix = Java development
      • Java talent + Windows = Java development
      • Microsoft talent + Windows = .NET development
      • No bias + Windows = .NET developement

      It's that last one I think you are having a problem with. THAT is my point. I'm not alone in this thinking, as your very first post on this topic was in reply to someone else who thought going the Java route in Windows is more work to deliver the same product. And we all want to be more productive, don't we?
      --
      No sig for you!
    24. Re:PHP vs. Java by stor · · Score: 1

      If you're going to use PHP, please do yourself a huge favour and install mod_security.

      Snarf mod_security from here and snarf the awesome rulesets available from gotroot.com

      It's a DEAD EASY installation and is quite educational. You'll notice in the logs it generates that people/scripts are scanning your sites all freaking day for phpmyadmin, phpbb2 vulnerabilities etc. Awesome software.

      mod_security should come OOTB with all Linux distros that use Apache, configured with a decent set of rules such as those from gotroot.com.

      I sincerely wish the developers of PHP put more of a focus on security. It's a hard job: people are writing insecure PHP applications (heck, they're doing it in other languages as well such as Perl). I don't have a really intelligent suggestion here because I don't do a lot of PHP (I'm a systems guy rather than a developer) but it would be great if it wasn't so easy for PHP programmers to inadvertantly open up massive holes. It's probably not all laziness that causes most PHP applications to be insecure: sometimes programmers simply make mistakes. Anything the language can do (within reason) to help avoid these mistakes is a Good Thing. In the meantime, mod_security baby!

      Cheers
      Stor

      --
      "Yeah well there's a lot of stuff that should be, but isn't"
    25. Re:PHP vs. Java by DogDude · · Score: 1

      Do you have an example of a very large website that uses PHP? I don't recall ever seeing one.

      --
      I don't respond to AC's.
    26. Re:PHP vs. Java by killjoe · · Score: 1

      "It's that last one I think you are having a problem with. THAT is my point. I'm not alone in this thinking, as your very first post on this topic was in reply to someone else who thought going the Java route in Windows is more work to deliver the same product. And we all want to be more productive, don't we?"

      Yes I am having a lot of problem with it because it presumes that somehow .NET stack is superior to the java stack. That is a stupid (and indeed zealotry based) presumption. Whoever said .NET was more productive then java is not measuring productivity correctly. On top of that they are only looking at the build phase of the software development lifecycle which is the less then 10% of the lifecycle of a product while completely ignoring the bugfixing and the maintenance portions of the application lifecycle.

      By no rational measure is .NET development with visual studio more productive then java development with eclipse and the full array of tools like ANT, Xdoclet, Junit etc. The only reason to chose it is because of ignorance, lack of talent or pure zealotry.

      Most windows shops are zealots by definition. They have decided that windows is the only tool that should be used to solve every single one of their problems (hence a windows shop). Other IT departments recognize that you should use the right tool for the right job and often this means a tool not written by MS. Windows shops are blinded by their zealotry and will never consider a solution not written by Ms.

      --
      evil is as evil does
    27. Re:PHP vs. Java by mysqlrocks · · Score: 1

      Do you have an example of a very large website that uses PHP? I don't recall ever seeing one.

      Umm, Yahoo:
      http://news.com.com/2100-1023-963937.html

      Ranked the #1 trafficked site by Alexa:
      http://www.alexa.com/data/details/?url=yahoo.com

    28. Re:PHP vs. Java by robgamble · · Score: 1

      Here are some links I thought you might be interested in: nant nunit

      Now, about your reply, I want to be sure I'm reading you correctly. I know I don't like being misunderstood.

      You mean to say that selecting .NET as a development platform on Windows over Java is ignorant, indicative of a lack of talent, and "pure zealotry"? Further that all Microsoft shops are zealots by definition, who never choose the right tool for the job because that there is never a reason to choose .NET over Java? Does that pretty much sum it up?

      Also, if you would be kind enough to point out the correct way to measure productivity, I'd be grateful.

      --
      No sig for you!
    29. Re:PHP vs. Java by killjoe · · Score: 1

      I am fully aware of Nant and Nunit as well as the new "features" of VS.NET that completely ripped them off while making sure it was not compatible. What's still missing is xdoclet, microcontainers, inversion of control, aspects and a whole lot of other things java developers take for granted. Look at it this way. For the last two years Eclipse developers enjoyed the high productivity of refactoring support, automated unit testing, continuous integration, automated deployment, and object relational layers. Two years later .NET developers get some of the features of eclipse making .NET deverlopers only 70% as productive as java programmers.

      So yes, I know full well how the open source world struggles to bring .NET development up to par with Java only to have Ms shit on them because I develop both in Java and .NET.

      "You mean to say that selecting .NET as a development platform on Windows over Java is ignorant, indicative of a lack of talent, and "pure zealotry"?"

      For server development absolutely, 100%.

      "Further that all Microsoft shops are zealots by definition, who never choose the right tool for the job"

      That is thedefinition of zealotry isn't it? If you have decided not to allow any other tool into your corporation then you are zealot. Only zealots decide that no matter what the problem is only windows can solve it.

      "Also, if you would be kind enough to point out the correct way to measure productivity, I'd be grateful."

      Read my lips. It doesn't matter how you measure productivity. If you are only measuring how long it takes to build an application while completely ignoring how long it takes to debug, deploy, upgrade, document and maintain the application throughout it's entire lifecycle then you are a dumbass (and probably work for gartner).

      --
      evil is as evil does
    30. Re:PHP vs. Java by Anonymous Coward · · Score: 0

      What kind of questions?

    31. Re:PHP vs. Java by Anonymous Coward · · Score: 0

      I sincerely wish the developers of PHP put more of a focus on security

      Well they've given us safe mode on by default to limit dangerous functions.
      They've turned on magic quotes by default to stop SQL injection.
      They've turned off register globals by default to stop namespace problems.

      They are moving in the right direction. The main problem is PHP is fairly easy to get into but leaves enough space for users to hang themselves. This doesn't happen so much with the drag n drop style development of ASP as developers don't write so much of the code there so aren't falling over basic problems with parsing GET/POST variables and the like.

    32. Re:PHP vs. Java by robgamble · · Score: 1

      ...then they are measuring productivity wrong...

      Read my lips. It doesn't matter how you measure productivity.

      You don't stand anywhere on this, you are just arguring. Also, I have yet to build a system where the last line of code was written and all the developers disappeared. I have close contacts with old clients and routinely check up on their progress, so deployment, maintenance and even legacy retirement get factored into productivity. I also don't think you believe I'm a dumbass, you are having an emotional reaction the fact that I don't agree with you.

      If you have decided not to allow any other tool into your corporation then you are zealot.

      How does this differ from your perspective? I said from the very beginning that I would not hesitate to recommend Java or .NET to a client, based on their current talent and needs. You say only Java people have any business doing development (now you qualify it with Server development). It's always amusing to hear people open with, "I don't care what anybody says..." I guess this means they have learned everything there is to know.

      Look, you are obviously a highly intelligent person and a good Java developer or we couldn't be having this discussion. But your message is "Java is the only thing that works, zealot!" Don't you get the irony in that statement? Your talent is your strength, but your bias is your weakness. There's a very real world out there you don't believe in where other talented developers are succeeding in full life cycle development on .NET. For *some* clients, this is a more fluid and preferred direction.

      --
      No sig for you!
    33. Re:PHP vs. Java by killjoe · · Score: 1

      "You don't stand anywhere on this, you are just arguring. "

      Really? Let me repeat myself for the third time. You have to measure the productivity of a toolset or a language throughout the entire lifecycle of the development process. I hope that makes it more clear for you. Java is more productive throughout the lifecycle of a development process then .NET by a long shot. Maybe even by orders of magnitude. BTW by "java" I mean the whole java stack, eclipse, jobss/spring/tomcat, junit, log4j, xdoclet, etc.

      "How does this differ from your perspective? "

      Because when I say Java is more productive I speak from experience. I have (and do) develop both in .NET and Java. My choice is not based on zealotry but real world experience. Notice also that I said java was more productive for server programming and I have no problems with people using .NET for the GUI but only for zealot organizations which do not allow non windows platforms. If you work for a rational company which allows a Mac or a linux box on their network then you should write in Java or a web app.

      "There's a very real world out there you don't believe in where other talented developers are succeeding in full life cycle development on .NET. For *some* clients, this is a more fluid and preferred direction."

      You can always succeed if you work hard enough. For a .NET developer it's harder to succeed because they have to work harder then a java programmer. There are lots of lazy people out there using all kinds of tools so of course "some people" using .NET will be more successful then "some people" who use perl, java, python or ruby. Success has everything to do with how smart you are and how hard you are willing to work. Having said that a smart and harworking person will be happier and more productive in Java then .NET.

      By the way both .NET and Java have to now consider the emergence of python and ruby. Their server support is still a bit weak but both of them are already more productive in the development phase of the SLDC then both java and .NET. ROR is a rare framework which takes the entire SLDC into consideration and is likely to leave everybody in the dust in a year or two especially if parrot fulfills it's promise.

      Oh one more thing. If a corporation does not allow any operating system other then windows then it's a corporation run by zealots. Only zealots decide that only one tool should be used to solve every problem.

      --
      evil is as evil does
    34. Re:PHP vs. Java by Anonymous Coward · · Score: 0

      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

      What do you mean by "enterprise-level" and "scalable"?

      I'll tell you my problem, and you tell me the right solution:

      1. Mission-critical web site
      2. Must be 7x24x365 (near-zero down time, fault tolerant)
      3. Most pages served are "dynamic", with data from database and via back-end (legacy) systems
      4. 15,000+ active users per day, used for most aspects of corporate business, used world-wide
      5. Extensible. Site will grow and evolve over 10+ years time.
      6. Approximately 10 on development staff (6 programmers, 1 UI designer, 2 QA, 1 Project Manager)

      Thanks!

    35. Re:PHP vs. Java by Geoff-with-a-G · · Score: 1

      Please post again when it's a platform at Yahoo, rather than a platform decision.

      Or name another huge website running PHP right now. Either method should be valid.

    36. Re:PHP vs. Java by mysqlrocks · · Score: 1

      Please post again when it's a platform at Yahoo, rather than a platform decision.

      OK, I'm posting again. I'm a little late since this has been a platform at Yahoo for a while now:
      http://www.radwin.org/michael/blog/2005/10/php_at_ yahoo_presentation_.html

      Read the PowerPoint (I know, PowerPoint, yuck), it's quite interesting for PHP naysayers. Maybe you don't understand that just because you don't see a .php extension doesn't mean it's not running PHP.

    37. Re:PHP vs. Java by Anonymous Coward · · Score: 0

      "Depends what you use it for. For applications that need very high performance, (which requires things like isolation from the database and application-scope caching) PHP simply won't work."

      That's funny. Yahoo, the busiest site in the entire world, picked PHP, not java. Yahoo has what, 300, 400 million users? I'd say those guys know more about building "very high performance" applications than you do.

  9. Mod submitter -1, Troll by FortKnox · · Score: 1, Insightful

    Do a job search right now. Count the number of Java developer positions needed.
    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, .NET never really lived up to the hype and is slowly dying away.

    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!
    1. Re:Mod submitter -1, Troll by j-tull · · Score: 1
      Last time I checked, .NET never really lived up to the hype and is slowly dying away

      What support can you offer for these claims? I am a developer for a medium sized national consulting firm, and > 50% of our business comes from Microsoft shops. The vast majority of these shops are using .NET in one facet or another. All of the newer products coming out of Redmond (Infopath, SharePoint, etc.) use .NET, so most Microsoft centric web shops are making the jump into .NET (even if they're not yet directly aware of it). In fact, Microsoft is putting more .NET into its next generation OS products. In light of these observations, in what sense of the word is .NET slowly dying away?

    2. Re:Mod submitter -1, Troll by altoz · · Score: 2, Insightful

      wait... so the more jobs that are out there prove how much better Java is? it's corporate executive morons that made the decision to buy some Java app in the first place that cause these job openings to be there.

    3. Re:Mod submitter -1, Troll by FortKnox · · Score: 1

      I also work for about the same type of company in the midwest. We can't hire enough java programmers while we have several .NET'ers on the bench. Been that way all year...

      --
      Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
    4. Re:Mod submitter -1, Troll by j-tull · · Score: 1

      It sounds like we should be swapping people, as we can't hire .NET people fast enough to fill the demand in the deep south. :-)

    5. Re:Mod submitter -1, Troll by GodsFlaw · · Score: 2, Interesting

      .Net may not be ideal but to say that it is dying away is simply wrong. My impression is that for not so mission/performance critical enterprise (yes enterprise) apps that Microsoft/.Net has been dominant. I think that among the more hardcore they are gaining a bit of ground (thanks in part to c#). Reuters now offers .net api in addition to there C api and just look at the number of .net components! I think it is Java that never really lived up to the hype.

    6. Re:Mod submitter -1, Troll by FortKnox · · Score: 1

      Sorry, but every advantage you give you LAMP I could say the same thing about Java.
      Most companies are stopping payments on their expensive application servers and going the JBoss/Tomcat way (free, open source solutions). All APIs used to build Java applications are free (and many are in the Jakarta Apache project).

      I don't think these executives are dumb, but want to maintain a similar language for all their web applications and take advantage of all the free tools they can build off of.

      --
      Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
    7. 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!
    8. Re:Mod submitter -1, Troll by Anonymous Coward · · Score: 0

      .NET never really lived up to the hype and is slowly dying away

      I've spent the last several months looking for a job and most of what I've found is .NET (and ppl are paying through the nose for good .NET developers). I've just jumped over to C# from C++ (I've been a C++ guy for years) - I have to say I really like .NET and it appears to be on the rise to me.

    9. Re:Mod submitter -1, Troll by Anonymous Coward · · Score: 0

      I must agree. It doesnt look like .NET is going to die. Java and .NET will coexist. Java will probably have 45% marketshare, donet 33% and the scraps to the other guys

    10. Re:Mod submitter -1, Troll by slashdotnickname · · Score: 1

      I don't know the .NET ecosystem, so I don't know if there are any non-ms vendors pushing .NET based technologies.

      There's actually several, but Mono is growing the most in popularity and is backed by Novell.

      Much of the developer attention to Microsoft technologies would have been there with visual studio 7 even if .NET didn't exist.

      Wrong. The whole point being Visual Studio 7 was to support the new .NET technologies. So much so that they dropped the popular pre-.NET Visual Basic in favor of a new .NET version of it.

      Most coders these days fall into three buckets: Java developer, Web developer, .NET developer. See?

      Wrong again. Most developers are spread all over the place as far as technologies they work with. One learns quickly that they'll be more efficient if the start off with the right tool for a particular job. Certainly most Java developers do, or have done, web development as well. I myself actively develop in both Java, C#, C/C++ (not as much), and PHP for various projects.

      but as of today, MS can't expect .NET technologies to dominate the developer market.

      Well of course not, captain obvious. The technology is relatively new compared to other established ones... but have you looked at the new crop of programming job offerings lately? .NET jobs have been increasing.

    11. Re:Mod submitter -1, Troll by masklinn · · Score: 1
      Wrong. The whole point being Visual Studio 7 was to support the new .NET technologies. So much so that they dropped the popular pre-.NET Visual Basic in favor of a new .NET version of it.

      This is actually quite far from the truth. While .Net was one of the reasons to push VS7 (and change the name to Visual Studio .Net), VS 2003 is miles ahead of Visual Studio 6 in many other fields, especially the compliance of the C++ compiler to the standard. And VS 2005 improves it even further.

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    12. Re:Mod submitter -1, Troll by ADRA · · Score: 1

      Wrong. The whole point being Visual Studio 7 was to support the new .NET technologies. So much so that they dropped the popular pre-.NET Visual Basic in favor of a new .NET version of it.

      You missed my point. Visual Studio series of products would have gone on as they did before, 1,2,3,4,5,6,... 7. They would have had an entrenched user base using 7 no matter what they added to it. There will always be development shops that will always use Visual Studio, or whatever form of development technology Microsoft's flogging.

      Wrong again. Most developers are spread all over the place as far as technologies they work with. One learns quickly that they'll be more efficient if the start off with the right tool for a particular job. Certainly most Java developers do, or have done, web development as well. I myself actively develop in both Java, C#, C/C++ (not as much), and PHP for various projects.

      You may have a very diverse palette of skills to work from, but when employer X hires you for a job, they'll usually hire you for java, .NET, or (non java/non.NET) web development. You may see a 'prefer knowledge of other technologies' but if I want a java developer, I don't care if they have .NET experience.

      As for new development work, you're still going to want to keep your development technologies to a bare minimum. Even through the best language for the job may be the easiest to deploy, it relys on everyone who touches the code / deployment to be familiar and trained in doing their jobs with it. If you use .NET and java code, C, C++, and perl in your development activities, you'll need trained people to design, code, review, maintain, assemble, and deploy. Its easy for small guys with 2 guys that do everything, or big guys that can farm each component out to 'divisions' but for anyone in between, it becomes a maintainance nightmare to maintain a highly hodge-podge development environment.

      Well of course not, captain obvious. The technology is relatively new compared to other established ones... but have you looked at the new crop of programming job offerings lately? .NET jobs have been increasing.

      Yes, .NET jobs have been growing, but mostly at the expense of development jobs that would have been for pre-vs7 development positions. All I'm saying is that Microsoft's .NET product isn't making significant inroads into areas that VS6 didn't already have an entrenched position.

      --
      Bye!
    13. Re:Mod submitter -1, Troll by slashdotnickname · · Score: 1

      This is actually quite far from the truth. While .Net was one of the reasons to push VS7 (and change the name to Visual Studio .Net), VS 2003 is miles ahead of Visual Studio 6 in many other fields, especially the compliance of the C++ compiler to the standard.

      So it's quite far from the truth AND one of the reasons? err... ok

      Also, VS.NET's C++ was made better compliant with the standard because of the major overhaul in the compiler's design. This new design's main purpose was to support the generation-of and intergration-with manage code from/with C++. Managed code (IL format) is roughly equivalent to a .class file outputted by a Java compiler.

      Basically, the main reason behind pushing out VS.NET (i.e. VS 7) was to provide a development platform for the new managed-code world that Microsoft is moving too. Arguing otherwise is idiot since even Microsoft has stated that.

    14. Re:Mod submitter -1, Troll by Anonymous Coward · · Score: 0

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

      Ugh! Say it ain't so! People who write "admin" scripts
      with Perl instead of Ksh/Bash should be shot, summarily.

  10. Not out of date by Malc · · Score: 1

    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.

    1. Re:Not out of date by Anonymous Coward · · Score: 0

      I know. This is ridiculous. Business Week has no track record in predicting or even understanding computer programming language use or acceptance. This is like watching your nightly local news station to figure out what the Federal government is doing. It doesn't make sense and you aren't going to learn anything useful.

    2. Re:Not out of date by I'm+Don+Giovanni · · Score: 1

      If Blu-Ray beats HD-DVD, then Java will have successfully expanded in to another market.

      True, but how many of us are going to make a living programming DVD interactive menus? How many of us would WANT to?

      --
      -- "I never gave these stories much credence." - HAL 9000
    3. Re:Not out of date by Anonymous Coward · · Score: 0

      There's far more to the next generation of DVD than interactive menus. Think about some of InterActual's work with DVD-ROM on Hollywood and eDVD discs. The features might not always appeal to you, but with one spec to support rather than multiple OSes, the advanced interactivity and applications should integrate with the video even better.

  11. Java programmers are more expensive by bigpat · · Score: 2, Interesting

    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.

    1. Re:Java programmers are more expensive by msuzio · · Score: 3, Insightful

      You haven't checked jakarta.apache.org lately, have you? One of the most active open-source communities out there! Perhaps actual applications using Java aren't as prolific, but the building blocks for them are very much out there, widely used, and actively worked on.

    2. Re:Java programmers are more expensive by Anonymous Coward · · Score: 1, Insightful

      Then why is it that Java is the most used language on Sourceforge, an open source development site?

    3. Re:Java programmers are more expensive by FortKnox · · Score: 1

      egads, you can't be serious.

      Tomcat, JBoss, Struts, Spring, Hibernate, countless free, open source tiny java databases

      Java applications are almost always built on top of mature, free, open source APIs.

      --
      Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
    4. Re:Java programmers are more expensive by a_n_d_e_r_s · · Score: 1

      Yes, strangely enough most of the building blocks needed to write applikations with Java are free software. Still most applikations built using Java är not free software.

      I wonder why ?

      --
      Just saying it like it are.
    5. Re:Java programmers are more expensive by maraist · · Score: 1

      Others' have already mentioned jakarta.apache.org.. Name one thing that doesn't have a free open-source API in either perl or java. apache.org, sourceforge, java.net, opensymphony, jboss-group, codeweaver.. The list goes on and on over VERY well supported capability group networks.

      Who cares about open-source applications. We want them all written in raw c w/ highly optimized, impossible to read code that only geniouses can tinker with. I want "ls", "grep", "awk", "pine", and "X" running under highly optimized dangerous but stable code.. These are things I use, and don't want 3'rd parties putting their muddy fingers in.

      But when I code business-rules (for billing, cell-phone routing, email generation, etc), I want something adaptive, clean, reliable, flexible and open.. Perl's great for hacked apps or glue, but Java bar-none for the business rules. When you're writing business rules, you don't want hacked together applications, you want clean APIs that have been well tested, but can be opened up so you can w/ zero concern determine precisely the use-cases of each method or class.

      Nicely organized perl CPAN stuff is great, usually very well thought out, but a lot of it are thin wrappers around c-libraries, and are thus subject to all sorts of deployment problems. "php" and other ASP-style programing languages are horrific in terms of code-coverage and structure. It's very hard to run analysis tools on your application to determine what is used where, how, and how-often. Refactoring is a nightmare.

      Again, for one off "scripts" that are inter-machine accessible, php is great, and easier to use than a perl cgi (including apache mod_perl). If you want to connect data between two core applications or perform some filter, they're fine. But applications that make decisions that affect peoples lives scare me when they're hacked together w/ impedence mismatched parts.

      --
      -Michael
    6. Re:Java programmers are more expensive by Anonymous Coward · · Score: 0

      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.

      Oh, Baghdad Bob! How I've missed you!

    7. Re:Java programmers are more expensive by Anonymous Coward · · Score: 0

      most applications are not free software, period. nevertheless check out the java.net projects area, there are a lot of java apps there.

    8. Re:Java programmers are more expensive by TheNarrator · · Score: 1

      Having contributed to a Java open source webapp, the main problem I see with Java webapps not getting a lot of interest is that Java is a lot harder to deploy in a shared environment. I think in PHP you can throttle how much server resources each user gets. This is a lot harder to do in Java and a badly programmed app can get out of control pretty quickly, run out of memory, and kill the whole JVM taking out everyone else's webapp. The other problem is that the whole war packaging scheme works against easy end user customization. The J2EE spec is also kind of anti File I/O but that's how most php apps work for configuration etc. J2EE wants you to put all the config in the DB which is a pain or in weird stuff like JNDI or some other technology that only the most advanced java devs understand, let alone end users.

      Where Java shines is in the fact that it is a statically typed language. This means that IDEs such as Eclipse can statically analyze the semantics of the code very easily and do advanced refactoring, type checking, etc. If you're coding in vi you'll probably be more productive in ruby or php. Static typing also makes things a lot easier when you have to maintain a very large system with many developers. If you change an interface and there are 500 classes that reference that interface you know everywhere in the whole system that you have to fix the call. In a non statically typed language you have to hope that your automated tests have perfect code coverage over all these 500 classes and then run through your tests over and over again until you fixed every call. Static typing also helps one throw classes out which is really important on a large project that is maintained over several years. When you throw a class out, or remove a method in java the ide will quickly tell you if it's referenced somewhere. I've literally been able to throw out hundreds of classes worth of old code in our code base that I would be scared to death to do in a non statically typed language.

    9. Re:Java programmers are more expensive by gstoddart · · Score: 1
      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.

      Really? Running on both work and home machines I have:

      Tomcat
      Eclipse
      FreeMind

      There's the entire jakarta subtree at Apache (some of the most useful frameworks going)

      Here is a site apparently devoted to open source Java stuff. here is another.

      There's loads of stuff out there.
      --
      Lost at C:>. Found at C.
    10. Re:Java programmers are more expensive by dup_account · · Score: 1

      Could it be that most things refered to here are tools? Where is the XYZ PnP software written in Java? I think that may be the reason for the perception of lack of OOJS.

    11. Re:Java programmers are more expensive by bigpat · · Score: 1

      You haven't checked jakarta.apache.org lately, have you? Perhaps actual applications using Java aren't as prolific, but the building blocks for them are very much out there, widely used, and actively worked on.

      I think you are making my point, java has plenty of tools, but where is the meat? The actual open source WAR files that you can just drop into a webapps directory and autodeply and configure a few settings throught the web app itself? Where are the slew of open source message boards? Like PHP has. Where are the open source portal, content management, ecommerce, etc etc? PHP has many more mature open source, free software projects in each of those categories. Sure Java has a bunch of great tools and frameworks, but php has gotten wider adoption through open source applications that work, not through robust frameworks that can be made to work. Java is prevalent in the Enterprise because it is robust, PHP has become prevalent everywhere else because the applications themselves have been made free and they do the job well enough.

      But the situation would easily change with a few good fully functional open source java web apps.

    12. Re:Java programmers are more expensive by bigpat · · Score: 1

      Java applications are almost always built on top of mature, free, open source APIs.

      And then deployed in the Enterprise or sold. The point is that the actual java applications (ecommerce, message board, webmail , etc, etc) are not out there as open source, like they are for php. Plenty of good solid robust java frameworks, toolsets, APIs, just that all the actual applications seem to get developed for enterprise use or for commercial sale.

      Not saying it is good or bad, we are talking about a lot of paychecks, but it does mean that php has gained wider adoption.

    13. Re:Java programmers are more expensive by bigpat · · Score: 1

      Then why is it that Java is the most used language on Sourceforge, an open source development site?

      Go compare the number of web apps written in php and java respectively. Because that is what the article was talking about: web apps. And after you compare the numbers, go ahead and see when the last time anyone worked on them, or if they are still in beta. Maybe my impression is wrong, but I am a java developer and I have always looked on sourceforge for open source web apps to use in lieu of developing something from scratch and have found very little and what I did find was old and not actively being developed. I've looked at webmail, j2ee slashcode, basic discussion board software, portal apps, but it was mostly beta/pre-beta and old and not following any standard design patterns.

      I intend to contribute back at some point, but for the most part my code is the property of whomever I am working for, so I will have to write code from scratch in order to contribute. Which is my point. People working for the Enterprise usually have specific contracts which assign intelectual property rights of the code they write for the company they are being paid to write it for.

  12. LAMP or Ruby on Rails? by Anonymous Coward · · Score: 1, Informative

    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.

  13. Uh-oh by BlindSpot · · Score: 2, Funny

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

    1. Re:Uh-oh by WinterSolstice · · Score: 1

      Actually, considering that SAP NetWeaver (Basis 7.0) is heavily based on Java, I would do just that -

      -WS

      --
      An operating system should be like a light switch... simple, effective, easy to use, and designed for everyone.
  14. 90's? by DarkHand · · Score: 1

    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 major telecom company and we just UPGRADED to SAP software. :P

    1. Re:90's? by javaxman · · Score: 1
      I work for a major telecom company and we just UPGRADED to SAP software. :P

      That's telecom for you...

    2. Re:90's? by Anonymous Coward · · Score: 0

      Geeze.... if you UPGRADED to SAP what were you using before, stone tablets?

    3. Re:90's? by SoulRider · · Score: 1

      Now, THATS reality.

      By the way, C# is to Java as .NET is to J2EE.

      Can I run .Net applications on my IRIX, iSeries or Solaris boxes? How about the Cray I have in manufacturing? OH WAIT!! Its only a Microsoft solution, call me later when you can learn to play nice with the big boys. If it ties me to a single platform it isnt scalable, period, end of story. And no, having windows boxes hanging off of my servers like warts just to serve up windows widgets is not acceptable.

    4. Re:90's? by Kosgrove · · Score: 1

      I think you meant was "C# is to .NET what Java is to J2EE". C# and Java are languages. .NET and J2EE are platforms, although there are multiple .NET languages (even an implementation of Perl.NET, I believe), to the best of my knowledge, there's only 1 J2EE language: Java.

      That does not necessarily make .NET better, because VB.NET was only created to get stodgy VB programmers to switch away from COM and to the .NET platform. The more I develop in .NET, the more I realize that in the 2003 version, VB.NET is really a second-class citizen to C#. (These issues have mostly been fixed in 2005.)

  15. 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 Jason+Earl · · Score: 1

      Java is still in incredibly heavy use in larger-scale systems and internal applications.

      Yeah, and so is COBOL.

      It also plays well with many other solutions, by virtue of numerous scripting languages which target Java bytecodes

      Java does have some scripting languages that target Java byte codes, notably Jython, NET has more. Personally, I am about as far away from a Microsoft fan boy as you can get, but I really do think that Sun has dropped the ball on Java. Sun's licensing of Java is killing it, and their implementation leaves quite a bit to be desired as well. I think that it says quite a bit about Java that Sun's own Gnome desktop is becoming increasingly reliant on Mono.

      Heck, I am a Java developer, but I don't pretend that Java is picking up converts outside the Enterprise, and outside the Enterprise is where all of the new stuff gets born. Seriously, if you were going into business for yourself, would you base your application on Java? I sure wouldn't.

    2. Re:It is to laugh by Saeed+al-Sahaf · · Score: 1
      Java is still in incredibly heavy use in larger-scale systems and internal applications. It doesn't need to be "hip", "trendy", or "LAMP".

      Yeah, that's what all the Perl hackers said RIGHT BEFORE IT DIED...

      --
      "Who are in control, they are not in control of anything - they don't even control themselves!" - Glen Beck
    3. 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)
    4. Re:It is to laugh by Jason+Earl · · Score: 2, Insightful

      Actually almost any popular language would port to any of those platforms, including (thanks to Mono) .NET. Heck, with anything but Java you could add in the BSDs as well.

      Java advocates get really excited about Java's cross-platform ability, but Java isn't even really that portable compared to LAMP stack languages like Python, Perl, or PHP. Like I said, I'm a Java hacker myself, but I think that the days when Java was almost always the clear choice are coming to a close.

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

      Porting is not the same thing.

      I could port a C app between Mac OSX and Linux and Solaris, sure, but that's way more overhead and work.

      As to the portability of things like PHP, that's very problematic in some cases, as it depends highly on the environment you're working in. Sure, for a web-delivered app it might make sense to use PHP, but portability can be very problematic.

      As an aside, I'm an "Oracle Guy". I have a services company that does a LOT of high-end Oracle stuff, including distributed PHP/Java apps with an Oracle back end.

      We've had nothing but problems getting PHP on different platforms (Win32, Solaris, Linux) communicating the same way with Oracle. Some things will work in Win32 PHP, while different ones will only work on Solaris, etc. (These are specifically related to the complex collections that are passed in procedure params).

      I have yet to have this kind of problem with Java. We can do an Ant build on Linux, Solaris, Win32, or OSX, and have the identical results. This has NOT proven to be the case with using Apache, PHP, etc.

      For that matter, the way MySQL works on OSX is different than how it does on Linux (specifically tried to convert an existing SCARAB system from Linux to OSX, and the case sensitivity is different on each).

      In short, my experience has shown that I can achieve much better/truer portability using a 100% Java stack (Jboss, etc.) with an Oracle back-end than Apache, PHP, MySQL, etc.

      I'm just saying what works for me, in my experience... your mileage/requirements/demographics may (and probably do) differ.

      --



      $0.02 (CDN)
    6. Re:It is to laugh by Anonymous Coward · · Score: 0

      Enough, already. It's over. OS/2 is finished. Just let it go.

      Oh. Java... nevermind.

    7. Re:It is to laugh by my3cents · · Score: 1

      Agree with the above. Java is not going anywhere, and it is a viable, scalable option for ANY size project. Example implementation: EBAY -- They are arguably the world's most heavily used software application. What platform do they run on? J2EE (Java). Could you imagine using .NET? You would probably have to reboot the servers every night at midnight to keep those things up and running with that kind of volume.

    8. Re:It is to laugh by dkf · · Score: 1
      You would probably have to reboot the servers every night at midnight to keep those things up and running with that kind of volume.
      Wouldn't work, or at least not unless you could have a programme of rolling reboots throughout the whole day. Basically, ebay (as a global operation these days) doesn't have much in the way of quiet periods; when the US sleeps, first the Far East and then Europe are busy instead. Makes you wonder what the MTBF on their server hardware is...
      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
    9. Re:It is to laugh by my3cents · · Score: 1

      I read a great article in a tech mag a year or so back about Ebay's infrastructure. It was mind boggling. They have 3 major data centers across the country each able to run the entire site at 55% performance. So any two up at one time provides 110% performance. All three give incredible performance. Very impressive. They are the benchmark for global web based systems.

    10. Re:It is to laugh by Anonymous Coward · · Score: 0

      C is in a sense more portable than Java. There are more platforms with more C compilers than Java. A JVM isn't even available for some platforms that have great C compilers.

      The cross-platformness of Java has always been a bit of a lie. While the bytecode is portable, the JVM still needs to be ported to every platform just like a C compiler.

    11. Re:It is to laugh by Anonymous Coward · · Score: 0

      maybe it's too late for you, but oracles growing interest in php, especially the changes to the oci extension they contributed and their corporation to zend this year, oracle became my rdbms of choice for php. it's easy, does the job, is a joy to maintain and still allows any limit i want to avoid apache/php using to much resources.

    12. Re:It is to laugh by nettdata · · Score: 1

      Tried the latest, much hyped Zend release, still no love. We even tried looking into the CVS HEAD of the latest release to see what's going on, and were contemplating fixing it, but in the end we couldn't justify it.

      Believe me, we WANTED to use these collection types in the worst way, and tried and tried... even posted a whack of stuff on the OTN forums... just wouldn't work.

      At least not on Solaris or Linux. The stuff we needed would only work on Win32. (That kind of annoyed the *nix admin in me).

      Instead, we developed a quick hack/work-around to using the types of collections we wanted to (did everything with REF CURSORS). Not ideal, but it does the job.

      --



      $0.02 (CDN)
    13. Re:It is to laugh by Jason+Earl · · Score: 1

      Please don't get me started with MySQL. I am squarely in the PostgreSQL camp. Although there are workarounds in MySQL to make the case sensitivity stuff go away. I administer a MySQL database that was moved from Windows to Linux, and the developers used various permutations of camel case. Of course, these same developers didn't use the same capitalization in the actual queries. I still say LAMP, but I don't want anything to do with MySQL if I have anything to say about it.

      I don't know much about Oracle, but it wouldn't surprise me if PHP still has issues playing in that sandbox. It wasn't until fairly recently that Oracle realized that a lot of folks were interested in using PHP.

      I would agree with you that if portability is a high priority then Java probably is the way to go, although I have also had very good luck with Python. Python seems to work well primarily because the Python library is pretty darn comprehensive. The only downside is that I like wxpython a lot better than Python-Tkinter, and it's a separate install. Truth be told, I have also seen C# compiled on Windows and ran without modification on Linux via Mono. In the long run I really do think that Sun's write once run anywhere thunder is going to be coopted by everyone else.

      I am very heavy Debian GNU/Linux user, and it has made me pretty lazy. The problem with Java, and Java-based packages is that you have to maintain them yourself. I am not particulary interested in running on a million platforms, but I am interested in being able to migrate in a pinch. I mostly just want Debian to do most of the heavy lifting of keeping things up to date. That, and quite frankly I sometimes get tired of how unfriendly Java is with the rest of the software on my systems. Java as a language is pretty nice, but Java as a platform is not so nice. Perhaps some day when GNU Classpath is soup and I can use GCJ I will be happier with Java. In the meantime, while I think that Java is still pretty good, it's not untouchable by any stretch of the imagination.

      So yeah, it's mostly a question of different requirements. I don't particularly need Java's binary compatibility, and I don't buy into the belief that Java is the only tool that is enterprise worthy.

    14. Re:It is to laugh by Anonymous Coward · · Score: 0
      with anything but Java you could add in the BSDs as well.
      *Ahem*...
      $ which javac
      /usr/local/jdk-1.5.0/bin/javac
      $ uname
      OpenBSD
      I really don't like this "java doesn't work on BSD" crap. Sure, you're pretty much limited to i386, but it works!
    15. Re:It is to laugh by nettdata · · Score: 1

      I hear you.

      My requirements, in this particular case, are for a simple-to-run end-user client application. That's quite trivial to do with InstallAnywhere (the packaging tool we use) as it includes a JRE for each of the 8+ platforms we deploy onto.

      Other than one small issue we had with Win32 printing, there have been no problems whatsoever with respect to the same code running on multiple platforms.

      Once again, I think it's a case of right tool for the job at hand.

      Case in point, my own company's website T-SWAT is done in PHP. ;)

      --



      $0.02 (CDN)
    16. Re:It is to laugh by Jason+Earl · · Score: 1

      My point is that this sort of attitude is trouble for Sun. Sun desperately needs for people to believe that Java is the one true tool. That's why Sun spends so much time preaching Java as a platform and not just a language. If Java is relegated to just one of another of competing technology platforms then Sun will continue to circle the drain until someone finally pulls the plug.

    17. Re:It is to laugh by nettdata · · Score: 1

      I guess they may have to have that attitude that it's the one true tool, but, as far as I'm concerned, any reasonable or knowledgeable end-user will understand that their position would be pure marketing BS and rather unrealistic. So, I don't think their attitude will really change things for them, unless it's to pander to the devs that already think it's ALWAYS the right tool.

      --



      $0.02 (CDN)
  16. Flamewars Gone Wild! by digitaldc · · Score: 1

    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
    1. Re:Flamewars Gone Wild! by squallbsr · · Score: 1

      You can't mark an ARTICLE as Flamebait...

      --
      Sleep: A completely inadequate substitution for Caffeine.
  17. .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 Tyler+Eaves · · Score: 1

      C# runtime sucks much less than java, the language is a bit less S&Mish, and the class library is generally a bit easier to get your head around. In short, NO, it's not just a ripoff of java, it genuinely improves on it in many cases.

      --
      TODO: Something witty here...
    2. Re:.NET?!? by j-tull · · Score: 1
      Isn't .NET (C# really) just a Java rip-off?

      In a word, no. Although you could argue that C# was/is a Java rip-off, .NET is not just C#.


      Rather than repeat a bunch of info, I would offer that you check out: http://www.microsoft.com/net/basics.mspx and other Microsoft pages for more accurate information about the .NET platform.

    3. Re:.NET?!? by warriorpostman · · Score: 2, Interesting

      It's all perspective I suppose. I used to code in Java, then got elbowed into Microsoft(.NET) shops. C# is very Java-like. .NET DOES run a virtual machine. But API-wise, the .NET framework is more of a wrapper around the Win32 API. The Java SDK, is a little "cleaner", in my opinion, and it heeds the spirit of OOP more closely. But for people who are transitioning from VB, and C++ to C#, .NET seems pretty great. I'm indifferent at this point. I try to keep my Java skills sharp, and will continue to do so. The whole "Java is Dying" FUD is ridiculous and without any real evidence.

      On a sidenote, I had a recruiter try to tell me that Java was on its way out, and that EVERYONE was moving to .NET. He had NO clue what he was talking about. I asked him if he knew what the significant differences were between Java and .NET, and he just bumbled his way through some snake-tongue babble.

    4. Re:.NET?!? by xero314 · · Score: 1, Flamebait

      What makes .NET more attractive?

      Obviously nothing since few companies use .NET in comparison to those using Java. Just to a quick job search on Dice(13.5K vs 10k) or Monster and you will see that there are clearly more Java jobs than .NET jobs. Can someone explain to me how .NET is so fundamentally different from Java that it could escape Java's fate? For one Java is actually in use and so it has the potential fate of losing user base. .NET is not in uses so it's fate would either be to stay the same or actually be implemented somewhere. Java is supported by SUN, a successful but not untouchable, company. .Net is supported by Microsoft, a company that has proven that can and will take huge losses to support mederately succesful to failing products.

    5. Re:.NET?!? by x8 · · Score: 1

      C# is very similar to Java. The main difference is not C# vs. Java but .NET vs. Java.

      What makes .NET more attractive?

      1. .NET works with more languages than just C#. Here's a list of languages supported by .NET: http://www.dotnetpowered.com/languages.aspx/. In contrast, Java only supports... well, Java.

      2. Some people find .NET's libararies (FCL) easier to use than Java's libraries.

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

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

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

    8. Re:.NET?!? by Anonymous Coward · · Score: 0

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

      Only in the sense that Java is just a C++ rip-off, and Ruby is just a Perl rip-off. .NET learns from Java's mistakes: most of the libraries are right the first time (unlike Java, which is filled with cruft from failed previous attempts), the CLR was designed from the ground up to support multiple languages (unlike the JVM, which was designed for Java, making it hell for other people to target as a platform), and C# has a cleaner syntax with more powerful features. And a better generics implementation. And, soon, full closures, local type inference, and advanced metaprogramming facilities.

      It's clear that C# is only a repackaging of Java, why should its fate be any different?

      The fact that it's not only a repackaging of Java, perhaps? If you think it's "clear" that it is, that says more about how little you've bothered to compare the two than about any real-life facts.

      Also, Java was corporatised and ossified. Sun have not let it grow; they've forced backwards-compatibility at every step. This is perhaps the only case in recent history where Microsoft have actually been the underdog of two competing platforms, and it shows: Microsoft have "innovated" hard (i.e. improved their product by stealing useful features from advanced niche languages), while Sun have sat back and let their dominance slide as Java creaks and rusts.

      It will certainly be interesting to see where this goes. Go read up on C# 3.0, though; it's going to have some good features that you won't see in Java this century. It's C# meets Nice, Nemerle, Scala, and so on.

    9. Re:.NET?!? by feijai · · Score: 2, Informative
      1. .NET works with more languages than just C#. Here's a list of languages supported by .NET: http://www.dotnetpowered.com/languages.aspx/. In contrast, Java only supports... well, Java.
      How did Microsoft's marketing team manage to get so many people believe this lie?
    10. Re:.NET?!? by Anonymous Coward · · Score: 0

      Actually the C# language, as shipped, was far more robust than Java. Missing only anonymous inner classes (which are a sounds-great-but-how-often-do-you-really-use-them idea), C# cleaned up the syntax of Java and added things like delegates as first class objects (amazingly useful; you no longer have to code to an interface *if you don't want to* just to 'wire up' some events), generics (with C# 2.0, long before Java generics), a clean attribute syntax, and more.

      Of course, C# "embraced and extended" Java; it would have been stupid for the writers of the language to ignore the best lessons of Java. So, for instance, although checked/unchecked exceptions SOUND good in theory, the reality is that most software engineers just blanket handle the checked exceptions and rethrow or ignore them. How does that make software more robust? The lesson was that trying to "force" coders to code correctly rarely works -- they just code around it. So C# has just one type of exception, and exception handling is very clean. Again: C# couldn't have had this cleanness of line without emulating the best parts and avoiding the worst parts of Java. But, so? C++ extended the best parts of C and added important new features. There's a time-honored tradition of doing this.

      Also, you make the same mistake many people do, of conflating C# and .Net. .Net is akin to the JVM; it's the platform upon which C# apps can run. But unlike the JVM, there's more than one language supported, natively, as a first-class citizen. So if you want, you can code up .Net apps in C++ (and this is surprisingly effective for Windows apps). Of course, there are also other languages (Perl, Python, Ruby, Smalltalk, you name it) that have bytecode compilers, but these probably don't count since you can do something similar in Java.

      The biggest limitation of .Net is simply that it started out as an all-Microsoft technology. The Linux community is starting to embrace it (with Mono, etc.) because C# is a remarkably efficient language to code in (for every one Java die-hard screaming about, say, lack of anonymous inner classes, you'll see ten more grudgingly admitting that C# is pretty useful); however, it still hasn't caught on with anywhere near the ubiquity of Java. The second biggest limitation of .Net is simply ignorance like this post; the anti-Microsoft crowd, eager to disdain all things Redmond and praise all things... well, non-Redmond, scream about how "lame" it is (the level of discourse is telling) because, well, it originated at Microsoft. However, the pros are coming around and you're seeing a wider and wider adoption on Linux, Mac, and other platforms.

      Will it kill Java? Hmm... probably not. Too many diehards, plus Java is just too widely adopted. And frankly, it doesn't NEED to -- it just needs to compete. Already, several language advances in Java can be directly traced to keeping up with C# -- generics, for instance. You can argue that generics are a software concept that's been around for a long time -- and you'd be right. But quickly after generics were widely supported in C# 2.0, Java added the feature to the language. To me, this is a language now playing catch-up with the "new kid on the block."

      Of course, the bottom line is, as always, use the right tool for the job. If Java is the most efficient way to solve a software problem, use it. If .Net is the right tool, use it. Anything else is just religion and junior high school popularity games.

    11. Re:.NET?!? by Anonymous Coward · · Score: 0

      Java also supports Ruby and Python and Tcl and Eiffel and...

    12. Re:.NET?!? by maraist · · Score: 1

      The link you provided is more or less marketing sugar. I've not directly used .NET (as I boycott MS products), but have written a few .mono one-offs to test the water.

      What I do understand of .NET is that is is exactly a rip-off of Java. Essentially defining a byte-code JVM, but not directly specifying a compileable language. C#, VB.NET and others being mere compileable front-ends.. But in that respect beanshell, groovy and jpython are exactly comparable to VB.NET as alternate syntax languages. JSP is pretty close except that it often compiles to intermediate java files.. But the net effect is virtually the same.

      Yes MS will provide full fledged IDE's for each of their languages, so you'll have 1'st tier support for them. And yes, there is an impeedence matching that needs to occur between a type of programmer and a language (VB , or VBScript potentially being more suited to non-programmer types) so you do want a plethora of syntaxes. COBOL.NET anyone?

      The real question is whether there is something fundamentally new that .NET provides. The next real question is whether the experience of end-users facilitates the adoption of one over the other..

      Fundamentally I see no advantage of .NET over the JVM. The syntax of both languages are co-evolving. The API support is mere circumstantial as APIs come and go as standard practices (URL supplants File. JDBC/ODBC supplants File. XPath supplants reg-ex, characterset/Locale supplants String, ResourceBundles supplant config-files, etc.).

      Java's main stay is Linux support. Secondarily cross-platform support. (As I would say most java applications run on linux so the cross-platform aspect is in fact of secondary interest). .NET's main stay is that RAD tools as would be used in MS Office products will utilize it. I see a lot of business types that learned a little excel and think they're the shiz-nick (still operating on a decentralized model along w/ all the synchronization problems that come; email being the main communication/versioning tool). Those that can "glue" together two Office documents using VBA.NET will be the hero of the executive suite. Thus facilitating that is a desireable goal both at MS and 3'rd parties. Thus .NET is more directly tied to lucrative revenue and has greater potential.

      Java is a back-end tool used by server-types (and a scant few client-apps), so gets less coverage.. And thus could be defunded by organizations.. It has greater risks.

      My conclusion is that w/ the exception of cross-platform and existing tool-sets that support MS-Office, it's primarily a form-over-function argument.

      --
      -Michael
    13. Re:.NET?!? by Anonymous Coward · · Score: 0

      C# is a rip off in the same way that Java is a rip off of C++, C++ is a rip off of C, etc.

    14. Re:.NET?!? by CastrTroy · · Score: 1

      The fact that you see more jobs on Monster just says that the available jobs have trouble finding qualified people, not that there are more jobs. .Net jobs are very easy to fill, because there's lots of people with .Net experience. Java jobs are harder to fill, because there are fewer people with Java experience.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    15. Re:.NET?!? by TheNarrator · · Score: 1

      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.


      Ok that does it you are shill. Jboss? Jetty? Tomcat? And you can run those all on Linux on the latest well supported JDK 1.5 just fine for $0.

    16. 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.
    17. Re:.NET?!? by Dadoo · · Score: 1

      Just one minor point, here:

      The CLR affords far better platform specific integration than Java. JNI is complicated and horrible.

      I imagine it will always be easier to have "better platform-specific integration" when you only support one platform...

      --
      Sit, Ubuntu, sit. Good dog.
    18. Re:.NET?!? by Maxwell42 · · Score: 1

      Regarding the AppServer issue you mention, I disagree, there are really good professionnal J2EE servers available for free:
        - Apache Tomcat (http://tomcat.apache.org/)
      Combined mod-jk and Apache HTTPD (and specially with the new 2.2) it really does its job perfectly well for large scale site (lots of our clients use this architecture for very frequented web sites)

        - Caucho Resin (http://www.caucho.com/)
      Useful for developpment and debugging purpose as it recompiles classes on changes and provides detail information on exception. (though with tools such as Eclipse and MyEclipse, I don't use it anymore)

    19. Re:.NET?!? by ThinkFr33ly · · Score: 2, Insightful

      By "in pretty much every case" I meant in pretty much every case where Java is used, not every application server.

      The vast majority of Java app server usage is comprised of exactly two productions: WebSphere and WebLogic.

      WebSphere and WebLogic both large companies ready to support you if you run into issues. (Although I think HP is starting to offer support for JBoss, which could help it increase its market share.)

      For most mission critical deployments, WebSphere and WebLogic are the only choice for many companies just for that reason. The market share shows it.

    20. Re:.NET?!? by stealthzap · · Score: 0

      Umm yeah so "in almost every case" a windows license is cheaper than a box running RH9 or Fedora core, Apache, and a tomcat server. Sweet, I wish I could figure out how to bend numbers to my reality like that. And darn, that pesky hibernate sure costs me TONS of money for enterprise quality object persistence. Darn, I guess i'll just give up contributing to these bogus, overhyped, and expensive open source projects that are tearing at the soul of quality software development, and jump head first into a big Fat Microsoft solution.

    21. Re:.NET?!? by cryfreedomlove · · Score: 1

      Here is the big difference: .Net (C#) is a proprietary product from a single vendor and it runs on OS's from, you guessed it, the same single vendor. Java, on the other hand, is available on lots of platforms (Windows, Unix, Linux, Mac, etc) with many competing vendors all offering good quality VM's (Sun, IBM, BEA) . Java is well supported by the open standards community and it has a life there despite Sun's quasi ownership of the standard. If you want your application to be vendor nuetral and platform nuetral then you'll pick java over .Net.

    22. 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.
    23. Re:.NET?!? by ThinkFr33ly · · Score: 1

      Java portability is important to a minority of server application developers. Java portability is also somewhat of a myth for anything but fairly simple applications.

      Regardless, portability can be important... or at least the options that Java gives you for choosing a server platform from scratch. With .NET, you're basically running on Windows no matter what at this point.

      Projects like Mono are making progress, and their adoption is definitly increasing, but I'm not sure it will ever by significant.

    24. Re:.NET?!? by richieb · · Score: 1
      Java portability is important to a minority of server application developers. Java portability is also somewhat of a myth for anything but fairly simple applications.

      Well, I work for a vendor that sells several large (over one million LOCs) Java applications. Our clients run the software on nearly every flavor of Unix (including some AIX) and many flavors of Windows.

      The apps are not simple at all - it's high performance communication software and associated tools.

      So for us, portability is very important (we even have a .Net interface library). It doesn't appear to be a myth from here :)

      --
      ...richie - It is a good day to code.
    25. Re:.NET?!? by killjoe · · Score: 1

      "What makes .NET more attractive?"

      1) All the windows programmers who were using visual C++ and visual basic are now forced to use .NET. In a couple of years they will all be forced to use avalon and what ever else MS comes up with. MS programmer use whatever MS gives them.

      2) Visual studio lets you slap controls on a screen and call it an app. Never mind the fact that you have just built an application which will bog down in maintenance headaches for the rest of it's life, you built in a day!. This "ease of programming" is like crack to a MS programmer. They get a rush out of delivering their unmaintanable application in a week. To hell with a proper layering, logging, configuration, relational layers, and whatnot.

      --
      evil is as evil does
    26. Re:.NET?!? by Anonymous Coward · · Score: 0
      While both .NET and Java are free, the application servers they run on are not.

      JBOSS is a free and open source Java application server

    27. Re:.NET?!? by NoDough · · Score: 1

      ...NO, it's not just a ripoff of java, it genuinely improves on it in many cases.

      I can't believe no one has made this point yet. I haven't coded in Java or .NET, but I remember why Java came into being in the first place. Does anyone recall something called "platform independence"?

      Java's purpose in life was to overcome platform dependence. How is it that .NET's Windows requirements are escaping the discussion?

      Is this Slashdot or SlashdotNET?

    28. Re:.NET?!? by fupeg · · Score: 1
      The CLR affords far better platform specific integration than Java.
      You mean better Win32 integration than Java. Don't throw the term platform out there unless you support more than one.

      Java does a much better job with cross-platform protocols, like CORBA and SOAP. .NET works better with unsafe Win32 code. That's why Java is used in businesses and .NET is used for desktop apps...

      Err I mean SOME desktop apps. Microsoft doesn't even eat its own dog food. It's not like Office 2003, or Outlook Express, or MSN Messenger are written using .NET. Is anything in Vista written in C#? The only thing they've used C# for outside of Visual Studio is SQL Server 2005, and that was a painful experience for them. But I digress...
      The security framework built into .NET (Code Access Security) is arguably more refined and capable than the model built into Java.
      Oh really. Please show us this argument. MS has such a great track record when it comes to security... Do you even know what Java's security framework is?
      While both .NET and Java are free, the application servers they run on are not.
      Perhaps you haven't heard of Tomcat, JBoss, Geronimo, etc.
      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.
      But yet you still claim that .NET is not a rip-off of Java?
    29. Re:.NET?!? by Tyler+Eaves · · Score: 1

      Open spec, mono, etc....

      --
      TODO: Something witty here...
    30. Re:.NET?!? by Decaff · · Score: 1

      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.

      I think this is something of a myth. There are over 200 languages that run on Java byte code, hugely more than run on the CLR. The CLR was not that well-designed for multiple languages - almost all the languages that run well on it are in some way adapted to be Java/C# like in their requirements (hence the significant changes from VB6 to VB.NET).

    31. Re:.NET?!? by Anonymous Coward · · Score: 0

      What makes .NET more attractive?

      Do you mean besides "It doesn't suck" (as much)?

    32. Re:.NET?!? by killjoe · · Score: 0, Redundant

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

      There are more languages running on the java VM then there are running on the .NET VM.

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

      Yuck. What kind of project manager would consent to building an application in five languages?

      "The CLR affords far better platform specific integration than Java."

      Only for windows.

      "The security framework built into .NET (Code Access Security) is arguably more refined and capable than the model built into Java. "

      Arguably? Yes I would call bullshit and argue that.

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

      The 1.5 Java (the current stable release) has generics and annotations and more.

      "While both .NET and Java are free, the application servers they run on are not. "

      Really? I guess the people who write JONAS, Jboss, Spring, Geranimo are all dead now and all their code has been destroyed by a massive bomb. Yup there are absolutely no free J2EE containers left all. Your only choice is Websphere!. Next time you FUD don't use this talking point, it just makes you look stupid.

      "Not really. It's an evolutionary step. "

      Nah, it's just a rip off. It would have been an evolutionary step if it had multiple inheritance. Lucky for us parrot is humming along. That will be a very nice evolutionary step and from the looks of it will be faster then java and .NET.

      Sorry to introduce facts into your advocacy but I just couldn't let this FUD post go without a reply especially one that is ranked so undervedly high.

      --
      evil is as evil does
    33. Re:.NET?!? by pebs · · Score: 1

      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.

      This is not true. There are a few free/open source J2EE app servers such as JBoss, Jonas, and eventually Geronimo. That's assuming your app doesn't run in a servlet container like Tomcat (which is a current trend because people are abandoning EJB's because most projects don't need them). These days, a lot of Java development is done in an almost completely open source environment. Linux, Eclipse (IDE), Tomcat (container). Libraries such as Spring, Hibernate, iBatis, etc. Take your pick of open source database if you want (PostgreSQL, MySQL, Firebird). The only thing that can't be open source is the JVM (and JDK), but it is free as in beer. There is Kaffe and GNU Classpath, if you really want 100% open source, but they are not capable enough.

      Although the CLR has advantages over the JVM, and Java has catching up to do in some areas, the open source tools in Java I described runs circles around Microsoft's .Net tools. I know because I develop in both for a living.

      These tools are slowly being ported over to .Net, but it'll be a while before .Net really picks up. I'm interested in how Mono will progress. I think once Mono has a great open source IDE like Java does (Eclipse) we might see things take off, but it won't be that attractive for Java programmers until that happens.

      --
      #!/
    34. Re:.NET?!? by NorthWoodsman · · Score: 1

      On the other hand, Java runs on Unix and Windows. Is there a working version of .NET for Solaris? Yes. http://www.mono-project.com/

      --
      1p}{ 1 sp34k |33+ +|-|e|\| p30p13 \/\/il| 8e i/\/\pr3553|)
    35. Re:.NET?!? by Progman3K · · Score: 1

      Brilliant. Thank you. No sarcasm here.
      That really was both enlightening and informative, you really DID answer my question.
      I'm certainly no fan of Microsoft, but all the advances you mentioned are good news; they'll be addressed by Java and other competitors, no doubt, and that will be good for everyone.
      Great analysis and thanks again.

      --
      I don't know the meaning of the word 'don't' - J
    36. Re:.NET?!? by d1v1d3byz3r0 · · Score: 1

      Actually, you can run many other languages on the JRE. Jython (Python on Java Runtime) and Groovy (Ruby on Java Runtime) spring to mind. There's also a host of domain-specific languages which can be hosted on the JRE.

    37. Re:.NET?!? by Anonymous Coward · · Score: 0

      ... designed from the start with the idea of multiple language support
      Well, yes and no. The CLR was designed so that it could run C#, VB looking like code and C++-ish code. Simultaneously, VB was ditched and a new language that could actually run on the CLR was written (VB.NET), and C++ features were jettisoned from managed C++ to allow the same. And finally Java features were dropped to allow for compatibility with the 2 others (checked exceptions, for instance - brilliant to market it as an "improvement" when they actually had no choice).

      being able to write more or less equally capable code in...
      See above. Can you write .NET code in a language that looks like VB? Sure. Guess it helps developers "feeling home". But you have to forget long held habits (like dates stored in doubles). So then again it's not VB. More like C# with a VB like syntax. Same with managed C++ (no multiple inheritance). And in both cases, you have to learn new libraries and a new API. In effect 80% of what is usually called "a language".

      ...affords far better platform specific integration than Java
      Yeah, well, guess what. Reason we use Java is because the server app runs on any *x, and the client on win, linux and mac without a shred of recompile. Anyway. Corba is not a problem on Java for legacy stuff, and everybody seems to be moving to SOAP for new code :-( The one thing Microsoft did really right in that domain is the seamless integration with unmanaged C++.

      ...a Windows license will be a lot cheaper than the license for the J2EE app server.
      *cough* JBOSS *cough* JoNas

      C# is not an evolutionary step over Java. It's an evolutionary step in windows development. And the reason Java could not have done it is because they specifically made it multiplatform. And enforced it. If it wasn't for that, you'd be saying that MSJava is the best thing, and too bad if it doesn't run on other OSes.

    38. Re:.NET?!? by Martin+Spamer · · Score: 1


      In pretty much every case a Windows license will be a lot cheaper than the license for the J2EE app server... especially Web Sphere.

      Not true, Web Sphere is bundled with OS400 on IBM servers like the AS400 and the Sun [One] Application server is bundled with Solaris on Sun servers.

      Either of those machines will out perform a whole rack of Windows/Intel PC's where you would also have to pay for a Windows licences on each PC and a fundamental unstable and insecure platform.

    39. Re:.NET?!? by Bobke · · Score: 1
      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.

      That's why indeed .NET looks very interesting, but it STILL remains a microsoft product.

      Personally I'm still hoping the parrot will come along soon.

    40. Re:.NET?!? by xero314 · · Score: 1

      As much as your logic works it's not actually true. .NET is too new to have more qualified developers than Java. Most universities, atleast the more prestigeous ones, do not teach .NET (which appears to be reserved to trade schools and community colleges), or have very limited selection of .NET courses, while Java is mandatory for most CS degrees today. So I would have to say the demand for Java is still higher than the demand for .NET and will remain so unless .NET starts getting support from the development and academic communities.

    41. Re:.NET?!? by poot_rootbeer · · Score: 1

      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.

      Or to put it another way, a JRE's bytecode language is sub-optimal for code not written in Java, whereas a .Net CLR's bytecode is sub-optimal for code written in all languages.

      In pretty much every case a Windows license will be a lot cheaper than the license for the J2EE app server... especially Web Sphere.

      How often does a web app really require the full power of a J2EE servlet container like WebSphere? Or would something more open and lightweight (like Tomcat or Resin) often be sufficient... and FREE?

      10 years from now it will be rare to see an unmanaged application on Windows

      10 years from now it will be rare to give a damn what platform an application runs on, because they'll all live on the other end of the network from our workstations. I thought Microsoft understood that.

    42. Re:.NET?!? by m50d · · Score: 1
      Actually Jython runs very nicely on JVM.

      That's just running the interpreter in Java. It allows you to access the Java stuff from Python, but that's one way. What you can't do is use the stuff you've done in Python from another such language, wheras if you use IronPython what you do in Python is on exactly the same level as what you do in C#, and you can extend on it in any of the other languages.

      --
      I am trolling
    43. Re:.NET?!? by m50d · · Score: 1
      I imagine it will always be easier to have "better platform-specific integration" when you only support one platform...

      But Mono does it just as easily on Linux. JNI seems to have been made deliberately difficult to discourage people from using it. That's all well and good for a teaching language, but isn't something you should do with things aimed for real-world use.

      --
      I am trolling
    44. Re:.NET?!? by CastrTroy · · Score: 1

      You might want to remember that university experience usually isn't counted as experience. There is on the other hand many job colleges teaching .Net, and many managers who don't know what their doing, hiring people who graduated from job colleges even though they may not really know what they are doing. Many projects in .Net are able to use these people, because they can drag and drop controls, and program simple things. Which is all they need them for. Demand for Java seems higher because it takes there is less supply. There are lots of people out there that although they know the Java language, do not know enough to be able to be active members of the development team. However, in .Net, you only need to know very little to be an active member of the development team.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    45. Re:.NET?!? by Kosgrove · · Score: 1

      It's not necessarily that .NET is better than Java, although the architecture seems much simpler than J2EE. It's that .NET is WAAAAAAAAAAAAAAAAAAAAAAAAY better than COM/VB6/Classic ASP/Win32.

    46. Re:.NET?!? by Mr.+Kimba · · Score: 1

      Let me give it a try from a web developer.

      First if you are a web developer JAVA has no concept of a disconnected record set. So you have to write your connection code and closing code each time you want info from the database.

      Second Java has scores of Model View Controllers too many to think of. It is interesting that none has been ported to .NET. There is a reason. .NET doesn't need one and Java doesn't have one.

      Thirdly .NET has many debugging and profiling features that Java developers can only dream of.

      Fourthly, Java has been around for many years now, there is still no single accepted Connection Pool. Honestly Java developers how many of you spent days if not weeks trying to debug someone's connection pool or write your own. My next question is why do you need to do that.

      .NET controls are the same for Windows.NET as they are for ASP.NET. Sure there are differences, but it is not like going from the web to Swing in Java. You might as well go from a Horse and Buggy to a Diesal Train (let you figure it out).

      The .NET controls are extremely powerful and something just not found in Java (JSF -- is too much code compared to .NET).

      The C# language is much better, you can have switch case statements with complex data types like String. And hundreds of other enhancements.

      The Java language sometimes is a mess. For example using a date as an argument in a prepared statement, you must convert the date to java.sql.date from java.util.date, why, because the Java Gods were just too lazy to do it internallly.

      C# has richer collections such as DataTables, DataSets.

      Also, one thing I have notice is that there are plenty of starter / training applications for .NET out there that does not rely on a product other than the out of the box .NET. Java has its Pet Store and that is about it, and it is mostly regarded as how not to write a Java program.

      EJBs, is 1.0 compatible with 1.1, or 2.0 or 3.0. For you non Java developers the answer is no. Why do Java developers require a lot of time to modify their code from one JDK to another or from one server to another?

      Java has a rich history of different "Best Practices". From Applet only to Servelet only, to JSP, to Bean only, to EJB to now POJO (Plain Old Java Objects) which you have to download a 18 MB file implement.

      In Java you must write all of you Javascript for your web pages, while in .NET the server does the vast majority for you. In .NET the server looks at the client browser and sends the appropriate JavaScript. Infact, I can say that when I did .NET my JavaScript ability was severly degraded because of it.

      I can literally go on for hours. Sure when you look at the language, there is not much difference, but the devil is in the details. .NET has a far richer development framework, that only Sun can dream of. Sun has the problem of either rewriting everything or patching what is obviously a dated language and framework.

      Microsoft has done an outstanding job, ASP.NET 1.0 to 2.0 is an incredible leap that the likes of Java has no real comparison. And yes ASP.NET 1.0 runs on an ASP.NET 2.0 IIS box.

      I am a JAVA developer and a .NET developer, Currently I am doing Java (in fact I am the only .NET developer in my shop) and each day, I ask the same question, why is is so much of a pain to do a simple thing in Java? Followed by my next question, Why to do anything in Java, do you need to download and implement stuff like STRUTS, SpringFramework etc.?

      My final comment, is this, if the only thing that matters is time to market then .NET is the way to go. If the only thing that matters is cross platform than JAVA is the way to go.

    47. Re:.NET?!? by Concern · · Score: 1

      This is nonsense. That whole "language-agnostic runtime" business has been debunked thoroughly here already. You can make any langauge in CLR you want, as long as it's basically like C# in structure. You can also make any language that's not, as long as you don't care about performance. Basically the same as the JVM.

      I don't see people flocking to .NET to write anything other than C#, VB, and maybe, I heard about 1 Cobol project. Yes it's possible, nobody does it.

      Then there's all the sugar for doing native calls and unmanaged code in the VM. Stupidest thing I've ever heard of. Basically, either everyone will use a bunch of native or unmanaged code and then most of the reasons to have a VM disappear, since you no longer have just the more highly trusted, verified VM stack to worry about, and no "cross platform," or no one uses it, because they see it's a dumb idea. In addition, there are tools for making JNI easier. But the reason nobody writes JNI isn't that it's hard, it's that it's stupid. If you need JNI, you probably don't need Java.

      Maybe it's just me, but I don't find it that hard anyway. .NET security I can't comment on. And as you say, language feature wise, C# and Java are similar. Java is clearly the older cousin; C# to me looks like something designed from the ground up to be just like it but with some incremental improvements. I wouldn't call it a "knock-off" but it's by no means an evolutionary leap either.

      I can't understand your comment about app server pricing. It sounds like envy that there is no usable free or open source app server for .NET... And honestly the market for app servers (since there is a market, rather than vendor lock-in) is pretty varied, last I checked you could spend as much or as little as you wanted (though if you were going to buy a cheap java app server I'd say you're probably crazy in one way or another... use free or just use PHP for crying out loud)...

      --
      Tired of Political Trolls? Opt Out!
    48. Re:.NET?!? by Anonymous Coward · · Score: 0

      > Actually Jython runs very nicely on JVM.

      Ummm... no, it doesn't.

      It's far slower than the CPython implementation. The .NET version of Python, also written by the developer of Jython, can be _faster_ than CPython. He found it so inspirational that he went to go work for Microsoft on the CLR.

      http://msdn.microsoft.com/msdntv/episode.aspx?xml= episodes/en/20051110PythonJH/manifest.xml

    49. Re:.NET?!? by m50d · · Score: 1

      There's no quasi about it, Sun owns the standard. There is no working open source Java, wheras Mono gives you an alternative implementation of .Net from a well known big competing vendor which is fully open source and actually works. So I will confinue to prefer .Net.

      --
      I am trolling
    50. Re:.NET?!? by MagikSlinger · · Score: 1
      Can someone explain to me how .NET is so fundamentally different from Java that it could escape Java's fate?

      Visual Studio.NET. It's Eclipse with a GUI builder plugin minus the the headaches, bloat and slow downs.

      .NET's Windows Forms API is a LOT easier to work with and customise than JAVA's Swing. It takes me mere seconds to create a scrolling notepad as opposed to 15 minutes in Eclipse and nearly half an hour with just an editor.

      .Net has multi-language support so I can write any of my modules in C++, VB, C#, Python, etc. and link them together painlessly.

      ASP.NET's API to web controls is so slick it doesn't feel like you're even programming a web app. It takes a fraction of the effort to create a database interactive web app than with even PHP.

      Having said all that, from what I've read of Ruby on Rails, it sounds like Ruby could be an ASP.Net killer. They just need the equivalent of Visual Studio.NET (an HTML/Gui editor integrated with a code generator for interface code with the page controls) to make it really popular.

      --
      The bitter lessons of a veteran coder: http://bitterprogrammer.blogspot.com
    51. Re:.NET?!? by Communomancer · · Score: 1

      Java portability is important to a minority of server application developers. Java portability is also somewhat of a myth for anything but fairly simple applications

      Count me in the minority. For years, I've worked with teams that write Java code on Windows workstations even when the final target platform is bigger iron Unix. I suspect that there are many more folks like me.

      So maybe we're a "minority". But we're a sizable one.

      --
      "UNIX" is never having to say you're sorry.
    52. Re:.NET?!? by hweimer · · Score: 1

      What makes .NET more attractive?

      The availability of an open source implementation that is actually usable.

      --
      OS Reviews: Free and Open Source Software
    53. Re:.NET?!? by Anonymous Coward · · Score: 0

      finally someone with a brian..

      the amount of useless and in most cases incorrect banter on here is amazing..

      holy open your mouth without doing any research Batman!!!

      I'd say Mono is and will become a great framework.. also tomcat and XSP are both free.. wow..

    54. Re:.NET?!? by espressojim · · Score: 1

      Show me the report, etc that shows how many of each server are running. Where's your quote for the market share?

      ALL the 2jee servers I see running are free, across a bunch of different places I work at (MIT, Harvard, etc.) Yes, these are
      production class enviornments, servicing many people both on and off site, with very complex apps.

    55. Re:.NET?!? by espressojim · · Score: 1

      Add me to your minority, as well as the 30+ programmers that I work near/with.

      We're all writing data analysis software (genetics), and testing on small boxes (laptops), and moving to a clustered linux enviornment for bigger jobs. I don't have to change anything to get my code working everywhere. As far as I know, only heavy-client GUIs have any problem at all.

      -Jim

    56. Re:.NET?!? by thetoastman · · Score: 1
      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.

      Yes, if you wish to restrict your environment to Microsoft platforms. However I work in a world where there are over 800 core applications running on everything but the kitchen sink. The environment grew organically and will take a long time to standardize. Furthermore, not all business requirements can be well supported in one environment. .NET requires one environment (Microsoft's), while Java does mot.

      In short, I can change the technologoy, but I have much less freedom to change the business.

      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.

      First of all, while the actual CLR is free, the tools to build enterprise level applications in .NET are not. In order to get the tools, you will need to probably purchase a professional version of Visual Studio .NET.

      As far as application server costs (both capital and continuing), this depends on your environment's comfort with freely available software. There are at least three good J2EE servers available (Jonas , JBoss, Geronimo ). There are several flavors of Linux available. If you do not need EJB functionality, then there are several freely available JSP/Servlet containers available with Tomcat probably being the most well-known.

      In short, if you have an organically grown environment or are not in a position to dictate the environment, Java is a good choice. If you can completely dictate the environment and force it to be Microsoft - only, then .NET may be a viable option.

      As far as a technology being so pick your timeframe, that's just marketing speak. You pick the tool for the task at hand. People who create IS environments based on marketing rather than business, technical, and business culture requirements get what they deserve.

      They get expesive, poorly functioning, business-inhibiting environments that can only be changed by the forklift upgrade method.

    57. Re:.NET?!? by killjoe · · Score: 1

      "The vast majority of Java app server usage is comprised of exactly two productions: WebSphere and WebLogic."

      Are you pulling this out of your ass or do you have some stats to back you up? Last I checked Jboss was the most popular Java app server.

      Seeing the rest of your astro turfing posts on this thread my bet is that you are pulling this out of your ass.

      --
      evil is as evil does
    58. Re:.NET?!? by p2sam · · Score: 1

      Vendor lock-in. In the MSFT world, the only game in time for App Server is Microsoft. In the Java world, there are quite a few industrial strength app servers.

    59. Re:.NET?!? by Cymage · · Score: 1
      Actually, JBoss is utilized more than Weblogic and Websphere at this point. Here is a study by BZ Research on it.

      Customers can get 24x7x365 support through JBoss or through partners like HP.

      And yes, I do work there. :)

    60. Re:.NET?!? by theProf · · Score: 1

      Add sun's own J2EE stack to that - and that's certainly enterprise. and 'glassfish' which is the follow-on.

      It made more sense for Microsoft to develop CLI as multi-language, than for Sun. Windows desktops are the target for all sorts of ancient corporate code. The sort of business app that used to live on a box in a datacentre corner used by 20 specialists often transitions to a PC. It's a cheap target. If the app's old, it may use several languages. .NET helps you get around that. But you still get to live with the characters of all those languages.

      Java ended up solving a a differnet problem & coding up *reliable* datacentre apps. The nice thing is that no Java app is much over 10 years old. An interesting thing is how the requirements for big, datacentre apps echo into mobile phones where the reliabilty needs are actually similar.

      I admit I don't program any more, but the language compromises in Java, whilst tedious, do appear to have been beneficial.

    61. Re:.NET?!? by x8 · · Score: 1
      How did Microsoft's marketing team manage to get so many people believe this lie [that the JVM only supports the Java language]

      I stand corrected.

      It strikes me as strange that Sun isn't marketing Java's language independence as well as Microsoft is marketing .NET's language independence.
    62. Re:.NET?!? by Anonymous Coward · · Score: 0

      NET's Windows Forms API is a LOT easier to work with and customise than JAVA's Swing. It takes me mere seconds to create a scrolling notepad as opposed to 15 minutes in Eclipse and nearly half an hour with just an editor.

      Try Netbeans, which I use instead of Eclipse. It has a GUI creation mode that absolutely rocks compared to writing source. (Specifically, I have been using the 4.x version)

      Here's a screenshot of Netbeans 5.0 editing a form:
      http://www.netbeans.org/images/screenshots/5.0/Mat isse.png

    63. Re:.NET?!? by Anonymous Coward · · Score: 0

      For example using a date as an argument in a prepared statement, you must convert the date to java.sql.date from java.util.date, why, because the Java Gods were just too lazy to do it internallly.

      Or perhaps they were wise enough to know that the different applications merited seperate classes and felt that it was a good idea to stick to OOP principles? You know, maintainable code that doesn't do mysterious crap behind your back, and all that.

      Why don't you make your app subclass whatever uses java.sql.date and just overload the appropriate methods to take java.util.date and convert as appropriate?

    64. Re:.NET?!? by AmberBlackCat · · Score: 1

      I personally think the only reason .Net is being used is a lot of business types blindly assume anything from Microsoft is good.

    65. Re:.NET?!? by Anonymous Coward · · Score: 0

      of course Java is a C++ ripoff

    66. Re:.NET?!? by Gordigor · · Score: 1

      Here's a huge one. I can write in any language that is correct for the job, and as long as it is .Net complaint, it will work with the framework. Hell, I can use a C# assembly in a VB.net app and it wil work. With JVM, I am stuck with Java.

    67. Re:.NET?!? by maraist · · Score: 1

      With JVM, I am stuck with Java.

      I don't see how you missed the part where I talked about consolidated languages in java.. My foremer company specifically ported VBScript TO java so we didn't have to work in that god-awful VB environment natively.. We kept all our legacy crap in VBScript, and did all new development in Java/JSP. We used an emulation of the COM-API to transfer data back and forth between the two environments..

      A VM has nothing to do with the language on top of it. Python, Java and .Net all have byte-code mock-assembly VMs. They happen to more easily decompile back into their native language (no idea about .NET), but the multitude of available alternative languages is more than enough to second guess your comment.

      --
      -Michael
    68. Re:.NET?!? by aled · · Score: 1
      On the other hand, Java runs on Unix and Windows. Is there a working version of .NET for Solaris?
      Yes. http://www.mono-project.com/


      Wrong. The answer is no. Mono != .Net, because Microsoft only opened the CLI and C#, not .Net.
      From the site you link:

      "
      • Do you fear that Microsoft will change the spec and render Mono useless?


      No. Microsoft proved with the CLI and the C# language that it was possible to create a powerful foundation for many languages to inter-operate. We will always have that.

      Even if changes happened in the platform which were undocumented, the existing platform would a value on its own.

       
      • Could patents be used to completely disable Mono?

      First some background information.

      The .NET Framework is divided in two parts: the ECMA/ISO covered technologies and the other technologies developed on top of it like ADO.NET, ASP.NET and Windows.Forms.

      Mono implements the ECMA/ISO covered parts, as well as being a project that aims to implement the higher level blocks like ASP.NET, ADO.NET and Windows.Forms. ...

      The controversial elements are the ASP.NET, ADO.NET and Windows.Forms subsets. Those are convenient for people who need full compatibility with the Windows platform, but are not required for the open source Mono platform, nor integration with today's Mono's rich support of Linux. ...

      Not providing a patented capability would weaken the interoperability, but it would still provide the free software / open source software community with good development tools, which is the primary reason for developing Mono.

      "

      Enlightening, isn't it?
      --

      "I think this line is mostly filler"
    69. Re:.NET?!? by induhvidual · · Score: 1

      The C# language borrows heavily from both C and Java (very similar syntax). The big difference is in the .Net architecture and the nature of the runtime.

      In Java, the virtual machine (VM) is the mechanism for cross-platform code execution. The VM is a standard computer platform implememted as a native executable - in short, it is an emulator. If you have ever worked with any emulators, you know they are neither fast nor efficient. Most of Java's problems stem from the limitations of the emulator (VM).

      In .Net, on the other hand, the Intermediate Language (IL) is the cross-platform standard. All .Net programming languages are translated into IL (sort of like Java bytecode, but... not really). There is no emulator. All IL code is compiled into a native executable at runtime, and linked into the CLR, which can be thought of as the mother of all DLL's.

      .Net also adds back much of the C/C++ functionality that was removed from Java. I personally use Visual Studio to write web applications and web services, but then deploy them to Mono running on Linux/Apache. Mono smart clients running on Linux are not quite there yet, but then again, neither is Linux on the desktop.

      As a former hard-core J2EE designer/developer, I can honestly say that my productivity using Visual Studio and C# has increased by a factor of 5 to 10 times over what it was using various Java IDE's, mainly due to the distributed debugging and the relative simplicity of the C# language itself (no more unlearning/relearning due to constant deprecation). Hope that helps.

    70. Re:.NET?!? by ThinkFr33ly · · Score: 1

      If by my ass you mean Giga or Gartner, then yes... my ass.

    71. Re:.NET?!? by ThinkFr33ly · · Score: 1

      As usual, personal experience is not quite a large enough sample size to make the judgements you're making.

      See my other post for sources.

    72. Re:.NET?!? by ThinkFr33ly · · Score: 2, Insightful

      All the windows programmers who were using visual C++ and visual basic are now forced to use .NET.

      Forced by who? VS.NET fully supports writing 100% unmanaged C++, and Microsoft is dedicated to supporting their unmanaged C++ libraries for a long, long time. In fact, one of the best parts of .NET/CLR is that you can use managed extensions for C++ and integrate with the .NET framework a little bit at a time.

      As far as VB, official support ended in March I think, but VB 6 isn't going anywhere for a while. There will be legacy apps for many years, and via COM interop between those legacy apps and .NET is fully possible.

      In a couple of years they will all be forced to use avalon and what ever else MS comes up with. MS programmer use whatever MS gives them.

      Microsoft has been great, at the very least over the past 5 or 6 years, at listen to developer feedback and changing products accordingly. Microsoft gives developers what developers want (for the most part), and developers gladly use it because it allows us to make lots of money.

      Visual studio lets you slap controls on a screen and call it an app.

      Sure. It also gives you pretty much the best IDE for software development on the planet. It's great for developing everything from simply utility apps which are 75% drag/drop, as well as developing large scale enterprise applications. It all depends on the developer using it.

      Never mind the fact that you have just built an application which will bog down in maintenance headaches for the rest of it's life, you built in a day!.

      Huh? What does this have to do with VS? If the developer sucks it doesn't matter what tool they use to write the software... the software will suck.

      This "ease of programming" is like crack to a MS programmer. They get a rush out of delivering their unmaintanable application in a week. To hell with a proper layering, logging, configuration, relational layers, and whatnot.

      What the hell are you talking about? Come out of your cave man... or, better yet, stay in there and keep your foolish mouth shut.

    73. Re:.NET?!? by killjoe · · Score: 1

      Pulling out five year old stats counts as you pulling them out of your ass fuckwad. Why don't you get a recent survey.

      By the way you think IBM and Giga might be a little biased?

      --
      evil is as evil does
    74. Re:.NET?!? by ThinkFr33ly · · Score: 1

      It was Gartner and Giga... and why do you have so much hate?

      Are you not getting laid or something?

      As far as more recent reports, I wasn't really able to find much data. Where are you getting YOUR data from? What evidence do you have that the market for J2EE app servers has changed dramatically over the past 4 or 5 years?

    75. Re:.NET?!? by killjoe · · Score: 1

      IT WAS OLD you fuckwad. Old stats don't fucking count. Websphere was dominant when Jboss was a baby. Now Jboss is dominant. Admit that you were wrong and get on with the rest of your shilling.

      "I wasn't really able to find much data. Where are you getting YOUR data from? What evidence do you have that the market for J2EE app servers has changed dramatically over the past 4 or 5 years?"

      Take a look at the surveys taken by javalobby or every major java magazine. Why do I have to do your research for you? Isn't MS paying you do this research along with your astro turfing?

      --
      evil is as evil does
    76. Re:.NET?!? by ThinkFr33ly · · Score: 1

      I found a report from 2005 that, ironically, is talking about open source app servers being underestimated market share wise.

      The report concluded that the data points to the following breakout:

      JBoss: 4.8%
      WebSphere: 33.9%
      WebLogic: 28.7%
      Oracle: 22%

      So it looks like while the industry might be only saying JBoss has 2% market share, it actually has more than twice that at close to 5%!

      Guess what... I'm even MORE right than I thought I was. 90% of all J2EE app servers are VERY EXPENSIVE.

      There ya go, "fuckwad".

    77. Re:.NET?!? by jafac · · Score: 1

      The difference between java and .net:

      You can download java from Sun for free, install it in about 5 minutes, and start developing. .net, you need MSDN subscription, about seven CD's, a pHD in Windows to figure out what version of IE, what service pack, what MS SQL server version, what IIS version, and what service packs of each of those you need - just to begin the endurance sport that is setting up your machine to develop .net. What does .net actually do? I have no fucking idea.

      --

      These are my friends, See how they glisten. See this one shine, how he smiles in the light.
    78. Re:.NET?!? by ThinkFr33ly · · Score: 1

      Damn, jumped the gun. I misread the article. The actual breakouts are:

      JBoss: 34.8
      WebSphere: 33.9%
      WebLogic: 28.7%
      Oracle: 22%

      So it looks like you're right, JBoss is indeed used the most often, but expensive app servers still make up the vast majority of the market place for J2EE.

      So while it wasn't the slam dunk I was hoping for to shut you up, it still supports my argument.

    79. Re:.NET?!? by richieb · · Score: 1
      It's far slower than the CPython implementation. The .NET version of Python, also written by the developer of Jython, can be _faster_ than CPython. He found it so inspirational that he went to go work for Microsoft on the CLR.

      Ah, good for him.

      The speed of Jython is not that important. The integration between Java and Jython is.

      --
      ...richie - It is a good day to code.
    80. Re:.NET?!? by killjoe · · Score: 1

      "So it looks like you're right, JBoss is indeed used the most often, but expensive app servers still make up the vast majority of the market place for J2EE."

      If you read the article you are linking to you will see that the HP rep says the best way to measure is by actually taking a survey. In the article it says they surveyed 750 "development managers". Now if you have company big enough to have a "development manager" then you are probably a big company who has a contract with IBM or Oracle for a bundle of good as services. So what's the point? Simple.

      People who use weblogic or oracle or websphere are probably getting the application server thrown in when they buy a support contract or a database or a server. Yes that's true because I have worked for such companies. So it's innacurate to say the J2EE market is dominated for expensive app servers, those app servers are actually free or close to free.

      Also it just makes sense that HP or Gartner would only interview large corporations. The survey only takes a snapshot of a small section of the market (the large corporation) while completely ignoring the small to medium companies, consulting firms, and individual contractors.

      That's why I refered you to javalobby or magazine surveys. They tend to more representitive of the java development ecosystem as a whole.

      Finally, the jboss share has gone from zero to 34% in less then two years and shows no signs of stopping. I would expect that figure to double in two to three years.

      --
      evil is as evil does
    81. Re:.NET?!? by Anonymous Coward · · Score: 0

      You said it.. you have no fucking idea because you don't know shit. You can develop .NET for free you fucking idiot, you can download the framework and compiler for free. Microsoft even gives you a free Visual Studio lite version, you you want an IDE (http://msdn.microsoft.com/vstudio/express/default .aspx). Stop with your FUD.

    82. Re:.NET?!? by cr_nucleus · · Score: 1

      To sum up i'd say that java brought us cross platform capability with a single language, when .net brought us cross language capability on a single platform.

      Next step is both at the same time, cross platform, cross language. It's already started since other languages generating bytecode have appeared but as you point out, the JVM wasn't designed with that in mind.

      Probably things are gonna evolve from the java platform i'd say.

    83. Re:.NET?!? by espressojim · · Score: 1

      If by your ass, you mean IBM for one page, and websphere advisor for the other, then I'd say your ass is looking huge right now.

      Now, find some quotes on how cigarrets aren't so bad on a tobacco website for me...because that was just pathetic.

    84. Re:.NET?!? by Mr.+Kimba · · Score: 1

      The real question is why do I have to do the coversion? The conversion basically is the number of miliseconds from Jan. 1, 1970 and then convert it over. Is there something that I am missing?

      Would the code be different for every application that uses a preparedStatement? I think not. So the question still remains, Why?

      If it was truely OOP it should be transparent to me.

    85. Re:.NET?!? by angel'o'sphere · · Score: 1

      This is very simplified, and thus not really correct.

      The CLR aka Common Language Runtime is what is the VM for Java. CLI is what is bytecode for Java. And on that elvel both platfotms are very similar. CLI has the absolute same restrictions the Java VM has -> single inheritance.

      Regardignm generics, I can't get why everyone is repeating that old myth? Java WAS FIRST with GENERICS. C# 2.0 was just releast last month!! and C# 1.0 HAS NO GENERICS.

      But biggest fault: CLI nor Java bygtecode has anything to do with generics or not, at that level generics are only annotations in the classfile, and if you remove them the class looks like an ordinary class based on objects.

      Also for the JVM hundrets of bytecode compiled languages exist. Its completely wrong to claim the CLI would suppport more languages "as it was designed for that".

      Your picking on JNI is IMHO wrong also. There exist excellent tools that create C++ look alikes of java classes completely hiding JNI from you. And from Java to C or C++ JNI is very very very simple, only calling back into Java is "complicated". What is the advantage of .NET here? There is NONE, except that the Visual Studio environment generats all the "complicated" stuff for you and you use the easy generated stuff where as you need third party tools on the Java side.

      Not really. It's an evolutionary step. .NET is basically Java 1.1. With a really hell of a lot simplifications (in terms of technology, not useability or development ease).

      I can't comment on .NET security framework. Javas is simple and powerfull. .NET offers more hooks from the beginning, but for me it looks like a lot of decissions you want to make, are now forced to be done at development time while Java uses for more complicated stuff like role based method access a aspect oriented deploy tiem approach.

      Bottom line the biggest drawback is, and likely will be fo a long time, that .Net is tied to windows. As far as I understood project like mono never will catch up as the underlying platform is and will stay Windows. All development from MS in .NET will be driven by Windows needs and Office needs and their continuing attemts to get more foot hold in server computing.

      After all .NET applications are written with an IDE that hides most of the technologie, you don't learn how stuff really works and if somethign fails you hardly can figure whats wrong. Remote stuff is done via SOAP, but in fact you never really see anything from that, the IDE and the Web server silently exchange deployment and configuration details ...

      In java it is to easy with a good IDE as well, but basically you still need to know how stuff works, and thats important IMHO.

      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    86. Re:.NET?!? by ThinkFr33ly · · Score: 1

      The CLR aka Common Language Runtime is what is the VM for Java. CLI is what is bytecode for Java.

      Java is the term used to describe both the VM and the language. That's why I didn't make the distinction.

      Regardignm generics, I can't get why everyone is repeating that old myth? Java WAS FIRST with GENERICS. C# 2.0 was just releast last month!! and C# 1.0 HAS NO GENERICS.

      Yes, Java implemented Generics before C#, but Java's Generics are not true generics. The reason for this is a limitation imposed by the VM... a limitation that does not exist in the CLR.

      There are two major benefits for using generics, code generality (you can create a collection class that can accept any kind of object yet still be strongly typed as apposed to just accepting "objects"), and speed.

      With Java's generics you get the generality, but not the speed. Here is a comparitive overview to look at, although it's by the creator of C# so there is obviously some spin... but it's factually correct.

      After all .NET applications are written with an IDE that hides most of the technologie, you don't learn how stuff really works and if somethign fails you hardly can figure whats wrong.

      VS.NET hides nothing. All the code it generates is there for you to see. In addition, you don't have to use VS.NET. You can write it in notepad (or Emacs, or VI, or whatever) and compile from the command line, just like Java.

      A good developer will know how the platform they use works regardless of the platform in question. I used to code a lot of VB 6 and I was quite familiar with the inner workings. ThunderMain anybody?

    87. Re:.NET?!? by Anonymous Coward · · Score: 0

      The real question is why do I have to do the coversion? The conversion basically is the number of miliseconds from Jan. 1, 1970 and then convert it over. Is there something that I am missing?
      Isn't one of them is just a date without time-of-day information, and the other is actually a specific point in time, including time of day?

      So converting between them should not be automatic, because in one direction it adds hour/minute/second/etc. data (stroke of midnight) to your calendar date... or you flat out lose data in the conversion. So despite the name similarity they are not really equivalent types.

      What if you converted util.date to sql.date and back again? Data loss. So it's left up to the programmer.

    88. Re:.NET?!? by angel'o'sphere · · Score: 1

      Yes,

      that articel exactly says what I said: java generics and C# generics work the same way. There is no difference.

      If you liek to make a difference, then it is in conjunction with primitive types like int and byte etc.

      As soon as you use object types its completely the same like in Java.

      However teh articel tries hard to convice the reader there would be a difference ;D the CLR tries to "instanciate" generics, depending on type. That of course makes a difference for int, float and anything derived from object in respect to int or float. But everythign that is dereived from object looks the same. Its instanciated nevertheless, and in Java its JIT compiled, into different representations for different kinds of objects, IF THAT MAKES SENSE. So basically both approaches are very similar.

      The observations the guys make in the article are, however, true for Pizza and GJ, but Java 5.0 implements a lot of that, especially reflection, different.

      angel'o#sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    89. Re:.NET?!? by Stu+Charlton · · Score: 1

      So it's innacurate to say the J2EE market is dominated for expensive app servers, those app servers are actually free or close to free.

      Considering it's a 50/50 split between BEA and IBM across the board in most production systems, with Oracle catching onto third, and BEA doesn't sell a complementary product, I guarantee you BEA's software is not remotely close to free.

      That's why I refered you to javalobby or magazine surveys. They tend to more representitive of the java development ecosystem as a whole.

      I challenge that. WTF is an "ecosystem" and why does it matter? Marketshare implies a market. Marketshare traditionally means "the proportion of revenue generated in a market segment by one organization". By that definition, JBoss is a laggard -- they have 100 employees, obviously they're doing something right, but IBM's WebSphere application server division + global services have a cast of thousands, and BEA has around 4000 employees. BEA is still growing (albiet slowly) and takes in over $1.1B dollars annually, mostly on products based on WebLogic Server.

      Is it really appropriate to measure marketshare in terms of number of installs? That's certainly harder to measure (most installs don't necessarily imply the software is "doing" anything). Apache is an exception because of surveys like netcraft, that can actually count external sites, that show the actual "web server marketplace" is tiny, since the top 2 (Apache and IIS) are essentially free. JBoss, Inc. exists to make money, so naturally they love a mass install base as a potential swath of support contract opportunities, but that's the only real benefit.

      Furthermore, I would say the most installed Java server by far is Tomcat. JBoss isn't a web server / container. Most J2EE applications are not made with EJB these days. There's less reason to choose JBoss when you can go Spring + Tomcat, or Spring + Resin or even BEA WebLogic Express. And I wouldn't choose JBoss for its stellar JMS implementation, I'd rather go with IBM or BEA, or even a small/fast player like Fiorano.

      --
      -Stu
    90. Re:.NET?!? by ThinkFr33ly · · Score: 1

      It absolutely is not the same. The CLR has native support for generics. The JVM does not. Period. It's a compiler trick in Java.

      The differences aren't just with primitive types. They happen with all types. The impact is just typically the greatest with primitives.

      The approaches could not be more different. Java's approach is to only address code generality. It allows developers to THINK they have a strongly typed collection class (or whatever), but in fact it's just going to get turned into a glorified array list of type Object.

      The CLR/.NET's approach is to actually have the type evaluated runtime and turned into a fully strongly typed structure with all the benefits that has, both generality wise and speed wise.

      Either you don't have a grasp of the concepts involved, or you're being extremely intellectually dishonest.

    91. Re:.NET?!? by weatherboy · · Score: 1

      Score 1?!?!? Mod this parent up, way up!

      I'm a Java and Groovy developer with some C# and .NET experience. Even if you don't use .NET at all, this stands as an excellent criticism of Java on its own.

    92. Re:.NET?!? by killjoe · · Score: 1

      "Marketshare implies a market. Marketshare traditionally means "the proportion of revenue generated in a market segment by one organization"."

      No it doesn't. It means the percentage of the installed base.

      "Is it really appropriate to measure marketshare in terms of number of installs? "

      I don't know if it's appropriate or not but that's the way it's always been measured.

      "Furthermore, I would say the most installed Java server by far is Tomcat. "

      I agree. But an HP poll of fortune 500 companies would probably show near zero penetration by tomcat.

      "Most J2EE applications are not made with EJB these days."

      I don't know about "most" but yes the the trend is with lighterweight containers and frameworks. Again something like this isn't likely to show up on a surver of large corporations.

      "There's less reason to choose JBoss when you can go Spring + Tomcat, or Spring + Resin or even BEA WebLogic Express."

      Spring + tomcat has indeed been gaining marketshare over jboss and all other full featured J2EE containers. Note that both Tomcat and Spring are free and open source.

      "And I wouldn't choose JBoss for its stellar JMS implementation, I'd rather go with IBM or BEA, or even a small/fast player like Fiorano."

      IN that case you would be going against the tide of the java programming community.

      We seem to agree on a lot here. Let's get back to the original point.

      1) The majority of java applications are running on free software. When you add tomcat + spring + jboss + JONAS etc this number probably dwarfs the installed base of websphere, BEA or Oracle.

      2) Corporations frequently get the application server thrown in for free when they sign support contract bundles from the likes of IBM and ORACLE (and to much lesser degree BEA).

      3) Corporation are free to choose the open source containers because the open source containers have proven themselves to be "enterprise ready". They are deprived of free and enterprise ready application server if they choose the .NET development stack.

      --
      evil is as evil does
    93. Re:.NET?!? by Dan+Hayes · · Score: 1
      They don't. This doesn't work

      ArrayList<String> lists[] = new ArrayList<String>[5];

      in Java because generics aren't properly supported in the JVM. Which is pretty annoying because it means you end up having to do

      ArrayList<ArrayList<String>> = new ArrayList<ArrayList<String>>();

      instead which is uglier and performs worse.

    94. Re:.NET?!? by angel'o'sphere · · Score: 1


      The differences aren't just with primitive types. They happen with all types. The impact is just typically the greatest with primitives.


      Agreed, and did not say teh opposite.

      However I said: for non primitive types, this makes no difference. A Generic class that has as actuall type parameter a reference typ, will allways be compiled to the exact same machine code, regardless what that reference type is.

      So List of Window and List of Button are the same machine code. And there is no speed difference in those two, and there is no real advantage versus Java either.

      However I completely agree that Java/Sun went a bullshit path in chosing type erasures as the system for generics. In fact I would want a more template like approach, like in C++

      Anyway, I think most of the discussion sprung from the fact that you saw a hughe difference between CLR and JVM, and I understood you ment the bytecode. Obviously you mean more class laoding, security and handling of classes, in this case generics.

      Because my main point was: CLI (the CLR byte code) and JBC (the Java byte code) are very similar.

      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    95. Re:.NET?!? by Stu+Charlton · · Score: 1

      No it doesn't. It means the percentage of the installed base.

      Sez you. Marketshare is the share of market, which implies money. Installed base is a fundamentally different measure. Arguably installed base means something is more influential / has more mindshare. But it doesn't say anything about money exchanging hands.

      I don't know if it's appropriate or not but that's the way it's always been measured.

      No, actually. Plus it is hard to point to an accurate way of measuring the install base. Publication surveys tend to have a statistically skewed population and thus are very inaccurate. Basing things in terms of revenue is also inaccurate (shelfware is pervasive) but tends to at least be quantifiable and verifiable.

      1) The majority of java applications are running on free software. When you add tomcat + spring + jboss + JONAS etc this number probably dwarfs the installed base of websphere, BEA or Oracle

      I would qualify this. The majority of Java applications in production, supporting commerical entities with overall revenues of $10 million or more are running BEA or IBM. The rest probably are running free software or something really cheap. My evidence for this assertion? Well statistically there was the Middleware Company's / TheServerSide.com's 2004 J2EE survey where BEA and IBM's actual production installed share according to the survey was much larger than JBoss.

      And anecdotally, I've been a consultant internationally for over 6 years, I've worked at several major wall street firms, two international banks situated in Japan, several major telcos, a couple of publishers, some e-commerce, the U.S. Navy, different branches of the Government of Canada and 3 provinces, and for 3 large systems integrators, and in my eyes and my collegues eyes, you see IBM a bit more than BEA and Oracle catching on quick. JBoss is in pockets, but mostly for development work and only if they're using EJB's. Tomcat on the other hand is pervasive.

      And I have never, in my entire career of consulting, nor have I ever heard of anyone seeing a production application that involves financial transactions use an open source JMS product. It probably exists, but I would never recommend it.

      2) Corporations frequently get the application server thrown in for free when they sign support contract bundles from the likes of IBM and ORACLE (and to much lesser degree BEA).

      Given that IBM is still #1 in terms of marketshare according to IDC and Gartner, and that's measured by revenue, they're certainly not giving it away for free. Heavily discounted, and bundled, sure. But they make money on this stuff. THough if you scratch at the figures (again, marketshare according to IDC or Gartner - which measure share of market, not installed base), you see that IBM basically does give away WebSphere on AIX and Windows platforms but charges out the leg for Mainframe platforms. Which is likely why BEA has the marketshare lead on UNIX/Linux.

      Oracle doesn't give away the farm except in an enterprise license situation where it's a burn-down or an all-you-can-eat, which isn't really a give away, it's a discount.

      3) Corporation are free to choose the open source containers because the open source containers have proven themselves to be "enterprise ready". They are deprived of free and enterprise ready application server if they choose the .NET development stack.

      Disagree. JBoss is not, in my opinion, "enterprise ready". Neither is MySQL. Linux and Apache are. JBoss is free if you want an unsupported application server.. That's it. Most of the install base that you cite don't buy support contracts from JBoss, Inc. But if you do, it's pretty affordable. But then again, IBM's low-end offerings and BEA WebLogic Express are also price competitive with JBoss, and contrary to JBoss' rhetoric have very good support quality.

      And I see .NET deployed a tremendous amount more than JBoss. .NET as a whole is becoming quite pervasive. Developers that use it tend to love it. If there's a dark horse that's "free" that's going to kill BEA and IBM, it would be this....

      --
      -Stu
  18. Interpreted Versus Compiled by WombatControl · · Score: 1, Insightful

    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.

    1. Re:Interpreted Versus Compiled by phasm42 · · Score: 2, Funny
      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.
      I'll leave the maid's work to you. We'll be building lasting structures over here.
      --
      "No one likes working in a hamster wheel, and your shop smells of cedar shavings from here." - TaleSpinner
    2. Re:Interpreted Versus Compiled by AndroidCat · · Score: 1

      Umm. The lines between complied and interpreted are fuzzy even for implementations of languages, with pcode (bytecode, MSIL, etc) and JIT native code compilers. There are few languages that are inherently compiler or interpreter only.

      --
      One line blog. I hear that they're called Twitters now.
    3. Re:Interpreted Versus Compiled by Anonymous Coward · · Score: 0

      Java is a bitch to learn, ... , and it has a syntax that's byzantine as hell.
      I'm glad you weren't talking about perl. But wait... when you can bang out a much simpler and easier system in Perl, Python, PHP, or Ruby?. Hah!

    4. Re:Interpreted Versus Compiled by twd · · Score: 1

      Why is this insightful? It's not the difference between a compiler and an interpreter that makes a language hard or easy to use.

      After over a decade of C and C++ programming, for me, Java was far from "a bitch to learn." It was very easy, and its libraries provided a lot. The syntax is hardly byzantine compared to C/C++. What's easy to learn depends on what you already know.

      I've also extensively used Perl, and have likes and dislikes about it as well.

      Certainly, scripting languages like Perl, PHP, Python and Ruby are useful, and can be very simple for non-programmers to learn. But I've had to support some of the spaghetti-coded scripting abortions written by self-taught experts. Ultimately, bad programmers can make a mess of any language.

      But sometimes the massive application is what's called for, and there is not simpler and easier system that can be written. For those systems, Java is not the only possible answer, but it's a very valid one.

      --
      ~*~ Tara
    5. Re:Interpreted Versus Compiled by QuietLagoon · · Score: 2, Insightful
      The big issue here is speed of development and ease of use. Java is a bitch to learn, it requires a compiler, ...

      Requiring a complier can be a feature in applications that are anything but simple. If you have a syntax error in an interpreted language, and that syntax error is in a branch that does not get executed frequently, you won't know about that error until later, much later, probably early on a Sunday morning. On the other hand, a compiled language will flag the error at compile time.

      Interpreted languages are good for quick development, less complicated projects where run-time errors don't cost lots of dollars.

    6. Re:Interpreted Versus Compiled by puppetman · · Score: 1

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

      Because the most interesting problems go far beyond simple text processing.

      For small projects, Java adds too much overhead. For large projects, Java is perfect.

    7. 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
    8. Re:Interpreted Versus Compiled by hjf · · Score: 0
      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.

      Not true. Java is much easier to learn that C++. C++ has a really nasty way to do things. it requires a compiler too, etc. But these are different things. Anyways, Python, and the only true interpreted language (Perl of course), have one major flaw: they are read-only. You can code a program in the flexible ways (black magic, as Wall likes to cal it), but then you end up with a program that you won't be able to read or debug just a few hours after you finish. If you write it the proper way, you end up almost with a C program (without the data definitions). Don't even go into objects with Perl, it's just suicide. Thats the reason java is so bitchy to learn, it forces you to do things right, but in the long run its an advantage. You don't end up with a concatenation when you wanted to do a sum (Neither in perl because . and + are different strings), and you can apply the same operators ("!=" to strings, vs "!=" and "ne" for perl).
      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?
      Why of course! Because python, perl, all the same shit. They're designed to process text. Sed and awk are too. But you don't see a corporate app written in sed, awk, or bash. Neither in perl, python or php. The truth is, I don't know what is wrong with these people. The wikipedia-haters. The java-haters. I mean, dude if you dont like it just ignore it! Java isn't designed to do web sites, as PHP is, and php isn't designed to write desktop apps. Why try to do such comparations? Would you use PHP to write a shell script? I don't think so.
      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.
      SOOO not true. For writing a simple visit counter, yes, java is way too much. But for writing a supply chain management software, one that doesnt run inside a web browser, Java is your friend. If you're on Windows 100%, you may be better off with C#.
    9. Re:Interpreted Versus Compiled by Berkov_s1 · · Score: 2, Insightful

      I have read /. for the last few years without ever having replied to a post but the sheer stupidity of this one compelled me to.

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

      What are you on about? Java is a bitch to learn - even the most fanatical Java hater would admit it is easy to learn. The documentation is absolutely brilliant.

      "It requires a compiler" - so what. What has this got to do with anything? Seriously? I have no idea what you mean by this - the Java compiler is easy to use and quick. Even if you get into the most complex builds in java with RMI (which no longer requires special compilation now anyway since 1.5) it is still easy. You also never do it by hand anyway as ant/eclipse exist.

      "For doing something like simple text process, Java's syntax just gets in the way" By this if you mean doing some scripting - then yes - use perl. Why were you scripting in Java anyway you muppet. You need to get the anti-patterns book and go look up Golden Hammer.

      I hate these inane flame wars which inevitably end up in a horses for courses anwser. From the comments I see posted most people with any sense have little inclination to get involved. (Yes I see the irony). Yes people overuse J2EE. I avoid J2EE unless I absolutely need it - and I avoid weblogic like the plague.

      And another thing on the speed of development issue - people rarely acknowledge the roles of IDE's in development when talking about languages. I had to do a multithreaded, distributed application with a gui - I used eclipse,jigloo,TogetherJ and the eclipse RMI plugin - its not just the language which aids productivity but the development tools and environment. No development environment I have come across comes close to eclipse - it all just works seamlessly and jigloo is a godsend. Yes the java language is more verbose than some (and less than others ie Ada) but the development environment negates this. It still annoys me that people are still pulling all the Java myths out of their ass from when they last tried it in 1996 using notepad/vi.

      I have also looked at Java code written by C/Perl junkies who moan about Java - because they have not updated their skill sets and have written nonsense. They have this nasty habit of implementing data structures themselves as well. Ffs. Geez. The number of times I have seen someone write sorting algoritms in a java app.

      People also dont look at beyond base functional (in-out) requirements. Yes I can hack out a perl script. Does it scale? Is it maintainable? Is it transactional? Is it safe? (As in safety-critical applications). Would you fly on an airplane with an avionics system written in perl? Why do you think AirBus/Boeing use Ada?

      And dont get me started on all this LAMP crap. All industry Java applications I have worked with have been on Linux some have used MySQL.

      Basically I think it boils down to people with Golden Hammer complex and genuinely feeling an emotional attachment to a technology. I hate working with anybody who is an 'X' zealot. Language wise I use Perl/Ada/B/Z/Java with JDO,Spring,Struts,Hibernate,JBoss,JUNG/C/Prolog dependent on what I am doing - and I mean I really think about what I am doing before I pick a technology. If something better comes along I have no attachment to any and will ditch any if it allows me to deliver a better product quicker to the user.

    10. Re:Interpreted Versus Compiled by masklinn · · Score: 1

      Python and Ruby are not quite "scripting languages" today, they're full fledged programming languages that strive for cleanness and readability.

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    11. Re:Interpreted Versus Compiled by masklinn · · Score: 1
      Why of course! Because python, perl, all the same shit.They're designed to process text.

      Duh? Python has never (EVER) been designed to "process text", please check your sources.

      While it has acceptable text-processing abilities that's clearly not where it shines (you want Perl for that).

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    12. Re:Interpreted Versus Compiled by m50d · · Score: 1
      On the other hand, a compiled language will flag the error at compile time.

      Only if it's a very simple error, logic errors are more common and won't be caught. And if it's one that can be caught at compile time, it may well be caught in the bytecode compilation that will happen as the program's being run. All the compiler, which is very artificial in Java, does is force you to have two debug cycles - you write, compile, fix bugs, then when you've fixed them all and got it compiling you have a whole new set of new ones to handle.

      --
      I am trolling
    13. Re:Interpreted Versus Compiled by QuietLagoon · · Score: 1
      Java doesn't make you do two debug cycles, debugging while developing a program is a continuous process, from the design stages right on through to the release of the program. Java allows you to catch some types of bugs earlier in the development process.

      The earlier you catch a bug, any bug, the better.

    14. Re:Interpreted Versus Compiled by m50d · · Score: 1

      Psychologically if nothing else, I find it's nicer to write a chunk of code and then get all the bugs out of it. This is easier to do when there's one place you find all the bugs (runtime).

      --
      I am trolling
    15. Re:Interpreted Versus Compiled by QuietLagoon · · Score: 1
      I find it's nicer to write a chunk of code and then get all the bugs out of it.

      Whatever works best for you. However, I am amazed that you can develop bug-free code. Very, very few people are capable of such a feat.

    16. Re:Interpreted Versus Compiled by m50d · · Score: 1

      Python makes it a lot easier.

      --
      I am trolling
  19. Book sales by tcopeland · · Score: 1
    From the article:
    Java-related books are off 4% so far this year, while sales of books related to AJAX, a new Web site-building formula used predominantly with open-source software packages, are up 68%.
    That's all very well... but what are the actual numbers? If Java book sales go from 10000 to 9600 while AJAX sales go from 100 to 168... not a big deal as far as this author is concerned.
    1. Re:Book sales by mountainnstream · · Score: 1

      Nice one, Tom! It looks like you have been busy since Realeum days.

    2. Re:Book sales by FortKnox · · Score: 1

      The best part about this is that Java and AJAX are mutually exclusive. I am playing with a new java (open source) API called WebWorks that has built-in AJAX. Comparing these two technologies makes absolutely no sense.

      --
      Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
    3. Re:Book sales by tcopeland · · Score: 1

      Busy indeed, right on, never a dull moment. Let's see... "mountainstream"... hm, who could that be? Ah, Realeum... PaymentBServer... good times.

    4. Re:Book sales by poopdeville · · Score: 1

      You should really hire a typographer.

      --
      After all, I am strangely colored.
    5. Re:Book sales by mountainnstream · · Score: 1

      It is indeed good times. This is Leo Chan btw.

    6. Re:Book sales by tcopeland · · Score: 1

      Hey Leo! Very nice! Ah, the office of four people... me jammed behind the door, you over in the corner introducing this new "JSP" thing. Crazy stuff :-)

  20. Stupid new buzzword by wampus · · Score: 2, Funny

    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.

    1. Re:Stupid new buzzword by Anonymous+Crowhead · · Score: 2, Informative

      LAMP is not a 'stupid new name'. It's been around for 5+ years. You should be ashamed, Mr UID 1932.

    2. Re:Stupid new buzzword by nathan+s · · Score: 1

      I was going to make a similar comment, although I agree with the original post that these acronyms are lame. I didn't hear about AJAX 'til the beginning of this year, and LAMP has been around for a number of years already, although that P part 's exact meaning continues to be debated.:-)

    3. Re:Stupid new buzzword by wampus · · Score: 1

      It was stupid then and it is stupid now. You kids and your four letter acronyms, when I was a boy we had TLA's and WE LIKED IT. That said, I feel like I've been seeing nothing but LAMP and AJAX in the last couple months.

    4. Re:Stupid new buzzword by 91degrees · · Score: 2, Informative

      Nothing wrong with LAMP. It's just a convenient acronym. This is what acronyms are there for. It's a lot easier than saying a Linux/Apache server with MySQL and web applications written in PHP.

    5. Re:Stupid new buzzword by TekGoNos · · Score: 1

      It's a lot easier than saying a Linux/Apache server with MySQL and web applications written in PHP

      Well, that is exactly the problem : why to be so specific?
      After all, nobody sais LWDJ (Linux, Websphere, DB/2 and Java) or SOOJ (Solaris, Oracle AppServer, Oracle Database and Java)

      It doesnt matter if the underlying OS is Linux or .{3,4}BSD, it doesnt matter if the Server is Apache or ... well, ok there isn't really anything else there in the UNIX world. It doesnt really matter if the Database is MySQL, PostgreSQL, SimpleSQL or even Oracle. And apparently (as nobody knows what exactly the P stands for), it doesn't even matter if the language is PHP, Perl or Python.

      Well, it does matter in a real project, as all these applications have different strengths and weaknesses, so select the right one.
      But here, we are comparing this "platform" to Java. Java is only the language (+ App Server specification), it says NOTHING about the OS, nor the database. So, if we ignore these details when speaking about Java, why are they becomming important for LAMP?

      IMNSHO, LAMP based WebApp is just a buzzed way of saying : Open Source based WebApp (hey, new buzz-word : OSWA ;p )

      --
      I have discovered a truly remarkable proof for my post which this sig is too small to contain.
  21. Big applications by harmonica · · Score: 1

    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.

    1. Re:Big applications by masklinn · · Score: 1

      Issue is that PHP is not modular. There are no modules, no namespaces, the scopes are half baked, the syntax is fugly, the OO is a pityful hack and the constructs are stupid.

      It takes a hellish work to prevent a PHP application from turning into a strange gooey mess, because that's the way the language is designed. Modularity, clarity, cleanness, were never considered when PHP was first created. And then they kept adding layers upong layers of dung.

      If you want languages that help you use clean and modular designs, check Ruby (and Ruby on Rails on the web), check Python. Yes, you can write crap in these languages (hell, you can write FORTRAN in every language), but that's not what the tutorials and documentations show you, that's not how 90% of the code is written, and that's not what the guys will tell you to do on comp.lang.(Ruby|Python)

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    2. Re:Big applications by SimHacker · · Score: 1

      Sure, PHP programs "don't have to be" a nightmare, but they usually are. You could say the same thing about Perl, so why aren't you using that instead? Take a step back, though: your program "doesn't have to be" written in PHP or Perl! It could be written in a much better langauge like Python or Ruby, then you wouldn't have to spend so much energy fighting against the limitations and quirks of the language itself.

      PHP is NOT modular -- it's a horribly designed, ill conceived language that throws up all kinds of pointless road blocks and diversions, that other languages don't waste your time with. If your excuse is "it doesn't have to be that way", then why are you using PHP in the first place? If you have such good and capable developers, then why on God's earth are they pissing away their time and effort with PHP? If it's because PHP is the only language they know, and they're not willing to learn and use better languages, then they're certainly not very capable developers, are they?

      -Don

      --
      Take a look and feel free: http://www.PieMenu.com
    3. Re:Big applications by harmonica · · Score: 1

      Issue is that PHP is not modular. There are no modules, no namespaces, the scopes are half baked, the syntax is fugly, the OO is a pityful hack and the constructs are stupid.

      If the language doesn't offer certain constructs, it all has to happen using coding discipline. That's quite hard but it can be done.

  22. Damn shame by Anonymous Coward · · Score: 1, Informative

    Microsoft's .NET "technologies" are just a java rip-off

  23. This just in.. by vga_init · · Score: 1

    Surveyors in South Korea have discovered that only old people use Java.

  24. J2EE != Java by khrome · · Score: 3, Insightful

    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

    1. Re:J2EE != Java by Anonymous Coward · · Score: 0

      Here Here! - Java is a fine language; The people who dreamed up J2EE were complexity sadests. I believe they secretly all hate me personaly! I've got it! An alien plot to destroy the web.

    2. Re:J2EE != Java by edxwelch · · Score: 1

      Well said. In fact J2ME beats everything else if you are writing games for movile phones.

  25. Slipping? Why? by symbolic · · Score: 1


    Is it because more developers are using .NET and LAMP, is because LAMP and .NET are necessarily better?

    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?

    1. Re:Slipping? Why? by sydney094 · · Score: 1

      I find the bridge comparison a pretty good one. Bridges are very expensive, so the only way to make them profitable is to make sure that they last a very long time. In order to last a very long time you can't build a bridge on shifting sand... if you do, it will likely be the last bridge you ever build.

      If your software is only designed to last a year before rewriting it, then go ahead, build it on "sand" (so to speak). However, if you're designing software for the long term, you better make sure that you're using good solid methods... or else it will eventually fall over like a bridge built on sand.

      --
      "If we knew what we were doing, it wouldn't be called research." - Einstein
    2. Re:Slipping? Why? by symbolic · · Score: 1


      If your software is only designed to last a year before rewriting it, then go ahead, build it on "sand"

      I'm not speaking of software per se, but the environment in which it exists - it is highly dynamic. Once a bridge is built, that's it. Once a software application is built, that's only the beginning, assuming it even gets there. How many failed bridges are you aware of? By contrast, how many failed software projects continue to make their way onto the mounting pile of bit-junk?

  26. The 'P' in LAMP by Anonymous Coward · · Score: 0

    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.

    1. Re:The 'P' in LAMP by perlchimp · · Score: 1

      It stands for Perl. Always has, always will. Anyone who tells you differently is wrong, idiotic and a bigot.

    2. Re:The 'P' in LAMP by Anonymous Coward · · Score: 0

      A racist too. Proabaly communist even.

    3. Re:The 'P' in LAMP by masklinn · · Score: 2, Informative
      Does the 'P' mean Perl, PHP, or Python? Or, does it mean all three?
      Any of the 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.)

      If you want to be able to code in the large sense, not specifically for the web, I'd advertise Python. Or Ruby. Both languages are really good to build offline applications, and just as good for online apps (websites or webapps). Clean, powerful, OO-based yet multiparadigm (the languages are OO, but you don't HAVE to use OO).

      If all you want is build a quick website, PHP is the easiest but the ugliest.

      Perl gives mixed feelings, the syntax is strange, the code (as in PHP) extremely easily turns into a gooey sticky mess (Perl is often described as a Write Only language), the OO is a hack, but Perl is unrivaled for a few hundred lines of heavy string manipulation. Beyond that, it's a pain to keep it readable.

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
  27. Hype Hype Hype by batkid · · Score: 1

    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.

    1. Re:Hype Hype Hype by mkw87 · · Score: 1
      but uninformed article based on hype really kills me.

      Your comments makes me assume you are new here....

      --
      Arguing with an engineer is like wrestling a pig in mud. Soon, you realize the pig is dirty, and he likes it.
  28. Languages show their age by dkoulomzin · · Score: 0

    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".
  29. Brewed? by Svencer · · Score: 2, Insightful

    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.

  30. Java / ActiveMQ and more by Anonymous Coward · · Score: 1, Insightful

    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.

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

  31. assert(Java instanceof AJAX) by tcopeland · · Score: 1

    For example, there's Joe Walker's DWR Java/AJAX library.

  32. uh oh by DarthTator · · Score: 0

    I hope Java isn't dead. that's what I'm learning to program in (and my school's cs department teaches programming in)

    1. Re:uh oh by Eli+Gottlieb · · Score: 1

      Yeah, it got me pretty mad to here that they've replaced "start with Pascal and eventually move on to C" or just "start with C" to "start with Java and never ween them off it". I swear they must be trying to dumb down the next generation of coders.

    2. Re:uh oh by Anonymous Coward · · Score: 0

      It shouldn't matter what language you're first learning to program with. You know that you will have to learn many other languages (a) before you graduate (b) during your career, right?

      --a CS professor

    3. Re:uh oh by altoz · · Score: 1

      I learned to program in Pascal... If that tells you anything. Just learn good programming principles. That's more useful than any particular language you learn.

    4. Re:uh oh by Anonymous Coward · · Score: 0

      It's not CS if they're teaching you one particular language. If they taught you abstract concepts and let you learn stuff like Java it would be CS, otherwise you are learning IT. Please do not try to pretend you are a CS student when you are in fact no better than some MSCE.

    5. Re:uh oh by Eli+Gottlieb · · Score: 1

      Sorry, I meant "to hear".

    6. Re:uh oh by bladesjester · · Score: 1

      I think my alma mater was talking about doing something similar. When I attended, it was Pascal to C++ to C (OS and internetworking) and various other things for the specialized classes (languages, databases, ai, etc). Java was just an optional course.

      I heard from a friend of mine who teaches there that aparently they replaced Pascal with Java, but that's fine because they still do C and C++ for the really core stuff.

      Java's a great language, but sometimes it's nice to know how things really work. Heck, I didn't *really* understand recursion until I'd been through OS. Before that it was just sort of magic and hand waving to me.

      --
      Everything I need to know I learned by killing smart people and eating their brains.
    7. Re:uh oh by Eli+Gottlieb · · Score: 1

      http://inst.eecs.berkeley.edu/~cs162/lectures.html

      Those are lectures in Operating Systems at UC Berkeley. The assignments are done by simulating an OS with algorithms written in Java. This worries me.

  33. If anything.. by cybrthng · · Score: 1

    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.

  34. LAMP, Java & Web 2.0 by broward · · Score: 1

    The LAMP meme has been rising slowly but steadily for years now, which surprised me.

    http://www.realmeme.com/Main/miner/technology/LAMP linuxDejanews.png

    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.

    1. Re:LAMP, Java & Web 2.0 by dada21 · · Score: 1

      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.

      My outsourcing friends in India and Poland are heavily involved in pushing the entire Web 2.0 idea to their subcontractors. Do you think the primary job creation will be in Western nations or the 2nd world countries?

    2. Re:LAMP, Java & Web 2.0 by LDoggg_ · · Score: 1

      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.

      How does AJAX and the like displace Java & J2EE?

      Any server side technology can create content for dynamic web pages to pull data from.
      XMLHTTPRequest could even be making a call to a static page as far as the client is concerned.

      --

      "If they have both, tell them we use Linux. And if they have that, tell them the computers are down." -Dave Chapelle
    3. Re:LAMP, Java & Web 2.0 by Concertina · · Score: 1

      Uh oh, better forget all those silly LAMP acronyms and learn to play Web 2.0 bullshit bingo!

      (I kid, I kid. Mostly.)

    4. Re:LAMP, Java & Web 2.0 by Anonymous Coward · · Score: 0

      ... and no one has patented: "method for abstract grouping of established technologies and/or concepts for the prupose of making a less-than-witty acronym and/or sequential buzzword."

  35. Bad article: 2 diff things for 2 diff purposes by postbigbang · · Score: 1

    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.
  36. Apples and oranges by JourneyExpertApe · · Score: 1

    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.
  37. I Can't Tell If You're Serious by Petersko · · Score: 1

    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?

    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 .NET and see where you've gone wrong.

  38. Perl and Python are older than Java by Per+Abrahamsen · · Score: 2, Insightful

    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.

    1. Re:Perl and Python are older than Java by WindBourne · · Score: 1

      Java actually was started in the 80's inside of Sun. It was designed to be used on Tv Set-top boxes. After a large group decided to not go with Sun's solution, then the group went about looking for a problem in search of a solution. They found it in the netscape browser.

      --
      I prefer the "u" in honour as it seems to be missing these days.
    2. Re:Perl and Python are older than Java by C_Kode · · Score: 1

      Perl always had the hype from the *I'm an Uber geek* crowd. The ones that used to scream "BSD command line and Perl. Who needs anything else?" Back in the mid 90s. I remember so many of the uber geek tech support guys (and even some of the admins) from the ISP I was admined at were screaming that. Most of them today (that I know or have any contact with) dual boot Windows/Linux and their primary language is Python or PHP.

      As for myself. I don't dual boot. My work supplied laptop is Windows, all my servers are Solaris or Linux. Python is my primary language PHP is my secondary. They are admin tools, as I do not write large applications. My home PC is packed away in the closet. Who needs it when I have a free laptop? :)

      The only thing I really use Perl for anymore is very heavy text processing. That isn't very often as we generate our own web stats for special reporting. Python can parse, gather statistics, merge logs and rewrite several million Apache log lines very quickly.

    3. Re:Perl and Python are older than Java by SimHacker · · Score: 1

      No, Java was designed in the 90's, not the 80's. Gosling was working on NeWS (the Network extensible Window System, based on PostScript) in the 80's. NeWS pioneered the ideas behind AJAX, but it used PostScript instead of JavaScript, PostScript instead of XML, and PostScript instead of HTML. Just a wee bit more consistent and integrated than AJAX.

      -Don

      --
      Take a look and feel free: http://www.PieMenu.com
  39. Take an Open-Source Metric by Eli+Gottlieb · · Score: 1

    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.

  40. marketing making tech decisions... brilliant by altoz · · Score: 1

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

  41. Mainframes Old and Out of Style??? by jsailor · · Score: 3, Insightful

    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.

    1. Re:Mainframes Old and Out of Style??? by Anonymous Coward · · Score: 1, Interesting
      I have worked on mainframe sites that were a mess.

      Things like JCL weren't under source control. Testing was usually ad-hoc to non-existent.

      It's a matter of care/professionalism on the part of both IT & System Owners.

      Been places where some of the stakeholders can't event be bothered to turn up to Planning/Information meetings. I know, I fell asleep in one once! (It was in another city & I c'ld sleep the night before.)

      I've seen 3rd Party vendors ripping off organizations blind (for customization)!

      Is your Mainframe system organized because your site is well run & professional or because it's 'functionally stable', i.e. dead!

      My clients are very large financial institutions

      How do their market shares compare to 20 years ago. What will their market shares be in 10 years time? Are they being pecked to death by new companies running blade farms?

      I wont use the name 'Open Systems', in this case it's a wrong term! (When did Wintel become an open system?)

      It's not the scale of the hardware that is the issue. It's the utility of the software. Generally the newer the software, the better its utility! It's a matter of trade offs. When does the cost of upgrading worth the benefits of the extra utility!

      These small systems run the newest software.

      All things considered, I'ld rather work with more recent software. Why, one word, UTILITY. Better software tools, if used in a professional & disciplined way, led to better systems that can evolved in a more timely manner.

      In a COBOL environment you are fighting the language to be disciplined and structured. The grain of the COBOL language is too course! Which would you rather Unit Test, a 30K LOC of COBOL program or a 50 LOC java method?

      A quiz for you!

      Question: What are the four division of the COBOL program.

      Awnser:
      IDENTIFICATION DIVISION.
      ENVIRONMENT DIVISION.
      DATA DIVISION.
      SPAGHETTI DIVISION.

      A good manager makes sure their staff have good tools!

      Gnoll110
    2. Re:Mainframes Old and Out of Style??? by DoktorFuture · · Score: 1

      I took an SNA course for kicks at IBM and had my head spun around 360 degrees a few times.

      I was amazed at the precision and care of the engineering of everything. When a connection failed, it was possible to use diagnostic tools to view exactly how far the state machine got in creating the LU6.2 session. What the tool showed was the specific point where a buffer pool (some VTAM thing?) was insufficient.

      I contrast this with IP, where you essentially have ARP and Ping. It's like throwing flares into a void.

      Anyway, I've been trying to understand mainframes for years... and have hardly succeeded, but the main thing I can say is that along with mainframes comes a philosophy of discipline, care, proper engineering, ability to design a system that can guarantee response times.

      I don't know about you, but I'd like to live in a world where I could engineer a system where I could *guarantee* response times -- not hope for reasonable ones.

      Lots of respect for those IBM folks.

  42. ATi drivers by DigiShaman · · Score: 1, Interesting

    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.

    It's just added Bloat. So why even use it on Windows? I sure hope nVidia doesn't start using .Net

    --
    Life is not for the lazy.
    1. Re:ATi drivers by C_Kode · · Score: 2, Interesting

      .NET is Microsoft's next attempt to gain control since the failure of passport.

      It's .NET that makes PHP, Python, and Ruby so important. (notice I didn't list Perl...) .NET's biggest boon is it is easy to create with. (I've easliy trimed 80% of my development time switching from C/C++ to PHP to Python) I don't hate what .NET is. I think it's great. I just hate some of the motives behind it.

      As for Java. It's not legacy yet. Sun attempting Microsoft type moves caused most of it's problems. Just like Solaris now. If they would have opened it up sooner, it wouldn't be quite so deep in the hole it's in now to other technologies. Java has a lot going for it that arn't strong points for LAMP and .NET, but it's got a lot of problems compared to LAMP and .NET also. Ease of the development cycle is a major issue comparatively.

    2. Re:ATi drivers by Anonymous Coward · · Score: 0

      Yeah, the whole Catalyst control panel is a serious piece of ass now. The startup time is ridiculous. Simply absurd, really. It did, but may not now, even come with its own copy of the .NET runtime.

      But since I use Linux, I buy nVidia products. I just happened to win a an ATi card that I ended up giving away, and didn't care much for the Catalyst experience.

  43. marketing... by Spy+der+Mann · · Score: 1

    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.

  44. Not so... by Anonymous Coward · · Score: 0

    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.

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

    1. Re:Lies, Damned lies and Statistics by iluvcapra · · Score: 1

      Parent is almost certainly referring to the recent upswing at O'Reilly, on the order of some thousands of percent, in the sale of Ruby and Ruby on Rails books, while Python remains flatish.

      --
      Don't blame me, I voted for Baltar.
    2. Re:Lies, Damned lies and Statistics by midicase · · Score: 1

      One of my Graduate instructors who has had his doctorate for more years than I have been alive told us on many occasions about the passing fad known as Java. While languages come and go, so do the jobs. The people that read BW are also tend to be the ones that do not want to be left behind when it comes to new technology so they start new projects based on what their favorite magazine or buddies say.

      Anecdotally after many, many Java classes for the Bachelors Degree and still more for the Masters, I was not able to get even an entry level position as a Java programmer. While Java may not be a 'fad', hiring people for a new Java project is.

    3. Re:Lies, Damned lies and Statistics by Anonymous Coward · · Score: 0

      I agree with you. What worries me is that you teach at a community college.

    4. Re:Lies, Damned lies and Statistics by Doctor+Memory · · Score: 2, Interesting

      after many, many Java classes for the Bachelors Degree and still more for the Masters, I was not able to get even an entry level position as a Java programmer

      What was your Masters in, Art History? Or do you just live in Lower East Nowhere? I live in frickin' Nebraska, for $DEITY's sake, and there's Java jobs a-plenty. Hell, I'm getting cold calls again, and that hasn't happened since the bubble burst.

      --
      Just junk food for thought...
    5. Re:Lies, Damned lies and Statistics by nappingcracker · · Score: 1

      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.

      And this is why they will never STFU. This is yet another example of how the sheep take orders from the machine.

      --
      |plastic....or gasoline?|
    6. Re:Lies, Damned lies and Statistics by Anonymous Coward · · Score: 0

      What worries me is that I teach at a community college.

      Frankly, that worries me too.

  46. j2ee is a howitzer by jmcelroy · · Score: 1

    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.

  47. All I know is by ellem · · Score: 2, Funny

    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 .sig is fake but accurate.
    1. Re:All I know is by b4k3d+b34nz · · Score: 1

      Peter Norvig wrote an interesting article a while back (well, the title's interesting anyway) about how long it REALLY takes to learn programming. http://www.norvig.com/21-days.html. I'm up to 6 years right now, and still learning. I think you learn the most when you're first starting, as well as when you start to learn best practices. I didn't start learning the best ways to do things until a couple years after I started programming, and instead developed spaghetti code instead of decent OO code. I suggest the read--it's good.

      Basically, when you first start coding, you learn syntax and "do this, do that" situational programming. After a while, you start to develop methodologies for programming, and then up to design patterns and other higher-level programming tactics.

      --
      Grammar Lesson: you're is a contraction of "you are"; your means you possess something; yore means days gone by.
  48. Java Is So 90s by mynickwastaken · · Score: 1, Funny

    And .NET is Gay

  49. Java: Where Components come from by LionKimbro · · Score: 2, Insightful

    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?

    1. Re:Java: Where Components come from by kuzb · · Score: 1

      [..]and there's nothing more unpleasant than waiting for a Java app to load. Than waiting for Eclipse to load.

      Yes, I truly hate losing that 10 seconds out of my day. Just think of what I could accomplish if I had it all back!

      --
      BeauHD. Worst editor since kdawson.
    2. Re:Java: Where Components come from by LionKimbro · · Score: 1

      Petty, isn't it? I agree.

      And yet, I don't use Eclipse. Ah well, it's only my loss, I suppose.

    3. Re:Java: Where Components come from by Arjuna · · Score: 1

      Perl is a fable, about a monastery

    4. 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
    5. Re:Java: Where Components come from by LionKimbro · · Score: 1

      Python doesn't have anything like this yet.

      Hey; I get to be the first to tell you! Yay me. :)

      EasyInstall. And no, this isn't some "fringe" thing: TurboGears uses it as it's basic installation method.

      I'm not sure on inclusion in the standard distro (of EGGs and EasyInstall,) but I know people are talking about it.

    6. Re:Java: Where Components come from by swilver · · Score: 1
      I'm a Python and Java guy, although more Java than Python. I find Python to be elegant in some ways (built-in collection types) and totally brain dead in others (classes and the 'self' parameter, lack of compile time code checks). I use Python for quick hacks, shell scripts and minor GUI work (major GUI work is an exercise in frustration in Python). I use Java for anything that would take more than 1000 lines of codes in Python because it is easier to maintain over the long run.

      Why anyone would even consider using a language like Python or PHP or any other scripting language out there for larger projects is beyond me (small websites are fine, as those things are usually quick hacks anyway). Even in the smallest Python programs I often find trivial mistakes that can only be discoverd if the code is actual run. For code that is only rarely used (like exception handling code) you'll often only find that error when things actually go wrong. In Java I can atleast be sure I didn't misspell a variable or method name by accident, or that I used the wrong string concatenation operator or whatever else the Python code checker won't catch at "compile time".

      As for Eclipse, you are welcome to program Java in the same editor I program Python in: VIM. Not that I would though; any decent Java Editor will offer you a host of handy functions, which are only possible with Java (and perhaps C#) because Java is a strict language without macros (#define) and other nonsense that prevents in-depth parsing. A good Java editor can tell you when variables are never read, what code calls a public method (if any at all), when you misspell a variable or when you write other nonsense. A good Java editor can create a full parse tree of your code and even rewrite parts of it to do exactly the same thing (like inverting a conditional, rewriting if-else blocks, inlining methods or globally renaming anything you want (files, methods, variables, you name it).

      No Python editor could ever hope to do that, hence no Python editor will ever be a heavy weight environment like Eclipse; there just isn't much more a Python editor can offer than decent syntax highlighting and meta functions like diffing and folding.

    7. Re:Java: Where Components come from by LionKimbro · · Score: 1

      And I agree; I spoke too brusque.

      Guido's talking about run-time interface conformance requirements for 3.0.

      If it happens, it could be really cool. Granted, it's not compile-time, but, it might make some projects easier than they are right now.

    8. Re:Java: Where Components come from by stor · · Score: 1

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

      LOL. No. Perl is still the duct tape that's sticking all this crap together!

      I wouldn't tend to use Perl for a large project though unless that project was for stats/billing/reporting etc. and even then Java seems like a safer/ more long-term bet.

      Perl is like shell scripting on roids. Fills this space very well I think. It's actually the only language I feel 100% comfortable with, which makes me worry slightly about my mental health ;)

      Cheers
      Stor

      --
      "Yeah well there's a lot of stuff that should be, but isn't"
    9. Re:Java: Where Components come from by LionKimbro · · Score: 1

      I do a lot of bash scripting at work; I keep thinking "I need to learn perl."

      I've tried to use other languages to do what bash scripting does, and there's just nothing as good as bash.

      Can you do the equivalent of a "mkdir -p" easily in perl, and can you do the verious tricks like "FOO=`./blah.sh`" and "$$" and stuff like that?

    10. Re:Java: Where Components come from by Black+Perl · · Score: 1

      Ah, there's the "good start" I was hoping for. It still has a long way to go before it is everything CPAN is. But hopefully the Python community will rally around it and extend it and make it part of the Python distribution.

      --
      bp
  50. Obligatory Anchorman quote by Anonymous Coward · · Score: 0

    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.

  51. buzzz by cifey · · Score: 1

    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
  52. Java 90's!!! Wake Up by Anonymous Coward · · Score: 1, Informative

    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.

    1. Re:Java 90's!!! Wake Up by masklinn · · Score: 1

      I must say that I don't quite care, Nokia's Series 60 phones can be developped for in Python and THAT rocks my socks

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    2. Re:Java 90's!!! Wake Up by Anonymous Coward · · Score: 0

      If you develope the same stuff in Java, you will be able to sell your work to a bigger base. Your are thinking with the guts not with the brain.

      Or maybe you are happy with pennies or do not think your app woth be placed in million of phones instead of a couple of thousands.

  53. The good news is ... by WindBourne · · Score: 1

    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.
  54. Marrying Java vs. Just Doing Flash/Perl/PHP by dotslashdot · · Score: 1

    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.

  55. Java takes up the COBOL banner 'Java-Correctness' by stuffduff · · Score: 2, Interesting
    COBOL (IMHO) was written by accountants for accountants and I distictly remember agnozing over each and every byte. I think that what will doom Java is a form of political correctness that reminds me of COBOL. In Java, there are many less right ways to do something. Java Correctness means that there must be some sort of inherent bias in the design of the language, or in the leadership of it's development. If there is one thing that I have learned is that programmers do not think alike nor do they code alike. How can one define the productivity losses imposed by a language that has a 'correct' way of doing something? By contrast, I believe that Giudo keeps python as open as humanly possible. That, in no small measure, contributes to the reality of increased productivity with python.

    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?"
  56. How to have a disaster of a project by rewt66 · · Score: 2, Insightful

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

    1. Re:How to have a disaster of a project by lightspawn · · Score: 1

      (Digression: "hip"? Who says "hip" any more? It's so 1960s...)

      Sorry. Let's give this another try.

      Can it possibly be that Java -- once the keenest of keen software -- has become a legacy technology?

    2. Re:How to have a disaster of a project by Anonymous Coward · · Score: 0

      Ruby on Rails.

  57. Agreed! by porkThreeWays · · Score: 2, Interesting

    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.
    1. Re:Agreed! by m50d · · Score: 1
      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.

      No it doesn't. Java GUIs still suck incredibly, and if you leave it open and running for a while the VM will suck up more memory than you can afford.

      Java has a niche, but it's pretty small. If the performance is critical, you're almost certainly better off with C++, and if it doesn't matter then python is far nicer to program in. The only reason I can see to use Java is if you need the OO all over it aspect that Java has, but that's a very niche situation.

      --
      I am trolling
    2. Re:Agreed! by kiwipeso · · Score: 1

      Really? I have 1.25 gig of ram, will the VM actually suck up more than 1 gig of ram?
      I'm using Java to do an encypted p2p system and a operating system gui.

      --
      - Kaos games and encryption systems developer
    3. Re:Agreed! by m50d · · Score: 1
      Really? I have 1.25 gig of ram, will the VM actually suck up more than 1 gig of ram?

      IME, always, it certainly always consumes my 1384mb of virtual memory eventually. Might just be lazy programming in all the java programs I've tried, but I doubt it.

      --
      I am trolling
  58. Apache is so Java... by puppetman · · Score: 1

    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?

  59. Out of Style? by da_reboot · · Score: 1

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

  60. Java is not obsolete by Anonymous Coward · · Score: 0, Troll

    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.

  61. java is a dog from hell by the0ther · · Score: 0, Troll

    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.

  62. Java not flexible?! by grahamsz · · Score: 2, Insightful

    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.

    1. Re:Java not flexible?! by arevos · · Score: 1
      Where do you feel java lacks flexibility?

      While I'm not the parent poster you're replying to, I'll try and answer this. Of course, it's a little tricky to know where to begin!

      The most obvious thing that springs to mind is that Java lacks true multiple inheritance and a complete object model. To try and compensate for these deficiencies, hacks such as interfaces, autoboxing and a variety of object wrappers have been patched in. This leads to redundancy and unneeded complexity.

      Flexibility is sacrificed for robustness with Java's use of static typing, though you may feel that's a justified sacrifice. Java also lacks operator overloading and anonymous methods (ie. lambdas). Anonymous objects are nice, but terribly clumsy. Java doesn't have metaclasses like Python, continuations like Ruby, or duck typing like Boo. You can't redefine existing classes and Java's introspection is horribly complicated compared to other languages.

      I'm sure there's more, but that's all I can think of off the top of my head. The current project I'm designing at work is in Java, and the code would be a lot neater and shorter if I had multiple inheritance, simple introspection and anonymous methods.

    2. Re:Java not flexible?! by grahamsz · · Score: 1

      In my mind LAMP is Linux, Apache, MySQL, Perl (I've spent most of the past 5 years working in perl)
      and i'd argue that Java has a far more complete OM than perl does.

      I'll give you the introspection is needlessly complex and that autoboxing is something of a hack, but I feel interfaces are very useful and perhaps more-so than multiple inheritance. Of course Java was my first real-world experience of OO programming, so i may view it differently just because i'm not very used to working with C++.

      I'd never make the claim that Java is a concise langauge. On the contrary it is often quite verbose, but as long as you can type fast then in isn't a great hinderance and makes the code a lot easier to follow than perl. Ruby does look very interesting, but i haven't had the time to really learn it yet.

      However, to get back to the original point, I felt that java was very flexible in terms of end result. I can think of loads of things i can't do in visual basic without resorting to some nasty hack. OTOH the only thing, that springs to mind, that i've had trouble with in Java was getting a servlet to accept a large (8GB) file encoded in an HTTPS post. Perl had no qualms about it.

    3. Re:Java not flexible?! by arevos · · Score: 1
      In my mind LAMP is Linux, Apache, MySQL, Perl (I've spent most of the past 5 years working in perl) and i'd argue that Java has a far more complete OM than perl does.

      Oh, certainly. Perl's entire object model is a bolted-on hack :)

      Python and Ruby, on the other hand, have a much better object model. Everything, including classes, methods and imported modules are objects, and can be treated as such. Java lacks this, but partially makes up for this by suppling a vast number of wrapper objects: classes can be wrapped in the Class object, methods can be wrapped in the Method object; but Java's wrappers are very clumsy in comparison to the real thing.

      I'll give you the introspection is needlessly complex and that autoboxing is something of a hack, but I feel interfaces are very useful and perhaps more-so than multiple inheritance. Of course Java was my first real-world experience of OO programming, so i may view it differently just because i'm not very used to working with C++.

      Certainly the languages you know affects how you view programming, though multiple inheritance done properly is a superset of interfaces. Anything you can do with interfaces, you can do with multiple inheritance. An interface is, after all, just an abstract class with no variables.

      However, to get back to the original point, I felt that java was very flexible in terms of end result. I can think of loads of things i can't do in visual basic without resorting to some nasty hack. OTOH the only thing, that springs to mind, that i've had trouble with in Java was getting a servlet to accept a large (8GB) file encoded in an HTTPS post. Perl had no qualms about it.

      Certainly Java is better than VB, and easier to read than Perl. In that, we are in complete agreement :). But Python and Ruby, at least to me, seem significantly better again.

      You might also want to check out Nice. It's a language that compiles into JVM bytecode, the same as Java, and can use Java classes (Groovy and Scala are some other interesting JVM-based languages). Nice looks a lot like Java, but boasts some pretty interesting advantages, which are listed on the front page of the website. Multi-methods, value dispatch and anonymous methods are my favourites :)

    4. Re:Java not flexible?! by grahamsz · · Score: 1

      Certainly from what I've seen, Ruby looks very promising and i'm not qualified to comment on Python.

      My current work involves lots of GUI stuff and from developing Java Servlets I was able to jump right into Swing. The other big benefit I see to Java is that Eclipse and NetBeans are both excellent, and when I last looked, there wasn't anything close for Ruby.

      Nice looks very cool. I'll be checking that out asap.

    5. Re:Java not flexible?! by antijava · · Score: 1

      The biggest problem I've seen is the lack of decent dynamic runtime support.

      For instance, you can't write transparent proxy objects because you can't write a method to capture messages that are not implemented in the class.

      Objective-C has had this behavior for nearly 20 years now:

      doesNotRecognizeSelector:
      Handles aSelector messages the receiver doesn't recognize.

      - (void)doesNotRecognizeSelector:(SEL)aSelector

      Discussion
      The runtime system invokes this method whenever an object receives an aSelector message it can't respond to or forward. This method, in turn, raises an NSInvalidArgumentException, and generates an error message.

      You can subclass this method and transparently forward the request to another object, marshall it up and send it across the network to a remote process, etc.

    6. Re:Java not flexible?! by Anonymous Coward · · Score: 0
      Complexity is in the eye of the beholder. I think interfaces are usually a cleaner solution than multiple inheritance, and most of the time that my first thought is that I need multiple inheritance in Java, there is a cleaner more elegant interface-based alternative. An interface also lends itself to a much more loosely coupled relationship, since the interface will very rarely change, and the classes that depend on the interface know absolutely nothing about the internal workings of the actual implementation, so the particular implementations can be mercilessly refactored as necessary. The same can't be said about abstract classes, unless they have so little implementation that they're essentially interfaces in every way but name.

      Your criticisms also do not really seem to me to get at flexibility so much as expressiveness and the undeniable fact that some things are much more difficult to express in Java than, for example, in a language that has higher-order functions (like Nice in the broader jvm world) (though anonymous inner classes (another use for interfaces, in simple callbacks and the like) go a long way to substituting for them, and after using them for a while they don't seem awkward to me anymore).

      There is no question though that compared to Python, for example, Java is verbose, less expressive, and the object model is incomplete. On the other hand, though, the Java development world has been a focal point for a lot of very interesting developments, from research-oriented projects that build on the JVM, to the early MVC frameworks up through modern component-based frameworks (tapestry rules!), to AOP, to test-driven development (JUnit was the great popularizer and widely copied), to ORM and dependency injection, to semantic web libraries (Python is a distant second there, but also has some nice libraries), and I could go on. Hardly any of these, if any at all, really started in the java world, but they've reached very broad penetration for the first time there. The richness of the libraries and frameworks that are freely available to the average Java developer is astounding.

    7. Re:Java not flexible?! by arevos · · Score: 1
      An interface also lends itself to a much more loosely coupled relationship, since the interface will very rarely change, and the classes that depend on the interface know absolutely nothing about the internal workings of the actual implementation, so the particular implementations can be mercilessly refactored as necessary. The same can't be said about abstract classes, unless they have so little implementation that they're essentially interfaces in every way but name.

      I'm sorry, you've lost me. Interfaces are a subset of multiple inheritance. With multiple inheritance, you have the choice to use an interface-like abstract class, or not to use one. Java does not provide this choice, which sometimes leads to code being repeated across classes. How can removing choice from a language be a good thing, especially when this breeds redundancy?

      Your criticisms also do not really seem to me to get at flexibility so much as expressiveness and the undeniable fact that some things are much more difficult to express in Java than, for example, in a language that has higher-order functions (like Nice in the broader jvm world) (though anonymous inner classes (another use for interfaces, in simple callbacks and the like) go a long way to substituting for them, and after using them for a while they don't seem awkward to me anymore).

      Java's immutable classes are certainly a very real point of inflexibility, and are not just a lack of expressiveness.

      However, in theory, you are correct that higher-order functions and the like are examples of expressiveness rather than flexibility. Java can achieve the same thing, even if in a more long-winded manner. In a similar way, a car doesn't provide anymore flexibility over walking; it's just faster.

      But in practise, it does provide a barrier to flexibility. A car opens up options not available to a pedestrian. Whilst a five mile trip is possible by foot, such journeys are not often practical. In a similar way, the weight of anonymous objects is a barrier to them being used in the same way as, for instance, Ruby's blocks.

      In Ruby, blocks are used everywhere. In Java, anonymous objects are used very rarely. Yet both these constructs are, in essence, much the same thing. So whilst in theory, Java is just as capable as Ruby when it comes to higher level functions, in practise Java lags behind due to the weight of its syntax. In my view, this counts as a lack of flexibility, though you may see it differently.

      The richness of the libraries and frameworks that are freely available to the average Java developer is astounding.

      Oh, certainly, and this is one of the reasons why I'd be tempted to use Java in some circumstances. This said, there are some rather good libraries for other languages that Java doesn't come close to matching. Rails and Twisted are the first two that spring to mind.

  63. Re:Java takes up the COBOL banner 'Java-Correctnes by kronocide · · Score: 1

    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? :-)

  64. This just in... by superdan2k · · Score: 1

    Ada reported as being "soooooooo....uh.....never....was?"

    --
    blog |
  65. Java on Sourceforge by Anonymous Coward · · Score: 0

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

    1. Re:Java on Sourceforge by Anonymous Coward · · Score: 0
  66. Re:Java takes up the COBOL banner 'Java-Correctnes by Anonymous Coward · · Score: 0

    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.

  67. Apples and Oranges. by merreborn · · Score: 1

    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.

  68. /.ad? by KZigurs · · Score: 1

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

    LAMP is marvelous for what it does good - Q&D solutions where result matters. Java and .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).

  69. Nice way to antagonize your readers by Mr.+Cancelled · · Score: 1

    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?

  70. The local joke around here... by IGnatius+T+Foobar · · Score: 1

    The local joke around here is ...

    Q: What does the "J" in Java stand for?

    A: "Slow."

    --
    Tired of FB/Google censorship? Visit UNCENSORED!
  71. I love and hate Java by erroneus · · Score: 1

    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.

  72. Get a better book by woodsrunner · · Score: 2, Informative

    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.

  73. java is loosing traction because of j2ee by helix_r · · Score: 1


    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.

  74. Finding its place by porkThreeWays · · Score: 2, Insightful

    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.
  75. hype != hip by dajobi · · Score: 1

    nt

  76. SAP? by Grendel+Drago · · Score: 1

    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
    1. Re:SAP? by DarkHand · · Score: 1

      There's more functionality than I have access to, but it's basically a database system for processing and tracking purchase orders, invoices, and the like. Invoices from purchases and services incurred by our department can be directly paid for and tracked through SAP, straight from our own budget to the supplier.

    2. Re:SAP? by orderb13 · · Score: 1

      SAP is a huge POS. Originally it was built as a manufacturing management software. It would track all kinds of things such as inventory and output and such. It was actually pretty good at that. Now it has migrated into this behemouth thing that tries to do everything from the original to web development platform to content management and sucks at it all.

      Oh yeah, and it is REALLY, REALLY expensive.

    3. Re:SAP? by Anonymous Coward · · Score: 0

      Our company spent $3 million on the software and $25 million on the installation and initialization. We're currently in the middle of upgrading to mySAP, and I have no idea what the cost is for that.

    4. Re:SAP? by -benjy · · Score: 1

      SAP is a business process company. The software platform is just incidental to this. They have a huge and (overly) flexible infrastructure that allows them to build a multitude of business processes of top of it.

      There are a huge number of tasks that all businesses of a certain size need to do (Customer support, supply chain management, resource planning, HR, financials, online stores, you name it). These aren't tasks that give them a competitive advantage (not being core to the product), but which can cost them dearly if managed poorly. SAP takes care of the common mechanics of running a business so that companies can focus on their actual product.

  77. Java was never hip by photon317 · · Score: 1, Interesting


    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). /rant mode off

    --
    11*43+456^2
    1. Re:Java was never hip by Tiny+Elvis · · Score: 1

      Dunno who modded the parent 'troll' but I think it is pretty accurate. Should be modded insightful.

    2. Re:Java was never hip by Anonymous Coward · · Score: 0

      Exactly, I can sign under that.

    3. Re:Java was never hip by Hazelnut · · Score: 1

      Well I think parent is trolling. (possibly unintentionally)

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

      What a load of rubbish - maybe you're thinking of c++ there. Java doesn't even have multiple inheritance (for good reasons) and using Java is not nearly as verbose as languages where you have to re-invent the wheel due to a lack of libraries.

      I suspect that you, along with many others, have a conception of Java that was formed when it was a buzz word and everyone and their CTO wanted in on the hot steamy action. Just because a lot of rubbish Java programmers filled up the sudden void does not mean that people who are 'real' programmers as you put it don't use Java and have grown to love it. It is frustrating that so many people don't learn it properly, sometimes not even OO theory, but that's not Java's fault.

      Look beyond the hype, analyse the (now more mature) language & platform with an objective eye. Use it. Read 'Effective java'. Use a good IDE. (Eclipse is free) When you've used it for a year and started to get familiar with the libraries come back and let everyone know what you think. I challenge you... otherwise you're ignorant and should really keep quiet.

      All the people who bash Java really don't know anything much about it usually. Sure it has its problems & faults - I would never claim it's perfect. I started doing Java simply because it was what the clients I worked for were using, but I now actively seek out Java work.

      Maybe that's because I was never really a programmer to start with you'll probably say. Well, I guess that's just subjective. You'll just have to trust me... ;-)

    4. Re:Java was never hip by photon317 · · Score: 1
      It was intentional, but I don't consider it an outright Troll, as I really meant and believed what I said. Trolls are about deception and lying.

      What a load of rubbish - maybe you're thinking of c++ there. Java doesn't even have multiple inheritance (for good reasons) and using Java is not nearly as verbose as languages where you have to re-invent the wheel due to a lack of libraries.

      You're right, it was a mistake to mention MI, that just kinda bled over from my usual frothing at the mouth at overzealous OO designers in other languages. Scratch "multiple inheritance" from the statement and I still stand by it though.

      I suspect that you, along with many others, have a conception of Java that was formed when it was a buzz word and everyone and their CTO wanted in on the hot steamy action. Just because a lot of rubbish Java programmers filled up the sudden void does not mean that people who are 'real' programmers as you put it don't use Java and have grown to love it. It is frustrating that so many people don't learn it properly, sometimes not even OO theory, but that's not Java's fault.

      I was definitely generalizing about "real programmers". I'm quite sure there are some very talented programmers, who for one twisted reason or another (probably a money decision) have learned to code well in Java. I still doubt there are any who would have chosen it on their own from the get-go without some external influence.

      Look beyond the hype, analyse the (now more mature) language & platform with an objective eye. Use it. Read 'Effective java'. Use a good IDE. (Eclipse is free) When you've used it for a year and started to get familiar with the libraries come back and let everyone know what you think. I challenge you... otherwise you're ignorant and should really keep quiet.

      I'm never one to keep quiet. The more abrasive and ignorant my opinion the louder I'll shout it, it's what Slashdot is all about :)

      If anything, I think early Java was probably better than current Java. Back then, there was a single consistent platform, and one standard set of libraries, etc. I'm not saying the addons since weren't neccesary - but in the meantime there has been an explosion of Java environments and Java libraries. Porting a Java app from one application server to another can be more complicated than porting an ANSI C/C++ app across disparate POSIX platforms to someone who isn't well-versed in either, which to me largely defeats the purpose of Java. You may as well have stuck with C/C++ in that case - why invent a new language?

      But then there's also the "All OO, All The Time" thing. I think it's ridiculuous for a language to limit a person to only OO techniques. Some things just are not objects, and do not abstract well as objects. I'm very much in the camp that believes that OO should be used judiciously only for those things which readily and naturally abstract to Objects. Some languages allow the mixing of OO and non-OO idioms easily, but Java isn't one of them.

      All the people who bash Java really don't know anything much about it usually.

      Oh, but I do know. Many times I've had to rescue broken/unupgradable Java applications and port them to a sane "LAMP"-ish platform. Aside from everything else above, another problem is that in a world of such enforced and many-layered abstraction, it is so easy for Java programmers to fall prey to Leaky Abstractions (google the article), and completely miss very serious bugs, even security ones when using the standard Java security abstractions. Ask any JSP author to describe the server<->browser flow of information that happens at any point somewhere in the middle of his application, and he'll generally tell you he has no clue. Good luck debugging those issues if the abstraction isn't perfect (which it isn't, see the Leaky Abstractions paper again).

      Sure it has its problems & faults - I would never claim it's perfect. I started doing Java simply

      --
      11*43+456^2
    5. Re:Java was never hip by Hazelnut · · Score: 1

      Thanks for the coherent reply, after the initial frothing I kinda expected a flame... lol.

      But then there's also the "All OO, All The Time" thing. I think it's ridiculuous for a language to limit a person to only OO techniques. Some things just are not objects, and do not abstract well as objects. I'm very much in the camp that believes that OO should be used judiciously only for those things which readily and naturally abstract to Objects. Some languages allow the mixing of OO and non-OO idioms easily, but Java isn't one of them.

      Hmm, I don't find this a problem personally. There are situations where OO doesn't fit at all. It's really not a problem in Java.. okay so the source file is still called a class file, but you can't instantiate it and it only contains static methods. I'm constantly telling (my) developers not to try and use the OO paradigm where it doesn't fit. Most of them don't understand OOP properly anyway which gives me no end of headaches. In fact I think that the lack of good people is a problem industry wide. Of all the many hundreds of programmers I've worked with over the last decade or so, 10% were good, 40% were adequate (within their safety zone) and 50% were useless monkeys. This is slightly more prevalent in Java than in the other programming languages I've used professionally, but I'll happily stick it out because I like Java so much.

      Used right, and with good design, it's really good. Like most things really. I do fight a constant battle to keep our core Java code consistant and of good quality. I think a lot of the problem is the difficulty hiring good tech people. It's not easy for me to get this right (track record is probably around 2:1 good:bad) so I've no idea how managers and HR think they can even comment...

      To use a metaphor to describe what I think gives you, and others like you, the opinion you have of Java - think of it like this. If you have two swordsmen, one is a master and the other a useless beginner, and give them a viciously sharp Katana - more than likely the novice will cut off a limb before too long but the master will be pretty formidable. All you are seeing is novices and the resulting severed limbs, and concluding that Katana's are bad.. instead you'll equip your swordsmen with safer longswords which will do the job, but that master will not be quite so formidable.

      That may be the worst metaphor ever, but I hope you understand my point. ;-) For the record I've always been pretty language agnostic - a good programmer and their skills are a lot more important than the languages they know. I never want to do c++ ever again though. (although admittedly I haven't used it in 5 years...) What's the quote? Something like: "C++ is akin to making an octopus by nailing four extra limbs on a dog."

    6. Re:Java was never hip by Anonymous Coward · · Score: 0

      If you think Java sucks, you've never truly used it or you are simply one of the bad (or hobbyist) programmers that you describe in your post. Funny how I didn't find a single reason from your post that *why* you thinks Java sucks. Just the casual retarded slashdot blaablaablaa.


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

      Ahahah, this is just hilarious! Don't you honestly get it that you're showing nothing but you lack of OOP understanding (and real software development) when you type something like this ?? You know, in the real world (sorry, your hobby projects do not fit here), software projects can be huge and more importantly they need to CHANGE. Yeah, you read right! CHANGE! It means not to lock yourself down statically, so yes it usually means the number of classes increases. Proper OOP & patterns are all about making CHANGES as easy and flexible as possible and to provide a common language for developers to understand and discuss of the nature of design. For starters, please do everyone a favor and read a book like GOF Design Patterns before embarrasing yourself more with your ridiculous "rants".

      ..in the hands of a "professional java developer"

      Are you starting to see what kind of an idiot you've made yourself here...?


      The vast majority of Java source code I've ever read has made me want to puke.

      I'm sorry, but judging from the above, anyone who understands and maintains proper OOP would probably puke when they even glanced your code.

      There are numerous of studies done, that show people are more productive in Java/.NET than C/C++. There are many reasons for this productivity increase - I can't be bothered to repeat them for you. So, why are you ignoring them? How extensively have you used Java to be qualified to decide against the productivity gains of it?

      btw. I guess chaps like Bruce Eckel and Erich Gamma (that'd be the head author of GOF book, of which you probably had never heard of) ain't these hardcore programmers, that you speak of, since they use almost exclusively Java nowadays... ?

      Note that I'm not a typical Java advocater. I just get very annoyed when I see bad programmers that mimic as good programmers post BS like this.

  78. Line Up Now by sycodon · · Score: 1

    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.
  79. Don't remind me. by Grendel+Drago · · Score: 1

    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
  80. ohno.. by Anonymous Coward · · Score: 0

    i'm not l33t anymore..

  81. "Brewed" is wrong... by khazad · · Score: 1

    ...it doesn't really fit. It should be "percolated".

    1. Re:"Brewed" is wrong... by ScrewMaster · · Score: 1

      Yeah ... considering the "brew ha ha" over Java and it's competition, I'd say you're probably right.

      --
      The higher the technology, the sharper that two-edged sword.
  82. Re:Java takes up the COBOL banner 'Java-Correctnes by EricTheGreen · · Score: 1

    In Java, there are many less right ways to do something.

    And some examples would be...?

  83. Articles like this are so slashdot by Anonymous Coward · · Score: 0

    gimme a break. do the people who write this stuff actually know what the entierprise is?

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

    2. Re:I guess it depends on where you came from by Concern · · Score: 1

      Bah. Using that macro language to handle dependencies is absolutely absurd. You can say the disorganized mess that grew up around it and in it wasn't C/C++'s fault. I don't think its an accident that there was never at any time in any place a clear and comprehensive API that a C or C++ programmer could use. Let alone missing other kind of nice things like for instance astandardized String class that was actually used in said API. Or language level support for threading. Or what have you.

      You have some good points and I always expected there'd be more direct-to-native Java, but as I learned more about how it worked, I began to realize that A) there are advantages, including potential performance advantages, to the VM, and B) the essential features that you want out of Java require something rather like a VM, whether or not you package it hidden in the EXE or separately.

      But yes, ultimately, I think the future involves the lower-level platform native tools becoming less insane (and vaguely more "Java-like," although really just more organized and modern generally).

      --
      Tired of Political Trolls? Opt Out!
    3. Re:I guess it depends on where you came from by warb · · Score: 1

      Yea,
      C++ the kitchen sink language, designed for backward compatibility with C. Throw in the STL, because it
      doesn't even have a "String" type, couldn't even get static initializers right, include mulitiudes of #include files
      and #ifdef preprocessor commands and you are lucky to even find half the code, or know if it's been compiled into your
      program if you do. Got it compiled, but now can't find the link libraries. Favorite error message "Seg Fault". I love C++

    4. Re:I guess it depends on where you came from by jgrahn · · Score: 1
      After C/C++, Java ended a long nightmare ...

      When people lump C++ with C, it's a clear indication that they don't know what they're talking about. C and C++ are as distinct as C and Java. Yes, C++ has the added burden and benefit of being kind-of a superset of C, but the way you use the two languages is radically different.

    5. Re:I guess it depends on where you came from by BitwizeGHC · · Score: 2, Insightful

      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 you're going to do that, you may as well use Objective-C, or as I like to refer to it, "C++ done right".

      --
      N4st0r, trixx0r h0bb1tz0rz! Th3y st0l3 0ur pr3c10uzz!
    6. Re:I guess it depends on where you came from by handsome+b · · Score: 1
      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?
      Are you serious? That's the most asinine comment I've heard on /. today. Java's platform neutrality is an absolute godsend for anybody who writes multi-platform applications, even if you do end up having to create a platform-specific bootstrap to do things like setting up the classpath properly. As well, though Flash may be better for creating video games, having an ssh terminal or IRC client embedded in a web page as an applet is extremely useful, something which is comparatively easily accomplished with java.
      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.
      1) That's a very big "if".
      2) Java eliminates the need to compile for each target platform, thus saving you, the developer, time and money.
    7. Re:I guess it depends on where you came from by Concern · · Score: 1

      What can I say, other than I think your comment is complete bullshit?

      C++ _wishes_ it was radically different, but isn't, really. That's one if its bigger problems.

      --
      Tired of Political Trolls? Opt Out!
    8. Re:I guess it depends on where you came from by aaronl · · Score: 1

      Yeah, Java eliminated the need to compile, all right. Which is why you have to interpret Java to execute it on the host system, correct?

      Java is object code for an imaginary processor with a translator to run it. You could liken it to just an automated compiler. You could do the same for any language. Package up your program into a "runtime environment", run all the code through the "interpreter", except swap runtime with headers/libraries and interpreter with compiler.

      There's your 1 and 2 right there. You'd have one compiler, that's ported to various architectures, and one set of libraries and headers, which are also brought to each architecture. So you *would* have a compiler following your standards, and you *would* have libraries that worked the same everywhere.

      You have to do all of this to bring the JRE to another platform, too.

    9. Re:I guess it depends on where you came from by Decaff · · Score: 1

      Really, who uses the hardware-agnosticism of Java anyways?

      It is more like 'who doesn't'.

      One of the most common ways to do Java commercial development is to use IDEs under Windows and then the client can choose the deployment platform - Linux/Unix/Windows.

    10. Re:I guess it depends on where you came from by handsome+b · · Score: 1

      I did not say that java eliminates the need to compile. Of course you have to compile java source into binary .class bytecodes. I said you do not need to compile a java application for each target platform, because the various platforms' virtual machines (each of which is, obviously, compiled at least partially into binaries for the target platform) interpret the same bytecodes in a predictably similar fashion.

      Java accomplishes much of what you say about a compiler ported to various architectures (javac), and the set of libraries (rt.jar, tools.jar, etc.) right now. So, your argument essentially seems to boil down to, "Let's write a new C++ compiler and library set, so we can replace Java, because nobody likes applets or interpreted bytecode". Which, I think, is a comment which makes no sense, because no matter how you look at it, applets enable you to do things that would be extremely difficult to do in any other widely adopted technology embedded in browsers today.

    11. Re:I guess it depends on where you came from by SupplyChainCoder · · Score: 1
      Language selection as I see it:

      If I need speed and efficient memory usage -> C++
      If I want reliability, web stuff and great refactoring tools -> Java
      If I want to build an app as fast as possible -> Python with wxPython for GUI

      At my work I mostly deal with large amounts of data so main solver engines are all in C++, Web based user interface code in done in Java. Some internal development utilities are done in Python.

      Maybe Java will once be fast enough to catch up to C++ but not having stack object allocation or the option to manage your object lifetimes should always be a large barrier to performance especially as memory latency gets more and more important.

      Then again we may all switch to a new language that has the constructs required to distribute the work from a for-each loop over all the 8 cores from your next generation CPU. Use SWIG to build Java or Python wrappers around your C++ code!

    12. Re:I guess it depends on where you came from by aaronl · · Score: 1

      Not quite what I was getting at. I don't have a problem with the Java concept. There are things that I think make Java a bad choice for desktop apps, but it it's all implementation detail, and could be fixed.

      However, you do have to "compile" Java, and every time you run it, for that matter. It's just a completely transparent process. You load the bytecode, and the bytecode is translated through the VM into native instructions. It's only semantically different from what you're saying, since you obviously know how it works. I'm just likening the act of compiling to having to translate the bytecode at runtime.

      My point was that today, someone could package up a C/C++ platform that you could drop onto a system and have it work. The idea of POSIX was an attempt at this, and it generally works. Unfortunately, we don't really have a GUI equivalent. Nobody has really done this properly, unfortunately, which is one reason why many commercial UNIX applications come packaged into their own private environment.

      I personally hate running Java applets, since the JRE plugin has a tendancy to screw up and crash the browser. If you've ever using HP Web JetAdmin, you might know what I mean. I happen to think that Java is only currently usable on server side. There are issues with Java as end user applications. It's a nice idea, but, as I mentioned in the beginning, there are a few things that need to be taken care of first.

      Anyway, no I don't think something like that should replace Java. The intent of Java is different from the intent of C/C++.

    13. Re:I guess it depends on where you came from by handsome+b · · Score: 1

      I can absolutely agree with that. The only thing I might add is that there are two types of JRE: those (JIT) which act as a run-time compiler (which, if I understand correctly, would be analogous to the type of thing you were describing), and those (a true VM) which abstract the bytecode from the native machine code and interpret it, running it as input into the program, rather than a program itself.

      And yes, Java applets do tend to make browsers eat shit. I would be the first in line for a Java browser plugin that behaved properly. :)

    14. Re:I guess it depends on where you came from by Xtifr · · Score: 1

      > Objective-C, or as I like to refer to it, "C++ done right".

      Of course, Smalltalk programmers might not agree--many of them think of Objective-C as "Smalltalk done wrong." We won't even mention what CLOS programmers might think of the whole notion. :)

      Frankly, though, I think too much time is spent looking for the "perfect" language! C++ or Java objects are small and have little or no overhead, making them useful in places where you wouldn't consider using Smalltalk/ObjectiveC objects, but Smalltalk/ObjectiveC objects are far more flexible and versatile, making them easily useful for stuff that would be a nightmare to code or maintain in C++ or Java. One could try to go with a compromise like Objective-C++, but then you end up with two non-intersecting object heirarchies, which can be a problem in itself. Perl's overly-flexible syntax allows for serious abuse; Python's overly-restrictive syntax often forces awkward workarounds. Etc., etc., etc.

      The fact is that nobody has designed a perfect language yet, and my suspicion is that nobody will. But until they do, I'll go on using different languages for different problem domains, and cursing when those domains brush up against each other. :)

    15. Re:I guess it depends on where you came from by I'm+Don+Giovanni · · Score: 1

      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 :)...

      You clearly never used the pre-Carbon MacOS API, if you can for give Apple guys for touting that API over Swing. Pre-MacOSX, the Mac GUI api was garbage. The MenuMgr, ControlMgr (extremely primitive; the ListMgr is the worst api man has ever created), WindowMgr, DialogMgr, EventMgr (no system-provided automatic dispatching of events), QuickDraw (having to set global grafports before drawing), etc were very painful to use and the exact opposite of "elegance". Hell, in some cases they even relied on apps directly manipulating system global variables. Win32 was vastly superior; even Win16 was superior. Win16/Win32 was simply more advanced, more evolved than the old Mac API. Like comparing man to the amoeba. ;-)

      --
      -- "I never gave these stories much credence." - HAL 9000
    16. Re:I guess it depends on where you came from by Anonymous Coward · · Score: 0

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

      The buffer example is a precondition check that wasn't written because the programmer was lazy. You have lazy programmers in Java as well.

      For example, I use someone's Java app. Frequently, I get an NPE for some wierd failure. And it dies.
      More often, I use someone's java created web page. Also frequently I get an error message of some NPE or some other unhandled exception.

      As for memory allocation, the smart pointer concept akin to the C++ versions are probably the best of both worlds. Acts like a pointer, cleans up after itself like Java. No GC. When the number of pointers that references an object references equals 0, the destructor runs. Easy Peasy Japanesey. Of course, the smart pointer concept would have been nice to have in 1995, I suppose. Perhaps in the same way that Java enumerations would have been nice to have had in 1998.

    17. Re:I guess it depends on where you came from by Pxtl · · Score: 1

      Nice to see someone gets my point - that a 100% standards-compliant C++ compiler with some a solid set of Java-like object-oriented libraries designed to be 100% cross-platform would be _much_less_ work than Sun spent implementing Java. The loss would be the few actual language-level features where Java actually beats C++ (linguistic-level threading, easy imports, introspection, etc.) and the gains would be (a) supporting a standard language, (b) easy access to unsafe coding for performance-oriented applications, (c) not needing the memory/space monster of the VM, (d) faster.

      However, it's far too late for all this. Java has taken hold.

      While C++ can't be compile-once-run-anywhere, there's no intrinsic reason it can't be write-once-compile-for-anywhere.

      Just make a custom "java-like" flag for the compiler that makes it throw warnings whenever you use unsafe or non-platform-agnostic structures such as arrays (instead of vectors), pointers (as opposed to the various safe forms of pointers), and platform-dependant types (int instead of int32).

    18. Re:I guess it depends on where you came from by Anonymous Coward · · Score: 0

      Programmer was lazy, programmer made a mistake...

      Oh I see, to close this notorious source of security holes, you expect your programmers to never make mistakes?

      That's much more sensible than just designing a system where it's impossible to fail in this way. Suuuure...

    19. Re:I guess it depends on where you came from by jatco · · Score: 1
      Really, who uses the hardware-agnosticism of Java anyways?

      I reckon it is more to do with portable programming skills than porting code across hardware platforms. When you know how to code in Java, you can write applications to use graphics+networking+databases+... on any platform that supports Java.

      As as to what's wrong with C++... Java does what a lot of people need, simply and with enough efficiency. Many applications don't need the richness of C++, and many programmers don't want to get entangled with the complexities if they don't have to. It's all about appropriate tools - there's a niche for Java, just like there is one for C++, and Perl and all the others. Many problems arise through inappropriate selection of a language for the job, and many others through using a language past the point where it has ceased to be the right choice.

  85. This just in - Hammer more useful than screwdriver by Anonymous Coward · · Score: 0

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

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

    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?

  86. JAVA wouldn't be so bad... by Trogre · · Score: 1

    ...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
  87. Why such articles get written ? by Anonymous Coward · · Score: 0

    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

  88. Count job listings by ewg · · Score: 1

    Searching monster.com for job listings within fifty miles of my zip code finds

    • 91 jobs for Java developers
    • 52 jobs for C++ developers
    • 20 jobs for PHP developers

    PHP is wonderful, but no way is Java dead.

    --
    org.slashdot.post.SignatureNotFoundException: ewg
  89. Ancient Technology? by ddelrio · · Score: 1

    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?

  90. 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
  91. 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.

  92. Java badly needs a JDK 2.0 (not meaning J2SE) by ishmalius · · Score: 2, Informative
    I agree that Java needs a basic overhaul. Not so much because of its age, but because it was not developed in an organized manner, but evolved.

    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.

    1. Re:Java badly needs a JDK 2.0 (not meaning J2SE) by gzunk · · Score: 1

      Just to correct you regarding the remote invocation stuff, there isn't three types of remote invocation, there are two. RMI or CORBA. You use RMI when doing Java to Java, and CORBA when doing Java to Other Language. IIOP is the low level protocol used when doing the communication, and it's a CORBA originated protocol. (The Java original was JRMP - Java Remote Method Protocol).

      So you have RMI-IIOP, CORBA-IIOP or RMI-JRMP, but programmatically, it's just RMI or CORBA. You wouldn't use CORBA to do Java to Java, (RMI is much simpler) and if you're doing RMI then it will automatically be over IIOP.

  93. Java as a research platform by GoGoGadgetFeet · · Score: 2, Interesting

    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

  94. 102% ?? by robespierremax · · Score: 0
    Correct me if I'm wrong, but the linked article says:
    In North America, the percentage of developers who use Java as one of their principal programming languages declined to 47.9 in Evans' fall survey, vs. 51.4% in the fall of 2002.
    ...Meanwhile, .NET usage increased to 54.1% from 40.3% in the same period in North America
    Which adds up to 102% of the developers in North America. Either there is a large margin of error (as this doesn't even count other languages). Or Evans Data Corp does the worst statistical gathering ever.
    1. Re:102% ?? by jisatsusha · · Score: 1

      Some people clearly use more than one platform. It says so right in your quote, "the percentage of developers who use Java as one of their principal programming languages".

  95. programming by popularity contest? by Uzik2 · · Score: 2, Insightful

    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
  96. Could it be??? by Anonymous Coward · · Score: 0

    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.

  97. It's the Libraries Stupid by Anonymous Coward · · Score: 0
    I personally like Java because there is a ton of libraries that do just about anything you want.


    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.

  98. unpopular for now by Anonymous Coward · · Score: 0

    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.

  99. Times are a changing.. by Anonymous Coward · · Score: 0

    Java is sorely outdated. All my friends are programming using ** BEATLES BEATLES.

  100. Forgetting mobile devices by Anonymous Coward · · Score: 0

    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.

  101. Netcraft Confirms It by Anonymous Coward · · Score: 0

    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.

  102. java web chat by Douglas+Simmons · · Score: 0, Offtopic

    Hey, could someone recommend a simple chat room ware for my website? Running Debian.
    :::ducks from moderators:::

  103. West Coast vs. Midwest by RetroRichie · · Score: 0

    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.

    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 .NET-related jobs outnumbered the J2EE-related jobs over 2:1 in his area, and it was exactly the opposite in mine.

    Of course the irony of this is that I recently took a job at a .NET shop two weeks ago.

  104. If we're gonna play that game... by sd_diamond · · Score: 1

    The fight has now "brewed" (couldn't resist) into the mainstream press at BusinessWeek.

    Shouldn't that be "percolated"?

  105. LAMP is not that new by kronocide · · Score: 1

    It's been around at least since 2000.
    LAMP: The Open Source Web Platform

  106. It's not the techology, it's the people by ecloud · · Score: 2, Interesting

    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.

    1. Re:It's not the techology, it's the people by Cederic · · Score: 1


      I'm dealing with integration issues on a system written 30 years ago.

      The authors of that code are dead. They grew old and died.

      Had they been able to take advantage of the advances in software engineering over the past three decades, they may have used good application architecture to abstract out their interfaces, to properly decouple presentation logic from business logic from data storage, to make the simple maintainable.

      Because they didn't, we're spending literally millions of pounds to achieve what takes us just a couple of weeks on our web platforms.

      Proper software engineers don't think "after I write this nifty abstraction layer I'm never going to think about this facet of the problem again". They fully acknowledge and deal with the complexities of writing software that will be around for a long time, that will change extensively throughout its lifetime, and that will be worked on by people that didn't do the initial design/code.

      Anybody writing database access code inside their web page needs educating.

  107. LAMP? Why not LAMJ by the_furman · · Score: 2, Insightful

    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.

  108. LAMJ by trollable · · Score: 1

    Every one is bashing but did you test it?
    strcmp("LAMJ","LAMP")

  109. decline in pure programming skills by willCode4Beer.com · · Score: 1

    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
    1. Re:decline in pure programming skills by deaddrunk · · Score: 1

      No, no programming is a simple job that can be done by anyone, just ask any outsourcing corporation.

      --
      Does a Christian soccer team even need a goalkeeper?
  110. Ruby? by danharan · · Score: 2

    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"
  111. I love Lamp! by kurt_ram · · Score: 0

    I really do.

    --
    Clearly, Google is the next Microsoft.
  112. I like this line... by Tachikoma · · Score: 1

    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
  113. Don't underestimate 'hip' by alispguru · · Score: 1

    These articles are just a joke. That they would even use the term "hip" shows that this is far from a serious study.

    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.
  114. May I propose... LAMA by Anonymous Coward · · Score: 0

    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.

  115. The article might as well be titled... by levik · · Score: 1

    "Apples deemed so last century as the industry rushes to adopt the wider use of oranges"

    --
    Ñ'
  116. KDE sucks. by DroopyStonx · · Score: 1

    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!!
  117. Java is dying because it's proprietary . . . by Max+Threshold · · Score: 1
    . . ., neglected by its creators, and most importantly, a commodity product. If the Java platform and API were more open, many of their long-standing deficiencies would be quickly corrected. And although Java is still sometimes the best choice, nearly anything you can do with Java can be done with other, more open technologies.

    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.

  118. Thank God by Anonymous Coward · · Score: 0

    Java was one of the biggest boondogles in programming, ever.

  119. Slashdot editors - allow me to introduce reality by bheading · · Score: 1

    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 ?

  120. That multilanguage argument is invalid by Reality+Master+201 · · Score: 1

    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.

  121. LOL ! by Anonymous Coward · · Score: 0

    We must be on the 1st of Appril .... LAMP the successor of Java :) :) LOL :)

    You know even .net is not competting with Java, man ! So LAMP, c'm'on ;-)
    (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 ... look at sourceforge, Java is now #1 !

    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 ;-)

  122. Java Game by Anonymous Coward · · Score: 0

    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.

  123. Java will survive as long as Google by beemishboy · · Score: 2, Informative

    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.

  124. Astroturfing by Martin+Spamer · · Score: 1


    genamics-dot-com is known MS astrotufing site, which requires the question, what's your motivation for ramping it up ?

  125. Sorry to ask.. by matt+me · · Score: 1

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

  126. Example JVM problem by CustomDesigned · · Score: 1

    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.

    1. Re:Example JVM problem by sbrown123 · · Score: 1

      In the documentation about fonts, the generic usage of "monospace" results in the JVM finding the most appropriate font it considers fit that description for the platform it is running on. There is no "monospace" font on every platform, nor "serif" or "sans serif" for that matter. This means that you are not going to get a monospaced font 100% of the time on different platforms. If you absolutely want to ensure you have the same monospaced font with your app, just include your own own true type font with your app and use it instead.

    2. Re:Example JVM problem by Anonymous Coward · · Score: 0
      There is no "monospace" font on every platform


      I'm pretty sure there's at least one on Windows.
    3. Re:Example JVM problem by sbrown123 · · Score: 1

      Monospaced, in Java, is a Logical font. See here:

      http://java.sun.com/j2se/1.4.2/docs/api/java/awt/F ont.html

      Logical fonts are the five font families defined by the Java platform which must be supported by any Java runtime environment: Serif, SansSerif, Monospaced, Dialog, and DialogInput. These logical fonts are not actual font libraries. Instead, the logical font names are mapped to physical fonts by the Java runtime environment. The mapping is implementation and usually locale dependent, so the look and the metrics provided by them vary. Typically, each logical font name maps to several physical fonts in order to cover a large range of characters.

      A physical font is what you should use to ensure the same font is used across platforms. And since each platform might not have that font, you should probably include it yourself.

    4. Re:Example JVM problem by CustomDesigned · · Score: 1
      I don't care *which* monospaced font it is. Just that it is actually monospaced. I want to draw each line of the legacy app screen with a single drawChars(). This only works if the monospaced font is actually monospaced. Windows programs like Putty seem to have actual monospaced fonts, but perhaps they have to bring their own as you suggest.

      OT: I know how to manually install a Java font in font.properties, but I was not aware that an applet could do this. I will research how to provide fonts with an applet, but wouldn't mind a hint. Does it require special signed applet privileges? Does it require Java 2 in the browser?

  127. Slashdot Article Generator by TheGuapo · · Score: 1

    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.

    1. Re:Slashdot Article Generator by smittyoneeach · · Score: 1
      Why must everything be so black and white?
      To sell napalm. What kind of uninformed question was that?
      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
  128. Live changing article by pavelt · · Score: 1

    It's live changing article. I will never more read something from BusinessWeek :-).

  129. False Dilemma by geoffrobinson · · Score: 2, Insightful

    Reporters always make something out to be the end of the world or something drastic.

    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 ...or X is still around even though we wrote it off.

    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 .NET. Whatever. I don't need to relearn logic everytime the technology changes, so just tell me what language we are using.

    --
    Except for ending slavery, the Nazis, communism, & securing American independence, war has never solved anything.
  130. We're on SWOJ by Anonymous Coward · · Score: 0

    Solaris
    Weblogic
    Oracle
    Java

    But what would a multibillion dollar corporation know?

  131. Too bad we can't mod the original article Troll by theAtomicFireball · · Score: 3, Insightful

    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.

    1. Re:Too bad we can't mod the original article Troll by ucribido · · Score: 1

      WebObjects still lives and is supported by Apple and now runs in pure Java.
      Do a search and you will find.

    2. Re:Too bad we can't mod the original article Troll by antijava · · Score: 1

      Actually he explicitly said the Objective-C based WebObjects, which Apple killed off. 4.5.1 update 4 is the last version Apple produced, and it isn't supported on anything newer than Mac OS X 10.1.

      The bastardized Java version (5.x) was a step backwards. They spent years rewriting everything in Java and lost the advantage they had over their competition. WebObjects fans didn't like it because it meant rewriting all of their code in an inferior language, and Java people didn't like it because it didn't use standard java programming idioms.

    3. Re:Too bad we can't mod the original article Troll by theAtomicFireball · · Score: 1

      Thank you. You said it better (and more nicely) than I would have :)

  132. For transactional apps by Anonymous Coward · · Score: 0

    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.

  133. Java is dying by Anonymous Coward · · Score: 0

    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

  134. Re:Stats Don't Lie! Java OWNS the current market! by Anonymous Coward · · Score: 0

    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.

  135. Illinformed by Martin+Spamer · · Score: 1

    J2ME is the subset, cut down version for embeded devices like PDA's/Mobile phones etc.

    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/jsr2 44/

  136. Java tops Sourceforge by kaffiene · · Score: 1

    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.

    1. Re:Java tops Sourceforge by sitarlo · · Score: 0

      Yes, but of all the programs written COBOL is the leaeder, with ADA, FORTRAN and C right behind it. Java's not really in the *big* picture yet. Hopefully, all those thousands of lines of Java I generate will count for something someday.

  137. Re:Java use slipping? You have to be joking by kaffiene · · Score: 1

    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.

    Anti Java bias from /. editors? I really think so.

  138. Deliberate flamewar? by heinousjay · · Score: 1

    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.
  139. Flex by Anonymous Coward · · Score: 0

    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.

  140. AJAX and Web 2.0 in the same sentence, oh, please! by Anonymous Coward · · Score: 0

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

    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 /SAME/ technologies: one is "cool" so it is Web 2.0 but the other has drab colors and it is so legacy? WTF!

  141. Java outdated?! Not in financial services... by chroot_james · · Score: 1

    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.
    1. Re:Java outdated?! Not in financial services... by rdean400 · · Score: 1

      Even if scripting languages take hold, the fact that Java has a large and useful class library is going to give it a foothold. There is a JSR to standardize the interface between Java and scripting languages -- so that the scripting languages can be used for the web UI (where they excel) and Java can be used for interfacing to business logic, as well as business logic itself.

  142. Re:.NET?!? useless - mod this down by tota · · Score: 1

    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.
  143. Netcraft says What?! by aunchaki · · Score: 1

    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?

  144. Java for B2B, PHP for B2C and What is .Net ? by managedcode · · Score: 1

    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..
    managaedcode: Hey, Do you know what is .Net
    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.

  145. SAP? JAVA? by Anonymous Coward · · Score: 0

    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.

  146. Next Month in Businessweek! by ClamIAm · · Score: 1

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

  147. Re:Stats Don't Lie! Java OWNS the current market! by TheTiminator · · Score: 1

    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
  148. Web Application in BASIC by Anonymous Coward · · Score: 0

    I'm currently working on a web application that's written in BASIC. No joke!

  149. When LAMP runs... by Anonymous Coward · · Score: 0

    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.

  150. Re:Java use slipping? You have to be joking by NetFu · · Score: 1

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

  151. Re:Stats Don't Lie! Java OWNS the current market! by PyroPunk · · Score: 3, Interesting

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

  152. What is this "LAMP"? by Anonymous Coward · · Score: 0

    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.

    1. Re:What is this "LAMP"? by narcc · · Score: 1

      LAMP -> Linux, Apache, MySQL, [PHP|PERL]

  153. Author = clueless by sulam · · Score: 1

    At the risk of sounding defensive, this guy is so dumb that even when he's right, he's wrong. ;)

    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) .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. ;)

    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. ;)

    1. Re:Author = clueless by rdean400 · · Score: 1

      WebSphere grew 14% last quarter. No one's waking up to the fact that it sucks....actually, that isn't even a true fact anymore. It hasn't sucked since 5.0 (borderline) or 5.1 (definitely non-sucky).

    2. Re:Author = clueless by sulam · · Score: 1

      We're obviously both entitled to our opinions, but its nonstandard configuration and incomplete JSTL support alone are enough for me to cross it off my list of app servers I'd most like to go out with.

    3. Re:Author = clueless by rdean400 · · Score: 1

      Define "incomplete".

    4. Re:Author = clueless by sulam · · Score: 1

      How about it's seeming inability to parse the EL in WebSphere 6? And its JSP implementation seems non-standard as well, stuff that parses fine in every other JSP implementation I've used pukes in WebSphere.

      And here's a nice exploded EAR:

      IBM/WebSphere/AppServer/profiles/default/config/ce lls/arcataNode01Cell/applications/Kalinda_war.ear/ deployments/Kalinda_war/Kalinda.war/WEB-INF/ibm-we b-bnd.xml

      Note that log files are hidden in this structure as well.

      How about that redeploying requires you to run the 6-step "wizard" and redefine all your resource bindings?

      I dunno, all the people I know who use WebSphere who _also_ use other J2EE containers come away hating WebSphere.

    5. Re:Author = clueless by rdean400 · · Score: 1

      What I've found with WAS 6 and EL/JSP is that it is intolerant of code that's not compliant to the J2EE 1.4 spec.

      Log files: ${WAS_INSTALL_ROOT}/profiles/${PROFILE}/logs/${SER VER}/whatever.log

      Redeploying requires running the 6-step wizard, or a one-step Ant, Jacl, or Jython script. I've never had to redefine resource bindings on an update.

      As far as other J2EE containers, they're great. But WebSphere is not terrible.

  154. Scott McNealy to open Java now ? by managedcode · · Score: 1

    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.

  155. huh? by kalirion · · Score: 1

    Linux Apache Ruby PostgreSQL
    ...
    Hmm, LARPing vs. Java, now there's something slashdotters can fight about.

  156. 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!

    1. Re:Again? by iggymanz · · Score: 1

      what you're really talking about is j2ee and java's libraries, because java itself is not a particularly powerful langauge compared to say LISP or OCAML or Ruby, you're going to have to do alot more typing to get a particular job done (yup, I've done them all professionally.) Conceptually Java is pretty much like c++, really an 80's hybrid oo language. There are better designed languages out there with growing libraries for web and middleware server frameworks.

    2. Re:Again? by bill_kress · · Score: 3, Interesting

      See, there is your problem, the definition of a powerful language.

      A powerful language for me is one that can be highly factored and is still completely readable. It means that nothing is hidden and no function is less than obvious.

      Most importantly, a programming language is a communication medium between human and human, not just human and computer.

      How well do the languages you listed help you communicate with some arbitrary programmer that you have never met and do not get to explain anything to face-to-face. As you add multiple languages into the mix (AJAX, etc) you make this human to human communication even more difficult.

      Forget the libraries and J2EE, These are the things that, for me, makes Java a good enterprise tool:

      Automatic documentation generation with the code being the source!
      (This is one of the most important things ever done)
      Simple, clean, consistent code
      The ability to create clearly defined interfaces between sets of code (objects, in this case).
      OO!
      Deterministic--a GUI Editor always knows just what can be done with any given object at any time.
      Shies away from adding features--towards consistency.
      Garbage Collection
      (Not simply because it makes code more reliable, because it makes it MUCH more clean/factored. If you've never had to fight the design battle of who owns/gets to destroy an object used by multiple other objects, you pretty much either aren't a programmer or you've always used a language with GC.)

      I guess it all comes down to Elegance in code. Being able to do a lot with one line of code or being able to type 50% fewer LOC to do your job has no place in programming today and is, in fact, counter-productive. If you are actually thinking faster than you type when you're programming, you need to think more, not type less! (If you honestly disagree with this, try APL, you'll love it)

      If you think that J2EE/Libraries are a reason to switch, you are exactly the person I was talking about in my previous post... the power is in the Language, not these add-ons. The language features I listed are exactly what allowed these complicated, complete, reliable toolsets to be built in the first place.

      People that pick Java for the toolsets/libraries are completely missing the point. They are probably also the same ones complaining on every Java article to hit /.

    3. Re:Again? by Anonymous Coward · · Score: 0

      I agree with most of the points in you're posting and have some comments of my own.

      For a little while when applets were very popular it frustrated me that I worked with colleagues who had once done a stock ticker applet and managed to blag a job as a java developer.

      Now it seems php has taken over as the favourite "entry level" web language - suits me fine in this respect. What is understandable and laughable at the same time is that some coders [or should I say scripters] who believe that designing a system which is componentized and modular means using a few php include files. If you started out doing your family photo gallery with php, I have a suprise for you - you may need to take a theory leap before you're ready for medium scale development using cost saving techniques such as object oriented design and taking an overall system view.

      Using java can't educate you in good system design or object oriented development but then using php can't either. As some people have been heard to observe "you don't know what you don't know"

      As for the suggestion [perhaps] that java is dated [so 90s] - something begins to look dated when a far superior replacement is in circulation. Nothing on the horizon yet that is superior to java - never mind far superior - although in my lifetime I hope something may appear - might be exciting. In case you missed my point - neither php or .net [sorry had to stifle a giggle] have much to offer to oust java as the enterprise developers choice.

    4. Re:Again? by iggymanz · · Score: 1

      oh, but what if a language has the elegance and ease of reading, and yet also provides the ability to get more work done with a statement than an INFERIOR less well designed language? Bear in mind I've done professional Java/J2EE coding for 8 years, C++ for 15 years, LISP for 20 years, Ruby for 5 years....if you haven't tried the alternatives for a few years maybe you're just praising what you know and are comfortable with.

    5. Re:Again? by bill_kress · · Score: 1

      Brevity is not in any way relevant, but your point may be valid...

      The worst thing a language can do is force you to repeat yourself. For instance, pages of:

      MenuItem mi=new MenuItem("A");
      MenuItem mi=new MenuItem("B");
      MenuItem mi=new MenuItem("C");

      These are horrid, but luckily you aren't forced to do that at all. You can (And ALWAYS should) use something more clear like:

      createMenus({"A","B","C"})

      That requires you write a createMenues routine, but this isn't really a big deal.

      Another example is like what they did with the for loop in Java. There was a pattern that you had to use when you iterated over a collection that was always identical and couldn't be factored down. Changing to the for each thing in 1.5 fixed that up AND made it more readable.

      If that's the kind of optimizing you're talking about, it could be a good deal of improvement, but simply typing less is never a goal in itself.

      I suppose that the existence of "Design Patterns" indicates that a language could be written better, but I can't see doing too much better than Java. Got an example?

    6. Re:Again? by iggymanz · · Score: 1

      glad you brought up the visitor pattern "for each" in java, what happens if I want "for_each_capitalized_string" out of an array of strings or I want two things like "each_with_index" out of an array or "each_with_key" out of a hash table? In a language like Ruby such things are *trivial* to implement. What happens when my collection needs to store different types of objects, but I want to call method "convert_to_string" on each one? In Java, ugly things happen.

    7. Re:Again? by bill_kress · · Score: 1

      Those aren't things I'm likely to want since I'm not writing some string processing script, I'm creating a multiuser client/server system for managing tens of thousands of fiber-optic gigabit set-top portals.

      Chances are if you have the problems you listed you aren't coding right in the first place.

      For instance, what does a capitalized string mean? Chances are it should have it's own type. The collection it is in (you do build your own collections as often as not, don't you?) Should probably have the ability to give you an iterator that only returns that type of string, so it is as easy as any other for each.

      And your example of storing different types and converting them to strings? I have no idea what you're talking about--happens ALL THE TIME. That's why the .toString() was implemented, works on Object (so ANY object you place in the collection)

      Now, if convert to string was just an example, I'd say again that you probably aren't programming very well, and this is exactly why Java is more readable.

      If each object has the ability to be turned into some other object (say, a baseball), you should have a IToBaseball Interface that defines a method "Baseball getAsBaseball()" as you iterate through the collection, you can, check each item to see if it's an Instanceof IToBaseball, and if not, continue.

      This is extremely clear as to your intention and takes just 2 lines of code. How do you suggest it be more concise.

      You have pointed out what might be another reason people don't like Java-they don't know OO design. They don't recognize that you need to create interfaces for every way you want your object accessed, and you need to design your classes in such a way that they are fully factored.

      THIS is the extra work I was talking about with java--the fact that you have to actually design and don't just start hacking.

      This is also part of the reason that Java has a bad rep. It's syntax is so clean that "developers" often don't feel the need to design, or even know what they are doing.

      This is why VB went south. Everyone thought that because they could code in VB they were software architects. They were really script kiddies. Same with Perl. The thing is, those languages are so limited that they are self-limiting in size, it's really tough to make a good, huge, VB app.

      After you've done so and you understand the problems faces by such a large app, you re-evaluate your language and switch to one that allows you to do what is made for large-application development, such as Java.

      BTW, seriously thinking about Ruby these days, need to add a scripting language to our application and if Ruby is half as good a scripting language as it sounds like, AND if I can find an implementation in Java, I'll have to give it a try.

    8. Re:Again? by bill_kress · · Score: 1

      I finally got a chance to look at some Ruby. Although I can see it being nice for scripting, almost everything I have seen about it so far makes it significantly worse than Java for my purposes.

      Examples:
      Global Variables. WTF??? How can anyone even considering adding that to a language at this point?

      Being able to leave parenthesies out. Why on earth would you give someone a choice about that? Every time you give the user an option, you have to make a decision on your team which way you will go. Consistancy is so nice.

      Automatic variables. Hmm, Seems interesting if you are gaurenteed that you are using a really intelligent editor that can pull all variables to one place so you can see them, otherwise I prefer to have them declaired at the top of the class.

      Also, I don't yet know if Ruby prevents it, but automatic variables make cases like:

      My_Cool_variable=5
      My_Cool_variable=My_Cool_varaible+2

      really hard to detect.

      Adding a method to a class so it works differently. WTF? Is it REALLY so hard to create a second class and have them both extend the same class? How the hell do you write the UML for such a monster? What do you do if you designed a class, passed it to a teammate, the teammate modifies the behavior and returns it to you and it crashes??? How on earth do you find something like that?

      Is putting "foo $(bar)" REALLY so much easier than "foo"+bar ? and it ADDS SYNTAX! Any time you add syntax or options, you are hurting the language. Simplicity!

      Another case where you are adding complicated, unnecessary syntax to the language when it should be a library function:

      a = %w{ ant bee cat dog elk }

      Why is that any easier or clearer than

      a = createStrArry("ant bee cat dog elk")

      Once you have created that method/utility you can reuse it all you want. And the method is trivial to create using stringTokenizer.

      Over all, it looks like they are importing a lot of library features into the language, a very poor trend it sounds like. The language should be as clean as possible--a minimalistic definition.

      I did find one thing I really liked. I think it was called "Packages" where you could add a kind of a minimal class and a few methods into another class. Kinda like interfaces on steriods. I can't see anything wrong with this at all, and I really hope they add it to Java.

      The rest--well, it's a scripting language and not a large-group development language.. It's fine for what it does, but you can't compare it to Java--totally different monsters.

    9. Re:Again? by iggymanz · · Score: 1

      it's a scripting language and also has a wordcode vm which is almost done, so higher performance applications will be possible, and the competition with java will increase. Some of its more archaic features such as the globals really come from scripting heritage and are for quick scripting use, remember Ruby is 10 years old (!).

      Teammaet changes class and hands it back to you? Nah, programmers will change your class and objects, adding methods WHILE THE CODE IS RUNNING, have to lose the static compiled mindset. UML is useless for dynamic oo and aspect-oriented languages anyway, it's a different mindset. UML is so 90's!

      As for automatic variables, if something is supposed to be a constant, you use syntax for constant and you get warned if you change it.

      I would do a = "ant bee cat dog elf".split

      the "mixin methods" are indeed powerful, and are better than multiple inheritance. Again note they can be done while the code is running

    10. Re:Again? by bill_kress · · Score: 1

      So I guess that's it. You are saying the same stuff that I hear from every inexperienced programmer. Without UML, how do you manage your multi-team design work? You don't. You haven't had that kind of serious problem or you wouldn't have trouble understanding why it's so critical.

      Now, Java obviously doesn't fit your needs at all. It's like trying to use a wrench to drive a nail. In fact, you can't even understand the need unless you've worked on a group of over 20 people all on the same million line code base.

      So why criticize Java because it doesn't fit your need? It fits mine, your tools don't--yours fit your needs, not mine.

      Perhaps recognizing that different languages are appropriate for different project sets is another thing I didn't figure out until I had a decade of serious development experience under my belt, so I can't really blame you, but maybe you should take it into consideration next time.

    11. Re:Again? by iggymanz · · Score: 1

      hahaahahaha, you think UML is required to design or model enterprise systems? And anyone who doesn't use it or used it and finds it lacking for higher level languages and metaprogramming is "inexperienced"??

      There are other methodologies and systems out there, in my 22 years in the business there were two out of eight "enterprise level" corporations/government agency that used UML. They were an internet marketing company and an insurance software company.

    12. Re:Again? by rubycodez · · Score: 1

      "Without UML, how do you manage your multi-design team work? you don't"

      Now that is silly, there's plenty of apps out there with millions of lines of code that were designed and maintained without a scrap of UML. You sound like the man with only a hammer who thought everything was a nail.

      If you follow the specifications for UML you'd know that a critical admitted weakness of UML is its inability to properly model distributed computing components and interactions.

    13. Re:Again? by iggymanz · · Score: 1

      going to string was just an example, could have been some other type of object for which no method in java's Object was defined. Having to design a getAsBaseball method, and all the nice double-dispatch hell that java so often requires, shows that the language design is fundamentally flawed, not that java programmers are superior because they have to take time to design such things. Done java/j2ee/ejb/jni for a few years with 150 other healthcare insurance coders, and just saying I've seen better languages BEFORE then, such as LISP and Haskell and OCAML, and better ones since, such as Ruby

    14. Re:Again? by bill_kress · · Score: 1

      All I meant to say was the ability to model was required. If you just sit down and pull stuff out of your ass, that's what you are going to get.

      If you can't model a language, that's a problem. I really don't care what methodology you use. Which one are you claiming is more applicable for Ruby?

  157. The problem with Java is the programmers by Spazmania · · Score: 1

    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.
    1. Re:The problem with Java is the programmers by GnuDiff · · Score: 1

      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.

      --

      I fail to see how PHP would be better in that respect. Considering also that Java generally has a bit steeper learning curve, in my experience, it is all too easy to find programmers who claim to know PHP, but in fact barely know the language. Still what little knowledge they have helps them produce some code that SEEMS to work. Until you are in the proverbial 18th month of development.

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

    1. Re:LAMP, the new PERL? by kronocide · · Score: 1

      This is a myth (with some real-world basis) about the Perl language that comes from that most people who have written Perl programs aren't Perl programmers. They're C programmers or Java programmers who need a quick fix for something. Perl programmers actually write as maintainable code as anyone else. It's not mostly up to the language, and there is nothing stopping you from writing maintainable code in Perl. The point where the myth is somewhat factual is in that it is actually possible for a Java programmer to pick up Perl, write a quick hack in "baby Perl," and it will probably do the job. This is a feature of Perl. It leads to more crap code, but according to the Perl philosophy, it's worth it for pragmatic reasons.

  159. Java will be alive as long as... by Anonymous Coward · · Score: 0

    it continues to be reported as dead, uncool, slow, or whatever.

  160. Ada is outdated? by kbielefe · · Score: 1
    Ada may be out of fashion (was it ever in fashion?), but it certainly isn't outdated if you consider Java not to be outdated. I believe Ada was never widely accepted because it was too far ahead of its time.

    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.
    1. Re:Ada is outdated? by quarkscat · · Score: 1

      Yes! Ada is outdated and Java is dead, quoth Evans Data Corp. But who in the bloody hell is Evans Data Corp, and why should I believe them?

      BTW, what does Netcraft have to say about Java? (They have been right about sooo many things, like BSD.)

  161. Re:Java use slipping? You have to be joking by Decaff · · Score: 1

    You call that evidence of the popularity of Java? Are you kidding?

    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 /. about Java not being open is rather ironic!

    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.

  162. Re:Stats Don't Lie! Java OWNS the current market! by Anonymous Coward · · Score: 0

    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.

  163. sensationalism by Brendonian · · Score: 1

    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.

  164. Re:Stats Don't Lie! Java OWNS the current market! by Anonymous Coward · · Score: 0

    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.

  165. Re:.NET?!? useless - mod this down by Anonymous Coward · · Score: 0

    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.

  166. yeah by BitterAndDrunk · · Score: 1
    The submitter (or whoever) indicated that SAP's "corporate applications" have fallen out of favor obviously doesn't do ERP work.

    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 . . .
  167. Re:PHP is not good for the open source community. by Anonymous Coward · · Score: 0
    Sorry? PHP is not insecure, the apps badly written using it are. As are the apps badly written in Java, Perl, Ruby, .NET, etc, etc, etc.

    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?

  168. eh, kind of by BitterAndDrunk · · Score: 1
    It was one of the first ERP software sets. As such, the primary purpose of it (or any ERP) is to run the books.

    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 . . .
  169. Fortran by ChenLing · · Score: 1

    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
  170. Re:PHP is not good for the open source community. by CyricZ · · Score: 1

    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.
  171. Re:PHP is not good for the open source community. by Anonymous Coward · · Score: 0

    ah yes our resident /. troll speaks again. shoo.

  172. Managers do need to be experts in their field by JSBiff · · Score: 1

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

    1. Re:Managers do need to be experts in their field by Spazmania · · Score: 1

      I want a programming manager who knows how stuff is designed and coded *the best way*.

      No you don't. You might think you do, but you'd hate his guts for constantly telling you to do it his way when you know perfectly well that your way is better. Programming is an art form. The notion of a "best" way is an illusion. It would be a soul-sucking work environment since he'd be too busy micromanaging to go schmooze the higher-ups and get the team the resources it needs.

      Its not the manager's job to know the things you know. That's what he hired you for. Its his job to know all the things you don't.

      --
      Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
    2. Re:Managers do need to be experts in their field by Spazmania · · Score: 1

      How, how, HOW in the world is the manager ever possibly supposed to [...] find and motivate good programmers, if he can't look at their code and figure out how good a programmer they are?

      The same way managers have been managing for centuries: Look at the work product. A lawyer is measured by cases won. A doctor by his patients' health. If the result does what the customer wants then it has been done well. If it doesn't then it has been done poorly.

      The problem with Java is that its trivial to hide poor craftsmanship behind a facade of apparantly working screens. Like a doctor prescribing a placebo until the patient dies. The manager doesn't know anything is amiss until he hands it to the customer who comes back two weeks later and says, "Why are the numbers wrong?"

      --
      Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
  173. By other accounts... by 21mhz · · Score: 1

    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.
  174. LAMJ vs LAMP or JLAMP? by Battlestar-Java · · Score: 1

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

    • Java
    • Dependable and proven
    • Compiled (so it runs faster than PHP which is interpereted for server side programming)
    • More extensive and versitile libraries
    • Better programming environments
    • Multi-threaded to better handle heavy loads
    • Better pay in the market place so keep those skills up!

    • PHP
    • The latest Fad in server side technology (ah, I can here the flaming now, but you can't deny the truth)
    • More community support
    • Slightly easier language to learn
    • Easier environment to setup and install to
    • More pre-written solutions that you can plug in less than an hour

    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.

  175. Java is Software Socialism... by sitarlo · · Score: 0

    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!

  176. Mainframes = Both Java and LAMP, Together by BBCWatcher · · Score: 1

    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.

    1. Re:Mainframes = Both Java and LAMP, Together by Anonymous Coward · · Score: 0

      Oh, so true.

      But I have never heard of anyone doing it for real, sadly.

  177. LAMP for Windows by Shadowin · · Score: 1

    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?

  178. Wow. by Anonymous Coward · · Score: 0

    The astro turfers are out in full force today.

    The FUD post gets a +5 and the reply gets modded down.

    And people say /. is hostile to MS.

  179. Microsoft can obsolete a language by Anonymous Coward · · Score: 0

    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.

    1. Re:Microsoft can obsolete a language by Bloke+down+the+pub · · Score: 1
      in the Windows world it's really language + MS add-ons, MS can cut the lifeline on a language for all practical purposes.
      Next time someone tells me there's no such thing as vendor lock-in, can I quote you?
      --
      It's true I tell you, feller at work's next door neighbour read it in the paper.
  180. Zombie Java May Finally Unanimate? by Baldrson · · Score: 0

    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.

  181. LAMP vs Java - ridiculous by GnuDiff · · Score: 1

    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.

  182. Java IS mediocrity by Peaker · · Score: 1

    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.

  183. Re:PHP is not good for the open source community. by ooh456 · · Score: 1

    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?

  184. And threading? by ethank · · Score: 2, Insightful

    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?

  185. Re:Java use slipping? You have to be joking by bcrowell · · Score: 1

    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.

  186. The real point by kilimangaro · · Score: 1

    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
  187. Numbers from dice.com 12-13-05 by Anonymous Coward · · Score: 0

    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

  188. article is waaaaaaaaaay of base by sl4shd0rk · · Score: 0, Troll

    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!
  189. Re:Java use slipping? You have to be joking by Decaff · · Score: 1

    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.

  190. LAMP = Linux-Apache-MySQL-PHP by funkdancer · · Score: 1

    Just FYI. Ok, so I had to Google it...

    --
    ISO certified == THX certified
  191. PHP scaling vs. java by Julian+Morrison · · Score: 1

    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.

  192. Ridiculous by Anonymous Coward · · Score: 0

    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.

  193. Bad programmers... by sterno · · Score: 2, Interesting

    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
  194. Re:PHP is not good for the open source community. by CyricZ · · Score: 1

    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.
  195. Java is the COBOL of our generation. by jlrobins_uncc · · Score: 1

    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.

  196. you mispelled php by pyrrho · · Score: 1

    it's r.a.i.l.'s

    j/k... or am i?

    --

    -pyrrho

  197. humans by pyrrho · · Score: 1

    humans identify phenomenon with words... even though it's really just a hundred elements...

    thinks should merely be named by their chemical composition.

    --

    -pyrrho

  198. Sun is killing Java on Linux by AnotherScratchMonkey · · Score: 1

    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.

  199. but wait! by pyrrho · · Score: 1

    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

    1. Re:but wait! by Weedlekin · · Score: 1

      Craftsmanship depends on factors above and beyond the tools that are used. An excellent carpenter will produce better results with a Swiss army knife than a poor one in a shed full of the most expensive tools in the world.

      --
      I'm not going to change your sheets again, Mr. Hastings.
    2. Re:but wait! by pyrrho · · Score: 1

      even if that was true, it has nothing to do with what I said, because the better craftsman will love the better tools and be able to appreciate them... good craftsmen collect good tools.

      but it's also not true... I can make a better piece of furniture with power tools and nails than a better furniture maker can make with glue and tape.

      Your line of reasoning here can only devolve into "tools don't matter" and no good craftsman really thinks that, even if the human skill is the most important tool of all.

      --

      -pyrrho

    3. Re:but wait! by Weedlekin · · Score: 1

      Nails, glue, and tape are components, not tools. Obviously, better components will produce better results: I can build a better house given bricks and cement than even the best builder armed with a bucket of water, irrespective of relative skill levels (near zero in my case) or the tools being used.

      I refute your assertion that craftsmen collect tools, because most of the ones I've met (and that's quite a lot) have no more than they actually require. Skilled professionals do not waste time and money on things they don't need, and will hire rather than buy stuff that will only be used occasionally, because that makes better financial sense (unless said item is very cheap, which is not usually the case with professional quality tools). Yes, they appreciate good tools, but purely as a means to an end, not as an object of adoration or veneration in themselves.

      Finally, you should consider the fact that some of the most astounding examples of craftsmanship in the world were made by people who had access to what we would consider quite rudimentary tools. Stradivarius and Guarnarius for example made musical instruments in the 1600s that have never been bettered even today, despite our amazing tools and immeasurably superior knowledge of the physics of sound.

      --
      I'm not going to change your sheets again, Mr. Hastings.
    4. Re:but wait! by pyrrho · · Score: 1

      first, this is an interesting line of debate to me, so thanks...

      >Nails, glue, and tape are components, not tools.

      I don't think this distinction will get you far, nail and glue are components, but if you don't have a hammer, the nails are useless... so I think that distinction just won't take you far.

      >Obviously, better components will produce better results: I can build a better house given bricks and cement than even the best builder armed with a bucket of water, irrespective of relative skill levels (near zero in my case) or the tools being used.

      and this extends to the tools, because components are built to the tools and vice versa.

      >I refute your assertion that craftsmen collect tools, because most of the ones I've met (and that's quite a lot) have no more than they actually require.

      semantics, I didn't mean in the sense that people collect beanie babies or useless things... I mean to use. By "collect" I meant more that they care about the difference between a quality tool and a lousy tool and take care to know the differences (or else they find out the hard way, then take care).

      >Finally, you should consider the fact that some of the most astounding examples of craftsmanship in the world were made by people who had access to what we would consider quite rudimentary tools. Stradivarius and Guarnarius for example made musical instruments in the 1600s that

      yes, I admit that, and many of the tools we have are not considered good because of the quality of the result, but because they are time savers though they degrade the quality.

      My only point is that out of all of this, the tools remain important, and they do have an affect of their own.

      But in general I also do agree with you that THE MOST IMPORTANT tool is the human skill and creativity.

      --

      -pyrrho

    5. Re:but wait! by Weedlekin · · Score: 1

      >Nails, glue, and tape are components, not tools.

      "I don't think this distinction will get you far, nail and glue are components, but if you don't have a hammer, the nails are useless... so I think that distinction just won't take you far."

      Not all components require tools, though. And some of those that do can be used with improvised ones: a carefully selected rock can pound nails into wood, for example.

      "components are built to the tools and vice versa"

      Some are, some aren't. As I said, not all components require tools, and not all tools are applied to components; some tools are mainly used to fashion components that may or may not require other tools to be used effectively, while others are applied directly to things that occur in the world around us (saws, axes, pick-axes, sledge-hammers, spades, etc.). The problem with with trying to make any statement about tools in general is that there are so many categories of them: some are enablers without which a particular job cannot be done at all (you cannot make certain types of pottery without a kiln that can reach and maintain a particular temperature); other types allow us to work more quickly, or with greater accuracy; still others are skill-levellers; etc., etc., etc.

      "many of the tools we have are not considered good because of the quality of the result, but because they are time savers though they degrade the quality".

      And time is precious. Henry Ford is often credited with inventing mass production, yet it actually goes back a lot further: Neanderthals had production lines to make stone tools and hunting implements; the Egyptians used them, as did the Romans; and mediaeval armourers, bowyers, and ship-builders had them too. We don't tend to see much of the early mass-produced stuff because it got thrown away when there was no further use for it, unlike the exquisite hand-crafted one-offs made for extremely wealthy people who could afford to pay master craftsmen for several years of painstaking work.

      "My only point is that out of all of this, the tools remain important, and they do have an affect of their own".

      Which is something I never disputed. My point was that the passion and pride any true craftsman has for their work is derived from the results they get, not the tools that were used to realise them.

      --
      I'm not going to change your sheets again, Mr. Hastings.
    6. Re:but wait! by pyrrho · · Score: 1

      we mainly agree then, because I endorse this "that the passion and pride any true craftsman has for their work is derived from the results they get" in spirit.

      We still disagree, however, in that, I know some furniture makers do take pride in, for example, using a traditional plane rather than a powered tool for the same job.

      Also we seem to disagree on how the semantics should be arranged, all components require tools, I say, though the tools may be hands.

      And while I agree with the spirit of your crafstman as you put it, I think if we fix the crafstman and vary the tools, of course the same craftsman will have better results with better tools and will therefore value the tools highly for he'll recognize they do help the quality of the result just as careful skill does.

      And if you are still denying that a worse craftsman might make a better creation with access to tools that were better enough, I still feel they might, because as we admit, it can be hard to sand a piece of wood without a tool, at least sandpaper. There is a limit, an upper limit, and that bound is defined by the tool.

      I endorse praising the craftsman, but tools matter.

      You admit tools matter, but want to emphasize the role of the craftsman, correct? That's fine with me... because I agree the craftsman is more important than the tools... and there is no tool great enough that a poor craftsman can't misuse it.

      --

      -pyrrho

    7. Re:but wait! by Weedlekin · · Score: 1

      "We still disagree, however, in that, I know some furniture makers do take pride in, for example, using a traditional plane rather than a powered tool for the same job."

      We do not disagree. Many craftsmen will use a manual tool for certain jobs even when they have access to an excellent powered version because the manual tool acts as an extension of their hands in a way that the usually larger and clumsier powered version doesn't. It can carry tactile information that allows the craftsman to make constant minor adjustments; it can transmit small changes in pressure and direction; and it can be manoeuvred into places that are inaccessible to the bigger powered item.

      "Also we seem to disagree on how the semantics should be arranged, all components require tools, I say, though the tools may be hands."

      Yes, we do disagree here. If hands counted as tools, then there would not be an anthropological distinction between tool-using organisms and ones that don't use tools. A tool is an item external to the organism itself that is used to extend its innate capabilities in some way. It can be as simple as a bird dropping snails on to rocks from a great height to break their shells; or encompass more complex behaviour like that of chimpanzees who strip small branches off of twigs so that they can probe for insect food in places that are too narrow for their fingers. A chimpanzee picking up a piece of fruit and eating it does not count as tool use merely because it uses the same hands to do it that it will later utilise to modify and then employ a carefully selected piece of wood.

      "And while I agree with the spirit of your crafstman as you put it, I think if we fix the crafstman and vary the tools, of course the same craftsman will have better results with better tools and will therefore value the tools highly for he'll recognize they do help the quality of the result just as careful skill does."

      I do not disagree with this. I never claimed that craftsmen don't value their tools, because they obviously do. My point was that they don't get emotionally involved with them in the same way that computer people seem to. A craftsman who has had a bad experience with a particular type or brand of tool may well advise others to buy and use something else, and may even say "I told you" if somebody buys one anyway and then moans about it afterwards. They do not however get involved in long, vitriolic name-calling sessions just because somebody prefers a different type or brand of tool to them.

      "And if you are still denying that a worse craftsman might make a better creation with access to tools that were better enough, I still feel they might, because as we admit, it can be hard to sand a piece of wood without a tool, at least sandpaper. There is a limit, an upper limit, and that bound is defined by the tool."

      There is also a lower limit that is defined by a tool. A craftsman who does not have adequate tools for a particular job cannot do it well, and may not be able to do it at all. However, the difference between a craftsman and a dweeb with tools is that the craftsman _will_ produce excellent results with adequate tools, while the dweeb _might_ produce adequate work with excellent tools. Clearly, in this scenario, it is the dweeb who will get excited about the excellent tools because said dweeb can't work without them; the craftsman on the other hand will think "hey, this is good, because it lets me do this more quickly and easily", and then get on with using it to do what he was already doing superbly before.

      "You admit tools matter, but want to emphasize the role of the craftsman, correct? That's fine with me... because I agree the craftsman is more important than the tools... and there is no tool great enough that a poor craftsman can't misuse it."

      Agreed in full.

      NB: this has been an extremely interesting discussion which I have greatly enjoyed. Season's greetings to you, and happy new year.

      --
      I'm not going to change your sheets again, Mr. Hastings.
  200. totally agree by pyrrho · · Score: 1

    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

  201. it depends entirely... by pyrrho · · Score: 1

    ... on what you do in the video.

    --

    -pyrrho

  202. Server-side alive by Maxmin · · Score: 2, Interesting

    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.
  203. the point by pyrrho · · Score: 1

    wouldn't it be nice if we could have sex with code.... sigh.

    --

    -pyrrho

  204. OT: Need to get this out. by Anonymous Coward · · Score: 0

    The terms 'technologies' and 'a technology' constitute one piece of broken glass up my ass.

  205. Made up numbers by quoll · · Score: 1

    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.

  206. I see a lot'a interest by sammyo · · Score: 1

    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.

  207. COBOL Moving Up On Java by Anonymous Coward · · Score: 0
    COBOL is quietly moving up on the WWW. See this link by Microsoftie Ralf Lammel to understand why. According to Lammel a Gartner study shows that
    • 75% of all business data is processed in COBOL,
    • There are between 180 billion and 200 billion
      lines of COBOL code in use worldwide, and
    • 15% of all new applications (5 billion lines)
      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:

    • fixed-length strings - no buffer overflows, no dynamic memory allocation, faster program loading, execution and clean-up, and
    • fixed-point decimal math - COBOL is an accountant's wet dream and does exactly what accountants want.
    1. Re:COBOL Moving Up On Java by haapi · · Score: 1

      And for those of you who love OO programming, there is Add-1-to-COBOL.

      --
      Well, apparently, you only have to fool the majority of people for a little while.
  208. And what do you get as a return type by theolein · · Score: 1

    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.

  209. Re:PHP is not good for the open source community. by Anonymous Coward · · Score: 0

    Yes. It is true. In his spare time he consults for the porn industry.

  210. one beef by BitterAndDrunk · · Score: 1

    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 . . .
  211. PHP over Java? Is that supposed to be a joke? by Hurricane78 · · Score: 1

    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.
  212. Re:PHP is not good for the open source community. by CyricZ · · Score: 0, Troll

    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.
  213. Re:Java takes up the COBOL banner 'Java-Correctnes by urbanRealist · · Score: 1
    So, what do you want to do today; be correct or be productive?

    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.
  214. Why Java still isn't faster than C++ by Anonymous+Brave+Guy · · Score: 2, Informative
    They can routinely equal C++ in terms of performance.

    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.
    1. Re:Why Java still isn't faster than C++ by Cederic · · Score: 2, Interesting


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

      Why? I can download Java from Sun and it has this built in.

      Performance hasn't been the issue with Java since 1.1, maybe 1.2. If you want to write embedded systems, device drivers, software with a small memory footprint, maybe Java isn't a good choice.

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

      Ignoring performance, writing in Java _is_ easier/safer/more productive today than writing in C++.

      People make fewer mistakes. People write better code. People don't have to spend weeks trying to write GC instead of just downloading something so efficient it's inadequate 1 time in 10,000.

      I have deployed, at three companies now, Java based web applications handling millions of pounds of business, serving terabytes of dynamically created content, underpinning the leading websites in their industries.

      Performance issues? Sure, we've had some. We've dealt with them. Good application design helps immensely, good hardware is cheap, basic measures such as caching data in memory, reducing network calls and writing stateless code all impact performance several orders of magnitude beyond the language used.

      Is Java as performant as C++? In terms of money spent, on hardware, on developers, on design and analysis, to get web pages to users within 5 seconds? Yes.

    2. Re:Why Java still isn't faster than C++ by Decaff · · Score: 1

      This is an interesting comment, but in my opinion all you are doing is describing a series of reasons why you think that Java should not be able to match C++ speed.

      But this is irrelevant. It does! Here is an example:

      http://www.kano.net/javabench/

      Just to correct one misunderstanding - Hotspot is not a typical optimiser, C++ style. It does not significantly impact performance, as it is not a full profiler - it detects 'hotspots' - performance critical areas and concentrates on them - it does not profile the entire application in detail (which would certainly impact performance).

      The reason why this sort of thing is not used much elsewhere is that it is extremely hard. It is based on technology developed from the Self language, and has involved years of research. Also, until now, there has never been much of a need. Pre-compilation has been good enough for languages like C++. However, with Java, pre-compilation is often problematic.

      The widespread use of Java in whatever industry you are is not likely to happen no matter what the performance, as areas of the IT industry are very conservative - for example, much game development is still in assembler, and COBOL is far from dead.

      Guess what? I also write high-performance code - numerical simulations of molecular interactions. Java is the first language that looks like it may at least start to replace Fortran in this area.

    3. Re:Why Java still isn't faster than C++ by Anonymous+Brave+Guy · · Score: 1

      The thing about that sort of benchmark is that it's mostly a waste of time. The data structures and algorithms tested are usually so trivial that I'd expect any half-decent compiler, traditional or run-time, to produce almost identical machine code. If any don't, that's a pretty damning indictment. Keeping up with the field isn't any particular recommendation, though.

      I'm afraid I just don't understand your arguments about Hotspot. I have suggested -- and thus far you haven't challenged my claim -- that even for precompiled code, it takes a lot of overhead in instrumentation to yield enough results even to get a modest performance boost. If you're saying that Hotspot runs in the background, and does less work in order to keep its own overheads down, I can't see how you expect it to produce better optimised code than a classical precompiled language. I'm not disagreeing that precompilation would be difficult with Java; I just don't see how Hotspot is doing any more than levelling the playing field at best, never mind overcoming all those inherent difficulties in Java that I mentioned.

      The widespread use of Java in whatever industry you are is not likely to happen no matter what the performance, as areas of the IT industry are very conservative - for example, much game development is still in assembler, and COBOL is far from dead.

      And yet we have customers writing applications in newer languages like C#, which address some of the performance criticisms of Java. (The code I write is for libraries, so our customers are typically developers of end-user applications.) Similarly, the games company down the road from me is asking for C++ as a primary skill on its recruitment advertising, but not assembler. If Java were truly on a par with C++ for performance and significantly more productive, I think at least someone in the industry would have attempted a switch by now. But it's not. You couldn't get near the performance that we get routinely in C++ using Java, because things like its floating point model and lack of precise control over data structures and memory allocation strategies simply won't allow it!

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    4. Re:Why Java still isn't faster than C++ by sesh · · Score: 1
      Did you try reading any of the rebuttals helpfully provided by the site (the links at the bottom)? They are pretty damning, and show that his benchmark C++ programs are ridiculously inefficient, leak like a sieve, and improperly measured in any case. The rebuttal benchmarks don't look like they were bunched together by an amateur unfamiliar with the language either.

      For your reading pleasure:
      http://www.w3sys.com/pages.meta/benchmarks.html http://www.freewebs.com/godaves/javabench_revisite d/

      In the end, the Java Runtime is doing a bunch of stuff that simply doesn't get done in C++. No manner of optimisations are going to make something look like nothing.

  215. .NET's multi language support? by Trinition · · Score: 1

    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.

  216. IIS an AppServer? No free Java AppServer? by Trinition · · Score: 1

    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.

  217. More JVM Languages by Trinition · · Score: 1

    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

  218. You must be fucking joking by Anonymous Coward · · Score: 0

    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.

    1. Re:You must be fucking joking by Anonymous Coward · · Score: 0

      sorry, your post is BS and probably a troll too.
      But *just in case* you are some newbie who has no clue, let me explain:

      Of course, javadoc ouput is only as good as the quality of the javadoc comment.
      But definitively, javadoc is used to document tons of java code, especially APIs. As an example, the javadoc for the java base apis themselves are relied on by java programmers.

  219. My take on this by Trinition · · Score: 2, Insightful

    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.

  220. I just gotta ask this by Compaq_Hater · · Score: 1

    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

  221. Re:Java use slipping? You have to be joking by Angus+Chan · · Score: 1

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

  222. Arguing about *Languages* is so 90's by ibi · · Score: 1

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

  223. Worked: Windows, Solaris, Debian; not worked: OS X by Latent+Heat · · Score: 1
    I have a Java imaging app that worked with no sweat in Windows, Solaris, and Debian Linux -- the only trouble was with OS X -- the image didn't show up.

    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.

  224. Everything is an object? by p3d0 · · Score: 1

    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....
  225. Lisp, GUI, and C by Latent+Heat · · Score: 1
    OK, two requirements for trying out Lisp.

    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?

    1. Re:Lisp, GUI, and C by ciggieposeur · · Score: 1

      I am just barely getting into Lisp, and actually enjoying it a lot. However, be prepared for anything beyond "hello world" to take a bit longer that you are normally accustomed to. :)

      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?

      Most CommonLisps can reach the GUI via Tk, Xlib, GTK, wx, etc. I don't know which ones actually ship with said libraries, but there are easy to find (see below for CLiki).

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

      Yes, Common Lisp has a "Foreign Function Interface" that supposedly is pretty easy to use. Most implementations also provide access to OS-specific functionality via non-standard functions (i.e. "(unix:unix-getpid)" returns getpid()).

      Check out the Common Lisp Wiki: http://www.cliki.net/index . There's loads of code that can get you going.

      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?

      My personal perception of Lisp: whereas Java has essentially one mainline JVM (I include the libraries java.*/javax.* in the definition of JVM BTW, so until GNU Classpath is complete there is only one mainline JVM) and a handful of secondary JVMs (just the VM) for specialized environments, Lisp has about half a dozen mainline VMs including both commercial and open-source implementations. Each Lisp VM is cross-platform and in total they probably cover about as many platforms as the one Java VM. Code can be ported between the Lisp implementations without too much hassle. Most Lisp VMs are fast enough that they can actually be used for shell scripting (0.5s startup), and they have the same garbage collection and runtime optimization advantages as Perl, and they hover around 3MB RAM footprint like Perl.

      I think the perception of Lisp as slow, RAM-hungry, and hard to interface with non-Lisp was probably true back when machines were small enough that 3MB RAM was enormous. By today's standards, a Lisp VM is quite snappy and can be (relatively) easily integrated into a non-Lisp environment.

      I have chosen to learn Lisp because I want to think differently about programming, and see what people mean by "functions are first-class objects". So far it IS different but refreshing.

  226. Re:Java takes up the COBOL banner 'Java-Correctnes by Anonymous Coward · · Score: 0

    Really, it was written for Defense (US) for Defense, circa 59/60.

  227. .Net. by Vladimir · · Score: 1

    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!

  228. Java ON THE Mainfram by Anonymous Coward · · Score: 0

    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.

  229. kinda disappointed... by pjr.cc · · Score: 1

    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)

  230. Bloated kit by Tablizer · · Score: 1

    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.

  231. Java... by poor_boi · · Score: 1

    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.

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

    Ruby on Rails? Tells the same story and LAMP. .NET? Isn't cross-platform -- even in Billy's nightmares -- and not even by Java's flawed definition of the term.

    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

  232. Try out yet? by Sithgunner · · Score: 1

    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.

  233. ANOTHER A/C CHIMES IN... by Anonymous Coward · · Score: 0

    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.

  234. Must I re-port again? by Keith+McClary · · Score: 1

    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.

  235. Great Advertisement for Yared by Heembo · · Score: 1

    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.
  236. One more thing. by killjoe · · Score: 1

    Oh one more point.

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

    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
  237. Memegraph Followup - Java vs LAMP vs Web 2.0 by broward · · Score: 1

    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.

  238. Mod parent up! by shatteredsilicon · · Score: 1

    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.

  239. Bugs in JVM:s by sita · · Score: 1

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

  240. Cross-platform, Java isn't first anymore by wysiwia · · Score: 0

    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
    1. Re:Cross-platform, Java isn't first anymore by Anonymous Coward · · Score: 0

      That's just hilarious. Let me guess, you've not written a single serious cross-platform application in your life?

    2. Re:Cross-platform, Java isn't first anymore by wysiwia · · Score: 0

      Ohh, someone got upset. Did you miss the link here http://freshmeat.net/projects/wyoguide/ ?

      My employer slowly replaces each Java application either with AJAX or fat clients (C++). It's just a matter of time until no Java is used. I'm quite confidential other companies follow the same path.

      Sorry that's the way of live.

      O. Wyss

      --
      See http://wyoguide.sf.net/papers/Cross-platform.html
  241. You may have a point by Cro+Magnon · · Score: 1

    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. Re:You may have a point by bill_kress · · Score: 1

      Interesting comment. What is a "Bloated API?"

      It has a lot of classes available as library functions, but of course, if you don't use them they might as well not exist--java doesn't load them or anything unless you need them...

      So are you complaining about a large number of free, well-written, well documented routines available for your use? That would be one of the strangest complaints I have ever heard, unless I'm misunderstanding you.

      Or were you talking about something else?

  242. Re:Worked: Windows, Solaris, Debian; not worked: O by petermgreen · · Score: 1

    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
  243. Not just VM at fault by mcbevin · · Score: 1

    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.

  244. LAMP, the new Python! by cpghost · · Score: 1

    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.
  245. Managed C++ case study by Tune · · Score: 1

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

  246. Re:Stats Don't Lie! Java OWNS the current market! by Morpeth · · Score: 1
    Well I'm in San Diego, and what I've seen is an absolute ton of .NET/C# jobs. During my last job hunt this September, I landed a gig in less than a week as a C#/.NET guy having had 2-3 interviews a day -- talk about tiring :) Could've been even quicker but I needed to check out my options.

    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
  247. Overengineered by pkphilip · · Score: 1

    It is my humble opinion that one of the problems with Java is that it is over-engineered. This is particularly true of 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 .NET has going for it is that it is far simpler to develop web apps in it than in J2EE.

    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.

  248. Flash has knocked Java on the general public's Web by VeryVito · · Score: 1

    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/

  249. more like 70's, actually by penguin-collective · · Score: 1

    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.

  250. false by penguin-collective · · Score: 1

    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.