Slashdot Mirror


Open Watcom Effort Makes First Public Release

epowers writes: "It's been a long time since /. ran this story, but a few days ago the Open Watcom Project made it's first public release. It's only a binary patch targeted at 11.0a/b owners, but it's still an important roadmark on the way to the planned full open source release of both the Watcom C/C++ and Fortran compilers. Most programmers, particularly game programmers, should remember the amount of prestige id software's DOOM generated for the Watcom compiler and the sudden proliferation of 32-bit DOS games with the tell-tale "DOS/4GW" startup banner. The download is available for free, but Open Watcom requests a $1-$50 donation to help support the development effort required to remove code Sybase doesn't own and to prepare the open source release."

23 of 225 comments (clear)

  1. Hmm by cdraus · · Score: 5, Informative

    They say (on the webpage) that a version is planned for Linux. Do we really need another C/C++ compiler for linux? We'd just end up with the trouble we had on DOS with people writing silly compiler dependent code and everything a big mess.

    1. Re:Hmm by reynaert · · Score: 5, Insightful

      People are already writing very gcc-specific code for Linux. I've often seen that installation instructions for other Unices begin with 'install gcc'.

    2. Re:Hmm by BlowCat · · Score: 5, Insightful
      Your question contains the answer. We need another compiler for Linux so that the developers could check that they didn't occasionally wrote any "silly compiler dependent code" without having to reboot or to login to a box with the other compiler.

      Actually, more often the code is not silly, it's just that some compilers accept some quirky code, and the others don't.

    3. Re:Hmm by John+Miles · · Score: 3, Funny

      Because gcc crashes when you try to pass more than 32 megabytes on the stack.

      "Doctor, doctor. It hurts when I do this!"

      --
      Dahlmann tightly grips the knife, which he may have no idea how to use, and steps out into the plain.
    4. Re:Hmm by amccall · · Score: 3, Informative
      The Commercial Intel compiler for Linux is not only available, but extremely functional. At one point I had a time limited Beta release on my computer, which compiled programs just fine. (After some hassles over licensing.)

      The commercial version is not extremely unreasonable in price, the main disadvantage in it is that it is not completely compatible with gcc, so you can't go and recompile all the packages on your system with it.

      Here's a link to Intel's page for it, I believe you can get an evaluation version from them here

      A free version is here for non commercial use is here.

      --
      ------ 24.5% slashdot pure
  2. Ruminations: Will it merge with gcc? by earthforce_1 · · Score: 3, Insightful

    I wonder if this will be released under a GPL license? If so, when this puppy gets into the pulic domain, there will be anything worth merging into gcc, or vice versa? Or whether the two compilers themselves will ultimately be merged into one product?

    --
    My rights don't need management.
    1. Re:Ruminations: Will it merge with gcc? by reynaert · · Score: 5, Insightful

      gcc is portable to dozens of different architectures, and can relatively easily be ported to new architectures or new languages. That's a very impressive feat.

      Watcom generates very optimal code for the i386. That's also a very impressive feat.

      In other words, but compilers are extremely good in what they are designed for.

    2. Re:Ruminations: Will it merge with gcc? by reynaert · · Score: 5, Funny

      since I put the NT 4.0 CD, that came with my computer, in the microwave.

      The only acceptable use policy for Windows CD's :)

  3. Bravo! by maggard · · Score: 4, Interesting
    The more high-quality compilers the better!

    More compilers means more techniques applied and evaluated, benefits from compare & contrast, ability to more easily identify errors specific to a compiler and not code, and possibly more generic code in a more diverse environment.\

    --
    I don't read ACs: If a post isn't worth so much as a nom de plume to its author then I wont bother either.
  4. glad to see them accept donations by Dr.+Awktagon · · Score: 5, Interesting

    I wish EVERY substantial Free/Open software project had a donation page pop up before download. There are several programs that I use regularly for which I would donate when downloading or upgrading.

    In fact, Free/Open software is much more valuable to me than the alternatives.

    So in other words, I will only pay for Free software! ;-)

    (Too bad they use Amazon for their donations, for those of us boycotting them.)

    1. Re:glad to see them accept donations by jesser · · Score: 3, Interesting

      Don't wait for they to ask for money. Just send them some, along with a note saying you like the program they're working on (so they have some idea why they're suddenly getting money from strangers). I made a personal toolbar button that lets you quickly send money to any e-mail address listed on a web page. It works with Netscape 4, IE5 (but not 6), and Mozilla. You can get it here. You don't even have to install anything, although you do need to get an account at PayDirect if you want to actually send money with it.

      By the way, Amazon's boycottable actions aren't the only reason not to use their donation system. It's also one of the most expensive donation systems.

      --
      The shareholder is always right.
  5. experience with W2K [OT] by alienmole · · Score: 5, Funny
    my hopes were high that it would perform up to snuff with the Windows 2k boxes which were(and still are!) doing an AMAZING job at their respective tasks of serving HTTP requests, DNS, and fileserving.

    Yeah, it is amazing how Win2K can keep on functioning even when it is simultaneously infected with Code Red, Sadmind, and Nimda! The data rates produced by virus-generated GET requests are most impressive, and only exceeded by the rate at which IIS with ASP leaks memory. Microsoft and its "professional full fledged development team" have truly reached a pinnacle of performance and stability!

  6. How much use is this in the modern era? by Ryu2 · · Score: 4, Insightful

    Not a troll. 32-bit flat memory, etc. under DOS was cool in the early 90s, but really how viable is it in this day and age?

    --
    There's 10 types of people in this world, those who understand binary and those who don't.
    1. Re:How much use is this in the modern era? by scrytch · · Score: 4, Informative

      Not a troll. 32-bit flat memory, etc. under DOS was cool in the early 90s, but really how viable is it in this day and age?

      Because that's the same memory model linux uses (except on alphas where it's 64-bit). Or any other OS that supports virtual memory. Before that, in DOS you had to deal with segments, evil nastiness like FAR pointers and so forth.

      --
      I've finally had it: until slashdot gets article moderation, I am not coming back.
  7. Re:Eh... Am I missing something? by n3m6 · · Score: 5, Informative

    From the FRONT PAGE !!!

    "When the Open Watcom 1.0 release is complete, the team will be open for general admission from anyone. The Open Watcom team is closed for the initial part of the project due to NCA restrictions with Sybase. If you have any further questions, please visit our FAQ section first. "

    From the FAQ

    " Is everything that was on the Watcom CD available for free download?

    No. The commercial versions of the Watcom C/C++ and Fortran compilers contained licensed copies of the Windows SDK, Microsoft Foundation Classes, OS/2 Toolkit and other commercial tools. Due to licensing issues, those components cannot be made freely available. Hence in order to utilise the 11.0c binary patch release, you will need an official copy of the 11.0, 11.0a or 11.0b installation CD. "



    Read the FAQ first please
    The release of the path itself shows that the project is under development and it is not dead. However the project needs to solve its legal issues which WILL take time.

    i am not a developer nor have any contacts or relationships or sex with sybase or scitechsoft.
    Thank you!

  8. Re:Eh... Am I missing something? by reynaert · · Score: 3

    However the project needs to solve its legal issues.

    Who says they ever will be solved? The whole OpenWatcom project can just disappear one morning because legal issues. Until source has been released I consider the project vaporware.

    I looked a little in their BugZilla system, and saw that the DOS/4GW extender is one of those 'legal issues'. But why do they have to wait for permission for DOS/4GW to release the rest of the system? They can just strip out the utilities, libraries and what else they can't distribute. The result might not even compile, but that's not important. The important thing is that there's source. Maybe somebody can write replacements for the parts with 'legal issues'. Maybe we'll have to wait until they can sort it out. But in the meantime, the rest of the system is available, and will be available forever.

  9. ... and please donate! by burtonator · · Score: 3, Insightful

    Really cool that they are requesting donations. I think it is important for people to realize that Free Software (as in liberty) isn't always free (as in money).

    I think that if developers would use systems like paypal more we would see in increase in free software!

    Kevin

  10. Another one... by reynaert · · Score: 3, Informative

    TenDRA (http://www.cse.unsw.edu.au/~patrykz/TenDRA/) also exists. The only thing I know about it is that it is included in Debian Woody. If anobody knows more, please reply :)

    1. Re:Another one... by Cato · · Score: 3, Informative

      Very interesting - ANDF (Architecture Neutral Distribution Format) was dreamt up during the Unix wars, by the OSF (who created a Unix clone called OSF/1, used only by Compaq Tru64 these days), and this compiler implements a format (TDF) that seems to be derived from this. The idea was that compilers would produce ANDF, an intermediate compiler output format, and vendors would then ship CDs containing ANDF 'binaries' - the customer installed on their Unix box, which could be Alpha, PA-RISC, x86, etc, and a special tool then did the last stage of compilation from ANDF to binary.

      Not sure why this never took off, probably it was too much of a leap from existing technology and the Unix vendors saw it as commoditising their boxes. A few years later, Java's bytecode and use of JIT or install-time compilation came along and rendered this moot, though ANDF/TDF are probably still more flexible.

  11. For those of us youngins... by --daz-- · · Score: 4, Interesting

    ... could someone please provide a brief history of what the watcom compiler is or does differently than other compilers, and why it's suited to making DOOM-type games where other compilers aren't?

    The OpenWATCOM site wasn't terribly informative. Apparently, this is a big deal since it made Slashdot, but I guess I don't see the significance. Thanks!

    1. Re:For those of us youngins... by Electrum · · Score: 4, Informative

      In combination with the DOS/4GW dos extender, it provided a flat 32-bit address space for programming. It also produced the better code than any compiler, by a wide margin. Back then, Microsoft's compiler for DOS was broken (it produced buggy code when optimizations were enabled). Borland's Turbo C++ was cool, and some games used it, like Wolfenstein 3D and Jazz Jackrabbit, but for games for the 486 like DOOM, nothing compared to Watcom. It also had really nice tools, like a cool VI like editor for DOS, an excellent debugger and profiler, and lots of other cool stuff. Not to mention that it would compile for DOS and Windows in both 16 and 32 modes, and OS/2. It was the first C/C++ compiler that I really started using heavily back in the day, and I must say that it was a very excellent product, worth every penny (I even got the student version for $99).

      There is probably a compiler or two now that produces better code for x86 (especially PIII and Athlon), like Intel's compiler, but being that most Linux distributions are compiled for 386 or possibly Pentium, there would be a ton of stuff that would benefit from a Watcom compiler for Linux.

  12. My experience with DJGPP and Watcom by chrysalis · · Score: 5, Interesting
    In the DOS-times, managing memory was a hell. It was both a hell for end-users (having to keep different sets of AUTOEXEC.BAT and CONFIG.SYS to make different programs work) and for programmers.
    The good old Borland C only allowed 16 bits segments. It was really lousy.
    There was some hacks to avoid this. I wrote some assembly code to enable the flat mode (only one big linear page up to 2 Gb), and Borland C finally could access 32-bits segments. But the page was still 16-bits by default, so all 32-bits operations had to be prefixed.
    I wrote some games and demos with this, but Borland's produced code was very bad. On a version of Borland C, while(1) was compiled as mov ax,1 then test ax, compare with zero and jump if 1 != 0. Awesome.
    It's why I tried Watcom. Watcom's code was better. Moreover it had specific optimizations for 486 and Pentium-class processors. And with DOS4GW, it was easy to access 32 bits pages. However :
    • The C-parser was buggy. Some absolutely correct piece of source code were misinterpreted by Watcom. For instance, it refused some "const" pointers that were indeed pointing to constant values.
    • The compiler was buggy. When some optimizations were turned on, it produced wrong code, sometimes reusing a register while it was still in use by someone else. And it simply ignored the volatile keyword, that was needed for interrupts hooks.
    • DOS4GW was cool, but sometimes slow. It was way faster to allocate a big memory chunk at startup and then mess in it, than allocating multiple small chunks.
    • Inserting assembly code used a totally different syntax than Borland C.

    So Watcom was an excellent compiler, but it was really, really buggy. I always had to review the assembly code by hand. But I liked the fact that "char" was unsigned by default.
    Then, I tried DJGPP. DJGPP is a port of GCC to DOS platforms. It cames with a free DOS4GW-like called PMode.
    The resulting code wasn't that bad. For floating-point arithmetic, GCC produced slower code than Watcom (can't remember why, maybe GCC didn't use the arithmetic coprocessor). But it didn't matter, demos always use fixed-point anyway.
    GCC didn't produce buggy code like Watcom. And the code was...logical. Have a look at Ping for instance. It's a smooth pong-like game with carebears, bonuses, funny sounds, etc. I wrote that game with DJGPP, but if you look at the source code, you'll see that it looks a lot a assembly code. It's designed in a way that the compiler can translate one line of C in one line of assembler, and everything is pre-optimized. GCC respected this. I tried to recompile important parts of the code (sprite routines) with Watcom. The result was illogical. It tried to reorder some stuff, but this only gave slower code.
    The first releases of PMode were buggy, too. They worked very bad with Qemm. But then, it got better and finally was an excellent drop-in replacement for DOS4GW. But once and again, allocating a big page was faster than multiple pages.
    Why Watcom was cool : fast compiler (gcc was sooo sllooowww to compile), good optimizations for floating-point operations.
    Why DJGPP was better : free, comes with emulation of many Unix system calls, gives optimized code if the source code is already optimized. And GNU-assembler syntax is way better than TASM-like syntax.

    --
    {{.sig}}
  13. Link warning by the+way · · Score: 3, Informative

    Have a look at Ping [claranet.fr] for instance. It's a smooth pong-like game with carebears, bonuses, funny sounds, etc

    IE/Windows users might want to avoid clicking this link. It contains a script that deletes an email from your inbox. It won't effect you if your machine is secure, but there's better ways of finding that out...