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

 



Forgot your password?
typodupeerror
×
Java Programming

Microsoft wins Annulment of Sun's Java injunction 197

Will in Seattle writes "A new InfoWorld story on a court annullment of the Sun injunction against Microsoft over Java. Arr, matey, the seas be choppy right now, first to port, than starboard, then port, then starboard. Abandon ship, all ye Java geeks!"
This discussion has been archived. No new comments can be posted.

Microsoft wins Annulment of Sun's Java injunction

Comments Filter:
  • 1. Generic programming is NOT necessary, but it is a really nice feature. Templates are overglorified macros. 2. OO -geared programming is not a problem. It is useful for managing large projects- if you are going to write a ten line perl script then why the hell should you even bring up the subject? Just write the ten damn lines, and be done. Perl is perfect for this. C++ is muliparadigm, but also is rather low-level and has had a very long, painful, corporate-driven evolution to that point. It merges object-oriented ideas onto a procedural language, and does it badly. Not saying Java is the perfect OO language, but that C++ DEFINATELY isn't. 3. Access to system programming is a benefit. There is a distinct line between system-level programming and application programming. And java is meant more for applications, not hard disk defragmenters. How are you supposed to give access to low-level system features in a platform independant way? That makes no sense. You can use JNI to link in native code to do whatever tortures you want to your system, but you lose the platform independance. 4. If your goal is a one line perl script, then again, why the hell even bring the subject up? I agree, perl is better for a ONE LINE program. Now, when you get to about 150,000 lines, tell me again how much you like perl.
  • sorry.. i hadn't read the infoworld article when i started typing this post, and there werne't any other posts yet. i'd just read a much less clear article at the "nando times" and had come away with the impression that the suspension of the injuction was permanent.. didn't realize it was just a temporary request for elaboration by the original judge. i feel dumb. :P well, my point remains the same, since why else would MS still even be in the case.. :P

    p.s. to the AC: you know what i meant by "working" :P
  • Java already has a native interface built into the specification, and mechanisms for increasing performance, including JITs and dynamic natively compiling virtual machines. What Microsoft has done is to break compatibility on it's OS by NOT using the native interface in the spec, but its own native interface...effectively breaking those apps for all other OSes. Contrary to popular opinion, the world DOESN'T revolve around Microsoft. Java is a boon on the server side, and it's effectively transparent portability allows distribution to arbitrary and unknown clients. That's the point. Nobody is using Java for its GUI speed. They're using it for portability. Once you break that it becomes pointless. Why not just use VC or VB or Delphi or some other native dev tool??
  • Hear hear! This is absolutely true. Perl ALLOWS you to do things right, but it doesn't force you to. When you see ugly-ass perl, it's usually the product of one of two people:
    • The part-time hack who just wants to "get things done quickly" and who cares if it's butt-ass ugly or not
    • The "efficiency nut" who was raised to believe that perl programs longer than three lines are a sin, and will lead to an enternity of coding VB in the afterlife
    Either or both of these mindsets are fine for short little sysadmin hacks, but as perl matures into a Real Programming Language, complete with OO functionality, a massive wealth of libraries, bindings, and GUI toolkits, and, very soon, even threading (!) both of these sorts of people are increasingly out of their element. Rest assured that there are those of us out there who take the time to code cleanly in Perl (use strict, scope all variables, comment stuff, use descriptive identifiers, etc-- spend enough time coding for mod_perl and you'll learn to scope your damn variables right quick!). And, most importantly, that writing good, clean maintainable, readable code in Perl is fully possible. It's just not FORCED upon you.

    So, back to the ivory tower with those who believe that if you can't malloc(), you can't program. Perl is bringing code to the masses, whether they like it or not, and if you care to, you can learn to do it the right way.

    And as for "Perl is slower than Java," all I can say is WTF??? Shrug. Some people...

  • Check out GJ:

    http://www.cs.bell-labs.com/~wadler/pizza/gj/
    - -
  • Rewritten the code? The code has been continually evolving over that time. The number of deprecation warnings I get when I compile everything under 1.2.2 is very minor, and easy to fix stuff. I can't move off of the deprecated stuff yet because I still want to support compiling and running the code under 1.1.x., but if someone held a gun to my head and forced me to clean up all deprecation warnings under 1.2.2 it wouldn't take me more than a day or so to fix...

    Language flux really hasn't been an issue. Since we began, inner classes were maybe introduced, but that's about it for language changes. Class libraries have changed quite a lot.. I started developing Ganymede before Swing, and so I spent a month or so developing a tree component and a month or so developing a table component, which is sort of time lost, but no one is forcing me to rip out that code now. Generally speaking, the libraries have just gotten more robust and correctly functional over time. There were some bumps when they introduced the new security model in 1.2, but the folks at Sun were very responsive to the bug reports I submitted, and everything's working fine now.

    The reason to do it in Java is that Java provides so many great pieces of technology that makes the whole thing work.. a robust thread system with language-level support, portable GUI, RMI network-translucent method call support. This would have been (at least) a 300,000 line project in C++, even assuming I was able to start off with Qt or GTK back when I started. It just wouldn't have been doable.

    And I had no idea it was going to get this big, anyway. ;-)

  • ... the hassle of pushing the stop buttom to shit up an ad is enough to make the ad annoying....

    Freudian slip? :)

  • "so late and can't even match the current Communicator, much less the vastly superior IE5"

    In what aspects can it not beat Communicator and IE? Would it be that it has yet to support proprietary, fractionated versions of the actual standards?

    "So...why aren't they coding it in Java?"

    Um...there is an effort to code it in Java. It's called Jazilla. There is also an independent effort Jozilla. Grendel has been resurrected and is also being worked on. Am I to assume you are being sarcastic or just brain dead by asking why the actual Mozilla is not being written in Java? The obvious answer is that Java is not yet fast enough, and HTML/CSS/whatever layout is highly cpu intensive and complicated. On the other hand, the Gecko component has been abstracted and could very well be plugged into a Java shell for pure performance matters. There are already some kick ass pure Java HTML renderers out there anyway, just not a homemade Jazilla one. If Mozilla *were* to be written in Java you would see things like NSPR, XPCOM, XUL and other portability layers disappear. IE was written for one platform so it can be easily optimized for that platform. By using their brains a bit, the Mozilla team has made a pretty darn good browser for many platforms, which, seeing its optimized component embedded in other applications already, seems like it will knock the pants of IE. (oh, yeah, you do realize that the Mozilla builds are DEBUG builds? I guess you didn't compare against a DEBUG build of IE?)

    "If they did, they could stop people from wasting time on portability issues and have them working on the core browser."

    What you call wasting time, some call innovation. BTW, don't worry, there are plenty of people working on the "core browser"

    "Wow, right now I'm sitting at a Win2K box running an X Server providing me terms from both my Linux box and my Sparc, so I guess I'm better than you, right?"

    How does that make you "better" than somebody? If I said I was sitting on at Win3K box with terminals to an SGI, Solaris, and AIX box would that make me "better" than you?
  • Their mistake was to sign a contract with M$. M$ has screwed everybody else they signed a contract with too.

    1: That's not saying much. If you take shrink-wrap licenses as signatures, the majority of America has signed a contract with M$.

    2: You don't have to sign a contract with M$ to be screwed by them. They're an equal-opportunity fiend.

    Sun's mistake was to attempt to defy Microsoft with something as small as a multiplatform language. You don't bring that weak stuff around Microsoft. We may, repeat may be having an effect on them with the combined weight of the government (personified by the DoJ) and a software development model most companies can't even grok, much less fight (that is, OSS).

    Any attempt to remove Microsoft's hammerlock on the software licensing industry has failed, plain and simple. The only reason that Linux is actually winning these days is that it is avoiding that industry entirely.

    While MS has its hammerlock on the software license industry, Linux and other projects are creating a new industry of software service. Microsoft can have their licensing monopoly. The open source movement is attemptint to do nothing less than marginalize the software licensing industry. Since Microsoft owns that industry, they are simply suffering collateral damage.

    They can use every last trick in the book to keep a monopoly on sailing vessels. We're selling steamships. We aren't trying to render Microsoft obsolete; we are trying to render software licensing obsolete.

  • Java is very mature for its age. The multi-threaded server for my app is extremely robust.. even when there are bugs in my code, the server just keeps going. An individual thread may throw an exception, but the overall system keeps going no matter what. No segfaults, ever.

    And I haven't seen any major speed issues.. it helps that I developed my server code on a 60mhz multiproc Sparc system and the client on a p133.. algorithms win over linear code execution speed, like they say.

    With HotJava, Java is actually really good for server code. It would still be nice to be able to tell the compiler that I wanted to continually re-use a memory buffer for some purpose, but in almost all other respects Java and its class libraries are perfectly suited for robust programming in the large. The changes from 1.0 to 1.1 to 1.2 have indeed been somewhat jarring, but each change was noticeably for the better, and the workarounds I wrote for things that were missing in earlier versions of Java don't break under the new, so what's the problem?

  • And... it's a great thing being able to take a complex server and install it on a new UNIX system without having to compile anything. It's a great thing being able to take the client and run it on any UNIX system, any 32 bit Windows system, and even on a PowerMac without having to so much as compile anything.

  • by Anonymous Coward
    You know, I don't get why so many slashdotters take such glee in "bad" news about Java. I also spend a fair amount of time at the Java Lobby [javalobby.org] site, and I can tell you that the hostility is not shared.

    Every post I see at Java Lobby regarding Linux expresses enthusiasm and praise. Those who use Linux as a platform for Java development (including me) are very happy with it. They want to see Sun loosen their control and they want to see both platforms succeed.

    But now, Will in Seattle comes along with a court ruling that says that the original injunction against Microsoft was wrong, but that the case itself has merit. His cute comment? "Abandon ship, all ye Java geeks."

    I would love to send Will an email asking him what he has against Java, but I can't. The e-mail link gives me "we.are.lost.at.sea@sun.com". That's cute, but it basically turns him into an Anonymous Coward, just like me. I guess he doesn't have the courage to handle the flames he knows he will incite. Maybe a better solution is to just leave out flamebait comments.
  • What is the point? The fact that I use Microsoft's development environment does not mean I *like* their development environment (when I'm not at work, I use XEmacs and JDE). J-- is actually bastardized enough that it pretty much is the exact same thing as ATL and C++. Java interfaces mapped into COM objects, Java types mapped into variants. They basically took all the disadvantages of C++ (pointers, non-automatic memory deallocation) and made something like Visual Basic speed-wise. IF Microsoft manages to make a future version of J++ Not use pointers, Not use multi-inheiritance, and perhaps allow it to compile to native code (or at least allow redistibution of the @#$@# JVM, they required IE4 to be distributed last time I checked.. why use a hammer when a steamroller can do the same job?) then my employers and myself might consider it- but it would as a stepping-stone for a _pure_ java program later on.
  • by prok ( 8502 )
    I spent a good chunk of my summer writing perl code and making good money at it. You know what? I don't miss the money one bit.. cause I don't have to look at perl ever again if I don't want to. More time for python/c/c++ :)
  • I use SimpTerm. It's completely free. Closed source, but freeware.
  • by edelbrp ( 62429 ) on Monday August 23, 1999 @06:48PM (#1729214)
    Java is to J++
    as
    peanut butter is to water

    I.e., Microsoft is doing their usual thing of taking a competing technology which supports multiplatform use and using their market clout to either a) take over the market with thier own competing product and/or b) simply trashing the technology's reputation by getting their fingers into it and making it only work in their favor.

    We've seen this in many technologies (browsers, Jscript, J++, streaming video, etc.), not to mention direct competing products where the target company was either out-right bought out, squashed by illegal business tactics, or the technology 'fudged with' to make it only work reliably in Microsoft's favor. It's funny to see the lawsuits for Win3.1 apps finally be making it out of the courts, but it doesn't matter since nobody uses Win3.1 anymore...

    Microsoft is pure EVIL. Their inability to innovate while at the same time squashing other companies' innovation has brought OS and app development to a stand-still for about a decade now. Many former, present, and even future M$ employees admit this. It's no wonder that open-source projects have kept moving (and caught up!) while commercial products have been mysteriously stagnant for a decade or so. That's a very, very long time to see this little innovation (besides Internet related which M$ has had little to do with).

    --Phil

  • I'm the installer wrangler for my company, and I'm fairly impressed with InstallAnywhere, by ZeroG Software [zerog.com]. It provides many of the features you describe. I use it to install on both Windows and Solaris; it's been fairly hitch-free, and their tech support (for the questions i did have) was responsive.

    mahlen

    Envy is the beginning of all true greatness.
    --The Master, "Doctor Who: Logopolis"
  • Not HotJava..

    Sun's HotSpot JVM on Sparc is actually really sweet.. they finally have a memory management system that can scale really well for server applications.

  • Thank you, I stand corrected. Unfortunately, my client needs some network configuration parameters set, so I can't just distribute a pre-made exectuable client jar file for direct download and execution.

    I already have a good deal of perl scaffolding that gets involved in the install process, though.. maybe I can set it up so that the installClient script can build a customized jar file with a customized properties resource that the user could then just run from the desktop.

    In practice, requiring people to visit a web page to run my app isn't a bad thing, as it lets me make sure they always get the latest version of the client code, but I do like the idea of a simple way of running the client free-standing from the Windows desktop.

  • I totally disagree that memory allocation is an unnessecary complication. If you are writing Perl code, how can you guarantee that it will run regardless of the amount of memory on the machine running it?

    Perl automatically allocates memory for the data you declare, and will automatically increase or decrease allocation for aggregate structures such as arrays and hashes as you add or remove data from them. And it releases that memory for temporary varaiables efficiently if you make good use of the scoping rules, since they can be de-allocated at end of scope (which is one of the main reasons for using Perl 5 properly). It will do this until all of your virtual memory is exhausted.

    By default, Perl uses its own malloc, which maintains a pool of memory that is a little larger than what you need for speed. If you want, you can compile the interpreter to use the built-in malloc for stingy memory allocation. But after years of developing Perl on major projects, I have never had to use the stingy malloc option, and have never had an out-of-memory error that wasn't caused by my own bug -- and these have been extremely rare, and have always been found before code went into production.

    Even if it does gracefully exit from the code, can you control the execution? What happens if it is some security critical application (e.g. credit card transaction) and you have no idea where the transaction was terminated?

    If you get an out-of-memoty error, execution terminates at the point where Perl couldn't get enough memory. If you want, you can force error messages to print a complete backtrace of the calling stack, so you can see exactly where it happened. How you recover depends on what you're implementing. If I'm programming against an Oracle database, for example, I can tell it not to commit transactions until I explicitly say so. With MySQL I can't do that, so I have to come up with some ither precaution.

    But frankly, none of this has much to do with the language or even with memory allocation. You need to program critical transations robustly in any language, against any potential failure. How do you expect this to be any better with malloc() and free()? If you write it in C, you better trap the SEGV signal, and your signal handler better do something fast -- and you can define a signal handler in Perl, too.

    If you cannot decide where a memory allocation failed then you have not programmed for all eventualities. I see this is the main weakness of Perl.

    I couldn't disagree with you more. malloc and free are a major source of bugs and headaches, and they are almost completely superfluous. The fact that Perl makes them invisible is one of its greatest strengths.
  • "1. No adequate generic programming support. Having everything derived from Object doesn't count - in the process of casting to the appropriate type, you lose valuable static type checking. C++ is far ahead in this respect - templates are great and the STL is heavenly. I think the STL is so good that its worth using C++ over Java just for this reason."

    If you weren't aware of it (you're apparently not), there is a proposol for adding genericity to Java which is being taken very seriously and is going to be added to Java real soon now (actually some of it is already in, AFAIK, but just not documented/being used).

    "2. OO Obsession. The depth and breadth of the standard class tree in Java is absurd and really gets in the way of accomplishing simple tasks. Also, the insistence that users adhere to OO as a paradigm really stinks. C++ does not force this on the developer - it is truly a multi-paradigm language."

    Well "absurd" is really subjective. In some places OO is taken a bit far. But OO isn't OO unless it is taken as far as that. Java isn't even pure OO. If you don't like adhering to OO don't use Java. You don't hear me complaining about assembly! If your goal is to be able to program in multiple paradigms in the same language, then great, use C++. Don't complain about Java then.

    "3. No access to system programming."

    If you want "system programming" you are *obviously* using the wrong tool!

    "4. Crappy text handling abilities."

    Actually Java has some pretty nice text handling abilities, but it is still not PERL!! Use the right tool for the right job. Will you complain that cubes don't roll as well as you're spheres and thus are worse? Or perhaps you can't stack spheres like you can cubes, so then spheres must be worse?

    Your arguments are totally orthogonal to the issue. Java isn't a multipurpose tool. It isn't a system programming language, or a practical extraction and reporting language. You are saying "Java is being strangled by Sun"...do you actually WANT it too turn into the multipurpose Frankenstein you describe? egads.
  • I couldn't read the whole story. Some 'banner' ad started talking to me. Thats one of my biggest pet peeves.. sound on a web page you can't shut off, and aren't prompted to start or not. Of course, I guess that's what I get for using IE5 on windoze, where you can't turn the sound off easily...

    Am I the only one that fears the ad patrol? I have no problem with people making money by selling advertising space.. I have a problem when its as intrusive as possible. Hell, if they could they'd probably make it tap you on the shoulder. Advertising is not evil to me, as it is to some. But, if you make your web ads annoying, not only will I try not to ever give you money, but I'll also stop going to the pages you advertise on. I hope that some advertisers are reading this.
  • JAVA could have been the "wave of the future", but like most things with power and no marketing it will gradually fade into nothing more than a memory.

    *Grizzeled 1840's prospector voice*"Shucks, I remember when all the browser plug-ins were coded in JAVA, then there was that COBOL revival and, well you know the rest"
  • I was once a very strong advocate of JAVA, and developed a number of programs at work using the JDK under Solaris and, later, Linux. All of these programs have since been rewritten in C++. JAVA may not be dead, but it is sorely wounded and has squandered its window of opportunity.

    Sun made a serious error in not releasing the core JDK under a (L)GPL-like license. If they had:

    * they could have very effectively prevented Microsoft from doing what they did, as the license would have required MS to release the source code to their incompatible hacks. Had Microsoft not done so, a lawsuit similar to the one now under way could have been filed.

    * In fact, the GPL or a similar license would have prevented anyone from hijacking their work and turning it into a _proprietary_ competing product

    * they could have harnessed the immense goodwill they enjoyed, and the product would have been improved much more rapidly. Even the date/time classes would probably have been fixed properly. :-) There was a brief time when JAVA really appeared to be the best hope against the Wintel hegemony and many flocked to its cause, a unique window of opportunity wherein if the core product had been open source, it would have been able to leverage a much stronger position as an industry standard, with or without MS and the ISO.

    * the JDK would have been available much earlier on many more platforms, avoiding the disillusionment of the broken promise "write once, run everywhere"

    * they could have still sold a value added GUI development front end, additional object libraries (such as swing enhancements or whatever) and made a tidy profit

    * many more developers would have embraced JAVA, as it would have been perceived as a truly open product, whose very openness would have meant a much less ambiguous future.

    Instead, it was an interesting fad that, while it probably won't die anytime soon, certainly will be marginalized and will almost certainly never live up to its potential, much less it promises. Suns ambivelence with respect to Linux shows that much of their uppoer management still doesn't really understand why the Open Source/Free Software paradigm works so well, or how they could leverage it to enhance their business. Alas, the learning curve appears to have been to steep for them, and JAVA just one casualty of their lack of vision. At some point Sun will need to let go of their old "embrace and extend" and "maintain proprietary control" strategies, if they are to prosper in an Open World.
  • As others have said, this decision seems much more a procedural and technical thing rather than anything presaging a specific result that would be injurious to Sun.

    In general, I think Sun has passed the point with Java where they would be very vulnerable to Microsoft's predations. When Sun initially licensed Java to Microsoft, Java was honestly rather weak in many areas, but Java 2 (aka 1.2), with Swing and all the many other enhancements and APIs make it much less necessary to need to drop down to an operating system to be able to develop a rich application.

    It's unclear whether Sun still dreams of kicking Microsoft off the desktop to any extent, but if they do, I'd say they need to work on a rich and portable way to package and distribute Java programs.. it would be great to be able to distribute a single archive and to have an executable script activate to unpack and install the software, much like with rpm's and and with InstallSheild on Windows. It would be especially great if it was written in Java and allowed local administrators to write their own Java methods to configure the local software install logic so that they could take an operating system-generic package and install it in accordance with local practices.

  • by Oates ( 18921 ) on Monday August 23, 1999 @05:04PM (#1729235) Homepage
    I love the Java language. It's easy to learn (especially with a C background), in demand for jobs, and efficient for doing business programming.

    The downside? The big companies (most especially Sun) are killing off innovation. There's lots of Java component companies around, but not nearly as many as there would have been if Sun didn't keep taking all the really cool ideas and APIs and bundling them with the enterprise APIs.

    I know--there are good development projects, exciting development projects with free software that are going on. But I can't help but feel like Sun is really trying to be the Microsoft of the Java industry. I remember all the neat widgets that came out because AWT 1.0 sucked so bad. And I remember how a lot of those seem to have dried up since Swing.

    Personally, I foresee Java becoming marginalized into two pockets of development--big pockets, but pockets nonetheless. We'll see Java development in the enterprise, side by side with the VB-heads, and we'll also see Java in the embedded, consumer, and "pocket" markets. Developers in other development areas have been so burned by the actions of Microsoft and Sun in trying to take over Java that there won't be the desire to create the next cool thing in Java. Instead, expect it (like we've been seeing over the past year) in Perl, Python, Tcl, or the like.

    Blech. Congrats soulless corporations. I code Java nine hours a day at work, and I don't see a lot of future for it outside the enterprise. Torvalds was right--much as I don't want to admit it.

    Chris
  • by Anonymous Coward
    For small tasks you and Stepanov are probably correct about OO (given the available tools). On large projects OO can be a win. If done correctly and with the right tools, a large OO system ideally will be easier to maintain because intrasystem dependencies will be reduced. In other words, in a properly designed and implemented OO system, the effects of changes are more likely to be localized, and won't ripple catastrophically though the system. The big "gotcha" is that a very large fraction of the people using OO languages are not using them correctly, and are designing and coding in a procedural style only slightly better than classic Fortran or C.
  • I really don't agree. I've spent the last 4 years (almost) developing a large, multi-user client/server, multithreaded application in Java (see my .sig).. 170,000 lines of code so far.

    This just wouldn't have been possible in C++, with the limited developer resources I have (me and a student working on the code). Java is great in many, many ways when it comes to developing robust large-scale code. There are certainly things for which Java is not the best tool, but for a lot of things, Java is a great tool.

  • I'm not clear what Chris is saying here. You mean Sun shouldn't make the product better? I'm sure they weren't very happy with AWT 1.0, so i think it's kind of a lot to ask of the developers at Sun to say, "Well, a lot of the last release sucked wind, but there's now an industry built around fixing that, so we can't change a thing, no matter how many great ideas you have."

    As a developer, i appreciate the opportunity to learn from my mistakes/oversights/running out of time, and then have a chance to redeem myself (and make my customers happier) by fixing them. Plus, if i had to write Java code but not know which patches/fixes/3rd party packages they have installed, i'd be wondering what the point of cross-platform code is.

    A corporation that learns from it's mistakes is not a bad thing.

    mahlen

    You have to panic--I'm thinking.
  • by craw ( 6958 ) on Monday August 23, 1999 @07:16PM (#1729244) Homepage
    We can talk about OS's, and we can talk about programming languages. While these are important, the key point is application software. MS has done some "interesting" things with regard to maintaining their OS dominance. But their most important thing that they have done is their Office suite and how it is integrated into their other sh*t.

    PPl that make the duh decisions are upper/middle level managers. What software do they need? Word processing (not that they write documents, they just need to read and print them), transmission of the documents (e-mail attachments), spreadsheets (not that they generate spreadsheets, they just want to read em), and finally, viewgraphs (not that they, well you get the point).

    The upper level managers that I deal with are technically clueless. They don't want their secretaries figuring out different formats. I swear that they are the first to upgrade to the next incompatible version of Word or PowerPoint thereby forcing the others to upgrade. No, No, just save this document with the previous format version. Sorry, too hard to comprehend. The ironic part is that they don't need or use the new features. I/we just got another PowerPoint "template" to fill out. Except the format was not a template except for how the final viewgraphs should look like.

    Why am I rambling about all of this? Is there a java based program(s) that provides all of this upper management functionality? All most of these bozos need is java script capabilities so that their web browser works okay.

    Back on subject. Sun will probable win this round. MS will put their normal spin on this. Sorry for this off-topic rant but obviously I'm kind of pissed off at this time.

    BTW, I work for THE MAN who is part of THE MAN that blindly uses PHB friendly software. (Geez, I really had a bad day at work today.:))

  • Don't get me wrong, commercial unices were no shangri la, but windows didn't really do all that much of what you're talking about.

    Plenty of windows programs don't work accross windows version (though they are in the minority, granted).

    As for the UI choices, you are right. There's just one and frankly it's mediocre. Why is choice such so abhorrent to corporate types? Why are you people so god damn scared of someone having their kill-window button in a different place than yours? Hint: pop up an xterm and you can do everything that you could have done before just as efficicnetly for the most part. Hell, telnet into the box, you'll never have to know what the UI on the box looks like. heaven forbid that users actually read a bit of the documentation or take a look at the tooltips.

    God, so much time in an office is wasted chatting, walking to the bathroom, coffee room, etc. that the hour spent on learning the keybindings for a particular application is very minor. You people talk like you're dealing with robots, for God's sake! They'r epeople. They're inefficient by design. You're never going to get maximal productivity out of them, they won't give it.

    And please don't talk about libraries. Yes, in unix you have to figure out which to use. The windows way is much worse - they decide for you then tie you to a particular version, overwriting your current verision if they possibly can.

    What windows did, more than anything else, was to introduce the paradigm of the crash into computers. Sure, things were buggy before, but windows dies ona fairly regular basis, at least if you tend to install and remove programs from it (though installing is usually enough on its own). That or crash.

    Windows did set back the computing industry in many ways. They substituted glitz for quality, not unpredictably, and moved the computer industry in that direction.

    Oh, and do you code for win32, MFC, VB, J++, or what? Don't give me this bullshit that there's one and only one way of doing things in windows. Windows is as much of a pain in the ass as anything else (if you really use it), it just works less and is a closed box, so you can't fix it when it breaks. Frankly, it's a black mark on human history that I just wish would be erased. Profit and greed don't have to go together, merciless immoral bloodsucking doesn't have to have anything to do with profit at all. I want to be rich. Very rich. I just also want the world to be better off for me having existed, too. Microsoft seems to have completely disregarded that second one.

    "For what does it profit a man if he gains the whole world but loses his soul?"

    Less prfound, what does it gain a man if he gains the whole world but destroys it in the process?
  • Yeah, I think Fortran is still pretty much alive :)


    I every now and then over hear the math heads in our uni mumble something about it. They seem to think its good for doing some math things with nth dimension or sumfin.


    Go figure. They must be crazy.

  • by Gleef ( 86 )
    The lifting of the injunction means that Microsoft can use Sun's trademarks on all sorts of crap. Further muddying the already murky waters of Java development, particularly on the Pointy-Haired Boss level.

    Also, while the judge said that Sun was likely to win the breach of contract case, he said he didn't see any copyright infringement case there. If Sun wins the breach of contract case, all that happens is some cash changes hands from Microsoft to Sun, big whoop. For it to mean anything to people outside of Sun, the court needs to be ruling on the copyright infringement part of the case. Such a ruling has the potential to have much stiffer penalties, and more effect on how Microsoft does business.

    ----
  • MS trolls perhaps?
    -----
  • >"We think that in the future Sun will win based on the evidence. >However, there was also that preliminary ruling, which was prior to

    Not really. Could be more of a way of killing any loopholes Mircosoft could try and squeeze through.
  • And the omission of generic programming is unforgivable.


    It's coming, but hasn't been implemented in the language yet. But I do hope they manage to do alot better than what Stroustrup did for C++. Hopefully they will do it similar to Eiffel's implementation.

  • Nope - for the enterprise this issue is irrelavent - IS departments normally wipe each new computer they buy and install the 'company standard install'. So they can put Sun's or IBM's etc JRE on the system.

    People are interested in java _want_ the program to be crossplatform and will test it... so if MS makes it hard to ship crossplatform java then people won't use their tools. Obviously a few people will be caught out .. but not serious developers.

    Your not forced to use MS products, they just make it easy for you to choose to. If they upped the stakes such that they blocked other peoples JVM's working on their systems then, yes this would be a problem - but also a nobrainer court case - even for the Appeal court.

    And as I pointed out - most people don't want to do serious server side development on NT - now there are good development tools for UNIX - ie java, there is no need. Obviously these people don't give a toss about MS's irrelavent posturing

    In my view the court case is about breach of contract pure and simple.

    Gab

  • by jnolan ( 20394 )
    I suppose you couldn't figure out the e-trade page either...

    click the speaker icon in the toolbar and check the "mute" box. Is it just me, or does that seem pretty simple?
  • Their mistake was to sign a contract with M$. M$ has screwed everybody else they signed a contract with too.
  • I agree with most of what you say. Sun don't need MS to screw Java up, they're doing OK at that on their own. The ISO fiasco and split with IBM on the OS two cases in point.

    I disagree with MassacrE's statements about OO. OO's good for a small to medium multideveloper project. The paradigm starts to run out of gas when you're talking about really big and complex systems, e.g. a telco billing system: they tend to collapse under the weight of the management and documentation overhead that strict OO projects require.

    If I was to stick my neck out and say that OO is nothing more than the enforcement by software of what should be good development practices, but with a reduction in the flexibility which is sometimes necessary, I'd probably get flamed - so I won't.

    I became disillusioned with Java when the two projects I wanted to use it for landed me in a few of the Java object heirarchy's holes - one required using nonblocking socket I/O, which in Java requires a horrid kludge using socket timeouts which has to be seen to be believed, the other landed me square in the middle of the DMZ between COM and CORBA and would have required me to use visual J++ (which is godawful), buy the overpriced Linar software, or start fiddling with low level COM for which I could have used C or Delphi anyway.

    And this for Java, a language which is supposedly BUILT for network applications!

    I wrote my Windows versions in Delphi, my Unix versions in Perl. Both work, even if they're not Java.
  • > 1. No adequate generic programming support.
    I can write you containers with static type checking. Easy peasy! What else are you using templates for?

    > 2. OO Obsession.
    I would not call it obsession, but clarity. Anyway, if you don't like classes, just put everything in static methods and you got your "good" old structured programming. Really don't know why you want this. 8-/

    > 3. No access to system programming.
    Use JNI and do whatever you want. Java is meant to be cross-platform, remember!

    > 4. Crappy text handling abilities.
    Use ORO. ORO is your friend!

    I don't expect this discussion to go anywhere anyway. ;)
  • MCC,

    I'd hate to say it, but you seem to have a rather tenuous grasp of what this case is about. It really is rather simple and has nothing to do with the points that were raised.

    Microsoft licensed Java from Sun. They licensed it before the addition of certain components was required for the 'Java' logo. Sun added new components to the standard and changed the license to include the new components. Microsoft says they don't have to ship their version of Java with those components to use the 'Java' logo. Sun says they do.

    The whole case is about finding out whether Microsoft can legally use the Java logo or not. You seem to have some sort of advance knowledge if you can claim either that "MS is using Sun's name and logo without permission" or that "They are commiting (sic) fraud".

    The FACT is that Microsoft may be using Java entirely with Sun's permission according to the original license and that they are within their legal rights to do so. This seems to be what the appeals court is currently saying. It may also turn out that they went beyond their legal rights. It is up to the courts to decide and is not a foregone conclusion anymore.

    You may NOT use the Windows logo from any precedent in this case no matter which way it comes out unless you happen to have a copy of a license between yourself and Microsoft that says so. You are bound by any license you agree to, as is Microsoft and Sun. The case is about finding what that license actually said.

    You may not claim Wine is 100% compatible with Windows because it isn't. Microsoft is claiming that their product is "Java" based on the license they signed initially, before Sun added new things to it.

    The FACT also is that MS's Java works very well and is MORE compatible than most other VMs out there. I'm sure you never really tried it though and just rely on rhetoric and FUD for most of your opinions.

    Now, from the way I see it, your post is more FUD than the average MS marketing slide. Hope you turn from your ways lest you fall down the same slippery slide.

    John Wiltshire
  • I bet that Iraq is a nice country with nice people . Unfortunately Sadam keeps trying to kill everyone around him! So what are we to do?
    Ask him to stop?
  • Sorry, but your rant doesn't have much to do with reality. I'm sure every OS-maker out there would _love_ it if Java apps both looked to the end user exactly like a native app as well as had the performance of a native app. The reason why all the OS vendors don't come up with their own Java implementations fine-tuned to use their specific system extensions isn't altruistic -- it's because there isn't a big enough market for Java apps tuned to those OSes. How many companies out there are going to make, for example, a Java app targeted at BeOS, when they can make it non-native and grab a much huger potential audience?

    Here's where the difference is. If you code for Windows-specific extensions, you're not going to be able to get at 100% of the potential audience, but you will be able to get at 90% of it, which is still a huge number of people. So it comes down to a decision for developers: is it worth dumbing down our app to the lowest common denominator just to reach that extra 10% of the audience, or is it more important to make our app as appealing as it can be to the 90%? With all the different Windows apps out there, it's an important decision -- if we decide to use 100% pure Java, how much is our look-and-feel and performance going to suffer compared to all our competitors who are using C++ or Java with WFC or other Windows extensions? If it does suffer, it's quite possible that we threw away 90% of our target audience just to have a chance at the 10% we didn't have before.

    This doesn't have anything to do with any evil monopoly rabblerousing. It has to do with each ISV's free choice as to whether or not they feel that 90% of the market is enough of a potential audience, or if they want to reduce their app to a lowest common denominator status that might end up appealling to no one in a highly competitive market.

    Cheers,
    ZicoKnows@hotmail.com

  • *sigh* You are missing the biggest point behind Sun's position on Java.

    Sun does not want any variants of Java. By releasing the code under the GPL or LGPL, they would allow others to make variations of Java that are not compatible with Sun's spec. This would completely defeat the purpose of Java! Sun wants only one version of Java, and they want to make sure it's the right version. After all, they created the language.

    I think Sun could being a much worse job with Java. I think they're goal of ensuring that all versions of Java are compatible is the right one.

    If you want to write Windows code with the Java language, you can use J++. Microsoft doesn't need Sun's permission to make their own implementation of a Java compiler. But, if you want to make a cross-platform app, then you need Sun to take a strong-arm approach to JVM implementations. Otherwise, you'll never get around to debugging your app on all these platforms.

  • News for Linux Evangelists. Stuff that matters to them.

    just a thought
  • It has been multi-paradigm from the start. That is one of it's strengths and one of Java's shortcomings.


    To me, C++ trying to be both procedural and OO language is it's greatest weakness. Like you have heard so many times before, right tool for the right job. When I need to go low level, procedural languages like C do the job very nicely. When I need to do OO, I rather choose the language with elegant, and pure OO support, like Smalltalk, Eiffel and Java have (and now all the smalltalkers will jump out and scream how Java is not nearly as pure a OO language as ST is). Anyway, it does alot better job at it than C++ does, IMHO.

    For that matter though, I've yet to see any very large systems coded in Java either.


    Admittedly, I can't give you the exactly LOC counts for these projects, but some largeish Java projects I know of include:


    I can however point to a multitude of 150,000 - 30,000,000 LOC projects written in a mixture of C/C++. Linux/KDE/NT/(Name your *NIX).


    Well, perhaps this is because both C and C++ (and even Perl) have been around alot longer than Java? :)



  • Then what is it????


    A general programming language? Just like C, or C++, or Eiffel, or Smalltalk, or Ada, or Pascal, are. And a whole bunch of other languages -- my apologies to the fans of those GP languages whose favorite I forgot.
  • Agreed.


    A couple of years ago I picked up Java, cause I liked the promise of WORA. I thought neat, I can use my Windows machine, which I have at home, to write software, and it will work for Linux too (and FreeBSD, or BeOS, or whatever. But I was just thinking of Linux back then).


    I thought this was a good idea. I thought it would be worth it, cause Linux could become a plausible choice for desktop. Now that I've been following the Linux scene (mostly thru /.) for maybe 9 months, it seems that even though I would bring my Java apps to Linux environment, people wouldn't touch it just because it is Java. How strange.


    I don't want to have to learn some native widget set again, be it Gnome, or what-have-you. I already have had to learn a couple, and basically I'm fed up with it.


    If Java won't stick for desktops then fine. You bet on a technology, and sometimes you win and sometimes you lose. But in that case, I'll be going back to the sorry land of Windows. They've got the tools to build attractive GUI's easily.


    *shrug*

  • Just for the hilarity factor! I agree with the above poster's sentiments (C for CGI and Java for the Rest), but he expressed it much more.... succintly than I ever could. :)

    And, yes, I have used PERL and made some very functional works out of it--the language simply doesn't fit my mindset. I just genuinely like C better for CGIs (execution time, anyone?) and Java for things that need much user-interaction. PERL just seems to have all the code-beauty of AWK with all the functionality of BASIC (including the exponential code-bloat).

    I mean, come on, if you must use an interpreted language, at least use LISP or Guile, something that has a little more style to it and isn't a write-only language.


    "Have lunch, or be lunch."
  • I love the lowest common denominator. It reaches 100% of the audience. And that is what I want. Not blind Windoze. Sleep well microsofter.
  • I'm sure the guy did not mean to turn of sound permanently (which would be the case if he did what you suggested). Anyway, even the hassle of pushing the stop buttom to shit up an ad is enough to make the ad annoying.

    BTW what has linux got to do with it? I'm sure you don't have this problem in lynx.
  • i want such installer to be "native". i.e. if i'm using red hat linux i want to be able to use RPM to install such application.

    so what "we" need is some common package management software which will install packages, runs their custom install scripts and eeps note of which files are from which package and which package need another package
    so we need something like RPM on all platforms.
    i'm not saying it have to be RPM. i'm saying something like RPM.

    AFAIK windows do not have such packaging system thus it's time to make some. (same for other systems).
    and if done good we can have system able to install both native and java (then maybe perl, python, ... apps too) not forcing admin to use many packaging and/or install systems.

    install-shield and alike products are just delivery and install scripts - not package management systems.

  • You want the lowest common denominator because you don't use Windows. However, there's a huge number of consumers out there who don't use anything but Windows and couldn't care less that the program they use doesn't work on Solaris. If a company puts out a lowest common denominator app for Windows, they run the risk of losing out to other companies' C++ or Java+WFC software which both looks and feels like all other Windows apps as well as gives native performance. Sure, they've broadened their market, but in the process they might have just lost 90% of it. Why do you think Corel JavaOffice and Netscape's JavaGator both died? It's because the respective companies knew that the consumer wouldn't put up with it. The customer is King, not the developer.

    Cheers,
    ZicoKnows@hotmail.com

  • by aqua ( 3874 )
    That was my interpretation of the posting also. We've seen examples of what happens when MS controls a programming language -- it becomes virtually unusable for any real work. Hence VB and its derivatives. Not that MS even being fully acquitted of infringement in the Java case would lead directly to MS controlling Java; more likely they'd just be free to pollute Java and try to emasculate it in favor of stuff that doesn't work cross-platform. Which would be unfortunate, because Java is a fairly neat bunch of things which haven't been done together in a while.
  • For me, that's the main problem with Java, there are many bugs which are in the libraries or even in the GC.

    And if you don't believe me, look at the bug parade at the Sun site, the "first" bug has been there for more that a year (!!!) and it is still not corrected in the latest release of the JDK...

    Java the language is quite good, but it is just yet another language, not superior to Eiffel for example.
    Java the platform which promises portability is a very good concept but it's implementation sucks IMHO: AWT was a really bad design, Swing has a good design but it is very slow and buggy!

    To summarize my point: Microsoft is not the biggest problem with Java, you can choose if you want to use their tools or not.
    But on the other hand there are too many bugs in Sun's JDK which makes Java a nice toy to do small things but not something I would use to build "real" applications...
    Too bad, at first I thought that Java was a really good idea :-(

  • Thanx for ur support and the good arguments u serve.
  • This one has all the buzzwords (Java, applet, client, server, GPL, WWW, browser integration). Not to mention it works. http://www.first.gmd.de/persons/le o/java/Telnet/ [first.gmd.de] BTW I use it on Sun's own Javastations ;)
  • Does the jre support double-clicking on a .jar file on windows?

    As other's have commented, yes you can - and it works cross platform.

    In your manifest file add a line:

    Main-Class: somepackage.someclass.class

    Now double clicking on the file or running

    java -jar myjarfile.jar

    will automatically launch your application. Also, if you need to rely on other JAR files you can set the class path with:

    Class-Path: jar1.jar jar2.jar ...

    as well. The only thing that is not possible with JAR files currently is to have individual icons available for desktop usage. Enough people are clamouring for this that Sun have at least made statements that they will look into some way of providing it.

  • Having written one myself, it is not possible to do a complete implementation of a Telnet client in Java. The main reason - standard Java sockets don't support OOB messages. A number of features of the Telnet protocol rely on OOBM to provide control constructs that Java does not allow you to hook into. You could provide your own socket implementation, but that means using native code and then you don't get the portability....
  • Is it me, or is this the kind of attitude programmers really shouldn't have. I agree, for quick solutions to simple problems Perl is perfect.

    But not all programs are simple, and I've seen the Dante-esque code written for complicated web applications. Not only is the syntax unreadable, but because of the loose scoping and typing rules, its faulty and a nightmare to reverse-engineer.

    True, its good that you don't have to worry about memory allocation, exception, etc.. But these constructs are there for a very good reason: what happens when your Perl code runs out of memory. It will probably crash irrecovarably. Whereas, with low-level languages such as C++ you can program to deal with such eventualities. And you say this is a bad thing?

    Finally, as CS student I spent many years studying algorithms, languages, etc., not to have some graphic designer take up a job he is not even properly trained for. Am I alone on this one?
  • I did. I hear this argument all the time, but have these people
    actually written a lot of Java or just heard and understood the
    arguments. I don't know anyone who has tried to use java in an
    industrial strength application and not become VERY annyed with
    java. The language is fine, but the libraries are buggy pieces of shit,
    and the garbage collection DOESN'T $@#!ing WORK. C++ has definite
    flaws but the lack of elegance is made up for by the fact that you
    can do anything, and IT WORKS.

    1. Generic programming is NOT necessary, but it is a really nice feature.

    True, but you could say that about anything. Human readable programming
    languages are not necessary, but they are a really nice feature.

    > Templates are overglorified macros
    True in the same way that programmers are just overglorified
    VDU operators (ie plausible, but basically bullshit).
    They are the mechanism for generic programming in C++
    and the main reason why for algorithmic code the C++ version
    will take 1000 lines compared to 4000 lines for java, while
    still being faster and more type safe.

    > Not saying Java is the perfect OO language, but that C++ DEFINATELY isn't.

    True, C++ is not a perfect OO langauge, but OO is not a perfect
    programming paradigm. C++ lets you chose the paradigm
    appropriate for the task.

    After 10 years of C++ and 4 years of Java I am certain:
    object orientation is best kept to a minimum. Object-based
    (there is a difference) programming is the way to write robust maintainable code.
    Deep class hierachy's end up increasing interdependence
    between separate areas, and are mostly generated by
    mediocre programmers.
  • I did. I hear this argument all the time, but have these people
    actually written a lot of Java or just heard and understood the
    arguments. I don't know anyone who has tried to use java in an
    industrial strength application and not become VERY annyed with
    java. The language is fine, but the libraries are buggy pieces of shit,
    and the garbage collection DOESN'T $@#!ing WORK. C++ has definite
    flaws but the lack of elegance is made up for by the fact that you
    can do anything, and IT WORKS.

    1. Generic programming is NOT necessary, but it is a really nice feature.

    True, but you could say that about anything. Human readable programming
    languages are not necessary, but they are a really nice feature.

    > Templates are overglorified macros
    True in the same way that programmers are just overglorified
    VDU operators (ie plausible, but basically bullshit).
    They are the mechanism for generic programming in C++
    and the main reason why for algorithmic code the C++ version
    will take 1000 lines compared to 4000 lines for java, while
    still being faster and more type safe.

    > Not saying Java is the perfect OO language, but that C++ DEFINATELY isn't.

    True, C++ is not a perfect OO langauge, but OO is not a perfect
    programming paradigm. C++ lets you chose the paradigm
    appropriate for the task.

    After 10 years of C++ and 4 years of Java I am certain:
    object orientation is best kept to a minimum. Object-based
    (there is a difference) programming is the way to write robust maintainable code.
    Deep class hierachy's end up increasing interdependence
    between separate areas, and are mostly generated by
    mediocre programmers.

    Perl - it's a great script language, so what, we're talking about
    programming here.
  • yep it's called Tera Term pro.. and it's free
    url: http://www.vector.co.jp.authors/VA002416/teraterm. html
    found it on tucows

  • I see a third "pocket", as you put it, in the form of web-based applications.

    There are now a dozen applications engineers where I work who all live and breath Java. Most of the logic is in the form of Servlets, though EJBs will become very important soon as well.
  • Smalltalk developers probably would disagree with you on your last point - deep class hierarchies are fundamentally BAD OO design - but that doesn't mean you should focus on "object based" design.

    Polymorphic behaviour is the key feature that OO provides and both Java & Smalltalk have a great way of providing flexibility through polymorphism: Smalltalk through weak typing, Java through interfaces.

  • A lot of OO veterens are hailing the advent of Java interfaces as very important to language evolution. C++ does support them through multiple-inheritance + pure virtual classes, but it's not explicit enough.
  • This is very much some misunderstanding of how Java has evolved since 1995. Java the language hasn't changed very much since 1.0. The core libraries available in 1.0 haven't really changed, either. The major changes involved the GUI - the switch to the 1.1 event model, and then the addition of Swing. Neither of these "break" 1.0 event model code. Typically what has happened is that more libraries have been ADDED, with none really removed.
  • Paranoia is a road to madness.

  • Hmmm. Questions you have, yes? Wish to use sound card in Linux box, no? Forgot to put UPS order in before lightning strike, yes?

    Seriously, I don't have a sound card enabled in my browser at work, and I tend to page down past the annoying ads, so I had no idea about that.

  • It's called sarcasm.

    sigh

    My point is, if we pay too much attention to the waves (courts), we lose sight of the fact that this last wave (MSFT appeal) is meaningless pap.

    If this had happened six months ago, I'd worry. Right now, MSFT already SHIPPED W2K and O2K, so they've missed the Christmas deadline. Which means they have to do it as a dis\\\service pack.

    Which means most people won't install it.

    The Java boat is too far out in the channel to be worried at this point and the market forces are pushing it with too much momentum to worry about this minor setback. Since the main anti-trust case is not in remedy stage, MSFT is forced to sit on its hands, so as to avoid worse penalties as a reaction.

    Woo Hoo!
    (to quote Sabrina)

  • OK, well, server-side Java. We use it here. It's nifty. We don't use the MSFT version.

    And if I gave you my email, I'd get more than my usual 40 emails a day. And no, that's not spam.

    Last time I try to be humorous around here ...
    nah, just kidding ... you guys need to lighten up.

  • Actually I am sitting in front of an "New Technology" Box right now. With an X Server giving me my Linux desktop. I know both worlds probably better than u do. If a company puts out a lowest common denominator app they run the risk of reaching all of the audience and keeping their programms small efficienet and not bloated. Mozilla is the real Javagator and that will eat your bundled shit. The Customer will chose, when given alternatives. And speaking of performance, have u ever seen how long it takes for Word to start up on a 133 Pentium, har har.
  • Perl kicks ass.

    I guess i'm one of the 'STUDY programming?' crowd, i don't want to go to school and learn how to do various operations on binary numbers and examine the relative efficiencies of various sorting routines, and the like. Basically, i don't really care.

    Perl is a language that I can understand, and that I can use. The idea of manually allocating memory and typing variables just seems stupid to me.

    I'm don't consider myself a 'good' coder, hell, i don't even consider myself a 'coder', but Perl is the one language i've come across so far that really lets me do what i want to do without having to think too hard about it. I can solve problems using it, and i can solve them quickly.

    I'm primarily a 3D artist who happened to find himself wearing a hat with 'web programmer & sys admin' written on it.

    I guess if programming is all you do, then you can afford to get anal about syntactic structures and style, and you can spend hours trying to squeeze out those extraneous clock cycles from your routines.

    But when you have a bunch of servers to run, 3 or 4 e-commerce sites to build within the month, a shitload of mac-using designers throwing their hands in the air and screaming 'oh god its not working, fix it now!' and all you really want to do is go home and animate the Linux Penguin or something, well, let me tell you that C/C++ is just not an option.

    And if you say any different, my machine-gun wielding penguin is gonna come get ya! [spunk.co.nz]

  • Mozilla is not the real JavaGator: (1) It's not a Java app, like the real JavaGator was supposed to be. (2) It's not Write-Once-Run-Anywhere in the least. If it were, you wouldn't need separate Win32, Mac, Linux, etc. teams. It's laughable for you to say that Mozilla's going to take over the world when it's already so late and can't even match the current Communicator, much less the vastly superior IE5. And yes, I've tried Mozilla lately -- one of last week's builds, as a matter of fact. So...why aren't they coding it in Java? If they did, they could stop people from wasting time on portability issues and have them working on the core browser. Do you know something that they don't?

    Wow, right now I'm sitting at a Win2K box running an X Server providing me terms from both my Linux box and my Sparc, so I guess I'm better than you, right?

    Cheers,
    ZicoKnows@hotmail.com

  • company is a man or bunch of people.
    a man or bunch of people can be evil.
    thus company can be evil.

    and i think MS acts like evil (which means MS is evil).

  • Hi Hany, I haven't been able to post replies to all of your posts, so I'll try to combine all of them into this post.

    i heard that GNU tools are much better than company specific ones.

    Well, it depends which ones you're talking about, and in what aspects. I think many would agree that the VC++ compiler and debugger are better than the GNU offerings, as far as use and performance (but not portability) go.

    so i'm curious if you have them on your solaris.

    gcc, gdb, and emacs come to mind. I've got other Open Source software on it, but I can't recall if any of it is something that's specifically from GNU itself.

    As for your comments about the different CLI's I'm using (an xterm from Solaris, nxterms from Linux, and yes there's not much difference between them), I think you're misunderstanding my point. See, there aren't really any look-and-feel issues with all the software you listed, because they're all just character-based apps. Plus, they're not in bytecode for JVMs, they're all compiled for your specific platform. So, the things you bring up don't really change my point about Java.

    In other words, leaving aside the look-and-feel arguments, why isn't there any push for GNU to quit wasting time with C source code portability, and just rewrite all their tools in Java? (I'm sure that someone out there is doing just that.) It sure would be easier, just having one .java/.class file out there for everyone, whether they're running Unix, Windows, BeOS, OS/2, or Macs, right? Are you ready to trade in the speed of your natively-compiled GNU tools for their WORA Java equivalents? I'm not.

    In an earlier reply from you, you asked me if it was all right that those "only 10%" of users (the non-Windows ones) are hurt by not having access to some of the same software. I think it would be great if everyone could use every piece of software out there on every platform, but it's just not realistic as long as software companies are in the business of making money.

    Cheers,
    ZicoKnows@hotmail.com

  • The big companies (most especially Sun) are killing off innovation. There's lots of Java component companies around, but not nearly as many as there would have been if Sun didn't keep...

    I think I agree about Sun killing innovation, but not about how. Lots of little companies doing little widgets isn't innovation, it's backfilling. I'd rather have a rich basic platform that doesn't need it. JDK 1.1, and especially JDK 1.0, had big gaps to fill; I'm glad Sun worked on that. If we had to see hundreds of small shops arguing the details, we'd not have the cohesiveness we needed. (Somehow Microsoft has mostly been held at bay too - probably even more of a threat.)

    How I see Sun killing the Java innovation is in its insistence on making it fit only in a few environments, in a few ways. Who needs a big wad of "Enterprise" features? Only a handful of those APIs are really needed. Bundling them into an expensive package might get Sun some money, but it doesn't make Java more useful to very many people (even to Enterprise developers).

    In a similar vein, 100% Pure Java is useless to me except as a portability tool ... and I happen to know how to write portable C/C++ code, as well as portable Java code. Sun wants a market in portable Java more than it wants a market in a hybrid of portable Java/C code. I think most of us are coming at it the other way around; look at how, say, Linux works (hybrid of portable C/assembler).

    Frankly, while downloading code is a good tool to be able to depend on, I'm looking to projects like GCC 2.95 and its built in "GCJ" native Java compiler (and runtime; recent development versions have an interpreter too) for the future of Java, not to JDK 1.2 from Sun. With GCJ I can get past those nasty performance problems that Sun's code has never tried to fix.

    To put it a bit differently: Sun's had its chance. We appreciate the good start, and the protection from Miccrosoft. Now can we please start developing Java as an Open (tm) systems technology? It's what we developers always wanted. And it's about time.

    - Jojo

  • by PigleT ( 28894 )
    You've totally missed the point. 'Abandon ship', at least as I see it, means "if Micro$haft are going to get their greedy evil paws on sun's Java, then we purists had better switch to using something else".
    Fine by me - it saves me bothering with learning the language properly. Back to C, C++, Perl and new things: gtk+ and Haskell (thought I'd go mad for a bit).

    ~Tim
    --
  • Can i quote u and ask u to read before u answer?Id did not mean that mozilla is written in java but that it will fulfill the purpose of an open source standard compliant platform independent web browser. I did not say that Mozilla will take over the world - it is just another dinosaur like IE. They will coexist but the better tool for the job, surfing the web, will stay longer. I think Java is too slow at the moment for coding a decent fast webbrowser. And i really do not care a fuck about u being better or worse than me - once u stop putting people into castes of better and worse u will feel the power of ur peers. Once u have written the IE version for linux i can start smiling at ur childish babble. if u want to flame some more - do it.
  • You just don't know what generic programming means do you.

    > what else are you using templates for ?

    All sorts of stuff, check out STL or blitz (matrix /math library
    with fortran performance). Shit, if you're really sick you can
    write sin functions with templates [that are evaluated during
    compile time]
    float x =sin and have it replaced with
    float x = 0.39073... at compile time
  • "Microsoft correctly contends that under California law an injunction must be based on the prospect of future conduct.

    If that's the case, then given both the evidence in the case so far (and the court's admission that Sun is likely to win the case), and, frankly, substantial and continuing evidence of M$'s dirty tricks, I can't see how the injunction was considered not necessary. Do these judges know anything about common sense?
  • I've seen the Dante-esque code written for complicated web applications. Not only is the syntax unreadable, but because of the loose scoping and typing rules, its faulty and a nightmare to reverse-engineer.

    This is the most common criticism of Perl, but I am convinced that it reflects on the the programmers more than on the language. A skilled Perl programmer can be counted on to write clear, maintainable code; in recent years, the language has acquired a number of features to make self-documentation very easy. But I, too, have inherited abonimable code, and it has invariably been the due to the cluelessness of my predecessors.

    One of the main problems, I think, is that the WWW began to boom while Perl was still in version 4, when it took off as a favored language for CGI programming. Perl 4 had a number of misfeatures that were corrected in Perl 5. But although Perl 5 has been around for years, too many programmers have never unlearned the bad habits they picked up back then.

    True, its good that you don't have to worry about memory allocation, exception, etc. But these constructs are there for a very good reason: what happens when your Perl code runs out of memory. It will probably crash irrecovarably.

    Of course you have to worry about exceptions, and Perl helps you with that if you use it properly. But the bit about memory allocation is nonsense. You never have to tear your hair out malloc()-ing and free()-ing all over the place in Perl, and a programmer should never have to. You can eat up too much memory in Perl, say by leaking references or allocating arrays that are excessively large, but that again is a sign of poor programming skill. No language can save from your own weaknesses; a less experienced programmer will create much more havoc with malloc() and free() in any case. And Perl doesn't crash on exhausted memory, it exits politely with an error message.

    I wrote my first CGI project entirely in C, and I will surely never do that again. In three years of programming, almost every bug I had was caused by malloc's or array allocations that were too short, or string or array manipulations that were off by one or ran off the end. I've never had these problems with Perl.
  • You don't need Microsoft to do java on win32, IBM have made sure of that by producing a very fine JDK.

    Java is fantastic for the enterprise - multi-tier, multithreaded, multiplatform distributed code.
    It's great with CORBA and XML. Most of java's problems are in the multiplatform UI's (not an easy problem to solve) and these are not as bad as most people seem to think.
    Unix is a natural host for these types of enterprise applications - again making Microsofts position irrelavent.

    Java for complicated distributed heterogenous information systems.

    linux for standard file, printer and web services and large scale number crunching.

    NT for ??? - that's microsofts problem - NT tries to be everything to everyone -
    Jack of all trades, master of none.

    Gab (Desktop? - let users choose their own - if it doesn't support X or java or a webbrowser then serves them right :-))

  • I'd rather just use the right tool for the job.

    AKA build me a browser-based GUI that works on
    most platforms. With Perl.

    -WW

    --
    Why are there so many Unix-using Star Trek fans?
    When was the last time Picard said, "Computer, bring
  • Ummmm... Tools. Internet Options. Advanced. Uncheck "Play Sounds". Not too hard at all.
  • I assume you are talking about delegates? In that case, you have an option when you create something using the MS compiler - either making something for the MS JVM only, or making a general version.

    Personally I think this is a good thing because all my targets are using the MS JVM, I use the AFC class libraries and COM support because they are really useful on Win32 machines, why shouldn't I be allowed to use platform specific optimisations in that case?

    Java is only a programming language, not a way of life. Geez.

    John Wiltshire
  • I agree I hate instrusive advertising.
    I remember some company (HP perhaps) had that cool ad a while back where you could play pinball in the ad in Java. That was a cool ad. Not Intrusive, but fun!
  • Aim for their masts, men!

    ;-)

  • in the it-is-neccicary-to-destroy-all-human-life-to-save- it tradition of the people claiming the USCITA is "good for open source", let's look at the benifits of MS possibly winning this case against Sun.

    1. MS is using Sun's name and logo without permission. They did not pass the compatibility tests required to gain a liscense to the java name.
    2. MS is claiming their products are compliant with "official java". This is in fact a lie, since it is not compatible. Therefore they're commiting fraud, or truth in advertising violations, or something.
    The appeals court sees nothing wrong with either of these things.

    Therefore, if MS wins against Sun in claiming that these two things are legal, people will be able to use this precedent to:
    1. Violate the MS liscense agreements that require hardware makers to do things in order to sell computers iwth windows, or claim they are compliant with MS windows, or use the MS widows logo. Since MS was not required to follow Sun's liscense agreements to distribute the Java code or logo, neither would anyone be bound by the restrictions MS places on products it sells.
    2. Take redhat linux, put Wine on top of it, and say it is 100% compatible with Microsoft Windows. Even though Wine is not 100% compatible with Windows, they would not be required to disclose this information to people buying their products, since Microsoft was allowed to tell their customers that their java was 100% compatible with 'official' java. Hell, you could maybe even go so far as to claim that Wine IS 'official microsoft windows'; that's what MS did with their bastardised java VMs.
    all this could be done with the precedent from the microsoft-sun case. it's exactly the same thing; java is not under any different rules from windows simply because one API is more widely used and more expensive than the other.

    Of course, this will not happen. what happened today was simply a desision that microsoft would not be bound by any injunctions stopping them from selling java until the actual court case has happened. And, of course, when the case happens, microsoft will lose, as they expect to. Winning is not the point; the point is to delay losing. This is microsoft's normal strategy, to delay losing until the other side dies or gives up. See also the case involving the stolen source code from Quicktime, or a billion other examples. And it works very well. And it may work here.

    Note that microsoft never incorporated a working java into things-- they simply shipped new computers with the VM on the windows 98 cd broken, and then an extra CD containing the fixed VM, which you had to install seperately. This is at least how it was with all the brand new Gateway2000s i wound up setting up a network for this summer at a computer camp.
    The point of this of course is that MS knows that with practically every customer the Blinking 12:00 Effect will prevail and the customer won't be bothered to figure out how to install a working VM. Now that they're [for now] no longer required to ship a working VM, this CD will just cease to be shipped..
  • I remember all the neat widgets that came out because AWT 1.0 sucked so bad. And I remember how a lot of those seem to have dried up since Swing.

    I don't agree. Yes, there were a lot of widgets that came out, but none of them were as rich and featureful as the Swing widgets, and it seemed like most of them were for-cost ones. I know. I wound up having to write my own tree and table widgets because there weren't any decent ones around in mid 1997 that were compatible with the GPL. Even today, if you look on www.gamelan.com, you'll see a large number of nice widgets, many of which have nice usage fees which make them impossible to use in free software.

    Makes me think of the Windows software scene, where they expect you to pay $70 for a decent telnet client.

  • I just want to comment on the single archive issue. We distribute our application as one JAR file, which contains all the classes, documentation (HTML), images, whathaveyou. You can start it like that: java -jar foo.jar
    that's it. We don't even distribute an installer because it's so simple. Of course we assume Java is installed already, but that is not very hard either, especially on windoze.
  • "Duh!" Indeed!

    Sun wants to control what Java is, and is not. This is in fundamental contrast to open source, community-based development. The funny thing is, Linux and its constellation of applications have not become fragmented. Nor have open source implementations of Internet protocols gone non-standard, nor have many other potential bad things happened.

    So Sun does not need to control Java in order to maintain the usefulness of Java. Sun needs to control Java to prevent the weight of the Windows developer community taking Java places Sun does not like.

    Linux has survived, and thrived, with competing views on windowing interfaces and other major areas of functionality. So could Java. Web browsers operate quite well in a less-than-perfectly standrad HTML world.

    Also, Timur has is backward: Microsoft has always produced a JVM that runs Java very very well, with no incompatibilities across a huge number of applets and apps. Sun has attempted to build a theory based on copyright that says that Microsoft cannot, in fact, make a VJ++ with Windows-specific language extensions. In effect, they are saying that developers cannot decide for themselves how (not whether, but how) to write OS-specific Java code. Sun is not, and has not, assured that all VMs work alike. It has always been "write once, test everywhere."

    Suns wants unprecedented control over a computer language. This is not a matter of denying some logo or certification (as with Ada). Sun is trying to force a licensee to adhere to a changing set of rules, and then constructing those rules specifically to harm the licensees business. Interesting if they can pull it off, but dangerous, because Microsoft can turn around and apply the same theories to its licensing agreements.

    The measure of who is right here is that, I'd bet, Microsoft would love it if Java were open source. They would contribute their changes (which are entirely optional from the coder's perspective, and can shut off completely) to an open source Java. But I still do not here the stampede of /.'ers stepping up to defend Microsoft here.

  • Actually, J++ and the WFCs is a lot better than C++ and AFCs. J++ does manage to extend the ideas of easy instantiation and GC to all the pain-in-the-rear aspects of COM and makes COM coding worlds better. The VC++ packages that try to do "references" in C++ are too easily subverted to make C++ coding more reliable. In other words, Microsoft succeeded in porting a lot of Java productivity to Windows COM coding. It ain't perfect (Read the Java COM mail list to see that one does not escape the bad things in COM entirely), but it is the best way to write Windows code out there. Hmmm, if Sun wins, maybe I'll have to try Delphi.
  • "The browser based UI is a Java-Kludge."

    Huh?

    "As for a high quality GUI that runs on most platforms... Perl'll do that fine."

    1. You need another program installed, like Tk.
    2. I said *WEB-BROWSER BASED* GUI.
    3. It was just an example of something Perl can't
    do. There are many other things.

    "I think what the origional poster ment is that Perl does 'Wright Once, Run Anywhere' better than Java does."

    No, I think the original poster was a Perl zealot
    that cares more about being a cool Perl haxor
    than using the right tool for the job. I use and
    love Perl as well, but I also use and love many
    other tools... including Java.

    -WW

    P.S. There's more to Java portability than just
    "WORA."
    --
    Why are there so many Unix-using Star Trek fans?
    When was the last time Picard said, "Computer, bring
  • My point was that having your UI in a web browser window isn't an *Objective* for any but a few specific projects - It's an obnoxious disadvantage of Java (That java programs will only run on most PCs in a java window).

    Getting a JRE to run "Real" java apps is similarly difficult to getting Perl - And Perl is faster than Java (At least with Sun's JRE - There are comments about a JRE by IBM, That might be different)

  • Java doesn't do non-blocking I/O.

    Yes it does, it's just a LOT more difficult than it should be for an alleged "network programming language".

    If you want to do something while waiting on a socket, you start another thread.

    Not if the server you're trying to connect to exposes a non blocking socket as it's only interface. The thread approach is for blocking sockets.

    If you are trying to do otherwise you have a paradigm/language mismatch.

    So if I want to use a missing piece of Java (the language which Sun say will replace everything else) it's MY fault? If there's a language/paradigm mismatch, its between "Java" and "programming in the real world".

    Traditional Unix style socket-centric programming is impossible in Java. Thats not necessarily a bad thing, and you can get the functionality in other (more OO) ways.

    It's NOT impossible!!! I've done it!!!

    It's just more difficult than a better designed set of Socket objects should make it. You're trying to defend Java's poor design in this area IMHO, for no good reason.
  • by spiral ( 42436 ) on Monday August 23, 1999 @06:09PM (#1729387)
    ...have you ever noticed how often Microsoft takes a good idea and does the wrong thing with it?

    As a multiplatform developer, I understand the value of a useful, portable class library. On the other hand, though, it has also made me appreciate the extra cost that it can add - especially when you're only targeting a single platform.

    If I want to write a Windows-only app (say what you will, but that's what most users want) what do I use? I have no interest in writing in (ugh!) C++. AWT is useless. Swing has most of the functionality, but at a terrible performance hit. User-draw widgets are slower, don't always have the expected behavior, and aren't forward compatible. (Luke, use the native widgets Luke.)

    If MS had released a library of windows-specific Java libraries (com.ms.whatever) with JNI compliant natives, then Joe-the-Java-developer could write code to fully leverage windows functionality and look-and-feel. Some clever hacker could have even taken a subset of the native methods and written implementations for [insert your favorite GUI toolkit].

    Instead, they use the idea to try and crush the competition by corrupting or stealing the language.
    *SIGH*
  • by Slayer ( 6656 ) on Monday August 23, 1999 @06:17PM (#1729389)
    Folks,

    It doesn't matter that the injunction was lifted. If you program in any language, you spend weeks, months or even years before you can produce high quality code. Learning a computer language is a major investment, that you wouldn't make if you know this computer language will likely not exist in the near future.

    Regardless of Microsofts marketing muscle, if their incompatible version of Java is likely to disappear in the near future (even if that means a year or two), they won't get anyone outside Redmont to write decent applications with it. I'm not worried about some throw away applets for some lame web pages that will only work under IE5. Remember that Windows doesn't dominate the desktop because of ActiveX but because of the "Big Applications" like Office, Photoshop, AutoCad and all these Games. Notice that only some of these are made by Microsoft!

    If SUN is eventually going to win this case (and that's what the article suggests), MS Java is finished. Not in two years, but for all practical purposes now.

"Engineering without management is art." -- Jeff Johnson

Working...