Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Java Programming

Java-Clone Announced 211

Thomas Charron wrote to us with the latest Microsoft-Java ">news. Transvirtual, a "closely held start-up funded by Microsoft" has cloned aspects of Java. This new software called "Kaffe" will let programmers write Java that will run only on Windows. What's interesting is that on their homepage, Transvirtual seems committed to working with the Open Source idea - partnering with Cygnus. Does anyone have details clearing up these seeming contradictions? Update: 06/14 08:51 by H : Click below: Tim Wilkinson from Transvirtual e-mailed me. Here's the salient points: Everything they are doing with MS is Open Source, and runs all platforms it can, and they are not funded by Microsoft. They were incredibly misquoted by the Wall Street Journal.

1. Everything we're doing in conjunction with M$ is Open Source.

2. All the extensions we're implementing are cross-platform - they don't just run under Windows as the WSJ article implied (okay, COM integration is a problem if you've got no COM on your platform to integrate with I'll give you that). If developers use Delegates they'll work on Linux (or whatever) and J/Direct is just another JNI-style interface anyway. We're looking at providing some Win32 compatiblity libraries for commonly used J/Direct Win32 library calls.

3. M$ have *not* invested in us - we approached them to about making Kaffe run both Sun and M$ Java and they paid for the work to happen - but we insisted that the result would be put in the Open Source Kaffe version so users had the choice to use, or not to use, the extensions.

This discussion has been archived. No new comments can be posted.

Java-Clone Announced; Windows-only

Comments Filter:
  • by Anonymous Coward
    Of course they can release a closed version, it's their code, they can do what they want with it! Just because their code already has been released under the GPL doesn't mean they can't release it again, under a different license, as long as they haven't used other peoples code. Lots of project use dual (or more) licenses, eg Perl, Ghostscript.
  • by Anonymous Coward
    You obviously have played a little bit with the language,

    but your post strikes me as a little ignorant at the same time.

    You talk about OS optimization on speed I assume, servlets and EJB are really fast on teh servers because they always execute as native code, even though they are _distributed_ as interpreted code.

    Also the cygnus native compiler now compiles java code to native linux executable, pretty neat.

    Now if you are talking about API's it's a different story and frankly I would say this:
    1- If you are going to code GUI, heck even though I do java all the time professionaly and there is just no way I go back i would stay clear of swing, java is NOT optimal for GUIs (use VB ;-). However I am not a GUI professional and my friends tell me that the swing API is now superior in functionality to teh WIN32 apis (jtree, jthis jthat) all very integrated, and maybe, but that is not my opinion, it is a matter of time before swing overtakes MS _even_ in gui design (remember clunky, slow windows 2.0?;-)
    2- If you do server side web development then I am sorry but the library of java have no peer in the industry today. There is not a product that comes close to the RMI, servlet and EJB integration. It is the wave of the future, the web applications are, and there I have a hard time seeing MS even being _relevant_. Apache linux and java have a great future in front of them.



    regards

    tom kemper
  • by Anonymous Coward
    This is about the funniest thread going online now.

    Apparently, none of those who are screaming have even bothered to go to the website. No wonder the anti-MS movement is stalling - the level of shrill panic without any real information is deafening.

    There are tons of replies to this story talking about "why a Windows only clone?", when that isn't even what the product IS..... is the paranoia so heavy now that the truth isn't important anymore?

    "Transvirtual Technologies offers the first truly "run anywhere" Java(TM) Technology implementation. Our Java Virtual Machine, Kaffe, runs on virtually any Internet appliance or embedded system. Kaffe is the only JVM that can run both Sun and Microsoft Java (including Windows extensions) on any platform. Compact and extensible, easy to install and configure, Kaffe is the optimal choice for rapid cross-platform development."

    Is that clear enough?

  • That must be some good rock
    granted the marketing hype surrounding java is ugly. However java is huge in the coporate world,
    it is a fantastic language for distributed computing and ejb's make's com look silly with their stupid threading models. All of the major rdbms players are moving towoards java in a big way(oracle sybase informix) yes, you are never going to write low level systems code in java (that is what c with it's pointers is for) For buisness app's, particularly server side (rmi and corba) people are fleeing from c++ because of it's baggage and increased development time. The OMG adopted ejb's as there default component model for corba. I love slashdot but sometimes the systems programming/ perl bias can get tiresome. I am not saying that Java is the best thing since sliced bread, however to dismiss it as nothing but marketting hype is assanine. java is fast on it's way to becoming the default for object oriented buisness apps and distributed systems.
  • by Anonymous Coward on Monday June 14, 1999 @05:47AM (#1851615)

    Note that I have no connection Microsoft, Transvirtual, and don't even use Java very much. What follows is largely my own speculation.

    First, let's go back to Visual J++. Let's ask ourselves what exactly were Microsoft's proprietary extensions to Java? First, they added stuff to the standard library to access native libaries, and second -- and this is the kicker -- they added some keywords to make writing COM objects much, much easier.

    Now, let's hop back a bit, and look at MS's other language offerings. There are basically two of them: Visual Basic and Visual C++. It's really easy to use COM objects from VB; this is basically what COM is for. But if you want to write a COM server to componentize a program, then Visual Basic is entirely the wrong choice. It's just not fast, robust or powerful enough.

    Which leaves Visual C++. However, MS has discovered that poor design has consequences that can't be patched over completely. It's sheer screaming agony to write those easy-to-use-from VB COM objects w/ Visual C++ -- all the wizards and templates in the universe can't change the fact that we are working with basically broken tools (COM and MFC and Win32 APIs, oh my). This difficulty is Bad News for MS; the more pain it takes to use Windows, the more likely people will look to alternatives.

    This is where Java comes in. It has more OO nature. It has full garbage collection. It has no pointers. It is strongly typed. It looks familiar to C++ programmers. It has the hype machine of the century. And it's a different language, so you have a chance to leave all that old cruft behind.

    Of course, there's that pesky VM and "write-once, run anywhere" promise, but if you can make it easy -- as seductive -- to call COM objects, then you are just as tied to the platform, because COM is Windows-specific.

    Hence the changes in J++. (It also explains why they were so easy to turn off; they weren't out to encourage platform-dependence by making syntax changes, but with an easy hook into Windows. It cost them nothing to look like a good citizen by providing a single check-box off switch.)

    Unfortunately, MS misjudged both the popular sentiment and how much Scott McNealy hates them, and they lost both popular support and part of the lawsuit. But not the important piece of the lawsuit -- they still have the right to use clean-roomed versions of Java.

    This is where Transvirtual comes in. They have a GPL'd, clean-room implementation of the JVM. MS can pay them to implement the modifications to Java they desperately need -- VC++ is a dead end and they know it, and they need a replacement for it bad.

    I'm betting that these changes will almost certainly be GPL'd. Why? This is because GPL'ing the changes to the Transvirtual's JVM is just good business sense.

    It doesn't matter to MS if the COM hooks are public or not -- the lure to use Windows only is all the COM objects available for it, not the syntax.

    GPLing the changes will buy you instant and total protection from charges of being closed and proprietary, because the GPL is the most anti-closed license there is. Plus, a JVM that is libre-free and MS-sanctioned JVM will most likely kill the market for competing JVMs on Win32.

  • by Zack ( 44 )
    Yeah, it is... I'm wondering if it was trademarked in any way shape or form... Imagine an open source vendor sueing microsoft over a trade mark dispute... and winning.

    Writing java apps that only run in Windows? Pardon me for asking, but what's the point? The point of Java was "write once run everywhere"...

    Bad Microsoft. No soup for you.
  • by Zack ( 44 )
    Oh, the interest in visual tools was a totally seperate thought.. my apologies for letting myself ramble..

    >Personally, I LOVE Java

    Yeah, I've got lots of friends who love it as well... I just can't seem to get into it... I do like the garbage collection and better memory control... It always seems a little slow to me and functions calls like:

    System.out.println
    instead of
    printf

    annoy me a little.. ;-)
  • by Zack ( 44 )
    I would suggest moving to cotton instead of brillo pads as a choice for boxers... silk is nice too...

    This has NOTHING TO DO with Linux vs. Windows. This has to do with Microsoft trying to subvert and destroy a product from SUN.

    Had you spent 5 minutes reading the comments, you would have figured this out.
  • by Zack ( 44 )
    This doesn't even warrent a response, troll.
  • by Zack ( 44 )
    And I suppose that the "visual" programmers who want OO design wouldn't want to use Visual C++? Does all this interest in "visual" design tools signify an increased lazyness in coders?

    Or is it more about moving past the basics onto more advanced applications without having to focus on remember the code for a specific UI? Most VB apps I've seen are hardly advanced applications, so I'd have to go with the earlier.

  • by anewsome ( 58 ) on Monday June 14, 1999 @05:25AM (#1851621)
    Straight out of /usr/doc/kaffe-1.0.b4/README on a Redhat 6.0 System:

    ... What about a web site?
    ----------------------

    News about the "Open Source" Kaffe distribution
    can always be found at:

    http://www.kaffe.org/

    and also at:

    http://www.transvirtual.com/

    And mailing lists?
    ------------------ ...

  • Kaffe is still under development. IMO, they should not be calling themselves 1.x, but that was a marketing decision by TVT. It is reasonably stable and should most things. When was the last time you tried it?

    It's unfortunate that the Linux community appears to be sinking more effort into porting and tuning Sun's proprietary Java implementation rather than working to get a free one.
  • by Aaron M. Renn ( 539 ) <arenn@urbanophile.com> on Monday June 14, 1999 @05:56AM (#1851623) Homepage
    Ok, folks, here are some facts on Kaffe:

    There are two versions, the Open Edition and the Transvirtual edition. The open edition is GPL'd and other has a proprietary license. The code base of the two projects are totally separate. Transvirtual donated most of the code to the open edition, and continues to provide many updates. There are a few proprietary features that aren't availabe in the open edition (such as a DOS (?!?) AWT), but not many. People who contribute to the Kaffe open edition are not automatically contributing to the proprietary version. Only if you voluntarily decide to let Transvirtual use will it be included in the proprietary version.

    Obviously I'd rather not see a proprietary version at all, but I think Tim Wilkenson has done a pretty good job of trying to find a model that lets him make money and contribute to the free software community as well. Originally, Kaffe was under a BSD license, and some people ripped him off by not releasing their changes as free software. He was planning on taking Kaffe proprietary as a result, but decided to release it as GPL instead. In this case, the GPL protects both the commerical interests of Transvirtual and the free software community.

    So Kaffe will remain available as a free software product. If Microsoft hires TVT to write some Windows specific changes to it, these may or may not be released as free software, but this will not affect the main body of the Kaffe open edition code.
  • >The point of J++ and any other Windows dependent
    >Java clone is to make the cost of moving from
    >Windows too great for people to switch to another
    >OS.

    That is the whole point isn't it? Microsoft is protecting it's monopoly market position by getting aspiring Java developers to use proprietary and non-portable tools.

    J++, DirectX, ASP, COM/DCOM/COM+, MFC. All very proprietary technologies and related as to underlying purpose - killing crossplatform capablility.

    It's painfully obvious. :|
  • Posted by Zathuras:

    It doesnt make much sense... one of the boons of Java was the cross-platform programming potential... so what value is a Windows dependent Java clone? Why not just program in C++ or VC++ or something?

    PS: My first post! Whee!
  • Posted by Zathuras:

    Garbage collection is a mixed bag... I mean sometimes its good, but for critical time oriented applications, its baaaad....since you cant control when its gonna do it.

    Java class libraries are nice, but there are c/c++ libraries that do most of that already.... plus java api's are getting astronomically huge.... seems like you have one for just about everything...

    Now swing, even though it is really nice and all, I really dont see the need for in windows if you are just going to program for windows. Then again, its been a while since I looked at swing, so there is a good chance you are much more correct than I, or that you see something which my dim vision hides.... :P
  • Posted by Zathuras:

    Ahh.. yes so use it as an intermediate language where people have more control than say VB, but not as much as C/C++? Well I can see a nitch for a language there. However, this leads to an interesting thought... would it be an interpreted language? I mean you wouldnt need it to be would you since the major reason for that was for cross-platform support....

    If it is interpreted, why use it? I guess that is kinda where my point is going.... Compiled languages are generally faster...

    Why dont we all just use PERL and get it over with ....:P
  • Here is a link [cnnfn.com] to a CNNfn article that is a little better informed. It even has some comments from Sun.
  • I promise everyone that I will never use this cheap step back ward.
  • Hmmm... Looks like they have an open source, free version and a closed-source commercial version.

    This is, of course, fine. They can release their code under two licenses. If they don't hold the copyright on all of the GPL code they are using the the commercial version, however, they've got a problem...


    --
  • > Now I hate to defend Microsoft, but they did have one (1) original idea: BASIC.

    *Cough*! Maybe you should tell that to Tom Kurtz and John Kemeny, of Dartmouth University...

    For some real history... [udel.edu]
  • People here are missing the point. Microsoft is trying to weaken Java. What if all of a sudden all these java programmers who mainly use java in Windows convert to the proprietary version? Now these programs that could run on multiple platforms are tied back into windows. Not every java programmer is going to go use this proprietary version but they don't need them all. They only need a significant portion of them to undermine the strength and popularity of a competing standard. Big Bill doesn't like people to use anything but his stuff. Remember that because once you start to walk down the path of the darkside its nearly impossible to get out.
  • Yes, it was, but some developers merely like Java for it's OO design, and don't really CARE about platform dependence. It's like VB for the non VBers.. ;-P
  • http://www.transvirtual.com/ports.html

    It does indeed run under Windows, very well, in fact. They most likely don't SUPPLY a Windows version due to their relationship with Microsoft currently.. Microsoft will most likely embrace and extend the commercial version, which they can do with to their hearts content with no source being open..
  • Please look at it closer next time. Microsoft is developing based on the CLOSED version of Kaffe (YES, it IS there). Nearly 95% of Kaffe's source was developed by the two guys who own transvirtuals, hence, they can themselves use the source in ANY closed source environment they want to..

    The GPL does NOT donate the source to the public domain..
  • Err, OO doesn't mean Visual. Not even close.. They are two seperate and distinct things.. C++ is OO, and you can code without using a Visual editor. Same with SmallTalk, etc..

    VB is Visually based AND OO, but not very robust. Personally, I LOVE Java, but not becouse of anything visual. It just like the approach the language uses. Personally, I don't use it for UI apps, but server backends..
  • Err, I don't think you caught on.. Kaffe has two flavors.. GPL and private. Microsoft is paying them to extend their private version so that microsoft can then use it without ANY OF THE LICENSING issues that are associated with Sun. Microsoft really IS involved here.. The guys who run Transvirtual are now pretty much owned by Microsoft, and I really don't think they quite yet understand that they're sleeping with a rattler..
  • You are wrong here..

    The guys who OWN transvirtual contibuted the majority of the code that is in Kaffe. They OWN that code, and can do whatever the hell they want with it.. They can put it in another program without opening the source.. It's THEIRS.. GPL != public domain.. They will NOT end up open sourced..

    The problem here is people WILL use it becouse Microsoft may push it on them. And as they go, the pointy haired bosses go, and eventually, we're stuck with it..
  • Cloned? Heck no, they handed over the raw source to incorperate in.. ;-P
  • Yeppers.. But there is also a 'commercial' version that Microsoft is 'embracing and extending' to use NON portable things. Read up on the web page regarding the 'free' Open Source version, and the 'Open Source for Cash' version.
  • Agreed here. But once there is 'MsKaffe' and 'Kaffe', it can only be bad things.. More then one version of simular products can lead to confusion and mistrust..

    MsKaffe has a major security hole, suddenly, every time that Kaffe is mentioned, it's linked, even though it may have NOTHING to do with it..

    That's what worries me..

    Yes, it is their right. Many people have rights legally, but I don't think that they are right. They HAVE the right, but I don't think they ARE right.. ;-P
  • Yes, but the information regarding Kaffe DIDN'T take into consideration that Microsoft bought up a good hunk of Transvirtual. They are now in a position to use Kaffe, NOT release the source, and 'choke and kill' Kaffe.. Heck, they may starty to pollute the Kaffe source, as they 'own' the major developers..

    I think the developers hearts are in the right place, but I think Microsoft is going to screw them in the long run, and hopefully not Kaffe in the proccess..

    Heck, this COULD be the case that blows the GPL out of the water, if the developers and Microsot ever come to heads..
  • I'm what I would consider a fairly proficient C programmer. Ten years of experience in both desktop and embedded systems tells me that I have a fairly good grasp on how to use the language and what its limitations are.

    Why is it such a bad thing to have pointers? I understand how, when used wrong or poorly, they can lead to Bad Things but in general I have found them very powerful elements of programming.

    If someone could enlighten me I'd appreciate it. Simiarly with garbage collection. I thought that was an indication of an interpreted language; that compiled languages used a stack, BSS and data areas to get the job done.
  • Do you consider all programmers as good as or better than you? If not, see above. Half the programmers out there are below average. (And that's assuming a uniform distribution. Some would probably say "more than half".)

    By that arguement, we shouldn't drive, either. I consider myself a fairly competent driver. That means that half (more than half) of the drivers out there are below average. Therefore driving is bad.

    I'm not trying to be a shit here, I'm trying to understand your arguement.
  • Ahem.

    The entire point is that this is the most moronic piece of software ever conceived.

    The whole point of Java was, as Sun so blatantly hyped, that Java programs were "write once, run everywhere." That doesn't just mean, "write once, run on 95/98/2k/NT/CE." I personally liked the idea of writing a program and being able to run it (and have other people run it) on Windows, MacOS, Solaris, Linux, BSD, BeOS, etc. etc. ad nauseum.

    Yeah, this'll be cool for those wanting Windows apps that run both on their desktop and on their CE-based PDA, but it undermines one of the founding principles of Java.

    And our backlash has nothing to do with a "if it's not Linux, it's CRAP!" Java is from Sun. Sun has little to do with Linux. Grow up.
  • Kaffe is open sourced under the GPL. Which is interesting, since that means (to the best of my understanding)
    that TransVirtual could not use its own code to make a Windows version of Kaffe unless it releases that
    Windows version as an open source project.


    Don't forget that the owner of the code can release it under multiple licences.. i.e. "You may use this code under the terms of the GNU GPL, but if you are not prepared to accept those terms, then you may instead elect to use the code under this alternative licence".

    The reason this can't happen with Linux is that there are so many authors, all of whom would have to agree to the alternative licence.
    --
  • by Fnord ( 1756 ) <joe@sadusk.com> on Monday June 14, 1999 @05:25AM (#1851647) Homepage
    Kaffe is a GPL'd jvm (yes it IS a java virtual machine, not "cloning some aspects of java", its just a clean room implementation) that has been available on tons of different platforms from the beginning. Transvirtuals web page even says so. This doesn't make anything java related run on windows alone or any platform alone for that matter. Journalists just obviously don't know the meaning of research anymore....
  • Yes, Linux is basically a UNIX clone.

    However, Microsoft's marketing speel has always been about 'innovation' when, in fact, they've probably hindered the course of technological innovation more than any other company on the face of the planet.

    It's hard for even the brightest of the little guys to win the race when they get stepped on three feet from the start line.
  • Who would use Kaffe when they could get the real mccoy from Sun for free

    Id software [idsoftware.com] for one (well almost). While they where evaluating using java for QII (long time ago now) JC was talking to transvirtual about using Kaffe...but it never happened, for technical (coding in java at that time) reasons.
  • Compaq has licensed Kaffe for the Linux-based Itsy Pocket Computer

    found this browsing their site [transvirtual.com] (down the bottom of the page or search for compaq)...anyone know about this one?
  • "...The Itsy Pocket Computer is a small handheld computer based on the low-power, high-performance StrongARM SA-1100 microprocessor. Our current prototype runs at 200MHz on a pair of AAA batteries, and sports a tiny, high-resolution LCD touchscreen, a high-quality audio codec, and up to 64MB of memory. Itsy is designed to be an open platform for research projects ranging from OS power management to novel gesture and speech-based user interfaces. The base Itsy hardware provides a flexible interface for adding a custom daughtercard, enabling a wide range of hardware projects such as wireless networking and GPS. Itsy also supports the Linux OS and standard GNU tools, facilitating the development of both kernel and application software, as well as ports of existing packages such as Apache...." source [digital.com]

    seems some info about the itsy [digital.com] is here....

  • It looks like they cloned Microsofts J++ APIs, too. The reason why MS funded them is probably because they might have to remove all Sun code from their VM as a result of the MS-Sun-Java trial.
    I still dont care about Kaffe. The best way to ensure compatibility is to use Sun's VM or a VM based on Sun's (like the IBM VM). And if I need a open-sourced VM, I'll take Japhar or the one by the Mozilla guys. I cant see any need for Kaffe, a slow semi-proprietary Java implementation. Perhaps that's why they sold out - because MS was the only interested company...
  • Well, from my point of view it would make sense. I am far more productive when using Java, and my code is more stable (and I am not the only one who experiences this). Java/J++ is a nice comprimise between high-level programming like VB and low-level programming like C(++).
    AFAIK most Windows APIs have been ported to J++, you can even write Services. MS's COMJava/J++ integration looked real clean the last time a took a look, and if I was going to write a Windows application I am sure that I would consider using VisualJ++ (and probably end up using it if the needed APIs are available and it is fast enough for the task). Not as an alternative to Java, but as an alternative to VB, VC and Delphi.
    Besides that J++/Java is a nice little language, the chances that MS sees are probably that Java GUIs feel real bad. Try to use any Java application in a Windows environment, and it will always look like an alien and wont support things like OLE. So when a developer wrote a program in Java and the customers start complaining about its Windows integration (and they will!), many developers wont resist the temptation to please 90% of their market. And Microsoft reached its goal: one program more for Windows, one less for the competition.
  • You want something VB-ish in look and feel that doesn't suck as a language, eh?

    Try Delphi.

    exactly. the object model is alot better too!

    "The lie, Mr. Mulder, is most convincingly hidden between two truths."

  • Which leaves Visual C++. However, MS has discovered that poor design has consequences that can't be patched over completely. It's sheer screaming agony to write those easy-to-use-from VB COM objects w/ Visual C++ -- all the wizards and templates in the universe can't change the fact that we are working with basically broken tools (COM and MFC and Win32 APIs, oh my). This difficulty is Bad News for MS; the more pain it takes to use Windows, the more likely people will look to alternatives.

    Sorry, but this hasn't been true for years. No one writes COM servers with MFC anymore -- we use the Active Template Library [microsoft.com] (ATL) instead. With ATL you can write small, elegant, robust COM servers in C++ without having to reinvent the wheel each time.

  • by Ray Dassen ( 3291 ) on Monday June 14, 1999 @05:30AM (#1851657) Homepage
    Kaffe [kaffe.org] is a free Java Virtual Machine implementation (GPLed); it runs on e.g. Linux. It may be that people are working to provide platform-specific extensions for it. Transvirtual [transvirtual.com] is the company started around kaffe by the kaffe project leader, Tim Wilkinson

    I don't know about Microsoft's involvement, but it has been clear for a long time that Microsoft resents Sun's dominance in the Java world. I'm sure they'd be happy to have a non-Sun-controlled JVM. Whether or not they care enough having a non-Sun-controlled JVM to fund a GPLed development, I don't know.

  • Transvirtual sells its own Java-compatible virtual machine. They also release a free software version. When you own the copyright to software, you are able to release that software under any number of licenses, including the GPL and a non-free license, simultaneously.

    Sun's control of Java was predicated on the idea that nobody else was smart enough to write their own. They should have known better. Someone else did, and now Sun has no way of keeping MS from putting in their own incompatible extensions.

    About Transvirtual's being a tightly-held MS-funded startup, well, maybe now, but they've been releasing free software for two years or so. I suspect that the article is seriously garbled on this aspect.

    Thanks

    Bruce

  • Perl? What's wrong with FORTH?
    ;-)
  • http://www.transvirtual.com/kaffe.html [transvirtual.com]

    "Kaffe is available under the Open Source initiative and comes with complete source code, distributed under the GNU Public License (GPL).

    "Alternatively, the Kaffe OpenVM Custom Edition can be licensed from Transvirtual - an ideal solution for companies who cannot accept GPL code in their products."


    Christopher A. Bohn
  • oh so instead of downloading java apps we'll have C apps with the security problems, memory leaks etc. And please don't compare scripting languages to java. That's just silly
  • Hell, I wish Sun could have hired OJ himself to take care of Mircosoft.. I'm sure the lawers would be useful later, though.
  • They can stop releasing future changes under the GPL



    Can they really do this? I thought the GPL was written to keep free software free. If Kaffe version X is under GPL, then nobody, including the major authors should be able to make version X+1 closed. This would be like me taking the Emacs sources, adding in a handfull of features and then releasing a binary-only version of my Emacs.

  • We're writing a video game written entirely on Linux using Java (see http://www.divunal.com) and Kaffe is the JVM I'm currently using to run the server.

    It's faster and better than blackdown, and more Sun-spec compliant in many places (even the AWT) than the Sun JVM is. All of my Java-apps run on it.

    AFAIK, Kaffe doesn't even really run on Windows... although I assume it must if that's what this article is about - but it was originally an OpenSource project running on all the free Unices.

    It's a wonderful JVM... if you're into java, I highly recommend checking it out. Good JIT, nice support for JDK 1.1.
  • If Transvirtual is the copyright holder on Kaffe, then they can do as they please. Currently released copies cannot be recalled. If Transvirtual (by their own will, or by the will of their purported hypothetical masters from Redmond) decide to change the copyright on the next version, that is their right.

    This is not M$ stealing and subverting code. At worst, it is M$ buying a copyright and perverting subsequent versions.

    --
  • It is unnecessarily verbose, partly due to the C style syntax (Smalltalk manages the same functionality with a much smaller language), and it is slow, but it is just great to see a 'real' programming language with high level features becoming popular at last.
  • Even experienced developers are often better off using Java where speed is not much of an issue. Not having to worry about garbage collection and random leaping pointer disease, not to mention the evils of porting between C++ compilers, allows one to concentrate on getting the algorithm right.
  • A little about Kaffe's history: It
    started as an open source project, and to my
    knowledge still is. While Sun was holding back
    on making their code available to Linux porters
    Kaffe people were hard at work making an
    alternative available.

    This religious MS bashing is not something I want
    to contribute to, but the trend of MS investing
    in startup companies is scary. As someone who's
    in the second year of a startup, I can tell you
    that the cash infusion can be very important to
    the company. With a very small outlay of cash
    MS is able to buy part of the startup, and
    probably get a seat on the board. That means they
    can control what the startup does.

    I believe most innovation comes from startups. To
    be able to control them is a huge amount of power.
    Great strategy for MS: fund startups, get the
    hungriest and hardest working on your side.
  • Time to decide: do you care about free software/open source, or do you just hate Microsoft? Too many slashdotters would chop off their own noses just to get at Bill Gates, backing outcomes that would damage the free software movement if only it would be a defeat for Microsoft.

    In the case of Java, Sun wasn't interested in giving users freedom: Scott McNealy wanted to usurp Bill Gates' position and become Bill Gates himself. Everyone would run Java, and Sun would control Java, just as firmly as Microsoft now controls Windows. Everyone would have to supply Java, and everyone would have to pay Sun. Instead of a Microsoft tax on the Internet, we would have a Sun tax.

    Kaffe is GPLed (and yes, there is also a non-free version). To the extent that Microsoft seems to be helping with that, great; it is only a tactical move on MS's part, but no matter; it is as important to break Sun's control over Java as it is to break MS's control over the desktop.

  • COM will never be an open standard as long as MS controls it. Given their past, I wouldn't put it past them to leverage it to their advantage in the future.

    Also, ODBC is NOT a Microsoft standard. It is only associated with them because it is prevalant on Windows, and rather rare on other platforms.
  • Kaffe is not 100% Java compliant. (Either that, or Sun's JVM is not 100% compliant). I wrote some Java apps that didn't work correctly with Kaffe, but they were fast!
  • Why is it such a bad thing to have pointers?

    Because they are soooo hard!!! ;-)

    in general I have found them very powerful elements of programming.

    Indeed. I don't think C and C++ would have become dominant without them. You need pointers to do low-level hardware programming. Java doesn't provide a way to do this. Hence you couldn't write a device driver in Java, or an OS.

    In short pointers are not a bad thing, just a scary thing to many people.

  • Kaffe means "coffee" in Swedish, but I presume both words are homonyms of the word that came from the culture that originally invented coffee (that's a mouthful). The Swedish word just happen to be spelled the same way as the original.

    But which country invented coffee, and what language does the word come from? It should be in the FAQ methinks.
  • On the Register [theregister.co.uk]
  • You want something VB-ish in look and feel that doesn't suck as a language, eh?

    Try Delphi.
  • What you say makes quite a bit of sense. It also
    ties in with the rumours that have been floating
    around and the brief mentions of microsoft looking
    at the open source paradigm. If you think about
    it, it amounts to a rather brilliant and
    interesting legal/marketing/publicity strategy;
    MS can say that they have embraced the open source
    community, while not actually having to do so with
    any of their code, and reap various strategic
    benefits therein. The public perception of MS
    being an evil empire, while it won't drop among
    geeks like us, may drop in the populace in
    general. MS can have something to crush the
    competition in win32 JVMs, all for some spare
    change out of their back pocket.
  • Kaffe is an open source JVM. It's been around for years and runs on Linux. Check out blackdown.org for more info.
  • Unfortunately (fortunately, maybe?) I doubt the GPL will be invoked at all here. If Microsoft's aim is to remove one possible equivalence with Windows (cloned Java support + MS extras) from non-MS OS'es, they'll simply force Transvirtual to stop releasing their portion of the source under the GPL. (Unless, of course, the GPL has a clause somewhere which prevents changing the license.) Since according to the Kaffe FAQ [kaffe.org], Transvirtual actually holds the copyrights to most of the source, this would effectively kill Open-Sourced Kaffe.

    In any case, I seriously doubt Microsoft will allow any of its "improvements" to Kaffe to be open-sourced. The aim of giving a language/protocol/device Windows-specific features is to give Windows a bigger feature set than competing OS'es, and if Linux et al. get these features through Kaffe, Windows gets no edge. It's not like Microsoft to throw money at a project for the general good. :P


    -W-
  • As for client side, all the hoopla seems to have migrated to XML.
    1. XML is not a programming language.
    2. Most XML parsers out there are written in Java. (Sun has one, Micros~1 has one, IBM has one...)
    3. XML complements Java, it does not replace it any more than "tab separated values" data representation replaced C.
  • By "the security model" I presume you mean the applet "sandbox". Applets aren't what Java is really about anymore - it was nice back when Netscape adapted the technology, though.

    Hooks into the OS are provided via JRI (old native API, no longer used), RNI (Micros~1 only), JNI (standard since 1.1.x), J/Direct and COM (Micros~1 VM only).

    Native compilers for Java exist, but largely targeting the Windows platform (IBM, Symantec, Metrowerks, Tower/J, ...)
  • 1. Kaffe has existed for a *long* time. This is not a new thing. 2. Kaffe is GPL'd! "Closely held"? Pshaw. 3. Kaffe is ported to many platforms. Actually more than any other VM, as far as I know. Talk about off the mark. Some people should read the company's website before writing article. --John Keiser
  • See http://www.kaffe.org/ [kaffe.org] for all the information you need. Pay attention to the links in the FAQ, particularly the bits that talk about the relationship between Kaffe and Transvirtual.

    N

  • it may be time to fork the tree (or be ready to) and proceed with Open Kaffe (GNU Kaffe? some other name?)

    Yes, with due respect to Transvirtual, it's way to dangerous to leave the majority of the the JVM code copyrighted by a company that can so easily be attacked/controlled by openSW-unfriendly forces, be they from Redmond or anywhere else. The copyright holder decides the form of licence, and right now it's GNU, but will it stay that way after a controlling interest in Transvirtual changes hands? Even if it stays GNU, it won't do to leave control of the CVS in the hands of anything other than a not-for-profit and democratic organization. Forking the tree now is the easiest way to get what we want and need.

    How about LAVA (Linux jAVA; Liberated jAVA for non-linux platforms)?
  • by geojaz ( 11691 )
    I can't seem to figure out what in the world the use of this is. Is it "bad" to have something run on more than one OS. If it works on more than one, that should be thought of as a feature, not really a reason to make a new language. Is this really going to be that different from java? If so, is it going to be easier to use? I guess what im saying is, is there even a need for something like this? If MS wants to put time/money into something maybe it would be better in somehting that is already platform specific, namely their own Windows APIs. Oh well... Microsoft will be Microsoft...
  • by Rayban ( 13436 )
    Isn't Kaffe the brand name of the Java interpreter that comes with most RedHat distributions currently? As far as I know, it's 100% java compliant (except for a few Sun APIs).
  • Java is used in EVERYTHING not just PCs. It will run on everything from embeded systems to super computers, the same binary on all of them. It doesnt need need native hooks, those are in the java VM program, not the binary.
  • Java's syntax is similar to C++ but its architecture is much more similar to smalltalk.
  • ditto.. I just can't get some apps to work right because of setup issues. I have not been able to get aol instant messanger to work right so I went to there tik version.
  • The company I am working for, is going to start there next app in Java. I have not heard all the details, but I know that there are many companies out there that are using Java now. Oracle is one I believe.

    However many companies are moving to web based technology which Linux is an area that Linux excels at. Programs like kpackage and kfm allow a user to visit a web site select a package and view its contents, without installing it. Can Microsoft do that? No and Java wont help. API's like QT and GTK make writing GUI apps really easy.

    Microsofts days are numbered. I do not believe that Windows 98 did as well as windows 95, adn that windows 2000 will far as well as either of them, unless it is really really something. With Intel soon (I hope) to be releasing a 64 CPU, and Windows 2000 not being 64bit OS they will have to play catchup to create a 64 bit OS. Linux has this. This is when Microsoft will fall. Why run 32 bit OS on 64 bit processor? By this time the Linux 'kinks' will be resolved. Linux will have an easy install (I never thought it was that difficult thou). Linux will have an easy desktop enviroment ( I should say easier, if not several choices of them). Linux will have great SMP (I think it is already working prety good. )

  • Sun's control of Java was predicated on the idea that nobody else was smart enough
    to write their own.


    Sun knew very well that people were going to make their own VM's, they're a big company but therefore not automatically completely stupid. In fact, I think they hoped for it because you can make an environment like this only a success when there are multiple implementations, and everyone can roll their own stuff.

    That's the main reason why they threw so many lawyers at it - to make sure that Java becomes a success while at the same time allowing Sun to make money from it (through logo licensing, compatibility testing, etcetera).

  • I'd love to work to get a free one, but probably
    with many others I was so dumb to sign a source license to the JVM. I'm tainted and people like me touching free efforts could seriously jeopardize their codebase.


    The lesson: don't agree to the "Sun Community" Source License for the JVM. Probably don't agree to same for Jini as well. It's not open source and exposure to Sun's source code is likely to disqualify for helping out in great (and probably fun) projects like Japhar and GNU classpath.


    (disclaimer: IANAL).

  • The point of Java was "write once run everywhere"...

    Enh. Kinda. Java is actually a pretty bitchin' programming language in and of itself, even without the portability consideration. Compiling a list of Java's virtues is left as an exercise for the reader (and an easy one, since various Sun folks have done it for you).


    I haven't read any of these press releases yet, but I'm not convinced I can see how this is much different from releasing an app that only runs under KDE. I'm aware of MS's attempts to screw with Java before, but at what point does "embrace and extend" become "grapple and smother"?

  • Cross platform was only one of the boons of Java. There are others. Maybe they don't want to program in C++ because they like garbage collection or the Java class libraries or Swing or something else entirely.
  • Why is it that M$ is allowed to continue?

    I'm sure someone somewhere is wondering the same thing about you. Microsoft makes money. Duh.

    And no, Java for Windows only doesn't defeat the ENTIRE purpose of Java. Some people like the language for reasons other than cross-platform propaganda.
  • by Zifter ( 15237 )
    I remember hearing rumors of this a while back. I also remember when the guys at Sun came up with Java. And despite my personal opinions on Java, I thought that is was very cool that you could easily write Java code and use it anywhere on any machine -- not just one using Windows. So, outside of Microsoft adding tons of their own "features" to the language, what's the point? Just to really aggitate us? It's gotta be... :-)
  • Actually, much of the code in kaffe is owned by the guys at TransVirtual. They have a commercial version of the product already that is closed source. As long as they don't use GPL'ed code that they didn't write then they can do anything they want with their code, including selling it to Micro$oft if they wish.
    ---
  • Now I hate to defend Microsoft, but they did have one (1) original idea: BASIC.

    Not hardly. BASIC existed way before Microsoft (it was developed as a learning tool for Fortran). Microsoft wasn't even the first implementation, it was available on other systems before Microsoft did Altair BASIC in 1975, for example the DEC and HP minicomputers. In fact, Altair BASIC wasn't even the first BASIC dialect for microcomputers, just the first reasonably full featured one that became commercially successful. When Bill Gates was a student at Harvard, he worked as an intern at one of DEC's research labs, working on, surprise-surprise, DEC's BASIC interpreter for the PDP-11. Not surprisingly, Altair BASIC looked very similar to DEC's BASIC.

  • If company X releases their source under the GPL, can they still sell commercial rights to that same source to company Y?

    Generally speaking, a copyright holder may release his product under several different licenses including GPL.

    Case #2: If others have submitted small patches throughout the source, via the GPL, can company A still sell that source?

    That depends on the conditions that the copyright holders have made on the submission of patches. If they have clearly stated that they reserve the right to include submitted patches in commercial products, and you have submitted under those conditions, they have probably protected themselves against claims of infringement. OTOH, if you have clearly stated in your submission that your patch may only be released in a GPLed form, you have probably protected your rights up front. Anything else is a grey area that the courts would have to sort out.

    Let's make it a little more controversial--let's say those small patches make up only 1% of the source, but were very essential bug fixes that the original authors may have never caught. Say two of the patches made it so the program would not crash in an SMP environment. What then?

    I'm not sure how the damages in copyright infringement, assuming you have cleared the preceeding hurdle and demonstrated an infringement, are determined. Whether they are the commercial value of the infringing item, which I have heard claimed in similar discussions. The value of the patch independant of the work it modifies is probably very small.

    I don't think that damages of 1% of either the gross or net proceeds of the commercial product would be upheld.

    But I could be wrong. IANAL and all that.
  • Remember that because once you start to walk down the path of the darkside its nearly impossible to get out.

    For the life of me, I can't understand this argument. I keep hearing that MS is going to pollute Java by "tricking" programmers into using MS-only extensions.

    How stupid do you think programmers are? As long as you have two bits of knowledge (1. COM is an MS-only technology. 2. WFC (Windows Foundation Classes) are Windows-only), you can pretty much tell which parts are cross-platform and which aren't. Heck, the whole java.* vs. com.ms.* package naming should be a huge hint all by itself.

    And Apple is doing pretty much the same thing on the Mac. Apple's JDirect2 (they called their propriatary native interface JDirect a few months before MS released J/Direct) lets you write apps that are closely tied to the Mac OS (and soon, Mac OS X) in Java. It would take a supreme idjit to not notice that they were using classes in the com.macos.* package rather than one of the java.* or javax.* packages.

    There is _nothing_ wrong with companies wanting to tie Java to their native platform. This is a tremendous boon for programers, since writing in Java is a lot more productive than writing in C or C++ (and anyone who disagrees with me on this one better have some solid research backing them up. I've yet to see a single paper which disagrees with me. Saying that you personally can write 100,000 LOC a day in C++ doesn't count.). Sun's licence ALLOWS this. All that Sun wants is the ability to write 100% Pure Java apps as well as platform-specific ones. That's why Sun sued MS.

    Now, if Kaffe already supports standards like RMI and serialization and reflection, then they're pretty close to the standard. Sun gets what it wants, even if MS doesn't pay any licencing fees to Sun. If it doesn't, Kaffe is going to be irrelevant, since all of the effort on server-side Java depends on those technologies. Everyone and their grandmother is putting EJB support into their databases and application servers. DB vendors are allowing stored procedures in Java.

    There's money in enterprise software, a heck of a lot more than there is in consumer software, where nearly half of it is stolen, anyway. MS has virtually no presence in this market. If MS wants a piece of that pie, they're going to be supporting Sun's Java, one way or another.

    -jon

  • "They've never had an original idea. Copy, copy, copy, copy..."

    Linux, on the other hand, is a wholly original work, bearing no resemblance to any pre-existing software, commercial or free
  • One thing to be clear on. The cat is out of the bag. The world may never see another public release of Kaffe source code from transvirtual, but that doesn't stop other individuals or groups from forking off the existing code base and improving it with ongoing maintainance & development.
  • Why is it such a bad thing to have pointers?

    You answer your own question:

    I understand how, when used wrong or poorly, they can lead to Bad Things

    but in general I have found them very powerful elements of programming.

    Do you consider all programmers as good as or better than you? If not, see above.

    Half the programmers out there are below average.

    (And that's assuming a uniform distribution. Some would probably say "more than half".)
  • by AJWM ( 19027 ) on Monday June 14, 1999 @09:06AM (#1851706) Homepage
    "Java that will run only on Windows"

    An oxymoron. There's no such thing. If it only runs on Windows, then at best it's a "Java-like language". I wonder if the next "Explorer.Worm" targets .kaf (or whatever) files too.

    (Although MS will probably stick with the .java extension just to sow chaos and confusion, as part of their usual "purloin and pervert" (uh, "embrace and extend") tactics.)
  • by AJWM ( 19027 ) on Monday June 14, 1999 @09:21AM (#1851707) Homepage
    The Kaffe that's already out there under GPL is available to anyone and will continue so. New versions don't have to be GPL'd, however.

    Given the above concerns about Microsoft and Transvirtual, it may be time to fork the tree (or be ready to) and proceed with Open Kaffe (GNU Kaffe? some other name?) independantly of whatever MS/TV do.
  • by AJWM ( 19027 ) on Monday June 14, 1999 @11:32AM (#1851708) Homepage
    I read the update. It makes things seem even worse, not better.

    Without the clarification, we could at least hope that the MS crap would remain confined to the TV's proprietary JVM, and the open one would remain pretty much conformant to 100% Pure Java.

    Now we see that the open version is being seduced to the "purloin and pervert" (embrace+extend) side of the force.

    2. All the extensions we're implementing are cross-platform - they don't just run under Windows as the WSJ article implied (okay, COM integration is a problem if you've got no COM on your platform to integrate with I'll give you that). That's hardly cross-platform, then, is it? If developers use Delegates I don't recall those being part of standard Java they'll work on Linux (or whatever) and J/Direct is just another JNI-style interface anyway. Which we need....why? We're looking at providing some Win32 compatiblity libraries for commonly used J/Direct Win32 library calls.
    Oh, joy, more Win32 crAPIs. And they'll work just how on end-swapped or 64-bit word machines?

    The GPL'd Kaffe tree is about to become hopelessly contaminated. Somebody fork it now, please!
  • I hate to post something that will probably be taken for immediate flamebait on slashdot but I find your remark questionable in terms of accuracy..... so

    • Microsofts JVM - albeit noncompliant has always been quite a decent performer for quite a while - under Windows and MacOS , obviously.
    • Java performance under linux has historically been pretty bad - I applaud the blackdown porting effort and in fact use it every day but it is slow ( getting better though )- kaffe is not quite 100% there - the cygnus native stuff doesn't cover enough of the class libraries.
    • We still don't have a full non-beta Java2 implementation across all linux platforms

    There is a lot more to advocacy than blindly disclaiming everything that Microsoft produce as bad.

    Disclaimer:
    Scrutty is an avowed hater of Microsoft OS's. He uses Linux every single day both at work and at play. He is in awe of Java as both an OO language and a platform and develops Java Apps on linux. He wishes that Sun would put their cross platform / linux supporting money where their corporate mouth is and produce a kick-ass JIT microthreaded Java 2 JDK for linux.

  • A few reasons why someone might want to program in Java, even without bytecode portability:

    1. Enforced object-oriented style (this can be good or bad, depending on your personal philosophy).
    2. Forced exception handling in many cases (again -- personal preference).
    3. Simplicity and speed of development
    4. Fairly consistent API for GUI design (compared to platform-specific windowing APIs).
    5. No memory management worries (Forget Kevin Mitnick, most programmers need to worry more about freeing their mallocs. ;) ).

    This is not a "Java is better" case, just a few answers to the question.
  • I'd love to flame your position on C++.

    But I just spent the last week cleaning up memory leaks from a programmer who is new to C++.

    So I can't. :)
  • by musique ( 35188 ) on Monday June 14, 1999 @07:50AM (#1851734)
    I program in J++ and I chose J++ for the following reasons:

    1. It's an object-oriented language which is better for writing visual user interfaces.
    2. Java does not have segmentation faults and bus errors which can bring a Win95 machine to it's knees (No comment on MS's crappy VM that crashes...but anyway)
    3. I knew Java.
    4. I THOUGHT that J++ was going to be _almost_ platform independent implementation of Java. I read many articles on J++ and did not understand that all of the generated code contained these STUPID function pointers...I mean delegates that MS demanded. None of the articles that I read pointed out how the generated forms (like Java Frames) work.
    5. The Windoze window manager and ODBC (i.e. WFC) is called directly as opposed to being called through an additional layer, thus it (should be) is faster than going through java.awt.* AND there may also be a MS JIT compiler.

    What I've realized since I've first started using it is that:

    1. It would be almost impossible for me to port my applications anywhere, even with the many precautions that I've taken to keep MS specific code segregated in classes from platform independent Java only classes.
    2. Because of the unnecessary inclusion by MS of their delegate class, all of the generated code for forms is completely unusable save a conversion utility (which does not exist) that could turn delegates into inner classes.
    3. Programs run pretty fast after being compiled as compared to normal Windows apps.
    4. If I had to port any of these programs to Pure Java, I would have to rewrite the lowest level database class and all of the user interface classes (what MS calls forms).

    Why not C++?

    C++ programs cannot be developed as quickly and take much more care. They run faster, but that is not what I needed--I needed rapid development.

    Why not Visual Basic? Gimme a break! You call that a language?

    The point of J++ and any other Windows dependent Java clone is to make the cost of moving from Windows too great for people to switch to another OS.
  • "They've never had an original idea. Copy, copy, copy, copy..."


    Microsoft has always been a step behind in technical inovation. However, they have always been a step ahead in marketing to the masses. The average non-technical guy thinks of Bill Gates as a technical wizard, but people in the IS community would probably tend to think of him as a great business man instead.

    Generally most of the features that make Winodows what it is were not orginated by Microsoft. They were innovations by others who failed to captialize upon it, or were bought out, or were squeezed out of the market by MS. DOS itself was bought by Gates, he didn't orignate it.

    That aside, copying is not evil. Consider the following quote:

    While I don't claim to be a great programmer, I try to imitate one. An important trait of the great ones is constructive laziness. They know that you get an A not for effort but for results, and that it's almost always easier to start from a good partial solution than from nothing at all.

    The Cathedral and the Bazaar by Eric S. Raymond

    Linux is an example of that concept. Take and Idea and improve it.



  • Bewildering.

    Kaffe has been around for a while. It is the JVM distributed with RedHat, but if I am not mistaken it does not contain the full suite of Java classes. It is limited to Personal Java 1.1. I don't get the "introducing a product called Kaffe", since it was introduced a while back.

    I am using Blackdown and playing with the TYA JIT. So far, it's worked out fine for me.

My sister opened a computer store in Hawaii. She sells C shells down by the seashore.

Working...