back to article The day Microsoft 'embraced and extended' Java

It's early December 1995 and it has been a heady few days for Java. IBM and Adobe Systems have agreed to license this strange and embryonic new software that Sun Microsystems keeps telling us can be "written once and run anywhere". Two days before, Sun and Netscape had announced JavaScript that - according to the press release …

COMMENTS

This topic is closed for new posts.
  1. Anonymous Coward
    Anonymous Coward

    Cue Java vs .Net "debate"....

    ...descending into name-calling within 10 posts... :)

  2. Spoonguard
    Gates Halo

    there is no debate, dumbarse

    what makes you think that this community is so petty as to stoop to your level

    slag.

  3. Silo Spen

    Already it begins....

    .Net sucks, rar, rar, rar :)

    Nice article, I enjoy computing history. Any chance of a history of Xerox and their computing mistakes article in the future?

  4. Anonymous Coward
    Anonymous Coward

    .Net Vs Java

    um, hold on just a second nope can't think of any reason to discuss either one there's not enough difference to care about and less every day. I post AC just in case someone think of something.

  5. Anonymous Coward
    Anonymous Coward

    re: .Net Vs Java

    Quite.

    Learn to use both, make twice as much money!

  6. Corrine
    IT Angle

    Java vs .Net?

    What exactly are you going to debate? Which one is more annoying to update for the one program you have that uses it? Or perhaps which is slower? Oh, I know, debate which one has sent more undergrads running away screaming from the CS departments?

  7. Chris Branch

    @Silo Spen

    Java sucks, jar, jar, jar :)

    Incidentally I also liked the article and its predecessors - it's good to have a refresh of times past and note how it may have influenced things today. (or not)

  8. amanfromMars Silver badge

    Generous Wallets

    "Quite.

    Learn to use both, make twice as much money!"

    Quite.

    But for which one? Or make twice as much money for/from both of them?

    Methinks one may be enticed/tempted with the usual enticements/temptations to make a choice, so it may be a battle of number$. How crass is that in what would really be an Intellectual ProActive XXXXercise to engage with IT Programmers, who are actually, Really, ITs Hot Shot Drivers.

    "...descending into name-calling within 10 posts... :)" ....:-) Crikey, that descent needed no posts, only 34 minutes.

  9. Steve
    Thumb Up

    @Learn Both

    You don't get paid just for knowing something.

    Learn both and you'll still have a job writing one or the other and get paid just the same as before.

  10. Anonymous Coward
    Anonymous Coward

    Javascript is EVIL

    Never works the same between different versions of the same browser, let alone different browser flavours... Yuck, Yuck, Yuck...

    Admittedly, I hate VBScript just as much and ASP most. Makes my skin crawl just thinking about my brief experience with those two spawns of the devil (even though it was waaay back in early '99).

    More to the topic: Even though I was an early adopter of Java, and generally hated everything about Microsoft, I never really thought it was such a big deal that M$ was making Java work nicely with their OS/Tools. If you follow an MVC approach, having a custom front end for Windows makes sence - and anyone that's had to work with the hideous Java AWT GUI would certainly welcome something better.

  11. Geoff Mackenzie

    Re: Steve

    Actually ... you could get two jobs. I'd guess a job where you had to use both would probably pay pretty well!

    It also occurs to me that there is a way to get paid just for knowing something. Blackmail. :)

  12. Matware
    Flame

    Cunning plan

    Convince the company to use a .net front end, and a java back end, the blackmail them into paying you twice as much to undo the mess..... now that sounds like a plan.

    time to work on my cv.

  13. Jim Hague
    Gates Horns

    There was more than just Windows add-ons

    >I never really thought it was such a big deal that M$ was

    >making Java work nicely with their OS/Tools.

    The COM integration was very nice and useful.

    Adding new methods to core classes and not even documenting that these were MS extensions was pure evil. Simply, a MS Java coder could write a pure Java program eschewing all the Windows extensions, and still end up with something not portable beyond Windows.

  14. Anonymous Coward
    Anonymous Coward

    Cross Platform

    I always thought that the fact that Sun's java implemented was cross platform was a bit a myth too. It would be nice if I could assume my little java applet written and tested in windows would work flawlessly on linux without the need for more testing.

    MS are also ramping up the competition (or trying to) against flash, with Silverlight on the way, but I fail to see any real advantages yet with their "new" tech against all the pre-existing ones we already have.

    I'm not sure I really give a toss anymore with anything to do with this, my assumption that MS takes any standard with a creative pinch is salt is still valid. it seems when their engineers get hold of a standards document, it never appears to be good enough for them.

  15. shane fitzgerald
    Thumb Up

    Neither..

    I'm still happy writing in 6502 assembler......

  16. A J Stiles
    Thumb Down

    JavaScript

    JavaScript has a really nasty flaw; which arises from two separate behaviours which, though not really flawed in and of themselves, are irreconcilable and combine to produce a Really Big One.

    Like BASIC (which distinguishes between numeric and string variables), JavaScript recycles the + operator to perform string concatenation.

    Like Perl and PHP (which use distinct operators for numeric addition and string concatenation), JavaScript treats numbers and strings as being fairly interchangeable; coercing either one to behave as the other as occasion demands.

    What this means, effectively, is that one cannot just add numbers with wild abandon in JavaScript, lest they be mistaken for strings and concatenated instead. (Subtracting the number 1 from the string "51" yields the number 50, because subtraction correctly coerces strings to numbers; but adding the number 1 to the string "51" yields the string "511".) One must employ subtle methods to avoid this; either perform explicit type conversion using Number() or perform implicit type conversion by subtracting negative quantities. Either way makes for ugly code.

  17. James McGregor
    Stop

    Java and JavaScript are NOT related

    JavaScript is not Java's "little brother". It has nothing to do with Java. Even though they both share a syntax to C, the similarity ends there. Java was developed at Sun Microsystems, whereas JavaScript was developed by Netscape under the name Mocha, later LiveScript, and finally renamed to JavaScript at about the same time that Netscape Navigator implemented support for Java applets, presumably to cash in on the "Java" name. Confusing perhaps, but marketing often is.

  18. Daniel B.
    Flame

    Re: Javascript is EVIL

    Ah, so I'm not alone! I had high hopes that Javascript would finally die with JSP, .net server-side scripting and all those things that made server-side programming better than lame-ass Javascript.

    Except someone made up that ugly thing called "AJAX". Web Services were NOT meant for end-users, they were meant for EDI transactions! Now we have Javascript "applications" that eat away on your RAM, slow down the PC while loading and are nigh-impossible to debug, because the "HTML" is now generated by Javascript, instead of server-side.

    Not to mention inter-browser quirks, courtesy of IE. I'm just waiting for someone to do something stupid like coding an online bank system in AJAX so the damn crapware shows how unreliable the turd is. Eek!

    As for Visual Basic ... I haven't seen uglier syntax like that except in ill-advised compiler courses. ugh!

  19. Tim Anderson

    JavaScript vs Java

    > JavaScript is not Java's "little brother".

    > It has nothing to do with Java.

    The relationship is that Sun embraced JavaScript as a way of scripting Java objects within the browser, hence the name. Otherwise, I agree with what you say.

    Tim

  20. James Butler
    Linux

    Java Cross-platform

    "Pure Java", if developed using the "correct" (non-MS) specs will truly run anywhere there is a "true" (non-MS) JVM.

    And the biggest difference between Java and .NET is ... the net ... Java doesn't need it to run whereas .NET needs Windows and ... the net.

    And Tim Anderson is right, following on the heels of the also-right James McGregor. As for AJAX performance ... ye reaps what ye sows.

  21. Mike Bremford Silver badge
    Stop

    JavaScript is maligned

    JavaScript has a poor reputation because it's used by people who don't know how to program and because some of the additional components it's normally associated with (ie the HTML DOM) are poorly implemented.

    As a language though it's superb. Loosely typed, sure, but strong minds can handle weak types. It has closures and all of the fun bits that make Ruby so popular, and in terms of speed of development it's hard to beat.

    I'm normally up to my eyes in Java but I've been using it a lot in it in non-browser environments lately and it's a pleasure (ok, it would be more of a pleasure if Sun and Mozilla hadn't diverged a few releases back - JSAdapter vs getters/setters, anyone?)

    Don't make the mistake of tarring it because of it's users - like communism and religion, the underlying principles are sound but it's usually adopted by clowns. Take a look at here first. Or just go and use gmail for crissake.

    http://javascript.crockford.com/javascript.html

    http://www.crockford.com/javascript/private.html

    http://blogs.sun.com/sundararajan/entry/self_javascript_and_jsadapter

    http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Guide:Creating_New_Objects:Defining_Getters_and_Setters

    http://developer.mozilla.org/en/docs/New_in_JavaScript_1.7

  22. Stephen B Streater
    Go

    Java is cross-platform

    We have needed little work to make our applets run on "all" platforms (Windows/Mac/Linux, various browsers).

    The biggest issues are to avoid bugs in various older versions (including MS "Java" 1.1), the different execution speeds of different library functions (which we have to be aware of in our real time applications), and minimising the creation of garbage - the garbage collectors' performance doesn't seem to be defined.

    A streaming video player is one of the most complete demonstrations of cross platformness, requiring real time download, decompression, video display, synchronised audio playback, and mouse interaction - so if anyone wants to test out "cross platformness" in Java, have a look at some videos at http://clesh.com/

  23. The Other Steve

    Javascript/VB

    Is a pretty good comparison, much like VB in all it's forms, Javascript enabled hordes of untrained and ill disciplined dabblers to create literally millions of lines of really poor code very very quickly.

    Unfortunately, since it was subsequently built into nearly every web browser on the planet, it allowed the hordes to foist their crawling horrors on the rest of us via the magic of the internet.

    Arse!

    In fairness I should point out that the comparison also holds in the sense that it isn't actually necessary to code like a retarded monkey on crack in either language, despite all the evidence to the contrary.

  24. BossHog

    @shane fitzgerald

    >> I'm still happy writing in 6502 assembler......

    Good man! Let's go make some NES games :)

  25. Anonymous Coward
    Joke

    @James Butler

    You really think that? Wanna buy a bridge?

  26. Robinson
    Paris Hilton

    Java, .NET

    I've written with Java and .NET. The Java applet project I was involved with was written with MS J++, but tested with Suns JVM. I just prefer the developer tools from Microsoft, compared to things like NetBeans, which seemed to take 1/2 hour to start-up on my system and looked and felt totally different to all my other windows software.

    I also think .NET is one thing Microsoft has actually done very well. Both C# and Visual Basic.NET are ahead of Java imho with respect to things like generics and the richness of their libraries. WPF (Windows Presentation Foundation) is another technology that I think is going to ably compete with Flash (Action Script if I remember was a royal pain in the arse). I would even go so far as to say MS are ahead of the game with their WPF coding model, especially as it's backed by the .NET CLR.

    I don't hold out much hope of true .NET platform cross-compatibility; people speak of Mono, but as far as I can tell the application would have to be pretty limited to succeed (and as such, why not just use Java?). In any case, in these days of Virtualisation, does cross platform compatibility really matter? I wonder.

  27. David Sickmiller

    More than just $20 million

    The article suggests that the $20 million was sufficient to settle the spat between Sun and Microsoft about Java. However, Sun filed an antitrust lawsuit against Microsoft in 2002 for using Windows to undermine Java. This was resolved in April 2004 to the tune of $700 million! At the same time, Microsoft and Sun signed a $900 million licensing deal.

    See: http://www.sun.com/smi/Press/sunflash/2004-04/sunflash.20040402.3.xml

  28. Shakje

    @James Butler

    Might make more sense to only comment after you've read something about what .NET is.

    The .NET VM is far faster than the JVM (which makes sense) and is better implemented than Java in general. I've spent a few years coding in Java, I did C++ before that, I now do C++, but I prefer working with C# (and I was a diehard C++er until I started learning C#). It has a few problems with the language (that will be here to stay unfortunately), but overall it's fantastic, and a joy to be using VS as well (let's face it, there's IDEs that come close, but the only one I've used that I would consider an alternative to VS in Java is iDEA, but it deleted about 70% of the work I was doing on refactoring so I lost some faith in it).

This topic is closed for new posts.