Follow Slashdot blog updates by subscribing to our blog RSS feed

 



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 Anonymous Coward on Tuesday December 13, 2005 @03:32PM (#14249157)
    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.
  • Damn shame (Score:1, Informative)

    by Anonymous Coward on Tuesday December 13, 2005 @03:34PM (#14249191)
    Microsoft's .NET "technologies" are just a java rip-off
  • by Anonymous Crowhead ( 577505 ) on Tuesday December 13, 2005 @03:38PM (#14249246)
    LAMP is not a 'stupid new name'. It's been around for 5+ years. You should be ashamed, Mr UID 1932.
  • Java 90's!!! Wake Up (Score:1, Informative)

    by Anonymous Coward on Tuesday December 13, 2005 @03:51PM (#14249397)
    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.

  • Re:.NET?!? (Score:5, Informative)

    by ThinkFr33ly ( 902481 ) on Tuesday December 13, 2005 @03:59PM (#14249482)
    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 [editthispage.com].

    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 [microsoft.com] 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.
  • Re:.NET?!? (Score:5, Informative)

    by ThinkFr33ly ( 902481 ) on Tuesday December 13, 2005 @04:03PM (#14249514)
    I forgot to post the language comparison [genamics.com] between C# and Java. Sorry.
  • Re:.NET?!? (Score:2, Informative)

    by feijai ( 898706 ) on Tuesday December 13, 2005 @04:04PM (#14249526)
    1. .NET works with more languages than just C#. Here's a list of languages supported by .NET: http://www.dotnetpowered.com/languages.aspx/ [dotnetpowered.com]. In contrast, Java only supports... well, Java.
    How did Microsoft's marketing team manage to get so many people believe this lie [robert-tolksdorf.de]?
  • Re:The 'P' in LAMP (Score:3, Informative)

    by masklinn ( 823351 ) <.slashdot.org. .at. .masklinn.net.> on Tuesday December 13, 2005 @04:05PM (#14249538)
    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.

  • Get a better book (Score:3, Informative)

    by woodsrunner ( 746751 ) on Tuesday December 13, 2005 @04:07PM (#14249562) Journal
    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.
  • Re:In Related News (Score:2, Informative)

    by AndroidCat ( 229562 ) on Tuesday December 13, 2005 @04:19PM (#14249725) Homepage
    Print with no , or ; termination automatically does a CR/LF.
  • by TheTiminator ( 559801 ) on Tuesday December 13, 2005 @04:23PM (#14249772) Homepage
    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 [timothytrimble.info]

    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
  • by ishmalius ( 153450 ) on Tuesday December 13, 2005 @04:27PM (#14249815)
    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.

  • Re:PHP vs. Java (Score:3, Informative)

    by supra ( 888583 ) on Tuesday December 13, 2005 @04:31PM (#14249858)
    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/ [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.
  • by 91degrees ( 207121 ) on Tuesday December 13, 2005 @04:40PM (#14249957) Journal
    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.
  • Re:.NET?!? (Score:5, Informative)

    by rhedin ( 91503 ) on Tuesday December 13, 2005 @04:45PM (#14250006)
    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.
  • by masklinn ( 823351 ) <.slashdot.org. .at. .masklinn.net.> on Tuesday December 13, 2005 @05:05PM (#14250265)
    First, it deserves credit as the first of the truly wonderful cross-platform, virtual machine driven JIT compilation using languages.

    That would be Smalltalk.

  • by masklinn ( 823351 ) <.slashdot.org. .at. .masklinn.net.> on Tuesday December 13, 2005 @05:10PM (#14250314)
    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.

  • by beemishboy ( 781239 ) on Tuesday December 13, 2005 @05:11PM (#14250327)
    Eric Schmidt [wikipedia.org], 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 [bbc.co.uk] with Sun in distributing the JRE with the Google Toolbar. Google is also purchasing Sun hardware possibly to obtain a better performance per watt [zdnet.co.uk]. 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.
  • by Berkov_s1 ( 674750 ) on Tuesday December 13, 2005 @05:17PM (#14250388)
    "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
  • by naarok ( 102579 ) on Tuesday December 13, 2005 @05:34PM (#14250594) Homepage
    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).

  • by S.O.B. ( 136083 ) on Tuesday December 13, 2005 @05:49PM (#14250803)
    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.
  • by Black Perl ( 12686 ) on Tuesday December 13, 2005 @06:50PM (#14251415)
    (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/ [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.
  • by aftermath09 ( 521504 ) on Tuesday December 13, 2005 @08:53PM (#14252360)

    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 [bea.com]) 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 [sun.com] 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!

  • by Decaff ( 42676 ) on Tuesday December 13, 2005 @08:54PM (#14252369)
    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.
  • by Anonymous Brave Guy ( 457657 ) on Tuesday December 13, 2005 @11:29PM (#14253140)
    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.

  • by offerk ( 764276 ) on Wednesday December 14, 2005 @02:27AM (#14253985) Journal
    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 [cpan.org].

  • by HamishLawson ( 398356 ) on Wednesday December 14, 2005 @06:57AM (#14254873)

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

    Python appears to be available [teaser.fr] for OS/390:

One way to make your old car run better is to look up the price of a new model.

Working...