Slashdot Mirror


Getting the Java Religion

Anonymous Coward writes "Interesting article at angryCoder about java,c# and the entire .com "hype". Take a historical approach to the entire thing and brings up the following points: no business is truly altruistic, and one needs to learn from history or else."

25 of 63 comments (clear)

  1. So, what was that about Java? by Violet+Null · · Score: 3, Insightful

    I mean, really. This isn't flamebait. I read the article, and the only thing about Java (or, more precisely, Java coders) that I found in it was that, man, Java coders are religious about their language (which could be said about any language), and Java runs slowly (which is true, but not a new observation).

    The rest was all quite rambling about different OSes for no particular reason that I could discern.

    1. Re:So, what was that about Java? by WasterDave · · Score: 3, Insightful

      Java runs slowly (which is true, but not a new observation).

      It's not even that true any more, certainly within 50% of C++ in most cases. What is true is that it doesn't allow any 'low down' control, and that it bloats out a treat. But, it is generally believed here (NZ) and quite possibly the rest of the world that Java is the near term future of internal applications (which accounts for perhaps 95% of software development) but certainly not systems programming (which accounts for perhaps 95% of CPU cycles executed).

      Dave

      --
      I write a blog now, you should be afraid.
    2. Re:So, what was that about Java? by WasterDave · · Score: 3, Insightful

      this is a great example of a post from a passive-religious-java-coder

      Wrong, from Wrongsville Alabama. I'm a C++ (systems) coder. There's just no point in trying to get C++ bespoke work any more since most projects are done in Java.

      meeting 50% of c++ speeds which is pretty sad

      Well, Java on a 1GHz Athlon is going to be about as fast as C++ on a 500MHz - which sounds fine to me. Don't use it for anything computationally expensive and you'll be fine.

      Dave

      --
      I write a blog now, you should be afraid.
    3. Re:So, what was that about Java? by Wavicle · · Score: 2
      There's just no point in trying to get C++ bespoke work any more since most projects are done in Java.

      It's interesting to hear different perspectives in different parts of the country. I live in Sacramento, CA and I've had recruiters tell me "We need to focus on your skills other than Java because I have a stack of Java programmers looking for work right now". They are telling me to brush up on my STL and newer C++ technologies to generate some interest from employers. I've been exclusively a Java developer for the last 3 years and have some contact experience with nearly every common enterprise used Java technology... But companies don't care about your JDBC experience unless the target database was Oracle.

      --
      Education is a better safeguard of liberty than a standing army.
      Edward Everett (1794 - 1865)
    4. Re:So, what was that about Java? by nandix · · Score: 3, Funny
      systems programming (which accounts for perhaps 95% of CPU cycles executed)
      This may not have much to do with the discussion, but, assuming that by systems programming you mean OS code, you are here implying that 95% of the CPU cycles are consumed by the OS. This would be considered a TERRIBLE ammount of overhead, even for a redmond-based OS designer.
    5. Re:So, what was that about Java? by Twylite · · Score: 5, Insightful

      Religious? No. Obsessive? Often. And with good reason; I'll let you in on a few.

      Your average Java programmer is not a happy-go-lucky hacker. He works for a living, and wants a language that supports his development.

      With Java he gets:

      1. An extensive, well documented class library. This more than anything, more than syntax, more than platform neutrality, more than speed, more than any underlying technological benefit of any other language, more than you want a blowjob tonight, is what a serious wage coder wants from a language.
      2. Garbage collection, for added stability and not being anal retentive about freeing memory. Also easier to use than smart pointers.
      3. A pure-OO framework that allows designers to design stuff so that coders can't screw blissfully with each others minds, because there are no "back-doors" and the protection is run-time.
      4. No operator overloading or line noise syntax, so when you come to maintain the code done by the vac. student (guru hacker from outer space) you have a clue what it means.

      I like Java for all these reasons. I also like C++, for its power and the extra 5% performance I can squeeze out of it if I need to, and because I'm anal enough to do it right. But I've worked with more than a dozen people who weren't, so it became my problem to fix their mistakes.

      One final thing. Using an Apache-style architecture, a Java server can happily achieve 90% of C++ performance on most client-server applications. And I've worked on two projects that prove it.

      --
      i-name =twylite [http://public.xdi.org/=twylite], see idcommons.net
    6. Re:So, what was that about Java? by Twylite · · Score: 2

      Hmm. I'll try the polite answer, shall I? :)

      First, I said Apache-style architecture, not Apache architecture. This means a pool of independant entities all of which block on a common kernel signal, and the first one to obtain the signal takes and processed the associated request synchronously with respect to itself.

      Whether threads or processes are used is largely academic, and is not an architectural consideration (it is an implementation consideration). On most Unix systems threads are not first-class entities in the scheduling system, and cannot be considered for high performance applications. Win32 systems on the other hand support multithreading as well as multiprocessing natively, and Apache itself could be implemented as efficiently using threads as using processed (possibly more so, because win32 doesn't have copy-on-write process creation).

      Java is perfectly capable of supporting several architectures other than thread-per-connection. Not to mention that Apache itself is a thread-per-connection (or process, if you wish to draw a distinction); in which threads/processes are reused, and a limitation is configured on maximum simultaneous threads/connections.

      The most significant thing about the Apache architecture is that there is no controller process which listens on the server socket and assigns new connections to pooled processes. Instead, each process is a peer, and listens for new connections when it can. This enhances both performance and stability. This is what I was meaning when I referred to an "Apache-style architecture".

      Java is able to scan in a non-blocking manner for new connections, or for data on a connection. As such it can implement pseudo-select() functionality. JDK1.4 in fact has the nio package which implements a Java equivalent of select().

      Finally, in connection with your claims about performance, I said "average client-server application". You have quoted me an extremely contrived benchmark. Not only is the serving of 1 byte files unreasonable as an "average" application, but a web server is not an application server, but a file server.

      Quote me a benchmark on a Java server versus a similarly-architeced C++ server in which there is some serving of static content, but primarily (say 70%?) involves server-side processing (even page generation would be reasonable), and I'll be more inclined to accept your view.

      --
      i-name =twylite [http://public.xdi.org/=twylite], see idcommons.net
    7. Re:So, what was that about Java? by WasterDave · · Score: 2

      I was including the JVM, webserver it is undoutoubly behind, database, any component overhead etc.

      Yeah, 95% was a bit much :)

      Dave

      --
      I write a blog now, you should be afraid.
  2. Hysterical. by WasterDave · · Score: 2

    Loved it, Microsoft astroturfers ramping it up once again. "Developers! Developers! Developers!"

    Dave

    --
    I write a blog now, you should be afraid.
    1. Re:Hysterical. by flacco · · Score: 2

      "Developers! Developers! Developers!"

      God, stop saying that! It gives me bad dreams of Ballmer as Kong demanding his next course in an endless banquet.

      --
      pr0n - keeping monitor glass spotless since 1981.
  3. Missed an obvious insight by tunah · · Score: 2
    brings up the following points: no business is truly altruistic, and one needs to learn from history or else.

    And yet they omit to mention that somethimes it gets cold in Canada in the winter?

    --
    Free Java games for your phone: Tontie, Sokoban
    1. Re:Missed an obvious insight by MrBlack · · Score: 2

      I _wish_ I had mod points for your post. I read the article about a week ago, and remember thinking "and your point is..." at the end

    2. Re:Missed an obvious insight by ahde · · Score: 2

      25 is cold for summer -- that's below freezing!

  4. No wonder by pma · · Score: 3, Funny

    "The 1st eZine build with ASP.NET" - No wonder it's called Angry Coder.

  5. Good, ole fashioned, F U D by gnovos · · Score: 5, Insightful

    This is FUD, albiet subtle FUD. Passages like "Whilst Windows has become a component-based rapidly-developing operating system, despite the open-source pretensions of mass part-time development, there is nothing revolutionary appearing (or likely to) on the same Unix platform it always was. Hopefully it will manage to survive in the niche's where Unix has been over the last many years." give away the writer's true intentions. If you want to make a point about something, you don't just come out and say it point blank, like "Linux is crap! Bppppt!", instead you take the subtle route and try and make your readers think that they came to that conclusion all by themselves, as this article seems to be doing.

    When you say "Hopefully Linux will manage to survive" what you are really saying subconciously is "Linux may not survive, so don't use it". also by adding another, better choice in the same passage ("Windows has become a component-based rapidly-developing operating system"), you allow the reader to think he has discovered for himself something that the author has blindly missed. It makes the reader think he's "figured out" that Windows is superior. When you "figure out" something like this, it is far more credible (since it is coming from your own head) than when somone just jumps out and trys to push something in your face.

    The propaganda battle (often called Marketing, btw) that's been going on recently would make a Nazi blush...

    --
    "Your superior intellect is no match for our puny weapons!"
    1. Re:Good, ole fashioned, F U D by ahde · · Score: 2

      all I had to do to come to the same conclusion is notice the five (5) .NET & one (1) c# adverts in the sidebars to figure out who "wrote" this "commentary"

  6. article=waste of time by tongue · · Score: 3, Insightful

    This article has nothing real to say, except apparently that java coders all like to jump on bandwagons for an over-hyped technology, and that we should all instead hop on a microsoft bandwagon for an overhyped technology. I really fail to see what the difference between an overhyped java platform and an overhyped ".Not" platform is.

  7. Death of Linux and Java imminent by karb · · Score: 2, Insightful
    OK, not really. But, like everybody else in the news media, associates linux and open source with the dot-com era (even though they have been around far longer). I have never seen anyone before associating java with the dot-com era. But it's associated again here, I guess hoping for death by association.

    He also says good things about visual basic. Visual basic is a crappy language. Or, at least, everybody thinks that. So, of the 10 or 20 competent programmers I have met in my life, only one of them would even consider programming in Visual Basic (and I'm sure he'll drop it once he learns java or C++).

    --

    Jack Valenti and the MPAA are to technology as the Boston strangler is to the woman home alone

  8. Re:Got me thinking... by Wavicle · · Score: 2
    We need application innovators!

    Why would anybody who came up with an innovative application release it only for Linux? Linux is always going to be playing catch up, it doesn't have the monster market share and so things are going to be developed for Windows first.

    There are innovative window managers out there, but they just aren't as common because most people using Linux previously used Windows and are comfortable pressing alt-f4 to close an application, even though there is nothing intuitive about it.

    That won't happen as long as I can't watch my .mov files (easily) or have a seamless experience with copy & paste, URL's, being able to print, etc.

    Every one of those points I wholeheartedly agree with! Just yesterday I tried printing an email from Kmail. For reasons completely unclear to me, Kmail sent 8 1/2 x 11 formatted data to the printer. The result of course was that the printer has gutter space on every side of the paper so it didn't print those regions and the printout was unreadable. I opened the same mail in Eudora on windows and got a perfectly formatted print (was darker and therefore more readable too).

    --
    Education is a better safeguard of liberty than a standing army.
    Edward Everett (1794 - 1865)
  9. Incoherent rambling by smoon · · Score: 4, Insightful

    Where in the h*ll is this guy coming from?

    Has he ever had to _support_ a big MS server installation?

    Sure, the "Mainframe is dead", except for the tens of thousands of businesses that rely on fast, efficient, reliable, and comparatively cheap processing provided by mainframes and the relatively inexpensive cobol programmers that man them.

    Sure, Unix is a 'niche market', except for the millions of users who use it every day for tasks ranging from mainframe replacement to destop applications, not to mention the countless academic, engineering, and other uses Unix is put to. For example, running most of the infrastructure on the Internet.

    Yeah, Java runs slow. Boo hoo. So does a windows machine, even when you ignore downtime due to reboots and system crashes.

    When this bozo is ready to bet his business on a technology, and is ready to assume full responsibility for the consequences of his decision, and is able to execute on his strategy, then and only then is he qualified to write a credible version of the article referenced.

    --
    "But actually trying to use m4 as a general-purpose langage would be deeply perverse" --ESR
  10. Re:faster changing != better by Ayende+Rahien · · Score: 2

    Really, show me just *where* you need to re-write your windows code every couple of years, not to get new functionality or anything, just to make it keep working.

    MS has an excellent track record for backward compatability. And on 90%+ of the cases, you need to make zero changes to the code to make it work the way it did.
    On the other 10%, either you didn't write to the spec, or there was a bug that was solved, or (actually rarer that you may think) a bug in the new API changed the way it behave.

    For crying out loud, I've a Win3.11 applications that I can still run on XP, so don't tell me about having to re-write code.

    --

    --
    Two witches watched two watches.
    Which witch watched which watch?
  11. Java doesn't use the stack (internally) by ahde · · Score: 2

    i assume you meant a "heap of Java programmers"

  12. Re:faster changing != better by ahde · · Score: 2

    to paraphrase Linus:

    "If, by compatability* you mean lack of features"

    *Linus was talking about Minix and the word was 'portability' then. Basically, he was saying that sure, Minix may run on an Atari or 8086, but it can't take advantage of the advanced features of 386 CPU. While I'm not a fan of too fast change -- Windows's is backward compatibility is severely limited by what it is able to do. Try porting a multithreaded networked 32 bit Windows application from say, 6 years ago. Heck, try running a dos program with more than 640K memory. I think in "modern" windows OS, you can't even use half that.

  13. Re:Got me thinking... by Phillip2 · · Score: 2

    "Why would anybody who came up with an innovative application release it only for Linux? Linux is
    always going to be playing catch up, it doesn't have the monster market share and so things are going to be developed for Windows first. "

    I think you making a fundamental mistake here. Clearly people do produce applications for linux, or indeed other unix platforms. There are plenty of them around after all.

    The mistake is that you are assuming that all application developers are aiming at a wide market. Whilst it may be true that M$ want everyone to use word, its untrue of 99% of applications which are developed. Most applications are written for a small market base, for people with very specific requirements.

    So for instance if I was writing music software I would probably write for the Mac, because thats what most musicians use. Myself I'm a bioinformatician, and most of use some form of Unix. Hence linux is my main platform both for development, and my main target platform. There is nothing particularly religious about this. Unix is a better platform for our needs, and linux is useful because the hardware is dirty cheap.

    What the article is talking about is not actually innovating applications, he is talking about high volume, "killer applications". More or less by definition by the time something turns into a high volume killer app, it will have lost most of its innovation, and will be using something that has gone before.

    Phil

  14. Re:faster changing != better by Ayende+Rahien · · Score: 2

    Why *port* it? It would work, just as it used to do, (unless there are bugs in the application).
    You want to extend it without re-writing it, use the old methodology, it would *work*. That is the nice thing about Windows, backward compatability is extremely good.

    Backward compatability -- The ability of OS to run executables that run on older version of the OS.
    Hey, I can play GoldenAxe on XP, And that dates to 90's or so, so don't try to tell me about no backward compatability.

    --

    --
    Two witches watched two watches.
    Which witch watched which watch?