Become a fan of Slashdot on Facebook

 



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:
  • Hype? (Score:3, Informative)

    by whargoul ( 932206 ) on Thursday December 22, 2005 @01: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.
  • by wmshub ( 25291 ) on Thursday December 22, 2005 @02: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.
  • Re:Slashdot Libs (Score:3, Informative)

    by Anonymous Coward on Thursday December 22, 2005 @02:06PM (#14319421)
    Bruce Eckel is hardly an "unknown pundit". Have you ever read Thinking in Java?
  • by Billly Gates ( 198444 ) on Thursday December 22, 2005 @02: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 latin_fury ( 940829 ) on Thursday December 22, 2005 @02: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.
  • by Simon Brooke ( 45012 ) * <stillyet@googlemail.com> on Thursday December 22, 2005 @02: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.

  • by timeOday ( 582209 ) on Thursday December 22, 2005 @02: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.

  • by NutscrapeSucks ( 446616 ) on Thursday December 22, 2005 @02:41PM (#14319900)
    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.
  • Good Riddance (Score:2, Informative)

    by jcrowder ( 170447 ) on Thursday December 22, 2005 @02:46PM (#14319963) Homepage
    I say good riddance to them. Nothing contributes more to this industry-wide attention deficit disorder than these technology evangeslists that have somehow gained celebrity status, then abuse it to sell more books and fill seats in technology symposiums.

    Java works for me. I get paid to do it, and I'm tired of all the noise.
  • by arevos ( 659374 ) on Thursday December 22, 2005 @02:53PM (#14320078) Homepage
    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 entirely a non-issue.

    Despite having twice as many years experience programming Java than Python, I've found that Python's whitespacing is far less prone to error than other methods of block delimiting. I can count the number of times I've messed up my indentation on the fingers of one hand. The number of times I've missed the occassional semicolon or bracket must number in the hundreds.

  • Re:Hype? (Score:1, Informative)

    by Anonymous Coward on Thursday December 22, 2005 @03:00PM (#14320167)
    To be fair, Java's hype was well deserved. It was the first platform with a highly complete API set included in the core

    What? What??! C included libc, C++ has libc+STL, Smalltalk had a comprehensive API, and there are numerous other examples.

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

    That's mostly a web server issue, and it's technically untrue. You could write a multithreaded C program to handle web requests using pipes or other IPC mechanisms.

    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.

    Again, what? All functional languages support reflection because functions are first class objects. Objects are a natural extension in functional languages as well, and most use some sort of virtual machine and were all cross platform.

    I look back at days before Java, and they seem like the dark ages of computers.

    You looked in the wrong dark corners, oblivious to the superior (yes, even to Java) functional languages that, true, have been ignored by "mainstream" users, even in computer science.
  • Re:Hype? (Score:2, Informative)

    by Anonymous Coward on Thursday December 22, 2005 @03:00PM (#14320168)

    it was the first language with reflection designed into its core



    *cough* Smalltalk *cough* LISP *cough* *cough*

  • by Magnusite ( 526038 ) on Thursday December 22, 2005 @03:11PM (#14320334)
    Not sure if it's worth reading the rest of his book review / article

    Actually, it is. If you haven't read any of his work, you might dismiss Bruce Eckel as just another one of the proliferation of people writing programming books these days. Fifteen years ago, if you walked into a bookstore, you'd find about three books on programming languages, with all the rest being dedicated to Lotus Symphony and DBase III. Today, any schmuck with a publishing connection can write a book on Ruby, Perl, Java, or what have you. When I went looking for a book to make the transition from C to C++, I scanned through dozens of C++ programming books before I found Thinking in C++. It's very well written, does not patronize you, covers real world problems in the language instead of boring you with another introduction to sorting, and demonstrates some pretty nifty tricks that he gleaned from Andrew Koenig, among others.

    Bruce is a real software engineer, and writes and speaks to the same.

    Not trying to start a flamewar, just don't dismiss the man because he speaks the truth.

  • by presidenteloco ( 659168 ) on Thursday December 22, 2005 @03: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.

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

    by JPrice ( 181921 ) on Thursday December 22, 2005 @03:55PM (#14320947) Homepage
    I think that it's much better to teach functional programming first, because that's exactly how the computer handles it. It's also a little easier to wrap your head around. "There's this list of instructions. The computer does each instruction in order."

    I'm guessing you probably mean procedural programming [wikipedia.org], since as the poster above said, what you're describing isn't functional programming [wikipedia.org].
  • 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 Tablet Windows!".

    Nothing Orwellian, no Central Planning, just the same sort of forecasting that happens in every trade & industry.

    I've a number of friends who are subscribers to CAUS's & others reports, they say they're generally pretty on, and are rarely much of a surprise to folks paying attention in their fields. Indeed I was told 2 years ago by a buddy to watch, last year and especially this year look for holiday decorations to have lots of purple and black and raspberry and long skinny legs would be very in; he was right.

    Just like in business practices and coding strategies there is a lot of group-think that keeps everyone sorta in sync with each other (beyond everyone knowing that hemlines HAVE to change up or down every few years). Occasionally there are huge shifts caused by outside influences, fluorescent colors in the 60's due to dyes becoming available, now shimmer surfaces because durable ones have become relatively cheap, but even those are fairly well anticipated.

    If you're interested enough try writing a dozen or so folks you think are very 'in tune' with an area of interest, then next year see how accurate they were. If you can show a decent track record of getting good predictions then hey, I smell $$ subscriber report...

    Oh, and those color predictions: Good to keep in mind when painting the living room, buying furniture or a new car.

  • mustang (Score:1, Informative)

    by Anonymous Coward on Thursday December 22, 2005 @04:07PM (#14321087)

    and has a compiler/VM to which you have no source code access!

    The source is here: https://mustang.dev.java.net/ [java.net]

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

    by TheNetAvenger ( 624455 ) on Thursday December 22, 2005 @04:22PM (#14321275)
    No it didn't. ASP was interpreted up until ASP.NET.

    Actually ASP was server side compiled and cached long before ASP.NET...
  • by DdJ ( 10790 ) on Thursday December 22, 2005 @04:39PM (#14321494) Homepage Journal
    I'm not saying that Python is the ultimate language, but I think everyone has to agree that it's a better choice than Java for programming courses in universities.
    Nope. I won't agree to that, for one simple reason -- whitespace has meaning in Python.

    A university cannot make a programming language choice that introduces unnecessary barriers to blind students. Python does so.

    For programming courses in universities, maybe Ruby is a better choice than Java. Maybe Perl even is. But Python is not, because of this one simple feature that completely rules the language out, in my book, regardless of how good the language is otherwise.
  • by MojoStan ( 776183 ) on Thursday December 22, 2005 @04:54PM (#14321663)
    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 TromboonDotPy ( 861822 ) on Thursday December 22, 2005 @05:05PM (#14321799) Journal
    As a high school computer science teacher, I'm hesitant to say what university CS departments should use.

    But I can talk about what makes good teaching languages. The purpose of a teaching language is to serve BOTH those who will be programmers, and those for whom CS1 is just an interesting (hopefully not harrowing) life experience. Python, with its VERY low floor and VERY high ceiling serves both purposes exceptionally well.

    I use Python with high school freshman and sophomores as a "pre-AP" language, and find it a real joy to use. In fact it has really turned part of my professional life around, and made me renew my commitment to teaching younger kids programming-as-such. I'm having a blast.

    I have used Pascal, AP-ified C++, Scheme, and Java. I've taught structured programming, objects, and functional style.

    I find that teaching state machine programming with Python is providing hooks to start many wonderful conversations about variables, values, expressions, control, objects, garbage collection etc. etc... And, mirabile dictu: the way the math works relates to Algebra in a comprehensible way!

    Most significantly, students are showing inititative and making up little hacks on their own in a way that they haven't since Turbo Pascal. As a constructionist kinda guy, that's the big win for me.
  • by aCapitalist ( 552761 ) on Thursday December 22, 2005 @11:11PM (#14324320)
    I don't think Java or Swing is really slow these days. I run the weekly Mustang builds and Java is plenty fast - way faster than Ruby for obvious reasons. But I just tried the weekly build of Mustang SwingSet2 demo and it still doesn't look all that hot on an XP LCD at 1920x1200. The fonts are just too damn small compared to my system fonts. There's needs to be more hooks into the native OS in order for Swing to get hints about approximately it should use. And Swing fonts on an LCD have been a freaking nightmare for ever since there have been LCDs. Mustang finally is attempting the subpixel rendering in Java 6 (Mustang), and they've got it down partly. The actual font rasterizations could use some work though still. Why, oh why, did Sun decide they had to paint everything themselves years and years ago. Why couldn't they have used more native OS hooks...like fonts. SWT wouldn't have had to been invented and Swing would look great. And now finally in Java 6, they're starting to use more gtk hooks and windows hooks. But it's so freaking late. Anyway, that my rant/history of Swing.

    And so I would prefer native fidelity I much prefer SWT/JFaces...or the RCP as a whole depending on how big I'm talking. So SWT is a pretty raw API. They put Jfaces on top and to the side the API stack, but JFaces isn't as powerful as something like Swing, so...

    To me, the only thing that doesn't make programming in Java a complete monotonous/boilerplate-ridden pain in the ass are the IDEs, which everybody knows are second to none. But hell, give me Ruby and vim and I'm good to go even though the RDT and RadRails plugins for Eclipse are getting better. Ruby and/or Python both could use a rich Smalltalk-like environment like that were around (and I guess still are) 20 years ago. At the very least the move to a real VM in Ruby 2.0 will be nice and bring up performance considerably.

Thus spake the master programmer: "After three days without programming, life becomes meaningless." -- Geoffrey James, "The Tao of Programming"

Working...