Slashdot Log In
Open Watcom 1.0 Released
Posted by
michael
on Sat Feb 08, 2003 02:46 PM
from the competition-is-good dept.
from the competition-is-good dept.
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.
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Rise of the Triads (Score:3, Interesting)
Re:Rise of the Triads (Score:2, Interesting)
DOS days (Score:4, Interesting)
graspee
Re:DOS days (Score:5, Informative)
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.
Parent
Re:DOS days (Score:5, Informative)
graspee
Parent
Re:DOS days (Score:3, Funny)
(And will someone PLEASE fix the stack overflow/memory leak in CWSDPMI?? It's been there since the Go32v2 days!!)
DJGPP & Quake (Score:3, Informative)
Though that didn't stop ID software from using DJGPP to build Quake 1 way back in 96.
Re:DOS days (Score:3, Interesting)
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.
Re:DOS days (Score:5, Informative)
Parent
Re:DOS days (Score:3, Informative)
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.
Re:DOS days (Score:3, Interesting)
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.
Best Regards,
Mike Monett
Re:DOS days (Score:3, Funny)
Re:DOS days (Score:3, Funny)
Ain't ya forgettin' summink? (Score:3, Informative)
Let your fingers do the walking...
cool ! that's great news (Score:3, Interesting)
Hopefully this sets a trend.
Re:cool ! that's great news (Score:5, Interesting)
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.
Parent
Watcom was great. How about today? (Score:5, Interesting)
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!
Re:Watcom was great. How about today? (Score:5, 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.
Parent
Re:Watcom was great. How about today? (Score:3, 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.)GCC performance and another thing... (Score:3, Interesting)
2. Does the Watcom WIN32 binary run under WINE?
Re:GCC performance and another thing... (Score:3, Interesting)
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++.
Re:GCC performance and another thing... (Score:5, Informative)
Parent
Performance comparisons (Score:5, Interesting)
Win32 compilers (not including Watcom - and with good reason, it's a bitch to set up on Win32) [willus.com]
as linked from the djgpp FAQ, some info on DOS compilers [geocities.com].
So, hooray! A lesson in using Google before Slashdot mixed with some blatant karma-whoring.
PS. this [bagley.org] is good too.
Re:Performance comparisons (Score:3, Insightful)
Re:Performance comparisons (Score:3, Interesting)
No Time (Score:4, Funny)
Who is using Watcom in production? (Score:3, Interesting)
This would also be excellent information for Watcom to put on their site. It would give them much more legitimacy.
GCC (Score:5, Informative)
Gcc is good, open, and could use some work, so please think about helping out. My favorite is MinGW [mingw.org] which is a really nice and decently maintained Win32 version of gcc and binutils. MinGW also distributes MSYS [mingw.org] 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++ [bloodshed.net], which I've used.
Cygwin [cygwin.com] is good too but I prefer MinGW (obviously).
So think about helping out, our tools will only get better if folks work on them.
Re:GCC (Score:3, Informative)
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.
Watcom Memories (Score:3, Insightful)
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.
Re:Watcom Memories (Score:5, Informative)
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
Parent
Cross compiler for PIC microcontrollers? (Score:3, Interesting)
Re:Cross compiler for PIC microcontrollers? (Score:3, Informative)
Re:Cross compiler for PIC microcontrollers? (Score:3, Informative)
I believe there are some limited HLL's designed specifically for the PIC's limitations. However, I think the best course of action is to use a decent macro assembler. PIC assembler is easy enough to learn that it shouldn't be an obstacle for any project that could reasonably be implemented on its meager architecture.
Oh, by the way, Atmel AVRs are the fashion this decade. No self-respecting nerd is using PICs unless they are stuck in the '90s.
The more compilers the better. (Score:3, Interesting)
VC++ is okay, beware that the cheap/free edition leaves out the optimizations. The standard library is much improved in the 7.0 release, but MS still like to disable some default warnings to paper over their own historical sins to keep things like MFC happy. The IDE is pretty nice and the documentation for the standard library is usually damn good, but I will never forgive Visual Studio's authors for the way they chose to dedent the case clauses in switch blocks.
g++ is finally a nice compiler in its 3.x incarnation. In the 2.9x days it was utter trash. The generated code is good and usually quite fast, but a bit on the bloated side. It is a little more permissive than I'd like even with -Wall -pedantic, but that's okay since it's not the only compiler out there. This is a good choice for producing final executables.
The verdict is still out on Watcom. Bundling STLport already puts it a step ahead of most, that thing can be a bitch and a half to get working with some of the commercial compilers.
Long File Names Support (Score:5, Interesting)
The long file name support is broken everywhere in this new release of Watcom C/C++/Fortran77. Even the included IDE doesn't do long file names. So you can imagine my disappointment when I opened C:\Program Files\watcom\\hello.c and hello.cpp in the IDE, only to get a blank file named "C:\program".
This is 2003 and Windows 95 didn't just come out last month. I mean, Sybase told us on June 30, 1999 that v11.0 would be the last major release of Watcom C, and long file names worked just fine there. Reincarnated as open source now without LFN support, does this mean that this feature got left behind in the afterlife?
Re:Stop duplication of effort (Score:5, Interesting)
I'm looking forward to someone benchmarking gcc vs watcom to see how they do.
Parent
Re:Stop duplication of effort (Score:5, Insightful)
Parent
Re:Stop duplication of effort (Score:4, Funny)
Yeah. That whole "competition" thing is totally overrated.
Parent
Re:Free software not a dumping ground! (Score:5, Informative)
Parent
Sure it is (Score:5, Insightful)
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
Parent
Re:Free software not a dumping ground! (Score:3, Informative)
- I do not see anything they can offer.
They offer:- An integrated IDE
- Source compatibility with MS VC++
- OBJ/Library compatibility with MS VC++ and MASM/TASM/NASM
- Compatibility with numerous DOS extenders
- A far better "MAKE" than gnumake, Solaris make, or MS's nmake
- Open source Win32 compatibility
- 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.Re:Free software not a dumping ground! (Score:3, Interesting)
So which is it?
Re:Free software not a dumping ground! (Score:3, Insightful)
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.
Re:Superb! (Score:5, Informative)
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.
Parent
Re:WX-REXX (Score:3, Interesting)
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
What happened to Watcom (Score:5, Informative)
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.
Parent
Re:What happened to Watcom (Score:3, Interesting)
And to continue the story...
iAnywhere makes the very powerful, popular (and developer friendly!) SQL Anywhere Studio [ianywhere.com] as well as other products [ianywhere.com].
See more:
- Sybase Milestones [sybase.com]
- iAnywhere Solutions History and Milestones [ianywhere.com]
Caveat: I might have some biases [ianywhere.com]...No, actually (Score:5, Interesting)
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!
Parent
Re:No, actually (Score:3, Informative)