Slashdot Mirror


Open Watcom 1.0 Released

JoshRendlesham writes "The Open Watcom C/C++ and FORTRAN 1.0 compilers have been officially released. The source, and binaries for Win32 and OS/2 systems, are available. This release also means that outside developers can join and contribute to the project." Or if you prefer, gcc is up to 3.2.2.

51 of 287 comments (clear)

  1. Rise of the Triads by Anonymous Coward · · Score: 3, Interesting

    Does this mean that I can finally use the ROTT-source for something else than just looking at? :-)

    1. Re:Rise of the Triads by Swootech · · Score: 2, Interesting

      Make a OS/2 port of ROTT then ;)

  2. DOS days by Graspee_Leemoor · · Score: 4, Interesting

    Back in the days of DOS, if you were a developer, the Watcom C compiler was *the* thing to pirate.

    graspee

    1. Re:DOS days by ctr2sprt · · Score: 5, Informative
      Wasn't it the first mainstream compiler to include a complete DOS extender and feature full 32-bit support? I remember wanting it so badly in the DOS days, but I was a broke student and could barely afford the modem I used to download porn. I had to make do with Borland C++ (which was great, but lacked 32-bit support unless you felt like writing a lot of assembler).

      Anyway, I'm excited by this because, well, competition is almost always a good thing. Hopefully gcc and Watcom can feed off each other and both products will improve. And perhaps more importantly for the build-everything users, another open source compiler might start moving people (like the developers of autoconf) to better support non-gcc compilers. This way, users who prefer Watcom's (or Intel's, or...) compiler can use it without as much tweaking.

    2. Re:DOS days by Graspee_Leemoor · · Score: 5, Informative

      The version of gcc for dos: DJGPP had a DOS extender and 32-bit support but it was slower than Watcom by a large amount.

      graspee

    3. Re:DOS days by Anonymous Coward · · Score: 3, Funny

      Me too. I had to rob several convenience stores to save enough too buy the software, because I didn't want to pirate it.

    4. Re:DOS days by ma++i+ude · · Score: 3, Interesting
      First of all, for the uninitiated, if your program shipped with dos4gw.exe (as most games did), it was compiled in Watcom. Such was the performance difference that nobody really bothered with any other compiler, especially with games.

      Back in the days of DOS, if you were a developer, the Watcom C compiler was *the* thing to pirate.

      I remeber using a stripped-down copy which was missing a good part of the standard C++ libraries and still doing most of my development on it. Having gotten used to such luxuries as the IDE Borland C++ (and Turbo Pascal) shipped with, it took a while to get used to but produced superb code.

      --
      You can't shut us down! The Internet is about the free exchange and sale of other people's ideas!
    5. Re:DOS days by bawb · · Score: 2, Interesting

      it took a while to get used to but produced superb code

      Personally, I found it to be a disappointment and all my side-by-side comparisons with Borland's Turbo C++ usually fell short. Especially if I was unrolling a lot of loops. IIRC, snooping the output revealed that it ignored them and no amount of tweaking the compiler would correct it.

      There's no arguing that Watcom made it pretty easy to access more memory, but if you already had a code base set up to handle that there didn't seem to be much of a point.

    6. Re:DOS days by Exiler · · Score: 2, Funny

      No it doesn't. Your favorite distro might, but last I checked the Linux kernel does not come with a compiler, maybe you're talking about Emacs?

      --
      Banaaaana!
    7. Re:DOS days by ma++i+ude · · Score: 5, Informative
      What exactly did dos4gw.exe do, incidently? I always used to wonder.
      It allowed the programmer to use all of the available memory. Remember when you had problems getting programs running because there was not enough conventional memory (ie. the first 640KB)? Well, dos/4gw made is easy to write programs free of these memory limitations. More information at http://www.tenberry.com/dos4g/
      --
      You can't shut us down! The Internet is about the free exchange and sale of other people's ideas!
    8. Re:DOS days by Ninja+Programmer · · Score: 2, Informative

      More specifically, it "EXTENDED DOS" to the 32 bit flat address model. The problem was that the entire DOS API was 16 bit, and assumed that everything happened in the first 640K. So if you wanted to use the DOS services with your data that was not in the first 640K, you needed a translation layer -- this is what the DOS Extender (typically via an API called "DPMI" -- DOS Protected Mode Interface) provides.

      Some of the better DOS Extenders had a built-in virtual memory mechanism as well. Actually it turned out that DOS4GW was kind of weak in comparison to the other extenders like "CauseWay" which Open Watcom is supposed to be using now.

    9. Re:DOS days by Mike+Monett · · Score: 3, Interesting

      More specifically, it "EXTENDED DOS" to the 32 bit flat address model. The problem was that the entire DOS API was 16 bit, and assumed that everything happened in the first 640K. So if you wanted to use the DOS services with your data that was not in the first 640K, you needed a translation layer -- this is what the DOS Extender (typically via an API called "DPMI" -- DOS Protected Mode Interface) provides.

      You can run 32 bit code in dos without the restrictions and performance penalty of DPMI. It's called Flat Real mode, and has been around since 1988. Himem and Smartdrv use it to access extended memory.

      But you don't have to go through Himem to access memory above 1 meg. You can do it yourself and eliminate the time wasted.

      The problem is debugging your code to ensure data is transferred correctly. DOS debuggers cannot recognize 32-bit addresses, so you cannot verify data is stored correctly or that you are pointing to the correct area in memory.

      Here's the solution

      http://www3.sympatico.ca/add.automation/flat/frm.h tm

      Best Regards,

      Mike Monett

    10. Re:DOS days by Reziac · · Score: 2, Funny

      Not to mention that DJGPP is responsible for the worldwide shortage of sacrificial chickens and goats!! Installing it has been described as a black art, and getting good performance from the resulting binaries.. lordy. Talk about bad juju.

      (And will someone PLEASE fix the stack overflow/memory leak in CWSDPMI?? It's been there since the Go32v2 days!!)

      --
      ~REZ~ #43301. Who'd fake being me anyway?
  3. cool ! that's great news by jacquesm · · Score: 2, Interesting

    I used the watcom tools extensively on QNX and they were of excellent quality, this is really good news !

    Hopefully this sets a trend.

    1. Re:cool ! that's great news by Animats · · Score: 4, Interesting
      QNX uses the GNU/GCC toolchain now, and ship their premium product with the Dinkumware C++ library.

      Incidentally, if someone can tell me how to prevent loader crashes in "ld" under QNX when there's an undefined symbol in a trivial program that includes "", I'd appreciate it. Nobody in the QNX newsgroups seems to know.

  4. Just don't... by gearheadsmp · · Score: 2, Informative

    use gcc-3.2.1-r6. It really fscks up Gentoo installations, and I don't think it's all that healthy for other distros either.

    1. Re:Just don't... by commanderfoxtrot · · Score: 2, Informative

      No, 3.2.1-r6 does not ruin Gentoo machines. There were a couple of initial problems due to a lack documentation on *how* to upgrade GCC. Take a look at the "Gentoo Weekly Newsletter" of a few weeks back.

      I have run 3.2.1r6 on my Gentoo machines since it came out with no problems whatsoever.

      BTW, anyone know when some more Duron/Morgan specific optimisations will appear? I'm using cpu=athlon-xp at the moment...

      --
      http://blog.grcm.net/
  5. Re:Stop duplication of effort by jacquesm · · Score: 4, Interesting
    gcc could do with some competition, yes its stable, no it is not at the leading edge of performance any more, processor optimization is at least a generation behind what's commonly available and ignores some architectures completely.


    I'm looking forward to someone benchmarking gcc vs watcom to see how they do.

  6. Watcom was great. How about today? by CresentCityRon · · Score: 5, Interesting

    In the late 80s (?) Watcom products were really great. They were beating on everything for the Intel platform.

    I received the email yesterday about Watcom's "release" to open source. In that email it says that Sybase felt there was no commercial value in the product anymore so they released it. My question is "Has Sybase been keeping this thing up? Is it useful today?" Or is this a scam to try to give life to a dying patient? I mean perhaps people working on this might be better off working on gcc or something.

    Thanks!

  7. Superb! by occamboy · · Score: 2, Funny

    Another version of FORTRAN! Yeah! Now if I can just find a card punch machine and reader on eBay, I'll have hutled into the 1970s!

    1. Re:Superb! by grub · · Score: 5, Informative

      Don't laugh, Fortran is still widely used in the scientific field. Optimizing compilers such as the SGI/MIPS compilers do good jobs at generating tight code from Fortran. C and C++ are not the easiest things to optimize automagically.

      It's no coincidence that SGI and Cray have excellent Fortran compilers, their customers demand it.

      (sorry I spent all of last Wednesday in 2 seminars with a fellow from SGI's Canadian HPC group, I'm still buzzing. :))

      --
      Trolling is a art,
    2. Re:Superb! by RV.eq.VFG · · Score: 2, Informative
      If somebody could point out a free tool(set) that could handle F9x that I'm unaware of, I'd greatly appreciate it

      Its not free in the FSF sense but intel do a f95 compiler which is free for personal use on linux (x86 or itanic only).

      The g95 project is developing a free f95 compiler but it is not ready yet: http://g95.sourceforge.net/

  8. GCC performance and another thing... by 00_NOP · · Score: 2, Interesting

    1. GCC: My sense is that it is not a very high performance compiler - is that true? Would a better GCC make a big difference to the free software/oss world?

    2. Does the Watcom WIN32 binary run under WINE?

    1. Re:GCC performance and another thing... by FooBarWidget · · Score: 2, Interesting

      "1. GCC: My sense is that it is not a very high performance compiler - is that true? Would a better GCC make a big difference to the free software/oss world?"

      That depends on what you mean by "high performance".
      If you mean how fast GCC can compile stuff, then it's probably not the fastest compiler in this world. Hopefully precompiled headers support will change this.
      But if you mean code speed, then GCC 3.2 is great. It generates code that rivals that of Intel C++.

    2. Re:GCC performance and another thing... by be-fan · · Score: 4, Informative

      You mean this link? The one that shows GCC matching Intel C++ 7.0 on everything except the P4 FPU benchmarks?

      --
      A deep unwavering belief is a sure sign you're missing something...
  9. Performance comparisons by golrien · · Score: 5, Interesting

    I was going to ask if there were any performance comparisons around showing how Watcom performed, but then I realised that anyone with half a brain ran something through Google before Slashdot.

    Win32 compilers (not including Watcom - and with good reason, it's a bitch to set up on Win32)

    as linked from the djgpp FAQ, some info on DOS compilers.

    So, hooray! A lesson in using Google before Slashdot mixed with some blatant karma-whoring.

    PS. this is good too.

    1. Re:Performance comparisons by be-fan · · Score: 2, Insightful

      I wouldn't accuse ICC of questionable shortcuts. It's generated code works just great. On the other hand, those benchmarks are quite out of date. GCC 3.2.x is *much* faster than GCC 2.95.x (or GCC 3.1.x for that matter). Instead look at these benchmarks which tests GCC 3.2.1 vs Intel C++ 7.0

      --
      A deep unwavering belief is a sure sign you're missing something...
    2. Re:Performance comparisons by be-fan · · Score: 2, Interesting
      --
      A deep unwavering belief is a sure sign you're missing something...
  10. No Time by Anonymous Coward · · Score: 4, Funny

    Sorry, no time to read this now. Will catch it on the repost....

  11. Who is using Watcom in production? by Anonymous Coward · · Score: 3, Interesting

    Could someone post information on what companies are using Watcom and which products they've built with it?

    This would also be excellent information for Watcom to put on their site. It would give them much more legitimacy.

  12. Re:Stop duplication of effort by Anthony+Boyd · · Score: 3, Funny
    This is a waste of time.

    Yeah. That whole "competition" thing is totally overrated.

  13. Mainframe compilers by Mainframes+ROCK! · · Score: 2, Interesting

    Has anybody heard any news recently from Watcom/Sybase about the 370 versions of Waterloo C, WATFIV, WATBOL, Pascal, Basic etc?

  14. Re:Stop duplication of effort by selectspec · · Score: 4, Insightful

    What gcc needs is support from the hardware vendors themselves. If the hardware vendos all backed gcc, the would be doing their customers a huge favor giving them the flexibility to move between platforms with greater ease, and reducing build engineers to a single toolset.

    --

    Someone you trust is one of us.

  15. GCC by mark_space2001 · · Score: 4, Informative
    I'm with michael on this one. There are a lot of free compilers out there now, including Microsoft VC++ and Borland

    Gcc is good, open, and could use some work, so please think about helping out. My favorite is MinGW which is a really nice and decently maintained Win32 version of gcc and binutils. MinGW also distributes MSYS which is a bash shell and other gnu utilities that make a windows box capable of running a Linux configure script. This allows much easier porting of GNU applications to windows and vice versa. There are several GUI compilers based on MinGW too, see the web page FAQ. A nice GUI GCC based compiler for Win32 is Bloodshed Dev-C++, which I've used.

    Cygwin is good too but I prefer MinGW (obviously).

    So think about helping out, our tools will only get better if folks work on them.

    1. Re:GCC by The+Bungi · · Score: 2, Informative
      Yes. It includes the C#, VB.NET and JScript.NET compilers, as well as the C and C++ compilers, along with the up to date libs and headers.

      This is surprising (was to me), because although the MS linker had been available previously with the Platform SDK, the compiler itself had never been (the libs and headers were).

      The .NET compilers have to be present in any .NET-based environment, so they have no choice but to ship them. But the C++ compiler does not. I'm not sure why they're doing this now, but hey.

      In fact, there are a couple of projects now trying to get together a free front end/IDE for the compiler, although I'm not sure if that violates their EULA. There are free/open front ends for C# (SharpDevelop and WebMatrix) available today, of course.

  16. Re:Free software not a dumping ground! by edwdig · · Score: 4, Informative

    The Watcom compiler is the only compiler that supports writing 32 bit code using 48 bit pointers. GCC only supports code where all the segment registers contain the same value.

  17. Watcom Memories by Lucas+Membrane · · Score: 2, Insightful
    The IDE's that Watcom had were refreshingly different. Their C++ IDE was good, but when they upgraded the C++, they came out with Power++, which was a very nice RAD product, but it was too buggy. If the compilers are cleaned up and they open source the IDE's too, this might be of value.

    What killed them? Did they pull all their brains off C++ to work on PB? Was competition from MS too tough? Was their GUI builder (licensed from some 3rd party) too lame? Was the cost of implementing the C++ standard too high? (Watcom was late to offer STL -- they included their own (way different) libs instead.)

    We were a couple of generations back on chips when Watcom pretty much stopped pushing their compiler technologies. I wonder how much they lose by not having optimizations targetting new hardware features.

    1. Re:Watcom Memories by Locutus · · Score: 4, Informative

      What killed them? If you remember when this all was happening, Microsoft was out to take over C++ and all the companies who did cross-platform frameworks were attached in standard MS style. Monopoly money funded subsidizing of their Visual C-- product and MS-MFC. Then when Watcom wanted to include MFC with the Watcom C++ compiler package, Microsoft said that would only happen if ALL other frameworks on the CD were removed. Remember, Watcom C++ shipped with DOS16, DOS32, Win16, Win32c, Win32, OS/2-16, OS/2-32 compilers with the IBM OCL framework and some others like Zinc if I remember correctly.

      Watcom would have to eliminate all the support for the other platforms to license MFC and ship it with their compilers. And Microsoft was all but giving Visual C-- away at the time also.

      The Watcom compiler was one of the fastest on the market from what I remember. I had heard that IBM used it for the WinOS/2 subsystem on OS/2 to make it a faster Windows than Dos/Windows.

      Think about it, Microsoft HATES anything that abstracts the Win32 API and crossplatform frameworks and crossplatform compilers where one of the early targets of the beast in Redmond. Borland was the only one that got any money out of taking Microsoft to court for attacking it's business using illegal means. The others were too small and just folded and looked for other ways to make a business.

      LoB

      --
      "Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
  18. Sure it is by Planesdragon · · Score: 4, Insightful

    Yet another company trying to use free software as a dumping ground for useless software.

    Maybe you're not up to snuff on the philosiphy of code-reuse and what Free Software means.

    If software and code is a commodity, and the value then becomes it configuration/customization, then every little bit of trash that can be opened is a Very Good Thing. If the company was proprietary their entire corporate life, but releases the soruce as GPL (or BSD) when they fold, this is a Good Act and should be Lauded and Welcomed and Thanked.

    The darn site's /.'ed--but as long as they use a GPL-compatbile license, there's nothing stopping the GCC folks from pouring over OpenWalcom for anything useful.

  19. Re:Free software not a dumping ground! by Ninja+Programmer · · Score: 2, Informative
    • I do not see anything they can offer.
    They offer:
    1. An integrated IDE
    2. Source compatibility with MS VC++
    3. OBJ/Library compatibility with MS VC++ and MASM/TASM/NASM
    4. Compatibility with numerous DOS extenders
    5. A far better "MAKE" than gnumake, Solaris make, or MS's nmake
    6. Open source Win32 compatibility
    7. Inline assembler that uses the proper IA-32 syntax
    I am told, that the sources for the compiler itself are very well structured. I am also told that the sources for gcc are a complete mess.
    • Even if they had, would it not be better to just release the source code under the GNU GPL and integrate any valuable part into gcc?
    The Sybase Open source license protects Sybase. While that's not important to you, it *is* important to Sybase. The open source people have endorsed it as a valid open source license, so that is that.
    • Perhaps some years ago this would have been great. Now it is too little, too late.
    Now on this point you might be correct. However, that remains to be seen.
  20. Re:WX-REXX by Locutus · · Score: 2, Interesting

    Same here and when I saw what VisualBasic was compared to VX-Rexx, I couldn't figure out why Watcom didn't bring VX-Rexx to the Windows platform.

    VX-Rexx was great at quick and dirty applications and prototyping. I remember writing a simple text browser in VX-Rexx when I was building a Java web server. The browser let me write html and push it to the server for testing of the parsing engine.

    If you've not seen it, think of it as VisualBasic on steroids. Hey, it used Rexx for one thing and the function browser was pretty cool for it's day. IMHO.

    LoB

    --
    "Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
  21. Re:Free software not a dumping ground! by The+Bungi · · Score: 2, Interesting
    You complain when you don't have participation and when companies refuse to release their products under the OSS model, and then you complain when someone releases software that, in your view, is useless.

    So which is it?

  22. What happened to Watcom by Anonymous Coward · · Score: 5, Informative

    Just wondering what they(watcom) are up to now.

    IIRC: Watcom was purchased by Powersoft. Powersoft's main product was a front-end database tool called PowerBuilder. One of Watcom's products was a small database called Watcom SQL. Powersoft bought Watcom so that they could ship Watcom SQL along with Powerbuilder, so that Powerbuilder could run OOTB.

    Oddly enough, Sybase bought Powersoft a few years later so that they could use Powerbuilder to compete against Oracle's front-end tools. This meant Sybase ended up with Watcom's assets, even though they were not particularly interested in them.

    1. Re:What happened to Watcom by mobiGeek · · Score: 2, Interesting
      Oddly enough, Sybase bought Powersoft a few years later so that they could use Powerbuilder to compete against Oracle's front-end tools. This meant Sybase ended up with Watcom's assets, even though they were not particularly interested in them.

      And to continue the story...

      1. Sybase bought Powersoft in 1995.
      2. The "Watcom" group, still based in Waterloo Ontario, became the Mobile And Embedded (MEC) division of Sybase.
      3. In 2000, Sybase spun the MEC division off as its own company: iAnywhere Solutions Inc.

      iAnywhere makes the very powerful, popular (and developer friendly!) SQL Anywhere Studio as well as other products.

      See more:

      Caveat: I might have some biases...
      --

      ...Beware the IDEs of Microsoft...

  23. No, actually by exp(pi*sqrt(163)) · · Score: 4, Interesting
    Intel have a long history of claiming that they produce a fast compiler, after all they know the Intel specs. However I have never found this to be true over the last 7 or 8 years (I think it was called Proton years ago). I am not sure I have found any code that is significantly faster compiled with the Intel compiler and have found much that is slower. I haven't tried v6 of their compiler though. Maybe, just maybe, they've now picked up some tricks from the KAI guys.

    Incidentally, vectorization in Intel C/C++ is a joke. I put so many hints into my code (aligned variables, processed stuff in suitable sized chunks etc.) and still couldn't trigger the compiler to vectorize. It's much easier to insert SSE instructions yourself.

    The Intel compiler has better error reporting than MSVC++. I use it when I don't understand why MSVC++ is barfing on my template code. This is more useful than it sounds!

    --
    Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
    1. Re:No, actually by Ninja+Programmer · · Score: 2, Informative

      Most people who have looked into this have not found your claim to be true. The Intel compiler *does* produce better code on average. I will agree with you about the code vectorization of the Intel compiler except for the very latest version of it which has actually shown itself to vectorize pretty much any time there is a reasonable opportunity for it.

  24. Re:Free software not a dumping ground! by GlassHeart · · Score: 2, Insightful
    Yet another company trying to use free software as a dumping ground for useless software. What does Watcom have to offer today?

    Let's see... a student of compilers picks it up, and learns something. The intangible goodwill encourages another company to open something else. We don't lose another piece of computer history.

    Not every act has to change the world, you know.

  25. Re:Watcom was great. How about today? by robbyjo · · Score: 4, Interesting

    One thing I know is that their optimization routine rocks.

    Well, optimization routines can be divided into two parts: One is architecture independent (which involves simplification of AST and stuff) and the other is architecture independent. IIRC, their architecture-independent optimization was really great. It can correctly detect redundant codes and simplify it.

    I used to be an ASM programmer as I was a performance freak. When I compile my C/C++ program using Watcom, it almost always produced near optimized (i.e. the "gold-standard") asm code. I knew this when I dumped out the assembler code.

    I knew that their arch-independent optimization is really good because when you add things such as calculation of busy expression (i.e. expression that you used over and over) and stuff, it correctly cache the calculation before hand. So, you will save a tremendous time, especially if you do it in a loop. The problem was (again, IIRC) that was not perfect and some of the expressions are left undetected. But, that's probably a bug.

    IMHO, arch-independent optimization play a lot greater role than the arch-dependent one (ok, some of you may not agree with me). Things like peephole optimization is great, but is of limited usefulness once you apply the correct transformation of the AST and other internal structures.

    This is also partly why Intel optimizing compiler is also great. I heard that some of the folks are doing partial evaluation on the code -- which can greatly help speeding up the result. The idea was: If you use a particular routine (like function) only with a handful of value range, it will automatically create a specialized and optimized function for you exploiting the nature of the input values. For example: You probably have seen the routine that calculates (-1)^n used in a routine that calculates x^y. The optimizing compiler thus should be able to generate: return (n && 1 == 0) ? 1 : -1; instead of the looping. This only involves some (expensive) static analyses computations. I have yet to see this in other compilers.

    Therefore, this release is really really good thing. I hope that GNU compiler teams would pickup some of their good stuff.

    --

    --
    Error 500: Internal sig error
  26. Ain't ya forgettin' summink? by leonbrooks · · Score: 2, Informative

    Did you Google?

    Let your fingers do the walking...

    --
    Got time? Spend some of it coding or testing
  27. Re:Watcom was great. How about today? by Ninja+Programmer · · Score: 2, Interesting
    • Or is this a scam to try to give life to a dying patient?
    No, it is not a scam. Sybase truly does not care what happens to WATCOM C/C++ (so long as it doesn't come back and bite them on the butt.)
  28. DJGPP & Quake by wideBlueSkies · · Score: 2, Informative

    >>The version of gcc for dos: DJGPP had a DOS extender and 32-bit support but it was slower than Watcom by a large amount

    Though that didn't stop ID software from using DJGPP to build Quake 1 way back in 96.

    --
    Huh?