Follow Slashdot blog updates by subscribing to our blog RSS feed


Forgot your password?
Java Open Source Oracle Programming

If Java Wasn't Cool 10 Years Ago, What About Now? 511

10 years ago today on this site, readers answered the question "Why is Java considered un-cool?" 10 years later, Java might not be hip, but it's certainly stuck around. (For slightly more than 10 years, it's been the basis of the Advanced Placement test for computer science, too, which means that lots of American students are exposed to Java as their first formally taught language.) And for most of that time, it's been (almost entirely) Free, open source software, despite some grumbling from Oracle. How do you see Java in 2014? Are the pessimists right?
This discussion has been archived. No new comments can be posted.

If Java Wasn't Cool 10 Years Ago, What About Now?

Comments Filter:
  • Re:What's the point? (Score:3, Informative)

    by drolli ( 522659 ) on Sunday August 24, 2014 @03:17PM (#47742945) Journal

    The point of java is that you can program more devices on this planet in this language than with anything else.

    Java has penetrated all areas of computing, from embedded (down to chipcards) to mobile, from science to database and web servers.

    Java has inherent cross-platform mechanisms for elementary things for which c does not have these (treads), and there are (most of the time free) libraries inferfacing in all directions.

    Dynamic, standardized binding to databases and XML makes it extremely easy to persist you data in a well-documented and well-tested structured way.

    Java has nearly all language features you could desire.

    And last but not least: eclipse is a great free IDE. AMong the free IDEs there is IMHO no combination of language+language tools which boots your productivity for specific tasks as eclipse does.

  • Re:What's the point? (Score:4, Informative)

    by Aighearach ( 97333 ) on Sunday August 24, 2014 @04:35PM (#47743405) Homepage

    Java cleaner than python? Tell me you're kidding.

    It is meaningless to argue that one unless you attempt to define "clean," and then both sides will turn out to be using different meanings. Using his meaning of clean you'd probably be forced to agree with him; and using yours, he would likely agree with you.

    Is boilerplate dirty, is it cruft, or is it O(1) stuff that isn't even counted and is effectively free? That is the real underlying issue. If boilerplate is cruft, then Java isn't clean. If boilerplate is free and to be ignored, then Java is still verbose, but clean.

    Most people who ignore boilerplate probably are using tools that write most of it for them anyways, which brings in its own issues and differences of opinion.

    Of course he totally ignores the possibility of using efficient methodologies to write large codebases using "scripting" languages. It certainly can and is done. But you can't hire Dilberts to do it, the way you can with Java. If you're planning to be undisciplined except for the what the language forces you into, then he's right.

  • by buddyglass ( 925859 ) on Sunday August 24, 2014 @05:12PM (#47743589)
    Also worth noting is that the downward trend in Java's market share is mirrored by downward trends in the share of other "highly popular" languages. This possibly indicates the market is becoming more diverse. TIOBE's chart goes back to June 2001, which, according to their numbers, is the high water mark for Java at 26.5%. In that month the shares for C and C++ were 20.2% and 14.2% respectively. In August 2014 Java had declined to 15.0%. C and C++ declined to 16.4% and 4.7% respectively. Woe is C++. In fact, of the top ten languages in 2014 the only ones to gain market share over the past year are Javascript and Objective-C. Javascript has been more or less flat; Objective-C spiked earlier this year but has since dropped back to 2013 levels.

    Python []? Peaked in February 2011 when it reached 7.0% in TIOBE's index. It's currently sitting at 3.1% in August 2014.

    Ruby []? Peaked at 4.0% in December 2008. Currently at 1.2% in August 2014.

    I can't get info on Scala, Go, Haskell, Scheme, Erlang, Groovy, et. al. because they aren't used widely enough for TIOBE to even report stats.
  • Re:What's the point? (Score:5, Informative)

    by Giant Electronic Bra ( 1229876 ) on Sunday August 24, 2014 @05:22PM (#47743631)

    I've written a lot of code in the 'P languages' and I don't really believe that anymore. A 15k python app might be perfectly fine, but loose typing and the lack of a standard error handling strategy bite you in the end. I don't actually think that Perl is any weaker here than Python. You may be more familiar with one and comfortable with it, but I've written some pretty large programs in Perl. It HAS the tools, and I'm not the only one. Ruby is probably the cleanest of this sort of languages, but its still things like loose typing and the attendant inability to enforce calling semantics that hurts in all cases the most. When I write Java I know that if I call a method I have the right type of arguments at least, and that if somehow I manage to partially subvert that with reflection or whatnot that my error will be quickly outed by the run time. In dynamic languages you really don't know what the data is supposed to be until something goes wrong. Mostly though you lack the ability to have your IDE vet everything, you can't do static validation, etc. On big projects things like code validation, test coverage, etc are big deals, as is code GENERATION for that matter. All of these things are vastly better supported and easier to do in a statically typed language like Java.

  • Re: Nope (Score:5, Informative)

    by AJWM ( 19027 ) on Sunday August 24, 2014 @05:26PM (#47743643) Homepage

    Back in my (pre PC) college days, COBOL was big in business but wasn't taught or used by anyone in the Computer Science department. If you wanted to learn COBOL, those courses were offered through the school of Business.

    And APL was taught by the department of Mathematics, to the extent that APL packages were used in the statistics classes.

    Computer science classes weren't about teaching programming languages (we probably went through a dozen or more, from Algol and assembler to Lisp and Simula and Snobol -- we were expected to learn them ourselves depending on the assignment), but about how to think about programming (and operating systems and so on).

  • Re:I hope not (Score:5, Informative)

    by RabidReindeer ( 2625839 ) on Sunday August 24, 2014 @06:18PM (#47743909)

    Java owes little to Ada. Ada has one of the most rigorous data typing systems of any programming language, but its roots are in Pascal, and thence descend to Algol.

    Java's syntactic roots come from C through C++, which added OOP capabilities.

    C# is somewhat of a zig-zag. In part, it's Microsoft's alternative after they were prevented from hijacking Java. In part, it's reaching back to C++. Along the way, they attempted to cure some of Java's warts.

    One bit of irony. Both Java and C# are programming languages designed and "owned" by private organizations, each of which also owns at least one major OS. Java users always had a high degree of confidence that Sun would never abuse that position and attempt to use Java to lock them into Solaris. C# never enjoyed that confidence, which is why there's precious little C# work done on the non-Windows OS's.

  • Re:What's the point? (Score:2, Informative)

    by RightwingNutjob ( 1302813 ) on Sunday August 24, 2014 @09:02PM (#47744693)
    Exactly. Java programs aren't multiplatform. They're single platform: the JDK/JVM that you compiled with/for. If you're done everything on Sun Java 1.5, and suddenly Oracle changes it to "Oracle Java" 1.6, you're SOL.

A bug in the code is worth two in the documentation.