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."
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.
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.)
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!
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.
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!
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 :)
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 :
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}}