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.

26 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 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!
    2. 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.

    3. 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

  3. Good old days by Anonymous Coward · · Score: 1, Interesting

    I remember those old days that doom was written and compiled using Watcom C compiler. Just wondering what they(watcom) are up to now.

  4. 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.

  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. 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++.

  8. 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, Interesting
      --
      A deep unwavering belief is a sure sign you're missing something...
  9. 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.

  10. Re:Watcom was great. How about today? by Anonymous Coward · · Score: 1, Interesting

    as soon as I can compile and use a good 32bit dos extender with gcc, I will stop wasting my time with watcom. Until then, gcc is not the right tool for my job.

  11. 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?

  12. Re:Watcom was great. How about today? by Anonymous Coward · · Score: 1, Interesting

    if you ever have to code a real time application chances are DOS is among the possible choices if you want to base it on x86 hardware. so watcom would be a good DOS compiler. it was the best back then in 1996, it should be now, as DOS tipped over prior to that and all other compiler development with it.

  13. Re:Open C-64 0.9 is now available. by Anonymous Coward · · Score: 1, Interesting

    Check out CC65. It is a pretty good freestanding implentation of ANSI C89 on the 6502 (C-64, Apple //, Atari 800, Nintendo, etc). Projects such as uIP and uVNC have been built with it.

  14. 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
  15. 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?

  16. 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.
  17. 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
  18. 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.)
  19. 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...