Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Java Programming IT Technology

Java Is So 90s 923

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."
This discussion has been archived. No new comments can be posted.

Java Is So 90s

Comments Filter:
  • by eldavojohn ( 898314 ) * <`eldavojohn' `at' `gmail.com'> on Tuesday December 13, 2005 @03:27PM (#14249103) Journal
    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 [tripod.com] (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.
  • by tcopeland ( 32225 ) * <tom@@@thomasleecopeland...com> on Tuesday December 13, 2005 @03:30PM (#14249135) Homepage
    ...they mean Linux Apache Middleware PostgreSQL.

    And when they say middleware, they mean Ruby [blogs.com]!
  • PHP vs. Java (Score:5, Insightful)

    by mysqlrocks ( 783488 ) on Tuesday December 13, 2005 @03:31PM (#14249144) Homepage Journal
    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.
  • by FortKnox ( 169099 ) * on Tuesday December 13, 2005 @03:31PM (#14249149) Homepage Journal
    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.
  • It is to laugh (Score:5, Insightful)

    by msuzio ( 3104 ) on Tuesday December 13, 2005 @03:32PM (#14249167) Homepage
    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.
  • .NET?!? (Score:5, Insightful)

    by Progman3K ( 515744 ) on Tuesday December 13, 2005 @03:33PM (#14249177)
    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?
  • by WombatControl ( 74685 ) on Tuesday December 13, 2005 @03:34PM (#14249183)

    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 [rubyonrails.com] - 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.

  • J2EE != Java (Score:3, Insightful)

    by khrome ( 85018 ) on Tuesday December 13, 2005 @03:35PM (#14249199) Homepage
    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
  • by msuzio ( 3104 ) on Tuesday December 13, 2005 @03:36PM (#14249208) Homepage
    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.
  • by xtracto ( 837672 ) on Tuesday December 13, 2005 @03:36PM (#14249215) Journal
    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.
  • Re:UNIX (Score:5, Insightful)

    by MightyMartian ( 840721 ) on Tuesday December 13, 2005 @03:36PM (#14249216) Journal
    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.

  • Re:PHP vs. Java (Score:2, Insightful)

    by estebanf ( 814656 ) on Tuesday December 13, 2005 @03:36PM (#14249217)
    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?...
  • by Eric Giguere ( 42863 ) on Tuesday December 13, 2005 @03:37PM (#14249219) Homepage Journal
    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 [ericgiguere.com]
  • Brewed? (Score:2, Insightful)

    by Svencer ( 60261 ) on Tuesday December 13, 2005 @03:37PM (#14249221)
    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.
  • by Anonymous Coward on Tuesday December 13, 2005 @03:37PM (#14249222)
    Then why is it that Java is the most used language on Sourceforge, an open source development site?
  • by Anonymous Coward on Tuesday December 13, 2005 @03:38PM (#14249240)
    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.
  • by Per Abrahamsen ( 1397 ) on Tuesday December 13, 2005 @03:41PM (#14249273) Homepage
    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.
  • Re:UNIX (Score:5, Insightful)

    by the chao goes mu ( 700713 ) on Tuesday December 13, 2005 @03:42PM (#14249278)
    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.
  • by jsailor ( 255868 ) on Tuesday December 13, 2005 @03:42PM (#14249285)
    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.
  • by altoz ( 653655 ) on Tuesday December 13, 2005 @03:47PM (#14249345)
    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.
  • by LionKimbro ( 200000 ) on Tuesday December 13, 2005 @03:51PM (#14249389) Homepage
    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?
  • by rewt66 ( 738525 ) on Tuesday December 13, 2005 @03:52PM (#14249411)
    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...)
  • by QuietLagoon ( 813062 ) on Tuesday December 13, 2005 @03:59PM (#14249481)
    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.

  • by eneville ( 745111 ) on Tuesday December 13, 2005 @04:00PM (#14249484) Homepage
    > > 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.
  • by Ooblek ( 544753 ) on Tuesday December 13, 2005 @04:00PM (#14249491)
    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.

  • by grahamsz ( 150076 ) on Tuesday December 13, 2005 @04:03PM (#14249512) Homepage Journal
    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.
  • Finding its place (Score:3, Insightful)

    by porkThreeWays ( 895269 ) on Tuesday December 13, 2005 @04:08PM (#14249577)
    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.
  • by ADRA ( 37398 ) on Tuesday December 13, 2005 @04:15PM (#14249666)
    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.
  • by b17bmbr ( 608864 ) on Tuesday December 13, 2005 @04:15PM (#14249675)
    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.
  • by Concern ( 819622 ) * on Tuesday December 13, 2005 @04:20PM (#14249728) Journal
    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. ;)
  • Re:It is to laugh (Score:5, Insightful)

    by nettdata ( 88196 ) on Tuesday December 13, 2005 @04:22PM (#14249758) Homepage
    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.

  • by Decaff ( 42676 ) on Tuesday December 13, 2005 @04:25PM (#14249789)
    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 [osnews.com]

    Java is a popular and versatile language. Software development involves far more than the very restricted aspects covered by LAMP.

  • by Uzik2 ( 679490 ) on Tuesday December 13, 2005 @04:34PM (#14249893)
    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
  • by plumby ( 179557 ) on Tuesday December 13, 2005 @04:35PM (#14249901)
    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.
  • Re:.NET?!? (Score:5, Insightful)

    by richieb ( 3277 ) <richieb&gmail,com> on Tuesday December 13, 2005 @04:39PM (#14249948) Homepage Journal
    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 [jython.org] 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?

  • Re:.NET?!? (Score:3, Insightful)

    by ThinkFr33ly ( 902481 ) on Tuesday December 13, 2005 @04:42PM (#14249976)
    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.
  • LAMP? Why not LAMJ (Score:2, Insightful)

    by the_furman ( 931683 ) on Tuesday December 13, 2005 @04:42PM (#14249978)
    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.
  • Re:PHP vs. Java (Score:3, Insightful)

    by pinkstuff ( 758732 ) on Tuesday December 13, 2005 @04:42PM (#14249979)

    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! :-)

  • by man_of_mr_e ( 217855 ) on Tuesday December 13, 2005 @04:49PM (#14250058)
    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.
  • by Decaff ( 42676 ) on Tuesday December 13, 2005 @04:57PM (#14250148)
    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.
  • by Berkov_s1 ( 674750 ) on Tuesday December 13, 2005 @05:11PM (#14250326)
    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.
  • by naarok ( 102579 ) on Tuesday December 13, 2005 @05:21PM (#14250425) Homepage
    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.
  • False Dilemma (Score:2, Insightful)

    by geoffrobinson ( 109879 ) on Tuesday December 13, 2005 @05:22PM (#14250435) Homepage
    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.
  • by theAtomicFireball ( 532233 ) on Tuesday December 13, 2005 @05:22PM (#14250440)
    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.
  • Re:PHP vs. Java (Score:2, Insightful)

    by scotty ( 5588 ) on Tuesday December 13, 2005 @05:27PM (#14250489) Homepage
    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.
  • Re:It is to laugh (Score:3, Insightful)

    by Jason Earl ( 1894 ) on Tuesday December 13, 2005 @05:28PM (#14250524) Homepage Journal

    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.

  • by Decaff ( 42676 ) on Tuesday December 13, 2005 @05:56PM (#14250882)
    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.
  • Again? (Score:5, Insightful)

    by bill_kress ( 99356 ) on Tuesday December 13, 2005 @06:00PM (#14250938)
    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!

  • by beforewisdom ( 729725 ) on Tuesday December 13, 2005 @06:03PM (#14250968)
    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.
  • by BitwizeGHC ( 145393 ) on Tuesday December 13, 2005 @06:47PM (#14251391) Homepage
    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".
  • And threading? (Score:3, Insightful)

    by ethank ( 443757 ) on Tuesday December 13, 2005 @07:49PM (#14251948) Homepage
    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?
  • by MaggieL ( 10193 ) on Tuesday December 13, 2005 @08:49PM (#14252335)
    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.

         
  • by countach ( 534280 ) on Tuesday December 13, 2005 @08:50PM (#14252344)
    Most programmers are NOT 'good'.
  • by typidemon ( 729497 ) on Tuesday December 13, 2005 @09:00PM (#14252414)

    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.

  • Re:.NET?!? (Score:3, Insightful)

    by ThinkFr33ly ( 902481 ) on Tuesday December 13, 2005 @11:03PM (#14253025)
    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.
  • by Kent Recal ( 714863 ) on Tuesday December 13, 2005 @11:28PM (#14253131)
    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?).
  • My take on this (Score:3, Insightful)

    by Trinition ( 114758 ) on Tuesday December 13, 2005 @11:51PM (#14253236) Homepage
    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.
  • by bill_mcgonigle ( 4333 ) * on Wednesday December 14, 2005 @12:36AM (#14253445) Homepage Journal
    "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.

"Life begins when you can spend your spare time programming instead of watching television." -- Cal Keegan

Working...