Slashdot Mirror


Does an Open Java Really Matter?

snydeq writes "Fatal Exception's Neil McAllister questions the relevance of the recent opening of Java given the wealth of options open source developers enjoy today. Sure, as the first full-blooded Java implementation available under a 100 percent Free Software license, RedHat's IcedTea pushes aside open source objections to developing in Java. Yet, McAllister asks, if Java really were released today, brand-new, would it be a tool you'd choose? 'The problem, as I see it, is twofold,' he writes. 'First, as the Java platform has matured, it has become incredibly complex. Today it's possible to do anything with Java, but no one developer can do everything — there simply aren't enough hours in the day to learn it all. Second, and most important, even as Java has stretched outward to embrace more concepts and technologies — adding APIs and language features as it goes — newer, more lightweight tools have appeared that do most of what Java aims to do. And they often do it better.'" Since Java itself never mattered except to sell books, I still don't see why opening it matters.

132 of 766 comments (clear)

  1. Java never really mattered, Taco? Ouch by Anonymous Coward · · Score: 5, Insightful

    Some would say the same about Slashdot.

    1. Re:Java never really mattered, Taco? Ouch by fm6 · · Score: 4, Interesting

      Yeah, that was a really lame comment. Does Rob think the programming world consists of Perl hackers like him? Thousands of programmers make a living writing Java code.

      BTW Rob, when is the new browsing system going to handle scores correctly? I just started writing a response to a Score 0 AC post, something I never do intentionally. Maybe if you rewrote Slashdot in Java...

      But here's why opening Java matters. When people talk about "opening Java" they really mean "opening Sun's implementation of Java". There have always been open-source implementations of Java, but they've had a hard time keeping up with the latest spec. So if you're distributing open-source software that depends on Java, you really want Sun's Java implementation in the bundle.

    2. Re:Java never really mattered, Taco? Ouch by idontgno · · Score: 4, Insightful

      At least in this case, AC was right.

      Whereas Taco, in this case... not so much.

      --
      Welcome to the Panopticon. Used to be a prison, now it's your home.
    3. Re:Java never really mattered, Taco? Ouch by Z00L00K · · Score: 4, Insightful
      Java really matters. It's not perfect in any way, but it works for many cases.

      The good thing with an open java is that it's possible to port to a broader range of architectures with less concern for licensing issues.

      Some may claim that Java is a bastard of Ada and C (or was it C++) but it's not really the case. Ada is a bit locked up in a limited market, which is a bit unfortunate - but things like that happens. If the licensing and availability of Ada had been better then we might have been programming Ada instead of Java.

      And more important is that C# (C-hash as I call it) is created by Microsoft because they weren't allowed by Sun to create a diverged version of Java. And Microsoft always tries to get their own way so we will have to accept that. But some of us may still remember that there were applets around written for Microsoft's JVM and that they did only work in IE - while at the same time other applets didn't work in M$:s JVM.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    4. Re:Java never really mattered, Taco? Ouch by Anonymous Coward · · Score: 5, Funny

      No Multiple Inheritance. Slower than a 486. Lame.

    5. Re:Java never really mattered, Taco? Ouch by sir_jimmy · · Score: 5, Insightful

      I am the most senior programmer in an up-and-coming destributed-media company. A big part of what I do is (*read rapid*) development of tools for analysis of network topology. Java is a central part of that. Given the rescent lameness of what M$ deems as their state-of-the-art end-user OS, I want my tools to work in whatever play ground I deem worthy. I want my tools to work everywhere, and java is the right tool for the job.

    6. Re:Java never really mattered, Taco? Ouch by gangien · · Score: 2, Funny

      ahh Taco's just still mad over java invaders.

      search for java

    7. Re:Java never really mattered, Taco? Ouch by oldhack · · Score: 2, Funny

      "Please read 1984 before you talk about 1984. Thank you."

      Hell, no. I saw the movie.

      --
      Fuck systemd. Fuck Redhat. Fuck Soylent, too. Wait, scratch the last one.
    8. Re:Java never really mattered, Taco? Ouch by AmaDaden · · Score: 4, Interesting

      Java has be come the most popular language(http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html). CmdrTaco however has hated Java since the summer of 1997 "My hatred for Java has never died since that moment." (http://meta.slashdot.org/article.pl?sid=07/10/02/1553218). Sun on the other hand is trying to clean up their act(http://slashdot.org/article.pl?sid=08/06/25/0236208).

      It's been nearly 11 YEARS. I think it's time you bury the hatchet.

    9. Re:Java never really mattered, Taco? Ouch by snoyberg · · Score: 3, Funny

      Maybe if you rewrote Slashdot in Java...

      ... then Slashdot could finally get slashdotted?

      ** ducks **

      --
      Thank God for evolution.
    10. Re:Java never really mattered, Taco? Ouch by AmaDaden · · Score: 2, Insightful

      In all seriousness Java (more precisely JSPs) do a really good job running web sites. Gmail (and many other Google apps) are written in the GWT and that is Java. All the necessary scaling code is built in to the JSP container so as long as you don't do something stupid you can scale the site with out a problem.

    11. Re:Java never really mattered, Taco? Ouch by AmaDaden · · Score: 4, Informative

      I think VBA is in wider use then Java.
      Not according to the first link I posted (this is kinda why I went through the trouble to get the link...)

      GUI is slow, and the only way to get the code to run reasonably fast is to compile it, which kind of misses the point.
      It WAS slow. Every version of Java has had significant GUI improvements. (http://en.wikipedia.org/wiki/Java_version_history)

      You are also missing that the GWT that runs most of the apps on Google (like Gmail) is written in Java. Java's GUI has issues but that does not mean that Java does not have good uses.
    12. Re:Java never really mattered, Taco? Ouch by Bill,+Shooter+of+Bul · · Score: 3, Insightful

      Then please tell us: what are the qualifications for a language that matters, if not usage?

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
    13. Re:Java never really mattered, Taco? Ouch by Delkster · · Score: 2, Insightful

      Slower than a 486? On a frist generation Pentium perhaps.

      But then, that's about the right era for comments about Java being slow, too.

    14. Re:Java never really mattered, Taco? Ouch by snoyberg · · Score: 3, Funny

      Ya, i read it on slashdot.

      --
      Thank God for evolution.
    15. Re:Java never really mattered, Taco? Ouch by idontgno · · Score: 2, Interesting

      I think VBA is in wider use then Java.

      Meh. Cranking out spreadsheet macros for arbs and margin traders doesn't count as programming. And I'm not certain what metric anyone is using here.

      Plus, Java sucks.
      GUI is slow, and the only way to get the code to run reasonably fast is to compile it, which kind of misses the point.
      It puts an added burden on all the users, and can be a headache to anyone in charge of wide scale deployment in an organization.

      It's a blight, and we would be better off with out it. Everything done in Java would ahve been done in another language.

      I must commend you on defending your biases and prejudices so long and so well in the face of concerted attack from objective reality. Keep up the good work!

      obDisclaimer: by temperment, I'm an assembler programmer, so I consider all y'all wimps. I don't waste any emotion on disliking java, C#, or even Haskell or Smalltalk.

      --
      Welcome to the Panopticon. Used to be a prison, now it's your home.
    16. Re:Java never really mattered, Taco? Ouch by jlarocco · · Score: 4, Insightful

      My biggest complaint with Java web development is that most of the libraries, toolkits and frameworks are massively over-engineered, and that causes many Java projects to be massively over-engineered. Google probably needs the flexibility, extensibility and scalability the libraries provide. Not so much for the internal web apps that Java gets used on so often.

      I can't count the number of times I've seen Java web apps running on massive servers providing functionality that could easily be provided by some Perl scripts running on a machine a fraction of the size.

    17. Re:Java never really mattered, Taco? Ouch by idontgno · · Score: 2, Insightful

      Language /geeks defend their pet languages with a fervor and violence usually reserved by wild animal mamas for the defense of their young. There's plenty of flamage to go 'round, so expect to catch some if you say anything that can be construed (even by the most twisted and hallucinogenic reading) to support one faction or the other.

      It's fun, really, and proves that true fans (as in, fanatics) haven't changed in more than a millennium and a half.

      --
      Welcome to the Panopticon. Used to be a prison, now it's your home.
    18. Re:Java never really mattered, Taco? Ouch by DimGeo · · Score: 3, Interesting

      I will say the J-word once again. May the Emperor forgive me.

      Try writing this: http://dimiter.dyndns.org/sqema/index.jsp in anything *but* Java, and make it faster. Then we'll talk again.

    19. Re:Java never really mattered, Taco? Ouch by mollymoo · · Score: 4, Funny

      Plus, Java sucks.
      GUI is slow, and the only way to get the code to run reasonably fast is to compile it, which kind of misses the point.

      1999 called, they want their trolls back.

      --
      Chernobyl 'not a wildlife haven' - BBC News
    20. Re:Java never really mattered, Taco? Ouch by csnydermvpsoft · · Score: 2, Interesting

      That's due to the culture surrounding the language rather than the language itself. I had an internship at a large Java-using company (not Sun) where we wrote navigation software for use in in-car computing. One of the pieces we needed was a server to provide the data (street segments, basically). We first used a package built by another team in the company that was huge (dozens of MB of Java code) and incredibly slow. We re-wrote it in about a week and it was orders of magnitude faster and smaller, with more features.

      When looking for a web framework for my company, I ended up writing a framework from scratch rather than using anything else out there. Even the best software, such as the Apache projects, suffers from lots of bloat. This isn't the fault of the language - it's the mindset that many people are in.

      It can be argued that the standard Java libraries are too large. That's a valid point, though the vast array of functionality provided sure does come in handy. In addition, it means that you likely will have to ship less libraries with your software - the user's JVM will have them all included.

    21. Re:Java never really mattered, Taco? Ouch by csnydermvpsoft · · Score: 2, Funny

      The only business that would go under if Slashdot stopped working would be Slashdot.

      Actually, I bet that a lot of job-search sites would go bottoms-up if Slashdot stopped working - companies would find their employees were suddenly more productive, meaning that they had to do less hiring; and people would stop being fired for surfing Slashdot at work.

      Come to think of it, Slashdot could be propping up the entire global economy right now. Maybe I should consider finally becoming a subscriber.

    22. Re:Java never really mattered, Taco? Ouch by Nikker · · Score: 4, Interesting

      I know that you're a troll but as a counter point one thing that Java does really well is cross architecture. When you compile ASM,C,C++ etc you normally compile for the lowest common denominator i386 possibly Pentium MMX(2). With Java what ever platform it runs on is how the code is optimized, on the fly. So if I write a program it will take advantage of SSE/2 or Sparc or whatever since the JVM will handle everything for me. You "can" do that with C, C++, ASM(to a lesser degree) but what you end up doing is writing it for all the different platforms but compiling all of them into one executable which any one can tell you is nasty as it gets. If I compile a C program to take advantage of the latest and greatest processor it will only run on those machines that host it, a Java program will run on any and all that there is a JVM for.

      --
      A loop, by its nature, continues. If that didn't make sense, start reading this sentence again.
    23. Re:Java never really mattered, Taco? Ouch by Z34107 · · Score: 4, Insightful

      I'm sure it can be done - I have limited experience with the language - but I'd imagine device drivers would be a pain to program in Java. Somehow, I just can't see nVidia using it to program their 280 series.

      Manual memory management would be another thing. Unless there's a nifty library out there that I missed (and there very well could be!), Java lacks anything that makes it suitable for kernel development, process scheduling, and the like.

      Game programming I'd think would be doable, if they have good DirectX libraries and an SDK that works well.

      But... other than really bare-to-the-metal stuff? Java should be able to do practically everything. Not that it would be my first choice for a lot of things, mind you.

      --
      DATABASE WOW WOW
    24. Re:Java never really mattered, Taco? Ouch by deragon · · Score: 2, Funny

      I have seen the Apple ad... Is it enough? ;)

      --
      Remember the year 2000? They promised us flying cars. They delivered the PT Cruiser...
    25. Re:Java never really mattered, Taco? Ouch by James+Carnley · · Score: 3, Interesting

      Game programming I'd think would be doable, if they have good DirectX libraries and an SDK that works well.

      Java has some pretty good libraries for game development.

      • A fully featured OpenGL API: JOGL
      • OpenAL for audio: JOAL
      • JInput for game controllers and other input: JInput
      • Java version of SDL for a complete game dev tool: SDLJava

      Also, check out the pure Java implementation of the Quake 2 engine. Runs on every major platform with near native speed. Jake2

      I doubt that Java will ever be used for mainstream games, but for small projects it is a great tool that will allow a game to run on any platform with AAA title graphics and sound.

  2. Java never mattered by Anonymous Coward · · Score: 5, Insightful

    "Since Java itself never mattered except to sell books, I still don't see why opening it matters."

    What an ignorant and irresponsible editorial comment. Care to substantiate that claim, or even clarify what it means for a language to "matter?"

    1. Re:Java never mattered by Kickersny.com · · Score: 5, Insightful

      I can't believe that the editor put that comment. I'm not a huge fan of Java, but that's incredibly ignorant.

      Suggested tag: flamebait

    2. Re:Java never mattered by truthsearch · · Score: 4, Insightful

      I'm pretty sure he was being facetious. Everyone knows Java is in heavy use in various industries. Lighten up.

    3. Re:Java never mattered by Anonymous Coward · · Score: 3, Funny

      What do you expect from someone that still uses perl?

    4. Re:Java never mattered by gbjbaanb · · Score: 5, Funny

      Everyone knows Java is in heavy use in various industries

      particularly Publishing and eCommerce :-)

    5. Re:Java never mattered by Rary · · Score: 4, Funny

      "Since Java itself never mattered except to sell books, I still don't see why opening it matters."

      He must be referring to Amazon's use of Java.

      --

      "You cannot simultaneously prevent and prepare for war." -- Albert Einstein

    6. Re:Java never mattered by Laser+Lou · · Score: 5, Funny

      Java isn't just for selling books. Look at how many Java libraries are around.

      --
      No data, no cry
    7. Re:Java never mattered by Anonymous Coward · · Score: 3, Insightful

      I really don't understand the "cool" factor in claiming bullshit that hasn't happened in years. Sure if you used Java in 2001 it was slow, unresponsive, and annoying. This is especially true when Java programmers didn't write very Thread friendly code on an event (such as clicking a button). Anyway has no one ever run Java in a server environment? You know there is more to Java than desktop apps and those run very well. As a matter of fact, many websites run off of Tomcat without you knowing it (which is a good thing). I personally love java as a language as it lets me get stuff done without having to much around with things I don't want to deal with. I guess Perl is employable as well, just go to IMDB's website, they are looking for some perl coders (read hackers).

    8. Re:Java never mattered by jez9999 · · Score: 4, Informative

      Python is the only language I'm aware of (certainly the only major language) that uses whitespace to define blocks. Thank God. It's a *serious* dealbreaker for me.

    9. Re:Java never mattered by revscat · · Score: 2, Insightful

      That's pretty silly, man. Any text editor/IDE that has a modicum of intelligence can do that for you. Whitespace being a dealbreaker is kinda banal. I like Python, and use it frequently for various scripting tasks. I like Ruby and Groovy, too, but I'm not going to disdain for an entire language simply because of something as easily adjusted to as whitespace.

    10. Re:Java never mattered by Rary · · Score: 2, Insightful

      Actually, it uses a bunch of technologies, including C++, Java, Perl, and much more. Here are some specifics.

      --

      "You cannot simultaneously prevent and prepare for war." -- Albert Einstein

    11. Re:Java never mattered by chris_mahan · · Score: 2, Insightful

      Then use a text editor that automatically converts tabs to spaces.

      --

      "Piter, too, is dead."

    12. Re:Java never mattered by mkosmul · · Score: 2, Insightful

      Suggested tag: flamebait

      Suggested tag: sarcasm

      Fixed

    13. Re:Java never mattered by dintech · · Score: 4, Insightful

      I know it's a joke but this is a good place to add this comment.

      My experience is in investment banking and every single bank I've ever heard of write the majority of their buisiness-critical server-side apps in Java. Hedge funds too. Any place where you want to quickly develop large server-side in-house apps, you can do that much more reliably with Java and you have access to a huge talent pool of developers. The reality is that the systems that drive the economy are written in Java. Some trivial MP3 catalog GUI, bulletin boards or throwaway websites don't really turn the wheels of capitalism I'm afraid.

      It seems Taco has basically doesn't understand how I.T. in the real world actually works. My advice to him is to quit whining and accept the ideological war against Java has already been lost years and years ago. Java is huge, deal with it. That's a reality that won't go away just because you post a throw away editorial comment on Slashdot.

    14. Re:Java never mattered by gbjbaanb · · Score: 2, Informative

      the joke, really, is that Java is used to power the systems in a lot of eCommerce sites (think eBay or Amazon) and Publishing (if you consider some of the big online media sites to be publishing).

      So is it a joke, or is it a serious comment, which is it? Is it true, or is it false? :-)

    15. Re:Java never mattered by Abcd1234 · · Score: 4, Insightful

      Except, of course, that Python doesn't provide enough context for an editor to properly indent blocks automatically, as there's no proper block delimiters. So, if I, for example, need to change the level of nesting in an existing block of code for some reason (say, introducing an if statement, or factoring some code out into a separate function), the editor can't help me to ensure I get the indentation level right. And in Python, incorrect indentation means incorrect semantics.

      Sorry, it *is* a deal-breaker.

    16. Re:Java never mattered by idontgno · · Score: 4, Funny

      I edit code like $DIETY intended: with vi. When I insert a tab, then BY $DIETY I expect 0x09 to be inserted into my ASCII-only, 7-bit-safe, mostly-human-readable text file.

      Heh. That sounds like a crotchety-old-programmer joke, and it is, except it's not entirely a joke. I really do use vi as my primary coding editor. I guess I just like the pain; it reminds me I'm alive.

      And the crotchety old programmer bit? That's not a joke either. Now get off my lawn, you emacs-using kids!

      --
      Welcome to the Panopticon. Used to be a prison, now it's your home.
  3. Yes. by MadMidnightBomber · · Score: 3, Informative

    Really.

    How many times have you been screwed over by a vendor who thinks they know best? (Symantec / L0phtcrack anyone?)

    --
    "It doesn't cost enough, and it makes too much sense."
  4. "Java never mattered"? by Chemisor · · Score: 4, Insightful

    I find it funny that we have statements like "Java never mattered except to sell books", while I distinctly remember hordes of posters on this very site only a few years ago, rabidly arguing that Java is the best thing ever and that nobody will be using anything but Java in the future. Now, we have hordes of Ruby, Python, and what-not advocates saying the same things. I guess it's their turn. I'll just keep my C++, thank you very much, which nobody advocates these days, and everyone says is obsolete, too complicated, and inherently broken. Go ahead, mod me as flamebait! I'm used to it.

    1. Re:"Java never mattered"? by scubamage · · Score: 4, Informative

      I've used both C++ and Java, I like them both. C++ just has a lot more pitfalls that a savvy programmer knows to avoid, whereas a novice will get swallowed into the cold oblivion of core dump and seg-fault hell. But, its also goddamned powerful.

    2. Re:"Java never mattered"? by Anonymous Coward · · Score: 5, Insightful

      The problem with the whole C++ is "obsolete, too complicated, and inherently broken" and isn't advocated these days is that it remains the language of choice for real complex scientific and engineering challenges, especially time-critical/real-time systems, which the newer languages typically don't address well.

    3. Re:"Java never mattered"? by scooterjohnson · · Score: 2, Informative

      I'll STILL defend FORTRAN as a scientific platform. I have used it for astrophysical simulations and all sorts of scientific modelling within the past few years and it is the one language that both my (physics) profs and I were able to debug at the same time. If you're crunching tons of numbers, need exploit parallelism in your programs, and be able to show your work to a physicist all on an open-source platform, I think FORTRAN is still the way to go.

      --
      I start the day with coffee and I end it with a beer. In between I wonder what the hell I'm doin' here.
    4. Re:"Java never mattered"? by jez9999 · · Score: 5, Funny

      C++ will always have a place in my heart & I'll use it when ever practical.

      Don't you mean &&?

    5. Re:"Java never mattered"? by Shade+of+Pyrrhus · · Score: 4, Informative

      Java second cousin twice removed JavaScript No. JavaScript is a scripting language, whereas Java is a full-fledged programming language. Regarding the name: "The naming has caused confusion, giving the impression that the language is a spin-off of Java, and it has been characterized by many as a marketing ploy by Netscape to give JavaScript the cachet of what was then the hot new web-programming language" [History of JavaScript].

      Most apps are moving to the web even custom apps. So Javas key advantage is loss. As Python, Ruby, PHP... while are primarly considered interpreted lanaguge without the byte code (yes I know at least python you can make PYC files which are bytecode....) but because they are on the server protected with the OS Security you can make apps and do more realtime chanages to the code vs. compiling it over and over again. and not have your users mess with the design. You do know that Java is not just applets and client applications, right? Java is heavily used on all of the things you just talked about - serverside apps. See servlets, JSP, etc. Both Python and Java are interpreted, so I don't know what you're talking about: "Java bytecode is interpreted or converted to native machine code by the JIT compiler." [Wikipedia-Java].

      I guess I should know by now to expect most people to not know what they're talking about when they post.

      But, back to the issue. I fully agree with many other posters claiming it reduces the possibility of being screwed over by Sun or licensing inside of the various packages (audio is one that comes to mind - the one they're still rewriting).
    6. Re:"Java never mattered"? by cerelib · · Score: 3, Informative

      Unless things have changed in recent years, JSPs do get compiled, twice. First, they get compiled into Java Servlet objects, where your HTML lines get turned into print() calls. Then they get compiled into bytecode to be executed. Your server may hide this process from you, but that is what Tomcat did when I had to use it about 4 years ago.

    7. Re:"Java never mattered"? by febuiles · · Score: 2, Informative

      No. JavaScript is a scripting language, whereas Java is a full-fledged programming language. Javascript is also a full fledged programming language, whatever that means, you can run it inside a JVM (Mozilla Rhino) or using any other engine like Spidermonkey, which means you can pretty much do the same things you can do in Java.

      I guess I should know by now to expect most people to not know what they're talking about when they post. Funny, eh? :)
  5. surely that is a little harsh by Presto+Vivace · · Score: 3, Insightful

    Since Java itself never mattered except to sell books, I still don't see why opening it matters. For a system that does not matter except to sell books, it sure has a large install base.

    1. Re:surely that is a little harsh by maestro371 · · Score: 4, Insightful

      Taco's just being provocative. He's smarter than that.

    2. Re:surely that is a little harsh by theelectron · · Score: 4, Insightful

      What, you mean like a troll?

  6. Use debian? by merreborn · · Score: 4, Informative

    If you've ever wanted to run a Java app on a debian box, you know why this matters.

    The strictly FOSS distros have historically refused to include a Java package due to its non-Free license. There's some really good Java software out there, and without a pre-built java package, it was just that much harder to access them.

    1. Re:Use debian? by InlawBiker · · Score: 4, Interesting

      That is a good point. LAMP became a one-checkbox install because it's FOSS. LAMJ could easily have been. Except it's not a very catchy acronym.

      Personally I'd like to see LAPJ: Linux, Apache, Postgres, Java.

      Anyway, love it or hate it, Java has reached the critical mass to be around for a long time.

    2. Re:Use debian? by larry+bagina · · Score: 2, Funny

      Java, Apache, Postgres, Solaris?

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

  7. Re:(Troll) I hate java, why does /. love it? by east+coast · · Score: 3, Insightful

    Maybe you're an older coder but I think that Java gets some of the nostalgia effect that BASIC use to since it seems to be the first programming course offered. At least from what I've seen it's one of the early languages taught now-a-days. But I really don't know for sure.

    It certainly seems to be a fairly easy introduction to OOP.

    --
    Dedicated Cthulhu Cultist since 4523 BC.
  8. Java doesn't matter by ShieldW0lf · · Score: 5, Insightful

    I guess OpenOffice.org doesn't matter either then...

    --
    -1 Uncomfortable Truth
  9. Re:(Troll) I hate java, why does /. love it? by 3p1ph4ny · · Score: 5, Interesting

    A "cludgey" app can be written in every language, Java is no exception.

    Without getting in to a bunch of holy war things, here are some of the things that Slashdotters may like about Java:

    1. You can get paid to write in it. A lot of us (myself included) are software developers who write stuff in primarily in Java. Sure, I know other languages like Ruby, but it's nowhere near as ubiquitous as Java. This makes employers like Java.

    2. It's mature. It's been around for a long time, and the libraries are mostly stable and bug free. This is not true for some other languages. Also, the APIs for Java are huge and support everything, and the documentation is good.

    3. It's fast(er). Older Java GUI stuff was not fast, and it gave people the impression that all of Java is not fast. Well, Java 1.6 is fast.

    4. It's cross platform. This isn't a big deal for me so much, but it might be for some people.

  10. If elephants could fly... by OpenSourced · · Score: 4, Insightful

    if Java really were released today, brand-new, would it be a tool you'd choose

    If Windows were released today, brand-new, would it be a tool you'd choose?

    Who cares. It's not today that it's released, and the importance of availability, mind-share and already developed applications around it, gives it a clear importance, even if you have better hammers for your particular nail.

    --
    Rome taught me patience and assiduous application to detail. Virtues which temper the boldness of great, general views.
  11. Submission needs -1 Troll by patio11 · · Score: 5, Interesting

    >>
    Since Java itself never mattered except to sell books, I still don't see why opening it matters.
    >>

    The day job could buy an awful lot of books with the $X0 million worth of Big Freaking Enterprise Apps we have written in (mostly) Java. Its like any other tool: there are some places where it makes excellent sense, some where it does not, and I have my own personal tastes for when I would use it or not. (Cards on the table: I do proprietary desktop Java development in my spare time and BFEwebA at the day job, but have been mixing in a bit of Rails programming lately.)

    At the end of the day, what matters is "Does Java help us make our customers happy?" It does. Despite how skull-crushingly boring writing CRUD apps can be, for our customers having the things available and working means the difference kissing their kids at 6 PM or being stuck at the office at 2 AM wondering if they will still have a job in 5 hours.

    So how does opening Java matter? Well, even in an extraordinarily mature platform, you'll sometimes find weird, off the wall, how the heck did that happen issues with particular combinations of software. Enterprise Computing = combinitorially explosive numbers of possible adverse reactions. We've got at least 150 packages in the system, many of which have to interoperate with code which has not seen the light of day since the mid-90s.

    You'd think the odds of actually having to touch stuff deep in the bowels of the infrastructure are pretty low, but believe it or not we have our own little fork of, e.g, Tomcat 4.1 in production use *to this day* to get around a particular classloader issue that got fixed in later releases. (We can't upgrade that particular customer at the moment. Its a long story and if you've ever worked in industry you've heard the basic gist before.) Java being open means there is one less place for issues to be totally inaccessible should we need to work around them.

  12. It matters to Sun... by jfbilodeau · · Score: 4, Insightful

    Sun is loosing ground to .NET, so they have to regain developer. I have to admit that Open Java is very appealing to me, since I feel that the language/platform does have something unique to offer that is not available anywhere else.

    Furthermore, I don't care what anyone says about .NET/Mono. It is a closed Microsoft technology that Mono will perpetually play catch-up to. It cannot replace what (Open) Java has to offer.

    --
    Goodbye Slashdot. You've changed.
  13. If it weren't for Python, sure by Just+Some+Guy · · Score: 5, Interesting

    We're a Python shop. It does everything Java does that we need it to do, but is actually fun to write. If Python disappeared tomorrow, though, Java would be a no-brainer. It's cross-platform and wouldn't leave us beholden to the good wishes of Redmond.

    --
    Dewey, what part of this looks like authorities should be involved?
  14. Java is the most used language by CarbonShell · · Score: 4, Insightful

    Like it or not, Java is the no.1 language, at least claimed by an article referenced here: http://ask.slashdot.org/article.pl?sid=08/05/29/163253 The last line of the article pretty much gives an indication of the quality of the authors knowledge.

  15. W(h)ither Programming Languages? by david.emery · · Score: 4, Insightful

    So, depending on who you talk to...
        (C | C++ | Java) is the ultimate programming language.

    Now we're being told that compiled languages are passe' and all you need is
        (Perl | Python | AJAX).

    In the meantime, the -art- and -science- of programming language design seems to have withered away due to lack of interest from the developer community.

    From what I've seen over the last 30 years:
        1. Programing Languages -DO- make a difference in both individual productivity and organizational effectiveness. And the latter is -much more important- than the former for anything bigger than a breadbox.

        2. Management doesn't believe #1. In fact, management doesn't believe in software engineering. Instead, management wants to throw bodies at problems to make impossible schedules, with little concern for quality of the product. At best, managers throw process (and SEI CMM/CMM-I) at the hoards of programmers, believing that process is a substitute for
            (a) developer talent
            (b) product quality

    So I guess ( 1 & 2) together explain the demise of programming language design. And all we can pray for is increases in second-order tools such as debuggers and, if we're really good, tools like static analyzers, to make up for the sh*tty set of current (popular) programming languages. And as end users, bugs and security holes will continue to be chronic results...

    dave

    1. Re:W(h)ither Programming Languages? by GeckoX · · Score: 5, Insightful

      I've got two major problems with your post.

      1) You list AJAX along with Pearl and Python in a list to be compared against C, C++ and Java. Here's a hint:

      Pick the item from the list that doesn't belong:
      C
      C++
      Java
      Pearl
      Python
      AJAX

      2) Er, shitty set of current (popular) programming languages? We have NEVER had such a choice in programming languages as we do now. There are a LOT of popular programming languages right now. C, C++, C#, VB, VB.Net, Pearl, Python, Java, Javascript, Ruby, Eiffel, Tcl for starters.

      Care to go back 15 years and provide me with the list of better, popular languages at that time?

      Don't think you're flaming, but I also don't think you have a clue as to what you're talking about.

      --
      No Comment.
    2. Re:W(h)ither Programming Languages? by Anonymous Coward · · Score: 5, Funny

      Pearl. All the other terms are correctly spelled?

    3. Re:W(h)ither Programming Languages? by david.emery · · Score: 2, Interesting

      I claim that Ada83 is better than C, Ada95 and Eiffel are better than C++ and Ada05 is better than Java or C#. But that's just my opinion.

        What is very clear is that the design philosophies of Ada (focusing on 'programming in the large') or Eiffel (focusing on 'correctness by contract conformance') have been lost. Both languages, along with others (dating back to COBOL) is on readability over writeability. (Programs get read much more often than they get written.) Python in some respects is the exception, as a language that doesn't start with C as the font of all syntax, and provides more emphasis on readability.

      And many of us work on things that can't rely on high-powered computers connected to high powered networks where everything is a "web service", and the consequence of a software failure is more than "oops..."

      dave

    4. Re:W(h)ither Programming Languages? by adonoman · · Score: 2, Insightful

      Clearly "Pearl" doesn't belong. The other 5 are spelled correctly.

  16. Re:If you want a job developing stuff by BlueZombie · · Score: 2, Interesting

    Gosh, all of us .Net developers must be mass hallucinating.

  17. never mattered by Sloppy · · Score: 5, Funny

    "Slow JVMs. More syntax than C. Lame." -- CmdrTaco

    --
    As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
  18. Re:Programmers opinions on the language? by LWATCDR · · Score: 5, Insightful

    I have written a few applications in Java.
    I actually like it. If you want to write a database driven application that is also multi threaded I think it is just great.
    If you need to be multi-platform it is the best solution that I have found. QT is close also.
    The speed argument is old and should be tossed. Swing isn't slow or nasty anymore and is pretty speedy. SWT is also pretty nice.
    Try Jedit, Netbeans, or Eclipse to see what a nice java application can feel like.
    If you haven't used the latest version of Java I suggest you try it.

    I have even found good uses for java appletts. Yes I know they got a bad name because way to many idiots "Microsoft I am looking right at you" used them for stupid things like hover buttons.

    Java is a a good free as in beer and free now free as in GPL RAD system.

    As far as it not mattering? Well a lot of people make a living writing Java. I just saw a Story on slashdot about a guy running java on a Cluster to do modeling.
    As far as Java being to big for anybody to use it for anything practical...
    Well JEdit, Netbeans, Eclipse, OpenOffice, and thousands of cell phone programs all say BALONEY.

    --
    See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
  19. Re:(Troll) I hate java, why does /. love it? by Cyberax · · Score: 2, Insightful

    Javascript has a better object model?

    You mean, a language without a basic stuff like namespaces (!!) has a better object model than Java?

    Oh, and Java also has static typing. That's a great feature.

  20. Incredibly complex by mypalmike · · Score: 5, Insightful

    First, as the Java platform has matured, it has become incredibly complex. Today it's possible to do anything with Java, but no one developer can do everything

    What developer has to do everything? We use Java to run our systems without using all the complex frameworks that you seem to be referring to. It does the job. Just because people have developed over-engineered frameworks with a language doesn't detract from the the value of that language.

    --
    There are 0x40000000 types of people: those who understand 32-bit IEEE 754 floating point, and those who don't.
  21. Re:If you want a job developing stuff by GeckoX · · Score: 2, Insightful

    Yes, obviously, because everyone I know, including myself, has only ever had dev jobs using Java.

    Er, not.

    That's just stupid. Likely you've been working with Java in your experience, but I know tons of people that have never touched it at their place of work, including myself.

    Further, at this point, it doesn't matter that I don't 'know' Java. I do 'know' half a dozen languages and if I should ever come across a job that I can't get _because_ I don't 'know' Java, then I've simply vetted a company that I know I do not want to work for.

    Languages are tools, and once you know how to use a number of tools it becomes much easier to pick up new tools.

    --
    No Comment.
  22. Java never mattered....? by J'rathken · · Score: 5, Insightful

    "Since Java itself never mattered except to sell books..."

    Wow...that has to be one of the most idiotic statements I've ever read from one of you guys.

    I'm no Java evangelist, but saying Java itself never mattered is like saying C (or even C++) never mattered - it just smacks of total ignorance.

    Java has had a HUGE impact on software development, especially in the enterprise. I won't say it's all been great...but it's certainly made a difference in a lot of areas.

    If the language really never matter, there would not be such a large community of developers using Java, and Microsoft would not have bothered to change their entire development platform to be so much like it (i.e. C#/CLR/.NET).

    I'd thought you Slashdot guys were smarter than this. I guess I was wrong.

    1. Re:Java never mattered....? by Darkness404 · · Score: 2, Funny

      Really? You haven't been reading Slashdot that long, have you? ;-)

      Neither have you. The proper statement would be "you must be new here".
      --
      Taxation is legalized theft, no more, no less.
  23. blarg by DerWulf · · Score: 2, Insightful

    > Since Java itself never mattered except to sell books, I still don't see why opening it matters. This is exactly what smileys are for! Anyways, I don't know what's up with all the Java hate seeing how most OSS uses it. Ruby doesn't have unicode support for christ sake! Flame that if you really need to ...

    --

    ___
    No power in the 'verse can stop me
  24. Re:Programmers opinions on the language? by Rary · · Score: 2, Insightful

    ...(the words slow and bloated come up often) and most apps written in Java I have used have felt half-hearted.

    Actually, I would guess that most apps written in Java that you've used have been quite responsive, but you weren't aware that you were using a Java app. This is because most Java apps that people use are server-side apps (eBay springs immediately to mind).

    --

    "You cannot simultaneously prevent and prepare for war." -- Albert Einstein

  25. Yes and No MHO by UseCase · · Score: 2, Insightful

    I am far more fearful of an open fragmented Java than I was of closed Java.

    The fact that Java had a "Sugar Daddy" to regulate it and support it with strong standard libraries made it very appealing to Corp and Gov users. I don't mind an experimental open source implementation but there has to be a stable, commercially viable alternative around that companies can depend on (read hold liable) or the whole platform slowly losses its appeal.

    The "Java never mattered" thing is flamebait . We all know that it is part of the backbone of many commercial web solutions. There are also many projects that just couldn't have existed with it. The argument of validity is pretty much over.

    I primarily use C/C++ professionally but I have used Java in the past as well as C# and a few Scripting languages (Perl,Python). I can say that for certain software solutions there is no better alternative to Java. I can say the same for C++,C# and Perl.

  26. Re:(Troll) I hate java, why does /. love it? by Anonymous Coward · · Score: 2, Interesting

    It's fast(er). Older Java GUI stuff was not fast, and it gave people the impression that all of Java is not fast. Well, Java 1.6 is fast.

    That is the first time I've seen that admitted on /.! It's become so fashionable for everyone to claim that Java is slow while espousing the virtues of whatever else will give them the most geek cred.
  27. Re:If you want a job developing stuff by Azar · · Score: 2, Informative

    You need to know Java...Corporate IT are basically only interested in hiring Java developers.

    That's exactly what I thought 3 years ago when I applied for my current job. I had studied up on my java, bought various books to hone my skills (java is one of my weaker languages), tested my knowledge with free online tests, considered becoming a "Sun Certified Java Developer", etc, etc.

    Then I interviewed.

    They hired me with a salary that was 27% more than what I had been asking. But not to program in Java. They hired me because I was very strong in C and Perl of which they had a very large code base and fewer developers to maintain (and expand) it. We process credit card transactions and all of our backend code is in C, with the less critical stuff in Perl. Java runs a lot of the web services and a number of front-ends for customers, but it isn't difficult to find a good Java developer. Finding a knowledgeable C developer is becoming harder and harder.

    I don't mean to say everyone should rush out and (re)learn C and try to find a job using it, but you can make just as good of a living not programming in Java as you can programming in it. Java is definitely a good tool to have on your belt, but don't confuse it with being the tool.

  28. java is like an old truck by icknay · · Score: 5, Interesting

    Java has its problems, but it's actually a great stable platform. I think people carp about Java's flaws because it is so popular, taking shots at the leader. In reality, Java is a huge and boring but effective ecosystem if you want to deliver a piece of software and have it just work.

    It's not sexy, but jeez on linux, windows, and Mac, I've built java code and moved the .jars all all over the place, and darned if it doesn't do what it's supposed to, like an old truck that just works carts around all sorts of work.

    With Java being open, we all benefit from its increased spread as an open and reliable platform -- like C. Depending on Java looked a more iffy when it was so tied to Sun. Your source code is such an expensive investment, you don't want to take weird risks (cough .net cough). With Java open ... well now it looks like a very safe, neutral choice.

    You can write C code, and since it's open, you know your code would work all over. Java has a future that way too now.

    C is still great for its niche, but (flame on) Java delivers 10x more capability in its libraries. C is a creature of the 1970's, so you don't get so much (I *love* C, but get a lot more done in Java). Also, the optimizations in HotSpot are awesome, making languages which run on the JVM look like the future. I hear if you want to see Java with the cruft stripped away, check out Scala.

  29. Re:If you want a job developing stuff by D+Ninja · · Score: 2, Interesting

    Really? I've been programming for corporate IT for 13+ years and I've only played with Java. I've never required it before interviewing other programmers, either. ...which means...absolutely nothing. The fact that you've been in IT for 13+ years (arguably when Java was just starting) means your skill set is in other languages. Thus, your resume would reflect that. Thus, your job searches would reflect that.


    Thus, you have never needed Java. However, for developers who are new to the industry, it is difficult to avoid Java.

  30. Re:If you want a job developing stuff by Colin+Smith · · Score: 2, Informative

    Why would you aim for 1/3 of the market when you can aim for 2/3?

    http://www.google.com/trends?q=java+developers%2C+.Net+developers&ctab=0&geo=all&date=ytd&sort=0

     

    --
    Deleted
  31. Re:(Troll) I hate java, why does /. love it? by arevos · · Score: 2, Insightful

    Javascript's object model is simpler, more flexible, and more consistant than Java's object model. Whether it's better depends on your point of view, but it has some advantages.

    Static typing is nice when done properly, but Java doesn't do it properly. It manages to be both inflexible and restrictive, and prevents only relatively uncommon errors. I can't think of a single statically-typed language that has a worse type system than Java.

  32. Does an Open Java Really Matter? Just like... by SappoMan · · Score: 2, Interesting
  33. Nice try Taco by Tim+C · · Score: 5, Insightful

    I think I know what you're doing - purposely trolling in order to incite a flamewar, driving up hits and thus ad impressions.

    It won't work though; surely the vast majority of your readership browses with Firefox and some sort of adblocking system.

    I mean it can't be that you genuinely believe that arguably the most often-used language for enterprise and commercial web development work "doesn't matter"; a 30 second search on any popular job website would dissuade you of that infantile notion.

  34. Debian integration by Britz · · Score: 2, Insightful

    I use Debian. And with Java to be able to go into main it makes for even less hassle with Debian. Even if you don't use Java there are many programs written for it.

  35. Re:Programmers opinions on the language? by lindi · · Score: 2, Informative

    Remember that Sun did not free their java applet plugin. Classpath/Icedtea folks are writing a replacement but last time I checked it lacked e.g. liveconnect support so I could not login to my bank. This means that java applets are still not completely usable with free software.

  36. Seems to feed me pretty well... by $1uck · · Score: 2, Interesting

    and I'm not an author.

  37. Re:MOD PARENT UP by The-Pheon · · Score: 5, Informative

    Java is slow?

    Python has the Global Interpreter Lock, which means even though there are threads, they don't execute concurrently. Too bad if your server has several processors / cores.

  38. Re:(Troll) I hate java, why does /. love it? by DuckDodgers · · Score: 3, Interesting

    A lot of the biggest kluges in early Java have fallen out of favor:

    1. Struts 1.x is huge, but it isn't being used as much on new projects. Newer frameworks like Tapestry, Wicket, Struts 2/Webwork, and Spring are far easier to setup and use, more flexible, or both.
    2. EJB2 was an overengineered mess. EJB3 is viewed as far superior, and many major sites aren't bothering with EJB at all.
    3. A lot of Java tools like Hibernate have moved from checked exceptions (which must be caught or declared to be thrown in the method signature) to runtime exceptions (which do not need to be caught).

    The language definitely has warts. But the common open source (and for that matter, commercial) tools are learning lessons in ease of setup and configuration from Ruby, Python, Perl, Ruby on Rails, Zope, and so forth. (I used web applications as the example domain because that's what I know a little about. I understand similar enhancements are happening elsewhere.)

    On the other hand, the language standard library is big enough and has enough corner cases that the learning curve is enormous.

  39. This should be obvious, but by Trails · · Score: 4, Informative

    To ask if Java were new we would use it today, while valid as an abstract and absolute measure, is irrelevant in today's software world context.

    Java is HUGELY entrenched in today's business software market, probably even more so if one weights by overall company valuation (i.e. Java's market share by company valuation is substantial, perhaps even dominant).

    Open sourcing it matters since Java's growth and maintenance matter, as the investment in Java is substantial and unlikely to change any time soon.

    Java's never gonna be the hot young thing in programming again (if it ever was), but that's irrelevant to the question of open sourcing it. Java has substantial value, and open sourcing software of value matters. Doing things that alter the growth and maintenance plans of a heavily vested technology matter.

    Further, this:

    Today it's possible to do anything with Java, but no one developer can do everything -- there simply aren't enough hours in the day to learn it all.

    is a tautology. No developer can do everything with C++ either, that doesn't lessen its value or relevance. Neither does Java's complexity or unwieldiness lessen the value gained in being able to learn from and modify how it has implemented things.

    I personally don't get this constant desire on some people's part to denigrate Java. Some sort of Comp Sci elitism for the business language?

    Claiming open sourcing Java doesn't matter is like claiming open sourcing windows wouldn't matter; the same arguments apply. Windows is unwieldy and complex, and competing software generally does things better than windows.

  40. Mod article down by realinvalidname · · Score: 3, Insightful

    Since Java itself never mattered except to sell books, I still don't see why opening it matters.

    I made a hell of a lot more coding Java than writing books about it.

    Slow news day, huh? What's next, what Lawrence Lessig had for lunch, followed by moral outrage over being charged cash money for a product or service?

  41. Re:(Troll) I hate java, why does /. love it? by fm6 · · Score: 2, Insightful

    Everything I have ever used that ran in java was horridly cludgey and just plain annoying to use. Insight please?


    Technical point: if you really want insight, you're not a troll.

    Hard to give you an insight, since you're obviously not a programmer: your criticism of Java is based on bad experience using Java programs, not creating them. It would be like explaining the fine points of carpentry to somebody who's never picked up a saw or hammer.

    That said, most GUI Java programs are pretty awful, and those are the programs somebody like you is going to base your judgment on. It's a lot harder than it should be to write a good GUI application in Java. Too many fundamental mistakes in the GUI libraries early on, and too many weird kludges created to fix them and still maintain backward compatibility.

    But Java works much better on in other kinds of applications, and you've probably used such without realizing it. If you own a Blu Ray player, than you've used Java software. It's embedded in a lot of other devices. It's also moderately successful as a sever-side application, especially on the web. Ever browsed a web page that ended in ".jsp"? The page was generated by Java software.

    So why is it "better"? It's not, really. No successful programming language is. They all have their strengths and weaknesses, and the argument really isn't between the languages, it's between the programmers who favor them. Java is popular with programmers who don't want to do their own memory management and who thank that deliberately restricting the idioms you can use makes for cleaner, more maintainable code. C++ is popular with exactly the opposite kind of programmer, who values both the ability to manage low-level details, and to use and create complex, often arcane idioms.

    Small example: in C++, you can define what operators like "+" mean with any kind of object; Java also has the power to define what you can do with an object, but deliberate omits the ability to express complex actions with simple operators.

  42. Re:Programmers opinions on the language? by Anonymous Coward · · Score: 2, Informative
    Bullshit.

    I work for hotels.com. The same build script and code is used on Windows, OS X, and Solaris. No changes needed. At all.

  43. Re:(Troll) I hate java, why does /. love it? by Z00L00K · · Score: 4, Interesting
    Compared to a lot of other languages the typing in Java is far better. In JavaScript the variables aren't typed at all and you can run into all kind of errors. Python reiterates all the classic programming problems of Basic. C is in itself not very type-safe but you can get a few compiler warnings about type mismatches.

    So you better have to explain yourself what's really wrong with the type handling in Java. Maybe you program in some more obscure language?

    --
    If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
  44. Signed Java Applets = True Web Apps by The+ZoNiE · · Score: 5, Insightful

    I program in Java because both for it's platform independence and for the fact that if you sign a Java applet and embed it in a web page you are pretty much able to do whatever a fully-fledged Java application could do, like access the full file system.

    I know of no other platform that allows you to write true "web apps" that can rival the stand-alone ones.

  45. Re:MOD PARENT UP by Just+Some+Guy · · Score: 2, Informative

    Python has the Global Interpreter Lock, which means even though there are threads, they don't execute concurrently. Too bad if your server has several processors / cores.

    Love Python; hate GIL. Trust me, I know exactly what you mean.

    That said, there are quite a few multi-processing packages for Python (disclaimer: two of the ones under SMP are mine, so I'm kind of biased toward the idea). Also, Python 2.6 will ship with a standard multiprocessing module that's very similar to it's multithreading counterpart and should be an easy migration.

    Multithreading is cool, but there are other ways to skin that cat.

    --
    Dewey, what part of this looks like authorities should be involved?
  46. So why does it matter? by twitter · · Score: 2, Insightful

    It matters because you don't have to toss Java out if you want to move to a free platform. This is a reduction of friction that's good for everyone. The choice of one or the other no longer has to be made. The "write once run anywhere" language will finally be what it said it was.

    --

    Friends don't help friends install M$ junk.

  47. Re:If you want a job developing stuff by Mongoose+Disciple · · Score: 2, Insightful

    Why would you aim for 1/3 of the market when you can aim for 2/3?

    Because, on average, I enjoy my job a lot more when I'm doing .NET work. I tend to spend a lot less time dicking around with XML files and the environment, a lot less time fighting my IDE (disclaimer, my recent experience is mostly with Eclipse and I expect the alternatives would be better, for me) and a lot more time writing code that solves the problem at hand. I understand that not everyone will have the same preferences or experience, but for me, that's much more satisfying.

    I only need one job at a time, it might as well be one I like.

    (I've got about double the Java experience, so it's not like I can't go that way if I need/want to as well.)

  48. Open Java and the VB6 Lesson by MrSteveSD · · Score: 2, Informative

    The company I used to work for was hit badly by Microsoft dumping VB (VB.NET is not VB, and don't mention the upgrade wizard) and I'm sure it's only one of many. We were hoping for an improved version of VB6 but Microsoft decided to wreck the huge investment we had made in VB code. We had spent years and lots of money writing VB code for our apps because it was easy and convenient with lots of business components available which were simple to plug in. The company just didn't have the resources to rewrite everything in another language and it was a pretty big disaster really. I just couldn't believe that with so many millions of lines of code and so much investment in VB6 from industry that Microsoft would just dump it, but I was wrong.

    The bosses asked me my opinion on what we should do next. We didn't really have a solution to the enormous cost of rewriting everything, but we needed to decide on a new language to adopt. After being so horribly stung by Microsoft on VB I suggested that Java would be a safer direction to go in. C# and .NET were nice of course, but after Microsoft dumping VB6 I was quite worried they would pull some similar devastating stunt in the future. Unfortunately my advice fell on deaf ears and the gravitational pull of Microsoft products was just too great. It's a shame because a lot of the customers are now moving over to Linux, Java and various Open Source technologies as a matter of company policy.

    After the VB saga, I am very dubious of using any language which is controlled by a company (particularly when it's Microsoft). Clearly Sun still has a lot of control, but now with Java being Open source, it won't matter so much if Sun dumps Java. We'll have the code after all.

    P.S. Trying to upgrade component by component using interop was hell and not really a viable option.

  49. Re:(Troll) I hate java, why does /. love it? by nuttycom · · Score: 5, Insightful

    If you find Java's static typing inflexible and restrictive, you're doing it wrong. The great advantage I find with the level of restriction that Java puts on your types is that it enables brilliant development tools. Refactoring support is paramount.

    Having recently completed a major refactoring of a Ruby project with tens of thousands of lines of code, I can say from experience that refactoring of an app written in a dynamic language can be a colossal pain in the ass. Just finding everywhere that a particular class is being used can take hours or days. With a decent refactoring IDE and a Java 5/6 (with everything generified) such an operation takes a couple of seconds at most.

  50. Re:(Troll) I hate java, why does /. love it? by Jezza · · Score: 4, Insightful

    Why do we the /. crown love Sun/Java?

    Many of us used Sun boxes at Uni (I did) then suffered IBM boxes (although SMIT was quite spiffy) in our jobs. Strangely we started to wish we had the old Sun boxes back. (Or is this just me?)

    Many of us moved from C (and C++) to Java, see above.

    We love Java because we know Java, it does everything, and if you've grown with it, then it's OK. Sure, coming to Java from cold today it seems really complex.

    Is Java perfect? LOL! No, not even close. But Java is fun to program in. Java programs aren't wedded to any particular OS/Hardware combination (I'd admit they don't quite live up to the "write once/run everywhere" promise, but it's close enough). Java has proved amazingly adaptable - and speed isn't really as much of an issue as the haters claim, if it was we'd all write assembler. Java isn't really far off the speed of C++. As for no multiple inheritance - do you REALLY want that?! There is a reason pretty much every phone has Java on it (don't tell anyone - but I quite like playing Tetris on my phone, thanks Java).

    As for Sun, well they do make some really nice boxes, and they are giving us some great stuff (DTrace anyone?)

  51. Re:(Troll) I hate java, why does /. love it? by Reverend528 · · Score: 4, Funny

    It certainly seems to be a fairly easy introduction to OOP.
    much like how tequila shots are a good introduction to drinking?
  52. You're wrong by ttfkam · · Score: 5, Insightful

    No, seriously, you're wrong. Just because you don't see that Java is being used for a web site's back end doesn't mean you haven't been using it. Personally, I like Eclipse, but then I'm a programmer. I used to use Azureus, but since I'm mostly on a Mac, I started using Bits on Wheels. Not a crack against Azureus from a functional or usability standpoint, I just preferred the "wheel" in BoW. Totally arbitrary eye candy.

    The problem with Applets was that AWT was a GUI framework built on top of a web browser, which is already a (wait for it...) GUI framework. The only reason Flash succeeded was because web browsers didn't have vector graphic support ten years ago.

    As for Sun, they have given far more to the open source community than most give them credit for. NFS anyone? There are more examples, but just for a moment wrap your head around the concept of what if Sun never released the specs to NFS. What would the BSDs and Linux use to map file shares? CIFS/SMB aka Samba?

    So let's take a look at Win32 MFC. That was written in C/C++. So did that framework suck so much? Answer: good code can come from any language where the developer is sufficiently skilled. Bad code can come from any language despite any intrinsic qualities in that language.

    --

    - I don't need to go outside, my CRT tan'll do me just fine.
  53. Multiple Inheritance by ttfkam · · Score: 5, Insightful

    Ignoring the parent troll for a moment, can someone please show an example of where multiple implementation inheritance is superior (not just equivalent) to multiple interfaces and the composition design pattern?

    I've really tried to find a case, but ultimately fail. I even tend to agree with Gosling that abstract classes were a bad idea. On the other hand, I can name innumerable cases where MI causes more problems than it solves.

    --

    - I don't need to go outside, my CRT tan'll do me just fine.
    1. Re:Multiple Inheritance by Anonymous Coward · · Score: 5, Funny

      I think Multiple Inheritance's primary use is for contriving strange interview questions. :)

    2. Re:Multiple Inheritance by Dolda2000 · · Score: 2, Interesting

      Ignoring the parent troll for a moment, can someone please show an example of where multiple implementation inheritance is superior (not just equivalent) to multiple interfaces and the composition design pattern?

      If you're going to say that, you might as well go as far as saying that inheritance itself has no merit when Java has its interfaces instead. And I'd argue that you'd have a point.

      After all, inheritance is just a convenient way of taking functions from some other implementation of an interface and making your own implementation use those same functions. In that regard multiple inheritance makes sense, since you'd be able to pull in code from all over the place easily. But, one might argue that it should be possible (and easy) to do that more explicitly than using inheritance.

    3. Re:Multiple Inheritance by fm6 · · Score: 3, Insightful

      You're asking for an objective answer to a subjective question. What's "superior" in this context? A Java person would say code that easy to debug and maintain. A C++ person would say code that's expressive and concise. Both are right — within their own circle of peers.

    4. Re:Multiple Inheritance by tukang · · Score: 2, Insightful

      Here's one I ran into recently. Actually, if there is a better way to solve this other than using MI I'd love to know.

      #displays a fixed number of rows
      base_table

      #adds pagination capability to a base_table
      pagination_table extends base_table

      #adds selection to a base_table
      select_table extends base_table

      #adds pagination controls for a select table
      pagination_select_table extends select_table

      The implementation of pagination_select_table is exactly the same as the implementation of pagination_table but since the language doesn't support MI I have to maintain the pagination code in 2 places.

  54. Re:MOD PARENT UP by Just+Some+Guy · · Score: 2, Insightful

    Oh, and another thing: I think he meant that in the situations where Python is too slow, Java would probably also be too slow. Those cases call for embedded C or other low-level optimization. I don't think he meant to say that Python is faster than Java.

    --
    Dewey, what part of this looks like authorities should be involved?
  55. Amen! by Weaselmancer · · Score: 2, Interesting

    You can get paid to write in it.

    Can I get an amen?

    It doesn't matter how super-zappo your favorite language is if it doesn't put food on the table. Your likes and dislikes don't figure into it when it comes to a job. See Maslow's hierarchy of needs for further clarification.

    Go to Careerbuilder and look up Java jobs. And while you're there look up .NET (which is pretty much Microsoft's Java). The jobs run 60/40 in favor of .NET. But there's dozens of them. High paying, too.

    I'm currently studying for my Java certification. Why? Because I love Java?

    Nope. Because it's good to have something to fall back on. I'll get a .NET cert too, as icky as that sounds. I have a family and I have to think of them first.

    --
    Weaselmancer
    rediculous.
  56. Interesting point by ttfkam · · Score: 4, Insightful

    And if code bases never changed, I might agree with you. However, what happens when a superclass is changed, e.g., a new method is added? Much of the time, nothing. But what happens with MI when one superclass adds a method that already exists by name in another superclass? You end up in exactly the same solution as with SI; you use composition to arbitrate the ambiguity.

    When interfaces collide, there is no issue. If a method is added to a superclass in single-inheritance, it rarely affects the subclass unless that subclass is too tightly coupled with private variables (the implementation) of the superclass; you'd be hosed with any change in the superclass.

    MI may result in slightly fewer lines of code, but it makes for code that's harder to understand and more brittle in the long run. In short, it's little more than syntactic sugar with no programmatic benefits but several drawbacks with regard to complexity.

    --

    - I don't need to go outside, my CRT tan'll do me just fine.
  57. Arbitrary by ttfkam · · Score: 2, Informative

    You have limits in any language whether they be the inclusion of a semicolon at the end of a statement, the enclosure of a conditional in parentheses, or curly braces to denote scope.

    To say that those constructs built into languages are acceptable but enforced indentation is not is an arbitrary distinction. It has nothing to do with its worth or lack thereof. You have decided what you prefer and are fitting an argument to that conclusion. Philosophy does not enter into it.

    A computer doesn't care whether your programming language enforces indentation. All the computer needs is an ordered sequence of bits and bytes in just the right combination to return a desired output. Computer languages were meant to be a human-readable alternative -- their sole reason for existence. If you don't think that the indentation makes the code readable, that's a valid argument though I would disagree with it.

    However, I don't believe you have a "philosophical problem" with indentation on the basis of enforcement. Enforcement has nothing to do with readability, and readability is all that really matters with a language. Anything else is personal preference, which is perfectly valid, just don't frame it in the guise of a more noble cause.

    --

    - I don't need to go outside, my CRT tan'll do me just fine.
  58. Java is excellent by thetoadwarrior · · Score: 2, Informative

    I quite enjoy Java and find it to be a great language. My only complaint is that they fucked up java for web sites / apps.

    Why does java have to be some complicated, delicate and have 6 millions different ways to do something where as you can get on with developing something in PHP quite easily? Sure to make something great you need to know the html to go with PHP and javascript but you need to know those with java plus decide if you you are using struts, spring, seam, groovy, JSF, etc and, while knowing one may make it easier to transition into another job using something similar, it's still a pain compared to moving between PHP based development jobs.

    It is true that if you wanted to know everything about Java it would be impossible. You can't know it all and be excellent at it but there should only be three clear sides to it. The desktop app side, mobile and web.

    1. Re:Java is excellent by Shados · · Score: 2, Informative

      In Java you can just go and hack it up JSP style if you want, and it will be similar to PHP. The thing is, that way of doing thing sucks. It sucks in Java, it sucks in PERL, it sucks in PHP, it sucks, period. As with any serious application development, you need to structure things a bit. People don't agree on the best way, though in Java, the community is very oriented toward "There's the main way, and then there's other ways in case that doesn't work for you". In general, thats a MVC pattern like strut, a dependency injection/inversion of control container (spring), a persistance framework (hibernate). Then you have t he other stuff when that doesn't work for you (JSF for composite applications, for example).

      All languages that matter are like that. Ruby has Rails (package of the stuff I mentionned above), and when that doesn't work, there's a bunch of other frameworks. If you just go in straight PHP and go for it, you're doing it wrong, even from a PHP point of view. PHP has templating frameworks, object relational mappers, containers, etc, too. Lots and lots of them, and for a serious app, you need to pick too.

      The only difference, is that PHP is used for "quick and dirty" much more often, while Java is usually used for "enterprise/production scale development", so you'll more rarely see PHP devs using the frameworks, and more rarely see java devs going straight JSP.

      Thats it. And if you think developing real world application can be split up with desktop, mobile and web, you're leaving out 2 third of enterprise developments. Not everything ends up in the face of a user, and only a part of what actually does falls in those categories. What about services/deamons? Reporting processes? SOA middlewares? Business workflow processing? Messaging/Reliable systems (I'm not talking about MSN here, I'm talking about message queues). Java and .NET are 2 environments that deal with all of that, but even with everything they provide (much more than a single human can learn), they still don't even provide half of what we need in all situations (especially .NET, until 3.0).

  59. Re:no, you're wrong by ttfkam · · Score: 5, Insightful

    If there were better alternatives to NFS, why didn't people use them or create newer, better ones? With all the faults of NFS, I don't know of alternatives that magically make all of those problems go away. Locking on remote resources that you want to be performant is a hard problem. WebDAV certainly doesn't solve that problem. And speaking of WebDAV, how would that have solved the NFS problem when it hadn't even been invented yet? Nor had HTTP 1.1 for that matter. Nor had HTTP 1.0 for that matter. Nor had XML, which it uses for metadata.

    Saying that WebDAV or AFS should have been used back in the heyday of NFS sounds like someone suggesting that DOS shouldn't have been used in 1981 because Linux would be created ten years later. You could certainly give other examples to replace DOS in '81 like CP/M, but the fact that you don't realize that NFS was first leads me to believe you are too young to remember what it was like. To give you an idea, an implementation of AFS was only released as open source in 2000 by IBM. Where were the alternatives before then?

    Answer: there weren't any good ones. And speaking of Samba, unlike CIFS/SMB, the NFS docs that Sun released actually matched up well with the protocol unlike what Microsoft released and Samba reverse engineered.

    FYI: "NFS v4 (RFC 3010, December 2000; revised in RFC 3530, April 2003), influenced by AFS and CIFS, includes performance improvements, mandates strong security, and introduces a stateful protocol. Version 4 became the first version developed with the Internet Engineering Task Force (IETF) after Sun Microsystems handed over the development of the NFS protocols." - Wikipedia

    --

    - I don't need to go outside, my CRT tan'll do me just fine.
  60. Re:Bullshit by Abcd1234 · · Score: 5, Insightful

    Once you have the region marked out, most editors can indent that region for you.

    Really! Okay, here's some code:

    print "Hello"
    print "World"

    Now, I want you to insert the statement 'if (true):' at the top of that code, such that the print statements execute within the context of the if statement, and I want you to use the editor to indent the code. Hey, you know what, don't bother, I'll show you what you get:

    if (true):
            print i
    print i + 1

    But, of course, that's not what I wanted at all. I wanted this:

    if (true):
            print i
            print i + 1

    The problem is, the editor has no idea what I want because, without understanding the semantics of the code, the fact that blocks aren't properly delimited means the editor can only guess as to the correct indentation for a given hunk of code.

    Of course, this is a very simple example. But it also doesn't even approach the sheer hell that is refactoring larger bodies of Python code.

  61. Re:Mod parent funny! by snoyberg · · Score: 4, Funny

    Holy crap, you're right! I haven't seen that trick pulled since here.

    --
    Thank God for evolution.
  62. Re:Bullshit by Abcd1234 · · Score: 4, Insightful

    Ugh, apparently I need to choose a more explicit example, as you're too thick to understand. Let's say I have this:

    if (true):
            print "Hello World"

    for i in range(1,10):
            print i
            print i + 1

    Now, insert the for loop into the if statement, before print statement, and use the editor to reindent the block. And good luck.

    Meanwhile, with C, I'd have:

    if (1) {
            printf("Hello World\n");
    }

    for (i = 0; i 10; i++) {
            printf("%d\n", i);
            printf("%d\n", i + 1);
    }

    I could then just copy the for loop, past it into the if block, get the editor to reindent, and voila, the code is correct.

    *Now* do you get it? Please god, say you get it...

  63. Re:Bullshit by fredrik70 · · Score: 2, Insightful

    ok,wasting all mods points on this, but what the heck...
    In python indentation is part of the actual language construct, it forces you to write readable, well indented code as it is needed, as part of the langage itself, in order to make the program work as intended. This is actually a feature in my opinion. i felt like you when I started wtiting python apps, that this whitespace business was something potentially dodgy, but it actually wasn't such a hard thing at all to get used to. and after a while it's actually feel really natural.

    --
    if (!signature) { throw std::runtime_error("No sig!"); }
  64. Re:Bullshit by Kidbro · · Score: 2, Informative

    What editor are you using? It seems to be lacking a bit, feature wise.

    In C:
    - You cut the block.
    - You paste it
    - You mark the entire if-block
    - You ask the editor to reindent it

    In Python:
    - You cut the block
    - You paste it
    - You mark the pasted section (unless your editor has a feature to paste & mark, in which this step is unnecessary)
    - You indent/redent the marked block to wanted level.

    It's the same amount of equally complicated maneuvers. Unless you have an editor with the feature I spoke of, in which case it is one less in Python.

    Seriously, the white space thing annoyed me as well... for roughly two days. Six years of professional Python programming later, I cringe every time I run into code written in a language that wastes half its characters on redundant information (aka visual noise).

  65. Re:Bullshit by Abcd1234 · · Score: 2, Insightful

    You didn't follow my example. I said before the print statement, not after. And the result, using your emacs command, is as follows:

      if (true):
      for i in range(1,10):
              print i
              print i + 1
              print "Hello World"

    Which is surprisingly terrible. I had expected to at least do this:

      if (true):
              for i in range(1,10):
                      print i
                      print i + 1
                      print "Hello World"

    Do you get it now? In a case like this, the editor simply cannot know that the last print statement doesn't belong in the for loop. So now, not only is my code improperly indented, it's actually *wrong*.

    And your continued attempt to bring up the need to wrap code in curly braces entirely misses the point. See, in C, as long as I know where the beginning and ending of the block is, I can place the braces in the right place, and I know that my code is semantically correct. Get the editor to indent it for me, and it's still semantically correct.

    But in the above example, not only did the editor indent the code wrong, the *semantics* are wrong. That means that, every time I move a block and reindent with the editor, I have to check every damn line of code, just to make sure it didn't get confused because, as I've said over and over, Python doesn't provide sufficient hints to the editor regarding where blocks start and end, and so it *can't* know how to do the right thing.

  66. Re:Bullshit by pimpimpim · · Score: 2, Insightful
    I understand your point, really, you lose that part of editor functionality. But you also gain the added insight in your code that you can see very quickly and with 100% confidence at what level of indentation a piece of code is.

    Therefore, in practice, I have found the indentation issue not to be a problem. In my eyes, python's main issue are the messages at program crashes. They are uninformative, and sometimes even missing. That and several other factors seem to indicate some remaining immaturity of the code parser, but for the rest, python really is a fast and effective way to program in OO. I see it as a kind of perl for OO problems. (I know that perl has OO, but it's never as integrated as in python). There are many things that can be solved with perl, and there many things you shouldn't even try with perl. Same goes for python.

    --
    molmod.com - computing tips from a molecular modeling
  67. Re:(Troll) I hate java, why does /. love it? by pdbaby · · Score: 2, Informative

    That is only true if you compile it, effectively loosing all the other benefits you claim.

    I saw this higher up in the comments and shrugged it off. But now I have to ask - huh?! Java is a compiled language. (are you confusing it with javascript, which is completely different and only shares the name?). Java's JIT works automatically, profiling bytecode as it executes and when it's ready, translating it into x86 instructions. By doing this it can do the sort of optimisations that C++ is incapable of doing - it can reorder an if condition or do some incredibly aggressive inlining (it'll even inline 3 method calls deep when its profiling indicates there'd be a performance advantage).

    Trouble shooting any large Java application is a nightmare

    Troubleshooting a badly written application is always a nightmare, troubleshooting a large application can be a pain. You can do all sorts of nice things with debuggers, too, to figure out what's going on - and Java's definitely easier to debug than C or Perl

    --
    Global symbol "$deity" requires explicit package name at line 2. - If only $scripture started "use strict;"
  68. Re:Bullshit by Abcd1234 · · Score: 2, Insightful

    understand your point, really, you lose that part of editor functionality.

    Ah, but it's more than that. The real point is that, if the editor can't figure out what code belongs where, that means *I'm* far more likely to mess it up. After all, missing a single tab can completely change the semantics of a block of code. IOW, Python increases the chances I'll mess up, and makes my job as a programmer *far* more tedious and irritating, just so it can force a particular formatting style on me. Thanks, but no thanks.

    But you also gain the added insight in your code that you can see very quickly and with 100% confidence at what level of indentation a piece of code is.

    Or you could let the editor indent the code properly and get the *exact* same benefits without fear that you accidentally mess up the semantics of your code because you misread something.

    Heck, even if Python had both significant whitespace *and* a block terminator, I'd at least be satisfied. Why they omitted this, I have no idea, but it really strikes me as a glaring, pointless defect that just increases the odds that you can screw things up.

    As for the rest, I couldn't agree more. But the significant whitespace thing really does actively keep me away from the language... it's just not worth all the trouble it creates for me.

    Personally, given my choice, I'd go with a language similar to Ruby if I needed an "OO Perl"... though, my Smalltalk bias means Ruby annoys me in countless other ways (not to mention it's more glaring defects, such as it's dismal speed). :)

  69. Re:MOD PARENT UP by MenTaLguY · · Score: 2, Informative

    To be fair, there's always Jython. Python the language, on the JVM.

    --

    DNA just wants to be free...
  70. There is nothing wrong with Java by DrXym · · Score: 2, Informative
    Python, Ruby etc are interesting languages but Java is ultra robust, runs on any hardware, has multiple implementations, and so many specifications and libs to support everything from handhelds all the way up to mainframes. And it has a large pool of programmers trained to write Java apps.

    For all the hype of Ruby on Rails, etc., the cold reality is that you would have to be a pretty foolhardy architect to recommend it for anything mission critical. Java might not be sexy but it does exactly what it says on the tin.

    Its great news that its been open source, especially for Linux. But what it means in practice remains to be seen. I expect what it will mean is random bug fix submissions but little else but in practice Java is going to get governed the way it's always been governed. People will branch Java of course but just like Firefox, I doubt it means they can still call it Java.