Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Java Programming

The Future of Java? 624

Todd AvErth writes "Judge Motz recently ordered Microsoft to distribute Sun's JVM with every Windows product. Salon decided to pipe up about it with an editorial musing about whether or not it's too late. Most of it isn't all that interesting, but some of the comments from Ximian developer, Miguel de Icaza point to the advantage of being able to compile from multiple languages. Anyone know of any projects to compile JVM bytecode from other languages?" Update: 01/23 16:00 GMT by M : Comments were disallowed when this story was originally posted; fixed now. My mistake (although KDE3's stupid mouseover-activates-form-elements user interface, now finally fixed in the latest versions, has to take some blame too).
This discussion has been archived. No new comments can be posted.

The Future of Java?

Comments Filter:
  • by Neon Spiral Injector ( 21234 ) on Thursday January 23, 2003 @12:05PM (#5143372)
    So where are the processors that Sun promissed that would run Java bytecode natively?
  • by smd4985 ( 203677 ) on Thursday January 23, 2003 @12:05PM (#5143374) Homepage
    I like the article, and I think it is easy to see that Java is going to continue to be a force.

    On the server side it has always been a great solution (great for building complex applications, no performance degradation with 'backend' code, and very stable and safe).

    On the client side, the MS/Sun ruling will be a huge boon to the applications side - of course developers will start building client side apps! "If the JVM is there, they will come" :) Sure Swing is a little sluggish, but when everyone is running a p4 2GHz, it really doesn't matter....

  • GCC? (Score:3, Interesting)

    by mmol_6453 ( 231450 ) <short.circuit@OP ... et.com minus bsd> on Thursday January 23, 2003 @12:05PM (#5143379) Homepage Journal
    Wasn't there work a while back that would allow you to mix and match gcc language modules with target architecture modules? What ever happened to that?
  • Java? Future? (Score:5, Interesting)

    by FortKnox ( 169099 ) on Thursday January 23, 2003 @12:06PM (#5143387) Homepage Journal
    This really perterbs me. Java's future wasn't in question when MS refused to put the JVM into the OS. Java has been successful in the IT industry THROUGH the major drought the IT industry has had.

    I work as a J2EE consultant (and consulting has taken the brunt of the recession in the IT industry) and my job has not been in danger at all. J2EE is still one of the choice languages for large, complex, dynamic websites.

    Most people that think its in question either do a "I haven't seen an applet/swing app in a while, so Java must be dying", or a "I heard about java in the past, but not recently so it must be dying". This is almost as sad as the "*BSD is dying troll"


    I also have one side note about my sig. For those that haven't tried to comment in when the story was posted, it was posted as a new 'friends only' post for a good 20 minutes (and note, michael has no friends marked, so no one could post). This just adds to my frustration that slashdot is immature when it comes to its software lifecycle. Where's the testing build (or testing at all, for that matter)? Where's the notification when changes are coming? Shouldn't the audience know when new features are added (so at least we can test them, or can be on the watchout for bugs)?
  • by zaqattack911 ( 532040 ) on Thursday January 23, 2003 @12:07PM (#5143403) Journal
    I think it is important to make this distinction. Don't fall victim to Salon's BS. Granted they have a talented team, and they are good writers. But so help me I am sick an tired of their political twist on everything, and their constantly playing devils advocate on every topic. The more leftist they get.. the more they alienate many of their readers.

    Heh.. ok now that my rant is over...
    What if Sun goes under? This could be a good thing. What if the java platform became GPL ? I think this is an important distinction to make.

    Perhaps the only thing holding back the Java platform is sun holding onto it.

    I have nothing to say about .NET :)

    --noodles
  • by NineNine ( 235196 ) on Thursday January 23, 2003 @12:09PM (#5143428)
    Sure Swing is a little sluggish, but when everyone is running a p4 2GHz, it really doesn't matter....


    At the rate of PC sales, I think it's gong to be quite some time before that happens.
  • by Spencerian ( 465343 ) on Thursday January 23, 2003 @12:12PM (#5143446) Homepage Journal
    It's never been too late for Java, any more than its too late for other less popular but powerful languages. Just because Perl is around doesn't make TK, or AppleScript, or Python any less useful, for instance.

    I've found that Java is great for complex applications that need cross-platform ability when programmers can't spend too much time in making that compatibility happen. Mac OS X is among the strongest Java clients around, and it shows every time I download a raw JAR and just use it. YMMV, but Java has a lot of warmth left in its cup, and, if other platforms aside from MS continue to support, we'll all get free refills.

    (Sorry for the many metaphors. Haven't had my cup of coffee this morning--ack, I did it again...)
  • Java developer (Score:1, Interesting)

    by Anonymous Coward on Thursday January 23, 2003 @12:13PM (#5143459)
    Our company is just about to start a big customer project and because the target system is Windows and there certain needs we were thinking to go for C#, but due to recent ruling and our own test we decided to pick Java. That makes me SO happy.
    I know there are quite many companies how are just starting to accept Java as THE programming language.
  • by ShatteredDream ( 636520 ) on Thursday January 23, 2003 @12:14PM (#5143462) Homepage
    My first two programming classes were in Java. I really think we would have had more fun learning the same concepts in Python. The thing that I've come to love the most about Python is that it doesn't force you to build an entire class just to test a feature. It's a great language to encourage CS students do their own experimenting with.

    I'm personally ambivalent to Java. I like it for some things, but the only real reason I want to learn it is because so many use it. I just recently discovered wxPython and think it's probably easier for me than Swing or AWT.

    The best thing that could come from Java for development as a whole IMO is Javadoc. If that tool were extended to support C++, C#, VB.NET, Python, PERL, etc it would make everyone's lives easier. Seriously, has anyone seen better documentation than Sun's Javadocs from something so big and complex as Java's libraries?

    I'm really excited about Mono because I really like VB.NET and C#. I think the ability to use any language you want with the same libraries is a very important strength that .NET has over Java. I know there are other languages that __can__ targe the JVM, but Sun doesn't exactly seem to be pushing that. I'll never understand why though. Java could be made into their platform's equivalent of C# and they could develop their own clone of VB for Java. Hmmmm VB-J? It'd be great if they'd build VB and ObjectPascal compilers that target the JVM.
  • Universities (Score:5, Interesting)

    by SnAzBaZ ( 572456 ) on Thursday January 23, 2003 @12:14PM (#5143472) Homepage
    I think Java's future can only get better, not because of the recent ruling against Microsoft - which to be honest I don't think is all that important. Rather, the fact that all the universities (at least over here in the UK) seem to be adopting Java as their main language for Computer Science and related courses. It won't be long before a whole generation of enthusiastic Java coders emerges.

    Another issue is that as linux becomes more widely used, code that can easily be run on multiple os's becomes far more valuable. And developers may turn to Java for this reason, especially with all the cheap, fast, hardware we're all running nowadays where speed and efficiency arn't as important as they used to be in many situations.
  • perljvm (Score:3, Interesting)

    by tommck ( 69750 ) on Thursday January 23, 2003 @12:17PM (#5143494) Homepage
    Brad Kuhn's project, perljvm has been around for a long time. (Yes, that [fsf.org] Brad Kuhn [ebb.org])


    And, coincidentally, I went to college with him, so I have to give him a plug :-)

    T

  • by jeremy_a ( 747 ) on Thursday January 23, 2003 @12:26PM (#5143579) Homepage
    I think people make a bigger deal of MS shipping Java than they should. Java on the client has been in pretty sad shape for a long time, yet Java's popularity has grown. It's used a lot for server-side applications, and apparently in embedded applications as well (although I'm not as familiar with that side of things). Whether or not MS ships a decent JVM on Windows doesn't change this -- Java will continue to be used just as it is today.

    Does it make a difference for Java on the client? Maybe. Although most of my Java work has been on the server side of things, I have written a couple of Java client apps as well. But those were for use inside the intranet, so it wasn't a big deal to require users to install a JVM. It certainly won't solve all of Java's client-side problems. Performance is much less of a problem than it was in the early JVMs, but most Java clients are still slower than their native counterparts. Perhaps more importantly, there are quite a few bugs in the GUI libraries (both Swing and AWT) that make it difficult to write highly polished applications. And with Swing you get problems with the look-and-feel not matching the native platform, which is a problem for some. But I think that part of the reason why these are still problems is because Java on the client hasn't really taken off -- maybe more of these issues will get solved if people start looking at Java as a valid client platform (because MS is shipping it with Windows) and start writing more client apps.

    But regardless of whether it makes a difference, I think the ruling does make sense. MS had a contract to provide a compatible JVM, and they didn't hold up their end of the contract. (At least that's my understanding -- I don't know the complete details of the contract.) Therefore they should have to make ammends -- maybe it is too late to "save Java" on the client, but it shouldn't hurt.
  • by Anonymous Coward on Thursday January 23, 2003 @12:27PM (#5143586)
    I think Java is in an excellent position. There's no doubt that Microsoft could kill any technology that relies on Windows, but Java is in a very strong position nonetheless. With Mac, Windows, and Linux all thriving, it only makes Java stronger. The stronger either Linux, Mac, or another OS alternative gets, the stronger Java will get.

    Otherwise, I could not be happier with it. It's a truly unbelievable technology. I would classify as one of those that did not have an "existing investment" to protect, but I think the reasons for writing an application in Java are enough to warrant it. It was a bold move not to allow direct memory access, and it's a strategy that will pay off. As network use increases, Java is like Noah's Ark in terms of stability, security, and network performance. People thought they were crazy, but now they're starting to understand. Sun said the "network is the computer" so long ago it's not even funny, and Microsoft is trying to act like a visionary with .NET, and it comes across as simply a ringing endorsement of Java. Nothing can match Java's openness, flexibility, and power.

    That said, I think the only real chance for .NET is for Microsoft to GPL their implementation. They will have to compete in the areas of openness and competition on the Internet, or the Internet will eventually win. That would be the only possible advantage that would make developers shift away from Java. Miguel, although he may enjoy the limelight, is seriously deluded and is bringing his confusion to others. What he is using and plans to incorporate into his strategy is not .NET. He is using the CLR and C# specs, NOTHING more. Even if those are standardized and "protected" somehow legally (a legal body standing up to Microsoft remains to be seen, which is why this Java ruling is promising), it is a small subset of .NET. He should avoid using that moniker, since it confuses everyone. He is not using .NET. He is not using .NET. He is not using .NET. He is not using .NET. He is not using .NET. Miguel, you there? You are not using .NET. Stop using that word. There, that will hopefully help to counter his blatant attention grabbing.
  • by samael ( 12612 ) <Andrew@Ducker.org.uk> on Thursday January 23, 2003 @12:31PM (#5143621) Homepage
    I know that multiple languages can compile to Java Bytecode.

    Can anyone tell me if one Java-compiling language can use objects written in another one?

    To me, this was a major advantage of .NET, and I'm wondering if Java can do it too.
  • Re:GCC? (Score:5, Interesting)

    by ntijerino ( 306851 ) on Thursday January 23, 2003 @12:32PM (#5143627)
    GNU has gcj (http://gcc.gnu.org/java/) which is pretty cool, if not complete. Compiling java into native seems like a better idea than compiling other languages into byte code. Even if you did compile other languages into bytecode, you could then use gcj to compile that bytecode into native, so I guess it all just works.
  • by Sajarak ( 556353 ) on Thursday January 23, 2003 @12:33PM (#5143633) Homepage
    I'm asking myself the same question... There are several reasons why business would still have a strong interest in Java (integration with Sun and IBM products, a mature, stable language, lots of Java programmers, and so on.)

    But for more small-scale projects, writing software to run in the .NET framework seems to make a fair bit of sense, especially if you want a GUI and your target audience is only Windows users. There are still a lot of things that you can't do in Mono or DotGNU, though, most notably Windows Forms, and it remains to be seen how reliable their implementations will be.
  • NetREXX (Score:2, Interesting)

    by atcurtis ( 191512 ) on Thursday January 23, 2003 @12:35PM (#5143646) Homepage Journal

    NetREXX came available while Java was still in it's 1.1 iterations... Developed by Mike Colinshaw (spelling probably very wrong) at IBM.

  • by Sircus ( 16869 ) on Thursday January 23, 2003 @12:42PM (#5143691) Homepage
    If I start with 100,000 users and grow to 200,000 users, I grow 100%. If I start with 10 users and grow to 100, I've grown 900%. "Fastest-growing" doesn't often mean a lot. Anything that starts with 0 users and has anything more than 0 users a year later can by definition say "No language is faster-growing than us!" since they have infinite growth...
  • by BigTom ( 38321 ) on Thursday January 23, 2003 @12:42PM (#5143692) Homepage
    The JVM supports loads of languages and so does the CLR. But who cares? People will develop, almost exclusively, in C# and VB on the CLR and people will develop, almost exclusively, in Java (and a scripting language, Jython I hope) on the JVM.

    All the rest are side shows.

    The JVM is cross platform now. The CLR might be, but might not (I'll believe it when its running on PalmOs and Symbian, not just Linux and BSD).

    BigTom
  • by The Famous Brett Wat ( 12688 ) on Thursday January 23, 2003 @12:43PM (#5143707) Homepage Journal
    Slightly off-topic, but I'm in the process of perusing the job ads again, and based on the proliferation of J2EE/EJB and other Java stuff I'm seeing, I think that Java is the new COBOL. Not that the languages bear any similarity whatsoever, but Java seems to have found a niche as the new lingua franca of business apps. It has competition, to be sure, but based on the history of COBOL, I would be so bold as to put my pundit hat on and say, "Java programming will be a safe bet for long-term employment in the computing industry." The jobs aren't necessarily all that interesting, but they look a whole lot more secure than the bleeding edge tech jobs which come and go in a flash.

    The whole C# and .Net thing is a potential competitor in the same arena, but I don't think that Microsoft's inclusion (or not) of Java is going to matter much. I always figured that Java was intended to allow cross-platform desktop app programming, but the niche it seems to be filling is a back-end role. Personally, I had expected Perl to fill this role as the new COBOL, but demand for Perl seems to be way down, except as one of those "we also expect you to know Perl" type things, which never actually turns out to be important in the job.

  • by malachid69 ( 306291 ) on Thursday January 23, 2003 @12:47PM (#5143735) Homepage
    I own two. I have the TINI board (www.ibutton.com) and the PTSC chip (www.ptsc.com).

    Also, it is very common on handhelds and cell phones. My Handspring has Sun's JDK and IBM's JDK on it, as well as Java3D.

    Personally, I am still debating making my own PDA using an open-core java chip and OLED touchscreen.

    Malachi
  • by Gortbusters.org ( 637314 ) on Thursday January 23, 2003 @12:48PM (#5143743) Homepage Journal
    Will they start building client side applications? The current trend in management interfaces is for web-based interfaces with as little need for plug-ins as possible. In other words, HTML and JavaScript. Cisco has an ASP based management system on their call managers. I see many perl/PHP based management applications. Huge banks have J2EE/JSP pages on their sites.

    I've heard time and time again from developers that applets are toys, the true reason to use Java is on the [large] server side.

    Have you ever used the Zend Development Environment for PHP? It's java and doesn't feel as professional as say Dreamweaver, MS Word or standard client side applications.

  • by FortKnox ( 169099 ) on Thursday January 23, 2003 @12:58PM (#5143808) Homepage Journal
    ...most of which are currently unemployed...

    Perhaps you haven't looked at the market.

    Go to some job site (dice, monster, etc...). Look for C jobs, then C++ jobs, then perl jobs, then Java jobs.
    Java has been a constant hire (even during the worst parts of the IT recession). Anyone with decent Java skills can find a job, no problem.
  • Re:Yes they did... (Score:3, Interesting)

    by sketerpot ( 454020 ) <sketerpotNO@SPAMgmail.com> on Thursday January 23, 2003 @01:06PM (#5143880)
    But language-specific processors have always been losers and this was always a stupid idea.

    I think that it's important to draw a distinction between the Java language and the Java bytecode. The language, IMHO, isn't very good; I much prefer Python [python.org], or if I'm developing for the Java platform, Jython [jython.org]. But Java is a form of bytecode that can be compiled to from all sorts of languages, so programs compiled for picoJava cold also be run transparently on many other OSes. Although I think that JIT compilers and Hotswap optimization have made this less important, it still might be nice to have a processor that could run Java bytecode natively.

    Still, I'm not too enthusiastic about it.

  • by jamieo ( 22197 ) on Thursday January 23, 2003 @01:27PM (#5144046) Homepage

    Java has it's place, but if you come across someone with the opinion that Java is the be all and end all, avoid them.

    The very best thing about Java is the marketing hype Sun have managed to create. It's only Mac-o-philes who seem to be more obcessed (a Mac-Java geek is something to behold!).

    Java's a decent clean OO language, it's got a good set of standard/accessible powerful libraries, it's handling of libraries is good (compared to say C/C++), it's simple to learn the language basics and the GUI toolkit (swing) is reasonable.

    However for me Java has not delivered on it's promises. Performance generally is poor, compared to say Perl, and is dire when compared to C.

    Java also failed to deliver it's platform independence - you just get so many problems running on different platforms and different VMs. Compare this to say Perl - if you avoid platform specifics, Perl just works. Even compare to C when using a library to abstract platform independence (e.g. things like in Gnome/Gtk or Qt), it's not so hard and at least the mistakes are usually yours. I know it's not the fault of Java as a language, but if it can't be implemented well, it won't be much good.

    The final major reason Java has not delivered is because it's not made programming any easier or error prone - and much has been made of this promise. Yes, gc does save some bugs (it does cause some more, but on the whole it's good). Java does not save you from uneducated developers or people who simply suck as a programmer. I've seen some steaming piles of turds writted in Java by people who really should be better. This can be said of any language, but much was made about Java being a language to make people make less mistakes - they just make different ones.

    So use Java with your eyes wide open, it's decent, good in some areas, weak in others and eventually you'll move on to the Next Big Thing TM.

    Jamie
  • by Pxtl ( 151020 ) on Thursday January 23, 2003 @01:37PM (#5144140) Homepage
    I'd be more interested in the other way around - systems to compiled Java code into X86 bytecode. I like Java as a language, but I hate the sluggish speed and never use non-X86 chipsets anyways.
  • by Rinikusu ( 28164 ) on Thursday January 23, 2003 @02:03PM (#5144354)
    I know I'm probably missing his, but here's how I view his decision to go with .Net/C#:

    MS made the "important stuff" standardized and "open." It still leaves MS in the position to close off the rest of the "non-important" stuff and that could break compatability. If you're looking for "cross-platform" advantages, .NET and it's VM are dependent upon MS's decision to release a VM. Yeah, you could write your own, but what if MS invokes the DMCA and prevents you from implementing a "full" VM due to patents and the like? Then you're screwed, writing applications that run on a perceived "broken" VM that lacks those things that MS has deemed fit enough to lock in. "Yeah, great, OpenSource to the rescue, we'll port our VM to every platform!" Sure, and getting people to use it? Good luck. Tell Joe IT Manager that he can use a "free, OpenSource VM" from a bunch of anonymous guys on the internet or the "official VM" from MS, what's he gonna pick?

    And that leads us to:
    The key is to ultimately remove the dependence upon MS products. We've all stated that time and time again. People run MS for Outlook. For Exchange. For a relatively easy sytem to administrate and patch. For Support. There's a million and one papers, editorials, /. comments, etc that do a good job of explaining all of that, but imagine this:

    What if Evolution had been written in Java? OpenOffice, if I'm not mistaken, is written in Java and if I must say so myself, it runs VERY nicely on my machine and does everything I need it to do as an Office Productivity Suite. With OpenOffice, you see lots of people switching from MS Office, avoiding the licensing fees and troubles, and generally LIKING it (there are exceptions.. there needs to be a nice Access competitor or at least a great frontend for something like PostGRE or the like). That's one less reason to use MS, right? Great! OpenOffice runs on Windows, Sun, Linux, OS X (with X11 installed). Most importantly, see Windows? Millions of people can now look forward to using that $500 they'd spend on Office to doing SOMETHING ELSE with their money. Millions of companies can still do business without outlaying a chunk of cash for Office. There's the example.

    Now, back to Evolution. If Evolution had been written in Java, like OpenOffice, you wouldn't just have people on *NIX platforms using it. No, you'd be able to use it on Windows, the biggest, most important, and most influential marketplace in the computer industry. What would that mean? Let's say you're Joe IT Manager. You've already switched your desktops to OpenOffice. Now, you could replace Outlook with Evolution, on your Windows systems at work (and saving on the licensing, to boot!). See, it's hard to convince upper management to switch to Linux whole-hogged. But if you do it, one app at a time, eventually you run OUT Of reasons to continue to pay the exorbitant licensing fees to support an Operating System that you no longer need to run the apps you run. Dig it? Dig it! Your users use the new apps, already acclimated to them. Change comes slowly, and for the better. And all that time Ximian spent on working on MONO could have been spent tweaking the interface, developing advanced calendaring functions, developing server-side calendaring/schedule making software, etc. And then Linux slips in quietly through the back door and MS is left to send armies of marketdroids to help woo the companies back, losing their marketshare inch by inch.

    I may have Ximian's and Miguel's intentions completely wrong. Linux "desktop" penetration may not be his ultimate goal, although as a Linux vendor it might behoove him to think this way. Linux is inching it's way into the server rooms of corporate America (and the world), and the desktops will be a hard fought battle. Java is the kind of technology that allows you to provide the replacements that will make the transition EASIER.

    To conclude, I applaud Miguel for his hard work on MONO (and Evolution, it does fucking kick-ass). Unfortunately, I think it's misguided and ultimately futile.
  • by Pieroxy ( 222434 ) on Thursday January 23, 2003 @02:21PM (#5144527) Homepage
    I think you might be interested in making a simple test :


    int j;
    for (int i=0 ; i<1000000 ; i++) {
    j=i;
    }


    and then notice that with any JVM in the market, this code is still 2-3 times slower than the same one compiled with gcc (for example)

    So long for the JITs...
  • Java speed (Score:2, Interesting)

    by Anonymous Coward on Thursday January 23, 2003 @03:00PM (#5144864)
    ...other programming languages still run relatively faster than Java...

    *sigh* Repeat after me: languages don't have speeds. You can write programs which run quickly in Java. You can write programs which run dog-slow in C.

    A well-written Swing program is plenty fast, and (in my experience) virtually indistinguishable from a "native" application once you get past around 500 MHz.

    Of course, most programs (Java or otherwise) aren't well-written. But don't blame the language because you can't use a profiler.
  • by The Creator ( 4611 ) on Thursday January 23, 2003 @03:03PM (#5144892) Homepage Journal
    When can we expect to see C# compile for JVM? And when can we expect to see Java compile for .NET?
  • by Anonymous Coward on Thursday January 23, 2003 @03:45PM (#5145193)
    MS has always claim MS.net was language agnostic where Java was Java centric.

    This is nothing but a lie, several languages have been developped to compile to the Java platform (Java bytecode+JAva API) and one of the best was Eiffel ! It was done long time ago, ever years before MS decide to get rid of their Java VM (jview), Java Windows APIS (WFC) and JAva IDE (Visual J++) to start the famous project code named "cool" (now ".net").

    Of course Java language is the primary language of the Java platform just as C# is the primary language of MS.net. Take a look at VB.net and you soon notice that it is not only a cosmetic change over VB6 : 100+ new keywords, complete API changes, new full object (CLR related) philosophy,... VB.net is nothing but a new language shaped for the CLS and linked to the CLI ! In clear world, if you are not used to full object oriented design you could find trapped yourself soon or later !

    About alternative Java platform languages, see
    You can the whole list here [tu-berlin.de] !

    Most of them are like all the C# flavors to .net, ie languages with same design scope, ways of thingking etc ... but some are nothing to do with the way you thing in Java.

    One of the best is kiev, that add prolog rules which make an enormous change to the design rules (who said backtracking sx?). An other named OpenJava, has build a newt dynamicity level to compile language using the MOP (meta object protocol) that is the most impressive stuff ever brought.

    Ok, now you now that multiple languages are existing on both sides. But guess what ? I do thing that multiple languages are no a graal.

    Let me explain, if the languages are bijective (ie same scope, same stuffs), then there is no special reason you should consider using a language over an other. Let's take MS.net, all the languages are bijective (with exclusion on certain fonctionality usable only in C#), that means only one is usefull. Why should people have to learn 5 languages to read a project sources ? Why should enterprise invest in 5 languages training ? There are no reason at all ! This is the reason why MS know that C# will be the only surviving middle term language (why would you choose a language where less stuff can be done). The same thing apply to bijective Java languages !

    In clear words: C# is the only valid language for MS.net platform and Java language is the only valid language for Java platform !

    But point is that there are languages aimed at the JAva platform that are not bijective (OpenJava, Kiev). Because they add major features and new design concerns.

    Whatever MS claimed superioritty of .net over Java, i can just tell you this is wrong. The designer of .net just did a clone. And even if it has som small differences, who said a clone was a duplication ;)

    MS is worry and they do FUD, just because they've realized they trap themselves by doing a Java clone instead of continuing their leadership on the Java platform (remeber the 98' when both MS VMs and IDES where JAva leaders ?).

    If Java get to the client side then we could have a drastic shift of platform and this could endanger the client side domination of Win32 within the next 5 years !

    You could laugh at those statement, but the past year has prove that MS is now alone on pushing .net whereas other big buys push Java ... If they had to install the Java platform on Win32, then everywhere you will have Java, and whatever they wanted to, the fight will be over .... and MS.net dead-born ...

    Poor little MS :(

  • Re:Yes they did... (Score:3, Interesting)

    by Zigg ( 64962 ) on Thursday January 23, 2003 @04:32PM (#5145595)

    As someone who's had his head in Java code for a few months now, working on a complex system, I'll heartily rag on it. It takes twice as much code to get the same thing done as it does in Python, and the result is slower to boot. But reliability is key, and the Python VM (as well as Jython) had some problems when this project was started, so here I am.

  • by rrobles ( 538832 ) on Thursday January 23, 2003 @04:32PM (#5145596)
    Ok, let's explore this 'What If' scenario.

    What if Microsoft decides to implement NET for another platform different than Windows, offering some sense of full .NET compatibility with your already Windows-working "code investment", why would you like to use Mono instead of the "official" MS implementation?...similar to what happened to Sun's Linux JVM implementation, why you would like to use an open source JVM (like Black Down) if you can have the creator's implementation that gives you a security feeling that at least you're not going to have some compatibility issues...I'm assuming a business critical application, where your income depends, not a one-person pet/toy project...I believe this is one of the biggest challenges for open source .NET implementations...What if IBM decides to enter the .NET market and provide a high performance .NET runtime as they are doing it currently with Java, What about others?...I like the Mono effort, its community, but I haven't found the answer to this challenge myself...
  • by arkanes ( 521690 ) <<arkanes> <at> <gmail.com>> on Thursday January 23, 2003 @05:32PM (#5146183) Homepage
    I don't see why that's a problem - the .NET class libraries are very extensive. And if you ported the class libraries for smalltalk or whatever to .NET, then you could use those, too. But one of the big features in .NET is language neutral objects (assemblies). Kinda like COM, but better. You write an assembly in whatever language you prefer, and it can be called from any other .NET language. Since the .NET class libraries are all assemblies, you naturally can call them from any .NET language.
  • Re:Java hype (Score:2, Interesting)

    by master_p ( 608214 ) on Thursday January 23, 2003 @06:54PM (#5146724)

    I can't really disagree with you, but when we talk about Java, we should separate the issues:

    Java as a programming language

    Java as a computing environment

    For the first point, Java is a fine programming language and has quite many advantages over C++, but it also has some disadvantages:

    lack of generic programming; at least C++ has templates, which solves 90% of the problem; I have not yet a program that does not need to use arrays and lists of different types. Although Java uses Object, objects still have to be allocated on the heap with 'new', which is a waste of resources.

    no stack objects; I don't know the internals of the stack management and the complexity of C++, but since C++ managed it, why not Java ? why should I have to create an object on the heap just to use it locally ?

    no structs; some times I only want to bind together some data without the overhead of classes. I can't do that with Java. That means that I can't also have a binary package represented as a struct: in C/C++, I can cast the buffer pointer to the appropriate message structure and access the data (for example received from the network) with one call, but in Java I have to code a whole series of classes in order to convert a byte array to a message.

    I don't know why the garbage collection is such an advantage. In the place that I work we have written apps with milions of lines of code using C++ and we never had a problem with memory leaks. Of course, being military and scientific apps, there was a good design before coding, so we had a pretty good knowledge of when to allocate/free stuff. But it is not hard to make C++ objects garbage-collected. All that is needed is a base class that upon its construction puts the object in a global list and a template pointer that increases/decreases automatically the reference counter of the garbage-collected object when assigned to it; later, the list will be traversed and objects with no reference will be deleted.

    We have used Qt for our apps, and the speed of coding is similar to that of Java. We also have a Java department and we keep hearing design issues that are derived from the lack of certain features in Java, generic programming being the most serious flaw.

    By no means am I saying that C++ is better than Java, the programming language. But the goals of the two languages are different. The big problem of C++ is the lack of standardised libraries for gui, multithreading, database I/O etc. Thank god for Trolltech that we have found a piece of code really worthy of its price, and that is Qt which solves all these issues (and many more).

    For the second point, I don't like either interpreted or byte-code languages with virtual machines. I think they are a waste of CPU time and resources. I am 100% certain that there is no point in having static Java apps executed by a virtual machine: they are very slow, even with top-of-the-range Pentiums. And when we say slow, we mean slow enough for an experienced user to handle: for example, I have personal experience of a versioning and control application that we use at work which is very slow, although it runs on a P4 at 1.8 GHz. It may not be slow, but it definitely feels slow.

    Another problem of C++ is that it does not compile the same in every platform. The Java's VM solves the problem, but is it really needed ? aren't programming languages invented for this exact reason ? other environments offer complete source-code level compatibility for every platform (for example ADA 95) without a VM. Why Java needs a VM to run static apps ?

What is research but a blind date with knowledge? -- Will Harvey

Working...