Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Java Programming IT Technology

Departure Of The Java Hyper-Enthusiasts? 678

TomH writes "Bruce Eckel has an article at Aritma, where he posits that 'The Java hyper-enthusiasts have left the building, leaving a significant contingent of Java programmers behind, blinking in the bright lights without the constant drumbeat of boosterism.' Has the previous hype of Java and J2EE moved on to Ruby (on Rails) and Python?"
This discussion has been archived. No new comments can be posted.

Departure Of The Java Hyper-Enthusiasts?

Comments Filter:
  • by Orrin Bloquy ( 898571 ) on Thursday December 22, 2005 @12:49PM (#14319201) Journal
    Sorry.
  • Next Question (Score:4, Insightful)

    by Ridgelift ( 228977 ) on Thursday December 22, 2005 @12:50PM (#14319210)
    Has the previous hype of Java and J2EE moved on to Ruby (on Rails) and Python?
    Yes. Next question please.
    • by TubeSteak ( 669689 ) on Thursday December 22, 2005 @12:52PM (#14319250) Journal
      What about AJAX?

      Doesn't it get to be on rails too? Or is it going to be limited to that accursed "rubber wheel" we've been hearing about?

      This "Ruby on Rails" sounds like a monopoly in the making.
      /. should be wary
    • Re:Next Question (Score:5, Insightful)

      by bwt ( 68845 ) on Thursday December 22, 2005 @02:54PM (#14320913)
      Has the previous hype of Java and J2EE moved on to Ruby (on Rails) and Python?

      Ruby (on Rails) -- yes
      Python -- no (sorry)

      And the hype will come back to java in about a year or two when people realize groovy has all the benefits of ruby but with a bigger set of production quality libraries (all those from java) and that it can be compiled too.

      This is actually the most exciting time for java in a long time:
      a) scripting - groovy (JSR 241) & beanshell (JSR 274) & bindings eg for PHP (JSR 223) & BSF
      b) New lightweight frameworks are blossoming (eg spring, hibernate, webwork, EJB3)
      c) Aspect Orient Programming is blossoming in java (AspectJ, spring, JBoss)
      d) Tools growth -- Eclipse plugins, Ant tasks, JUnit extensions, velocity & xdoclet, XML utilities

      When groovy hits 1.0 and the people who left for Ruby start realizing they miss all the java libraries, the hype will come back. RoR is popular for two reasons -- Ruby has a very efficient syntax and Rails innovated with the "convention over configuration" idea. Groovy solves the first problem and the second one will be adopted where appropriate by the framework wonks.

      Ruby's downsides are it's a raw young language (weird errors, its slow, small set of libraries, and poor tools support). In the end these negatives and the innovative things happening in java will win out.
      • What is Java? (Score:3, Insightful)

        by drgonzo59 ( 747139 )
        Besides coffee, when people say Java they sometimes mean different things:

        For some it is the byte compiled oo language, these people chose it because it looked like C++ but with no explicit pointers and a GC.

        For some it is the platform, in other words they liked the large library of classes that came with it like swing/awt, math, networking.

        Others liked it because of the technologies built on top of it or with it: J2EE (EJBs etc.), Applets, Servelets

        Yet others liked it just because it is the most port

        • by M1FCJ ( 586251 ) on Thursday December 22, 2005 @07:09PM (#14323420) Homepage
          Nothing can beat this beauty:
          10 PRINT "TEXT"

          then you would do
          GWBASIC FILE.BAS

          Beats "python file.py" every time...

          Fake arguments involving hello world apps should not be taken as a way of comparing languages.
          • Printing a string to the console (aka the "hello world" problem) is something done often in programming. Most programs out there have to send output to an output device.

            I, like many other people out there, want to see this "hello world" problem solved in any new language that I am learning for illustration purposes and because it gives a feel about the language, for example: what are the delimiters?, are any variables declared?, are there any object being instantiated?, is there a need to import any libr

  • Hype? (Score:3, Informative)

    by whargoul ( 932206 ) on Thursday December 22, 2005 @12:50PM (#14319226) Homepage
    I have to say, I haven't heard near the hype about Ruby and Python that I heard about Java. Although I must admit, the Java hype has died down quite a bit.
    • Re:Hype? (Score:5, Insightful)

      by Otter ( 3800 ) on Thursday December 22, 2005 @01:16PM (#14319541) Journal
      1. There's no big company behind Python and Ruby.

      2. There are no idiot VC's handing out cash to start Marimba-ish companies based on vague ideas about using Python and Ruby.

      3. Python and Ruby don't have an easily-understandable if not really accurate hook comparable to Java's "write once, run anywhere" hype.
    • Re:Hype? (Score:5, Insightful)

      by AKAImBatman ( 238306 ) <akaimbatman@gmaiBLUEl.com minus berry> on Thursday December 22, 2005 @01:26PM (#14319660) Homepage Journal
      To be fair, Java's hype was well deserved. It was the first platform with a highly complete API set included in the core, it was the first dynamic web server technology that used a multithreaded model in addition to runtime-compiled code (bye-bye CGI), it was the first language with reflection designed into its core, and it was the first language to bring OOP, Virtual Machine, and cross-platform capabilities together into a workable package.

      No other language has ever managed to pull off what Java has. In fact, it was the driving force behind the modern push for cross-platform languages, complete (and free) API libraries, and Object Oriented Programming. I look back at days before Java, and they seem like the dark ages of computers.

      If Java has lost its hype, it's only because it's already accomplished all its goals. :-)
      • Re:Hype? (Score:5, Funny)

        by Ignignot ( 782335 ) on Thursday December 22, 2005 @01:45PM (#14319948) Journal
        Aha! This story was a trick! We finally got one of the Hyper-Enthusiasts to come out of hiding, so he can be studied in a controlled environment. Good work slashdot!
      • Re:Hype? (Score:3, Interesting)

        by paulproteus ( 112149 )
        > It was the first platform with a highly complete API set included in the core,

        Python predates Java. When I program in Java, it's always a pain to replicate the functionality I get with Python's default libraries. Python comes with "batteries included."

        > it was the first dynamic web server technology that used a multithreaded model in addition to runtime-compiled code (bye-bye CGI)

        Perhaps, I don't know early Python history this well.

        > it was the first language with reflection designed into its c
        • Python predates Java. When I program in Java, it's always a pain to replicate the functionality I get with Python's default libraries. Python comes with "batteries included."

          What the hell does that mean?

        • When I write Python I feel like I'm writing COBOL.

          If Java were to stop paying the bills and I couldn't get a job doing Ruby, I would rather code C#, TCL or Perl than do Pybol.

        • Re:Hype? (Score:3, Insightful)

          by The Wookie ( 31006 )
          >> It was the first platform with a highly complete API set included in the core,

          >Python predates Java. When I program in Java, it's always a pain to replicate the functionality I get with Python's default libraries. Python comes with "batteries included."

          I think the two packages in Java that really differentiated it were java.sql and java.rmi. It gave you an API to work with numerous databases on numerous platforms. That is still tough to find in other libraries. RMI made it easier to distribute l
      • Re:Hype? (Score:4, Interesting)

        by hackstraw ( 262471 ) * on Thursday December 22, 2005 @02:36PM (#14320656)
        To be fair, Java's hype was well deserved.

        No, Sun's marketing department should praised for the hype. Sun leveraged Netscape to rename whatever they called javascript to be called javascript even though it had nothing to do with java. Sun started calling everything java except coffee. Javastations, javaos, hotjava, $300 Linux computers at Walmart that had the "Java Desktop System", which I cannot figure out if Java is in it or not, I think its just Gnome.

        Java's supposed to be hype was because it was a cross-platform, write once, run anywhere language and portable across systems with compiled bytecode that could be run in a jvm. Somewhere I have heard that it was more like write once, debug everywhere. Java has almost died for GUI apps because the implementation did not live up to the hype. Java is now mostly found in app severs and whatnot as a middleware between web severs and databases.

        Java's implementation has caused me headaches as a system administrator and computer user for 10 years now, and I've been over the hype for quite some time.

        I have no beef with the language. I dabbled in it years ago, but didn't find any use for it, but that has nothing to do with my opinion of the implementation. Its the fact that I have had so many issues with it over the years that has caused my opinion. These issues have been Linux support, Matlab problems due to java, Oracle's universal installer that had issues because of java, Sun's "web installers" that have had problems, Netscape crashing for years because of java, etc.

        From what I hear, Java has fulfilled a real demand in the app server market, and I'm fine with that. I don't do that kind of work anymore, so I have no involvement with it. But when I did, we had java problems, but this was years ago.

        Personally, I believe that the hype is still floating around as witnessed by:

        If Java has lost its hype, it's only because it's already accomplished all its goals. :-)

        I'm not sure what the goals were. I was under the assumption that it was a cross platform application environment, completely with a cross platform GUI. If this was the goal, I am unaware of an example of its success. There are only a handful of examples. I believe Eclipse might be a success, but I'm unsure if it is entirely written in java or not. Apple has a java control program for their raid array that mostly works, and there is Azureus, but I personally don't like that either because of its heavy resource requirements, and it would not work on my Mac with two users in two different accounts using it at the same time. Oh, I forgot about OpenOffice. Again, I don't think that is entirely written in java, and I simply do not own enough of a computer to run OO, but I tried. The document that I was trying to open was created on a 700MHz or so PC, but I could not do anything with it on my PowerBook G4. I asked the person to simply export it to a CSV so I could work with the spreadsheet.

        Being that computers are so fast, if Java was a working cross platform GUI language and free, I don't see why at least 90% of the programs available for computers are not Java. If I owned a company that wrote a GUI program, and if there was a cross platform GUI language and implementation that worked, I certainly would use it. Even if portability was not a desired goal, why not open the door to 100% marketshare with one writing?

      • Re:Hype? (Score:3, Insightful)

        by wft_rtfa ( 882194 )
        To be fair, Java's hype was well deserved.

        I think your reasons for the hype really hit the nail on the head. Before Java, programming languages were just languages and usually didn't come with a huge standard API. Especially one that was object orientated , cross platform, and was really powerful.

        The concept is so good that Microsoft did their best to copy all the good things about Java (almost everything from Java and a few from VB) with C#. I don't think we would have C# or the .NET framework if it wer

    • Re:Hype? (Score:3, Insightful)

      by bigman2003 ( 671309 )
      I really hate the idea that you have to develop in the Popular Flavor of the Month in order for some people to think you know what you are doing.

      In the past 10 years, there have been at least 6 or 7 big 'waves' that have hit, and if you tried to follow them all, you would never really get to know any of the languages.

      What about saying: "Well, this really works for me. It may not be the latest and greatest...but today's latest and greatest is going to be tomorrow's old dirty shoe. So I'll just stick with t
  • by Surt ( 22457 ) on Thursday December 22, 2005 @12:52PM (#14319241) Homepage Journal
    No one I've met doing serious development is building on python, it's just too error prone. Ruby (and on rails) are definitely gaining serious adherents though. Particularly with ruby likely to become a first class JVM language, Ruby's future looks pretty bright. Ruby may well replace java as the syntax of choice for developing big web apps.
    • Do you have a link for this ruby-on-jvm thing?

      I'd personally like a "Python Application Server" that's on a level to compete with J2EE.
    • What's more error-prone about Python as compared to Ruby? I'm curious because I've read a lot of discussions on the differences between the languages, and it's never been an issue that's come up once.

      • Pythons syntax relies on whitespace rather than closure for depth management. It's foreign to a sufficient number of programmers to represent a real bug risk, particularly as you try to grow toward building large programs.
        • Pythons syntax relies on whitespace rather than closure for depth management. It's foreign to a sufficient number of programmers to represent a real bug risk, particularly as you try to grow toward building large programs.

          Eh? That's like saying languages that have semicolons on the end of lines are more bug-prone because programmers sometimes forget a semicolon. Incorrect whitespacing and missing semicolons are both syntax errors that are caught at compile-time, not run-time, so in practise this is entir

          • Whitespace errors can occur far more easily than block delimiting errors. Consider the case of un-indenting one line too soon. That produces an if condition error in python. Consider failing to close a block in java: that produces a compile time error.

            Run time errors are much much badder than compile time errors.

            Given that i've worked at only one place where I didn't have to work with people who would make this kind of error, I'd much rather stick with a language that will let me avoid having to debug th
    • [This is not a troll, it's a serious question from someone who's about to start a major db-driven web app.]

      OK, everyone knows Java's a nonstarter these days. Ack, why did they kill it with Swing instead of a decent lightweight GUI (like wxWidgets [wxwidgets.org] or FLTK [fltk.org] or something)? And they never got the memory usage under control.

      But why Ruby and not python? What sort of errors is python prone to that ruby avoids? We have a bunch of python code here (scons [scons.org] and other stuff) and a bunch of older perl, and I'm relucta
      • by Simon Brooke ( 45012 ) * <stillyet@googlemail.com> on Thursday December 22, 2005 @01:14PM (#14319514) Homepage Journal
        This is not a troll, it's a serious question from someone who's about to start a major db-driven web app.
        OK, everyone knows Java's a nonstarter these days. Ack, why did they kill it with Swing instead of a decent lightweight GUI ...

        If you're writing a web app, Swing is an irrelevance. You won't be needing it and it won't get in your way. Java remains an excellent choice for serious web apps which you're going to want to maintain later. I agree with you that Swing is a horrible mess, but as someone who only writes web apps it doesn't wory me at all.

      • OK, everyone knows Java's a nonstarter these days.

        Quiet you fool! My employers and clients might hear you! Then what would I do for a job, eh?

        Seriously, I have six years commercial experience of writing web apps in Java. Would I recomend it for absolutely every situation? No, of course not. Is it categorically a non-starter? No, of course not.

        The right tool for the job; Java has its place, and to deny this with the blanket assertion that it's "a nonstarter these days" is to reveal a closed mind.
      • by adamhupp ( 29341 ) on Thursday December 22, 2005 @01:17PM (#14319550) Homepage
        A few comments:

        1. I've started using Turbogears and its is wonderful. Easy to setup, very easy to understand, and very powerful. I cannot comment on it with respect to Rails, but as far as I know it is inspired by similar ideas. One major advantage of Turbogears is that it is built out of several existing projects that have had lots of use and development, SQLObject (for Object-Relational mapping) and CherryPy.

        2. I can't imagine any reason to believe Python would be more error-prone than Ruby. From a language standpoint they are very similar. However, Ruby is a somewhat immature language compared to Python. Standard library, 3rd party support and performance are all lacking in Ruby. I'm sure these things will catch up in time, but for now it's a much newer environment and it shows.
      • OK, everyone knows Java's a nonstarter these days.

        As much as I hear this regurgitated ad nauseum in the comments here it still makes me chuckle.

        Just did a simple search on a few different cities on monster.com and it seems that there's about 10 or 11 times more positions available to java programmers than ruby and python combined.
        I've done a little python and don't mind it so much, and have only read a few tutorials on ruby and ruby on rails. They both seem ok, but neither have a syntax anything like wh
    • by Zancarius ( 414244 ) on Thursday December 22, 2005 @01:04PM (#14319388) Homepage Journal
      No one I've met doing serious development is building on python, it's just too error prone.

      I don't suppose you've heard of this company [google.com] before?

      There are dozens of others, too. I'll cite this page [python.org] as a source, though it is by no means comprehensive.
    • No one I've met doing serious development is building on python

      I work for a large tech. company in the UK and use Python for _a lot_ of my development. Google use it too: "Python has been an important part of Google since the beginning, and remains so as the system grows and evolves. Today dozens of Google engineers use Python, and we're looking for more people with skills in this language." said Peter Norvig, director of search quality at Google, Inc. Go to jobserve.co.uk and type Python into the sea

    • by latin_fury ( 940829 ) on Thursday December 22, 2005 @01:08PM (#14319438)
      That's funny, reddit.com just switched to Python (http://www.aaronsw.com/weblog/rewritingreddit [aaronsw.com]). And Google uses Python extensively inside the company, and just hired Guido van Russom, Python's creator. There are many more examples out there if you bothered to look.
    • Ruby may well replace java as the syntax of choice for developing big web apps.

      So what you're saying is that Java is being ridden out of town on a Rail?

  • Whatever praise it gets is well deserved.
    • by wmshub ( 25291 ) on Thursday December 22, 2005 @01:05PM (#14319404) Homepage Journal
      That's all a matter of opinion. I'm using python right now in a project, 35,000 lines of python at the moment. I've done Java apps of similar (or larger) size. I find python to have some nice features, but to be pretty badly unsuited for large projects. The lack of information hiding makes it very hard to ensure that fellow programmers use your classes in the way intended (and before anybody says "a good programmer will do what your comments say, so fire the people who just use the code they see" - shut up, it is not possible to hire a team of all super-diligent programmers), small typos in function/variable names aren't caught nearly as quickly, performance is far behind java (which in turn is behind C/C++ of course), etc.

      Back to the topic: based on what I'd heard about how great python was, I'd say python *IS* overhyped. It has its place where it does very well; it's a nice little scripting language. Better than sh or perl in a lot of cases. But it is not even in the same league as java for medium-to-large projects. I'd heard a lot of people call python a better replacement for java, and it just isn't.
      • The lack of information hiding makes it very hard to ensure that fellow programmers use your classes in the way intended (and before anybody says "a good programmer will do what your comments say, so fire the people who just use the code they see" - shut up, it is not possible to hire a team of all super-diligent programmers)

        Just use some naming conventions. Every sane project does. Personally, I use "_protected_member" and "__private_member". It does the trick. And really, if your python dev can't fo

      • by arevos ( 659374 ) on Thursday December 22, 2005 @02:08PM (#14320287) Homepage
        The lack of information hiding makes it very hard to ensure that fellow programmers use your classes in the way intended (and before anybody says "a good programmer will do what your comments say, so fire the people who just use the code they see" - shut up, it is not possible to hire a team of all super-diligent programmers)

        You could look at it the other way round; if there's a mistake in a Java class, you can't easily work around it. And I can think of two recent incidents where this has been the case for me.

        The speed issue is a factor, but I personally can't see why anyone would prefer Java over Python for developing commercial projects. Java's limitations are pretty frustrating sometimes, and there are times when you need to copy-and-paste segments of Java that could be avoided in Python. Java's simplistic and long-winded syntax means you have to do things the long way more often than would be convinient.

  • by $RANDOMLUSER ( 804576 ) on Thursday December 22, 2005 @12:54PM (#14319274)
    > Ruby is to Perl what C++ was to C.

    My worst write-only nightmare...
    *runs screaming from building*

  • by TubeSteak ( 669689 ) on Thursday December 22, 2005 @12:56PM (#14319290) Journal
    The book is roughly edited; you'll find yourself thinking "haven't I read this paragraph before?" in any number of places, but that's a disappointing experience I've had with several O'Reilly books of late. In many places he plays fast and loose, and almost at the end of the book he declares that he doesn't have time to learn these other languages in any depth -- although he has no trouble condemning the same languages in his rush to Ruby. Such a statement should be in the first paragraph of the book: "I've decided that I love Ruby, so I will condemn other languages without fully understanding them" (in one sentence repeated in a number of places in the book, for example, he declares that C# is no more than a clone of Java).
    Not sure if it's worth reading the rest of his book review / article
  • In short, no (Score:5, Interesting)

    by Serveert ( 102805 ) on Thursday December 22, 2005 @12:56PM (#14319297)
    I think that Real People are getting Real Work done while the flashy enthusiasts no longer have to toot the horn of Java.

    Java is faster than Ruby and as bloated as it may be, there are a ton of J2EE applications you can purchase and modify to suit your own needs. Not to mention the plethora of development environments - hibernate, JMS, JNDI, torque etc etc. ROR is nice but let's get real - ruby isn't as fast and the few applications around ruby aren't nearly as mature as Java. Having said that I'm hoping Java will get opened up by Sun but I'm not holding my breath.
    • Disingenuous (Score:5, Insightful)

      by smcdow ( 114828 ) on Thursday December 22, 2005 @01:53PM (#14320077) Homepage
      ROR is nice but let's get real - ruby isn't as fast ...

      Please. For years the Java wonks have been calling performance a strawman argument, usually followed with "get a faster machine".

      Now they're using exactly the same performance argument to argue against what is now one of the premier up-and-coming programming environments? Now the table turns; if ROR or my fave the Python-based TurboGears [turbogears.org] is too slow -- well then, get a faster machine. That argument worked with Java; now it works with Java's replacements.

      • Re:Disingenuous (Score:3, Interesting)

        by curunir ( 98273 ) *
        [RoR] is now one premier up-and-coming programming environment...

        Hehe...thanks for the laugh.

        Rails is basically a hobby-ist environment. It's useful for internal projects that don't have to be performant or scale up to more than a couple of concurrent users, but beyond that, it's tough to compare it favorably with Java, .NET or any of a host of other Enterprise solutions. It's not just speed, although Rails *is* considerably slower than Java, even when you navigate the nightmare that is FastCGI. It's als
  • by AugstWest ( 79042 ) on Thursday December 22, 2005 @12:58PM (#14319319)
    (Slashdot reader) writes, "(Uknown pundit) wrote an article about (Technology that we're not currently fond of), based on conjecture and personal opinion. Does this mean that (Technology flavor of the month) is taking over?
    • Re:Slashdot Libs (Score:3, Informative)

      by Anonymous Coward
      Bruce Eckel is hardly an "unknown pundit". Have you ever read Thinking in Java?
  • No (Score:3, Insightful)

    by kevin_conaway ( 585204 ) on Thursday December 22, 2005 @12:59PM (#14319339) Homepage
    Stop posting fluff articles in the absence of real news before the holidays.

    Java isn't going anywhere for a while. It is a fantastic language for large scale projects simply because its very easy to write maintainable code AND its buzzword compliant. That latter fact alone will keep it afloat years after it is truly dead.

    Don't get me wrong, I love [sf.net] Python and I have really high hopes for it in the coming years, but to declare that "enthusiasts" have left Java, seems silly
  • by nate1138 ( 325593 ) on Thursday December 22, 2005 @12:59PM (#14319343)
    So, will the Slashdot collective make fun of them again when their latest platform du jour fails to live up to its hype?

    They ALWAYS do ;-)
  • by FnH ( 137981 ) on Thursday December 22, 2005 @01:00PM (#14319347)
    Different problems, different solutions, different languages. As always, pick the right tool for the job.

    ROR having (more) hyper-enthousiasts only means it's newer.
  • by plopez ( 54068 ) on Thursday December 22, 2005 @01:02PM (#14319370) Journal
    Of course it has. IT actually is not too far removed from the fashion industry.

    about 10 years ago:
    Cast off those old tired relational databases! It's all object databases! It new! It's modern! It's chic!

    C++? So passe'! The greatest thing is Java! So trendy, so fresh!

    In the past few years:
    Object databases are not with it! XML databases are the way to go! So modern! So *you*!

    Now:
    It's Ruby on Rails! What are you thinking using that dingy old Java! So... last season! Step into the 21st century!

    etc.

    The only thing I can think of which is more fad driven are diet books and management crazes (E.g. '7 habits of Effective Plan Z 2 Minute TQM EManagement iCommerce Gurus for Dummies (but were afraid to ask)').

    Yet another reason to leave IT.
    • by Animats ( 122034 ) on Thursday December 22, 2005 @01:26PM (#14319671) Homepage
      If course it has. IT actually is not too far removed from the fashion industry.

      You thought fashion fads just happened? It's much more organized than that. The "in" colors for US fashion are chosen 22 months in advance, by the little-known Color Association of the United States [colorassociation.com]. Color forecasts are issued to subscribers, and the textile mills, dye manufacturers, and clothiers start to gear up for the coming seasons. Because there are some long manufacturing lead times to produce fabrics in huge volume, the style decisions have to be organized.

      "Pinks and fuchsia were everywhere in spring 2003; CAUS members knew this in spring of 2001."

      Here's the activewear color plan for 2006-2007:

      • Colors are anchored by light and dark neutrals in addition to the ever important white.
      • Red will return as a leading bright, in coral and raspberry shades. - In color combinations, tonalities of one shade look new and dynamic.
      • Cool colors like Apple Green, Indigo and teals are soothing, and especially attractive when matched with brown-influenced neutrals like Wheat and Terracotta. Finishes such as metallicizing add dimension and interest to color and fabrications.

      Color changes in fashion do not happen by accident.

      • Just to clarify the hyperbole, CAUS is a private consultancy providing color popularity forecasting. They have a panel of folks from different parts of the color industry (clothing, paints, dyes, advertising, etc.) who are all expected to be 'in tune' with current trends. That panel generates a series of reports that interested parties subscribe to to help guide their planning.

        Thus they're no different from Gartner pronouncing "Small Form Factor PC's will be hot next year!" or "This will be the year of Ta

  • by NutscrapeSucks ( 446616 ) on Thursday December 22, 2005 @01:02PM (#14319371)
    I hope nobody takes this the wrong way, but both Python and Ruby seem to be "VB for the 21st Century" -- as in tools to build quick-and-dirty apps without all that annoying type safety. In other words, they don't really directly compete with Java at all.

    However, I don't think either have even registered at all in the commerical job market, so comparisons to Java are especially silly. As long as the Java programming market is so huge, there will be plenty of hype.
    • by timeOday ( 582209 ) on Thursday December 22, 2005 @01:30PM (#14319734)
      both Python and Ruby seem to be "VB for the 21st Century" -- as in tools to build quick-and-dirty apps without all that annoying type safety. In other words, they don't really directly compete with Java at all.
      I think Ruby (and Python?) *are* typesafe, in that sense that all data is typed and only operations for that type can be used on that data.

      Java is different in that it has static type checking, but it also has dynamic typing constructs like dynamic_cast which can raise runtime type erorrs, just like Ruby. Static type checking is handy to decrease the number of dynamic type errors, but I don't see how it's any more *secure* than dynamic typing.

      All of Ruby, Python, and Java are in a different class than C/C++ which don't guarantee anything about object types.

      • Well, in that case VB is "typesafe" too.

        But that gets to the heart of the issue -- Solutions developers learned the hard way with VB that runtime type-checking significantly hurts the "scalability" of a development project, both in size and # of developers. But now that VB has been written off and forgotten, so have the lessons, and a new generation is about to relearn them with new and cool languages.
    • It always seems to me when I see this argument that it's the "but it's not type-safe" people that don't get it.

      I, like lots of other dynamic language proponents, come from a background in type-safe languages but eventually I realized that in most cases static type checking did nothing but slow me down. It doesn't matter if your code is correct at compile time, it only matters if it's correct when it's being used and the reality is that type-safe and dynamic language users verify this the same way, wth auto
    • Indeed. I'd ask what the Python and Ruby counterparts to, say java.util.concurrent.ConcurrentHashMap [sun.com] or java.util.concurrent.SynchronousQueue [sun.com] are, if I didn't know about the Global Interpreter Lock which quite effectively limits any serious adult use, outside of the sandbox where wild imaginations roam free and little shovels and sand cakes seem to do anything anyone might ever want.
  • Nope. Still here. (Score:3, Interesting)

    by Soong ( 7225 ) on Thursday December 22, 2005 @01:06PM (#14319411) Homepage Journal
    PHP sucks, it's a lousy language with crappy syntax and barely existant error checking.
    Python is an ok language but its interpreter is slow, and that's coming from a Java guy.

    So, in summary, suck it, I'll keep writing Servlets for Tomcat.
  • It's gone to .NET (Score:5, Insightful)

    by Brandybuck ( 704397 ) on Thursday December 22, 2005 @01:06PM (#14319416) Homepage Journal
    Has the previous hype of Java and J2EE moved on to Ruby (on Rails) and Python?

    No, the hype has moved on to C# and .NET. The religiosity people have towards Microsoft's semi-proprietary technology is definitely reminiscent of the 1990's Java hype. Especially among management (who think they've finally found the silver bullet).

    I don't blame people for getting excited over .NET, because compared to MFC and traditional COM, it's a wonderful thing. But many people are going overboard on it.
  • by Matt Perry ( 793115 ) <[moc.oohay] [ta] [45ttam.yrrep]> on Thursday December 22, 2005 @01:07PM (#14319423)
    leaving a significant contingent of Java programmers behind, blinking in the bright lights without the constant drumbeat of boosterism
    As a Java developer I've never felt that I needed hype and "boosterism" to make me feel like I was using the "right language". Java is a tool. Where it best fit, I used it. Where it didn't I used something else. At work we use Java and we're quite happy with it. I think Java will do just fine without the fanboys.
  • by Billly Gates ( 198444 ) on Thursday December 22, 2005 @01:07PM (#14319424) Journal
    I am really just rediscovering Java now and the API's are very nice.

    Java is stable, mature, and scalable, right out of the package. Python is nice for small projects and scripts but Java's strength is not the language. Its the api's and framework as well as the ton of third party software for it. For large sites Java is still the best way to go. Especially for ecommerce sites for businesses. Php is not there yet and is quite inconsistant with a immaturish feeling. Results vary drastically depending on who wrote what. There are tons of third party java objects and programs that co-exist and integrate with your java based servlets.

    Java seems to have found its niche since multiplatform desktop applets never took off. Not to mention java is pleasant to debug and the tools are nice.
  • by Omega1045 ( 584264 ) on Thursday December 22, 2005 @01:09PM (#14319451)
    Ruby (on Rails) and Python

    I would imagine that .NET is gaining much more of the Java base of applications than Ruby and Python combined. That is no disprespect to those two fine languages. Microsoft wrote .NET to compete with Java, and that is exactly what it is doing. I am working on a project right now where the last version of the app was written in Java, and the new in C#. When interviewing for jobs a couple of years ago, I think I interviewed with at least 5 companies that were doing the same. This is hardly scientific evidence, but I have a much easier time believing that companies would switch from Java to C# than to other languages, if they are going to switch.

  • by 0xABADC0DA ( 867955 ) on Thursday December 22, 2005 @01:11PM (#14319485)
    That's why Java has been so successful. It made a compromise between performance and ease. It made a compromise between compiled and interpreted. It made a compromise between local applications and applets. It made a compromise between easy-of-use and formalism.

    C++, which Bruce used to love, made *no* compromises, except to run C code. It wanted to include anything possible as long as it was fast, and it did except that it was so freakin complicated that even to this day sometimes compilers can't interpret the source correctly. In the same way, Ruby (and Smalltalk) also do not make compromises. They say 'everything is an object' even though that means computations are 20x slower even after decades of optimization. They say 'no type checking' (if it acts like a duck it is) even though it is pretty much a necessity for large or reliable systems.

    Regardless of the level of hype, the real world of programming is about compromises. It's about Java, and C#. Sure there will be plenty of work at the edges for Ruby/Smalltalk and C++/C, but Java-like languages will be the center of programming for decades yet.
    • "20x slower" (Score:3, Interesting)

      Jacques Surveyor summarizes [theopensourcery.com] Doug Bagley's benchmark opus [debian.org] to shed light on this important comparison:

      "What emerges from examining the Bagley Benchmarks is that programming languages are breaking out into 3 speed tiers for raw computing power:"

      1. Compiled native code languages C, C++, GNAT Ada95, OCaml are the fastest. No surprise there.

      2. Byte code engines such as Java, Mono C# and Python average 7-12 times slower than the first tier...

      3. Interpreters such as Ruby, JavaScript, PHP and Rexx

  • time to move on (Score:3, Insightful)

    by penguin-collective ( 932038 ) on Thursday December 22, 2005 @01:12PM (#14319491)
    I used to be quite enthusiastic about Java--it had a lot of promise when it came out. But I think Java has stagnated and it's time to move on.

    What are the problems?

    First, Java never turned into an open standard like C or C++. Initially, it looked like there were going to be dozens of independent implementations besides Sun's and Microsoft's, but they have all disappeared. The only way to run a compliant Java platform these days is with Sun's implementation or one of its derivatives (IBM, Oracle, Apple).

    Second, Java is focused on niche markets; most of Java's real-world use seems to be in enterprise apps, a market segment that by itself is not enough to sustain a general purpose programming language (Java may well be the new Cobol).

    Third, related to the above points, Java has failed to evolve sufficiently. Sun has failed to address concerns and needs of the scientific and numerical communities. And many of Sun's changes have been hampered by backwards compatibility with the JVM (e.g., genericity in Java 1.5 is deeply flawed). And Java never acquired a reasonable native code interface, keeping it out of many applications.

    Java has made a valuable contribution by demonstrating to many working programmers that features like garbage collection, reflection, and runtime safety are useful, but those features are essentially 1970's technology. Sun has failed to evolve Java beyond that, and that's why it's time for other languages and other stewards to take over. Fortunately, there are many other excellent languages being created. The Java language itself (but not the platform) will probably be with us for a long time, although probably running in many environments other than the JVM.

    Java had the potential to be a lot more than just a transitional language from C/C++ to modern, safe, reflective languages, but Sun unfortunately has failed to realize that potential fully.
  • by lonb ( 716586 ) * on Thursday December 22, 2005 @01:14PM (#14319518) Homepage
    Most senior engineers I know do not get "hyper-enthusiastic" about anything. The gross majority (pun intended) of hyper-enthusiastic software folk are the softies... ya know, the guys who think VB is the cure-all or who don't have time to learn things in depth. When was the last time you met a true engineer who's primary fault was that they ALWAYS learn things in depth -- analysis paralysis is rarely top-down.

    The bottom line is that the majority of programmers are bad programmers. These move to the easiest fad where the majority of people go. And that's not a horrible thing, it's just a thing most senior engineers don't care much about. Because, and I say this after interviewing tons and tons of developers, real devs dig deep on their own, and do not 'rely' on the work of others. And before I get flamed here, it's not to say they don't use the work of others, it's just that I've seen many seniors spend hours trying to figure out how something works, rather than spend two minutes asking for help.

    p.s. I think Bruce Eckel is awesome -- "Thinking in Java" is rockin'


    • Sorta off topic, but can you explain how this

      I've seen many seniors spend hours trying to figure out how something works, rather than spend two minutes asking for help.

      is a good thing?

      What if the two minute explanation includes the fundamental answer to the question? I think a good developer (regardless of years of experience) knows when to ask a question and knows when to improve knowledge in an area. If would be quite unhappy as a manager to pay a developer for hours of research if the answer could hav

      • The issue is short-term versus long-term. If the overall goal is short-term results (an instant answer to a question), then asking may be the best bet. I argue that long-term is better though. If I spend a little more time researching the answer, but it means I have in-depth knowledge of everything involved, I'll be able to solve all sorts of related problems 10 times faster. Which is better now?
    • p.s. I think Bruce Eckel is awesome -- "Thinking in Java" is rockin'

      I think you forgot to mention that "Thinking in Java" [mindview.net] is also a free download, no strings attached. The C++ version of this book, "Thinking in C++" [mindview.net] (also a free download), helped me "get" OOP.

  • by slipnslidemaster ( 516759 ) on Thursday December 22, 2005 @01:18PM (#14319559)

    Just another religious war.

    C++ vs. Java
    C vs. C++
    C++ vs. Smalltalk
    Lisp vs. everybody
    Perl vs. PHP
    Javascript vs. VBscript
    VB vs. C++
    Delphi vs. VB

    Haven't we moved past this language is great but this language sucks yet?

    You use the tool that will get the job done the best and easiest. If you tried hard enough, you could probably use the Lotus 123 macro language (showing my age) to write a web app, but would you want too? With someone of these languages, Python, Perl, PHP, Ruby, Java they are similar enough that they are all good enough for the same jobs. Languages are tools that programmers use to write applications. Personally, I like PHP and Ruby but I'm not knocking those that like Phython or Java.

    Why knock that someone likes another language?

    Why another religious war over Ruby vs. Java?

  • You all need (Score:5, Insightful)

    by greg_barton ( 5551 ) * <greg_barton&yahoo,com> on Thursday December 22, 2005 @01:24PM (#14319633) Homepage Journal
    First line: But the majority of programmers, who have been relatively quiet all this time, always knew that Java is a combination of strengths and weaknesses. These folks are not left with any feelings of surprise, but instead they welcome the silence, because it's easier to think and work.

    That's exactly my attitude, too. Couldn't agree more.

    You know what I liked most about the tech bubble bursting? All of the loudmouths, charlatans, and marketriods went elsewhere for a while. I got to do some real work for a change instead of building demos. :)

    So the hypemeisters have a new favorite platform? Great! I can stop reading the slashdot posts from anit-hype nazis who only love to yell at marketriods. A pox on all of your houses, I say.
  • by presidenteloco ( 659168 ) on Thursday December 22, 2005 @02:39PM (#14320690)
    Having used Java exclusively since 1995, I've decided to try a webapp in python (turbogears).

    The turbogears python webapp framework is a nice bit of tool integration for rapid development.

    Python itself is a mixed blessing compared to Java.

    On the one hand, it has very nice compact, in-built syntax handling of multiplicity (lists, dictionaries, tuples) as all powerful languages should have and java still lacks.

    It has other simplicities and flexibilities that are nice.

    However, the "pythonic" philosophy of "anything is allowed if you try hard enough
    could be re-termed "moronic". It's just bad design to have multiple ways of
    doing the same low-level thing in a language. Complexity multiplies, as we all
    know.

    Also, Python is not as platform agnostic as Java in issues such as byte-ordering
    in data structures etc, nor is it as secure as java in this respect, because
    java does not specify the representation in memory of its data objects, making them
    more difficult to sniff.

    Java also has other code security features that python to my knowledge lacks, such as class bytecode verification,
    class loader security, etc.

    Finally and importantly, while Java's (and its standard libraries') documentation is only moderately detailed, at least it is consistent and pretty complete.

    The same cannot be said for python documentation, which is sloppy and incomplete, and
    inconsistent in places.

    So is python "progress" from Java? In some O-O and functional programming language respects
    yes, but in platform quality, simplicity, platform-agnosticism, learnability, and security,
    no.

    We still need a new language that combines the best of these breeds.

  • by cpu_fusion ( 705735 ) on Thursday December 22, 2005 @02:49PM (#14320863)
    Why not run those dynamic languages and newfangled frameworks on the JVM? There's always JRuby [sf.net] and Jython [sf.net]. Not to mention Groovy [codehaus.org], if you prefer the Java syntax.

    Granted, some of the frameworks, like Stackless and Rails, may not run on these tools, YET ... but there's really no reason to start totally from scratch and throw out a nice VM and a nice set of libraries...

If all else fails, lower your standards.

Working...