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."
Some of my favorite games ran in DOS 4GW....Syndicate Wars most specifically....That would be cool to play in Linux.... I think the idea of the Graviton Lance was a concept that most game engines haven't fully developed (Fire a weapon, and tendrils of energy fire in truly random directions (Not just immediate explosino area) creating collateral damage that could hinder your progress later in the game.) Not to mention that Syndicate Wars had one of the coolest openings ever made. And the concept that you were one of two plusungood factions was REALLY cool. No "heroic" marines vs. "evil" zerg, etc.
ok..that's it. Party on. eletcron maces for EVERYONE!
JoeLinux
It's a free download but you have to pay for it? Doesn't sound too free to me. Reminds me of what we did to sell lemonade when I was a kid: "Free Lemonade, only 25 Cents!". :-)
My other car is first.
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 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.
Perhaps this time next year they'll release another beta of this patch, get a little more free publicity from Slashdot, and get a few more dollars in donations. How exactly does this project qualify as open source? Just because they say it is?
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.
This OpenWatcom project has existed for over a year, claiming they will make a open source release.
Yet they still haven't released a single line of source. They haven't even decided on a license. All they did is release a binary patch.
Why don't they just rip out the stuff they can't distribute, and publish the incomplete source? At the very least, it would be a proof of their intentions.
As it stands, this thing is just a hoax.
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!
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.
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
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 :)
... 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!
lcc is great for learning about compiler design (that's why it was created), but it doesn't optimize very well
Then why does the Quake mod community prefer lcc to gcc?
Also, the since it's licensed under the restrictive GPL license, any programs it compiles contain GPL-licensed code
Not true. According to the GPL FAQ, a GNU General Public License on a compiler infects compiled code only if the compiler copies part of itself (or any other GPL code) into the output. Thus, code compiled with GCC doesn't fall under the GPL unless it #includes a GPL'd header file or links against a GPL'd library. Most most programs under GNU/Linux link against GNU libc licensed under Lesser GPL, which simply means link dynamically or provide the .o files.
You're probably thinking of Cygwin, whose default settings link all code to a GPL library, but Cygwin can also use the MinGW runtime that links only to libraries included with the Windows operating system.
Will I retire or break 10K?
Let's see... I could donate to the Sept 11 Fund to help out the families of the Firemen who died while actually saveing people *OR* I could give to a group of unknowns who have done nothing but delivered vaporware.
Looks like the firemen win.
--Rob
The preceding is in error. The following is directly from the GPL FAQ [www.gnu.org]:
I use the C or C++ programming language, and I compile with GCC. Must I release software I write in the language under the same license as GCC?
That's not a gcc issue. In fact, it isn't even a bug. It's policy decision about when and how to grow the stack. How is the Linux kernel supposed to know when something is a stray pointer and when it is a reference to an unallocated part of the stack segment? It has to pick an arbitrary lower limit for the stack. The same thing happens with many compilers on many UNIX systems. If you read up on your documentation, you would know how to deal with this case.
Let it rest in peace.
Really?
Is that why office xp is so exellent and intuitive and open office is to shitty?
Is that why visual c++ is so neat and superb and gcc such a shitty compiler it's difficult to understand why anyone in it's own mind would use it?
No, no popups please! Popup windows are nasty and one of the top usability problems on the web.
Claus
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}}
All, Just remember also that at one time the only supported compiler by Novell's SDK for developing NLMs/VLMs for the server environment before they introduced the Java VM was Watcom. Respect to them for attempting to make it open source, I remember as a student that your could get the Novell SDk for not alot of cash (as is the way now) but the Watcom compiler cost alot so work was limited to working on college computers. Rgds Ollie
You can find the history of it here. Wow, reading that you realize how cool things are thanks to the FSF.
Friends don't help friends install M$ junk.
.. were
... inline assembly "
1) being able to write highly optmized inline assembly right in C.
#pragma aux funcname =
"
[used] [in] [out]
and specificy WHICH registers were
a) used (modified)
b) passed as input
c) passed as output
Microsoft C, Turbo/Borland C, would disable all optimizations for a funcion if you had any inline assembely in it.
2) The other neat feature was to install
a) VGA card, and
b) Hercules Mono Card
Then you could source debug *graphics* programs running on the VGA card via the monochrome card. Was REAL handy for debugging ModeX games. (Note: Borland/Turbo did have this feature as well. I don't know about the Microsoft compilers.)
3) Oh yeah, being able to do malloc(1000000) was darn cool. No more messing with near/far pointers or stupid 20-bit segmented memory.
~~~~~
"The issue today is the same as it has been throughout all history, whether man shall be allowed to govern himself or be ruled by a small elite." - Thomas Jefferson
Has anybody tried actually compiling a kernel with Watcom? Does it compile? If so, how does the resultant code compare with old faithful?
I know there are some really cool optimization techniques that the gcc authours would love to use, but are covered by patents. A kernel compile would be an interesting side by side comparison of the generated code quality.
Since I am not a kernel, I don't worry too much about compile time, as long as it finishes sometime within the hour on a 1 GHz machine.
My rights don't need management.
I used it myself, like many others did. It was not good, it was not great, it was plain awesome!!
Okay, so I read that this is a binary patch for previous users but the install routine implies that it's just "harder" to do anything with it, not impossible for those of us who are Watcom-less. So, is it possible to use this to do anything if you're starting from scratch?
Oh, and I'm more interested in the FORTRAN component of all this - don't ask me why...
Schnapple
Schnapple
If you watch those rallies, you'd know that's not the case. They want to "stop the war." Whatever the fuck that means. How they plan to do this without force, is beyond me.
If you're interested in DOS and Windows development, you can also try the free (as in beer) Digital Mars compiler.
Okay, I'm going to get blasted for this but... I'm interested to see what their Fortran compiler can do. I'm not exactly a huge fan of Fortran, but the language does have it's place (just like 'ed'). In college I took a Fortran class, and the guy teaching it didn't care what we used as long as it compiled Fortran code. Instead of paying for some Fortran compiler - [sarcasm] which I'm sure I'd use every day after I took the class [/sarcasm], I opted to use the Linux alternative. Looking through the man page for g77 I found that this thing somehow routes the Fortran code through gcc to create an executable. Well I made a "hello world" program and looked inside the directory... Over 100k for hello world?!? I mean this is irony here, Fortran is the first "language" after assembly created in the 50's... like they made 100k programs back then? I never benchmarked anything, but I can imagine that the results would be less than spectacular. Well I somehow doubt I'll do anymore Fortran, but it would be nice to see something a little better than g77 show up for Linux. Maybe it'll make some old crusty engineers happy too.
Ever since the DOS days, Watcom has been one of my favorite vendors. Thier compiler produces excellent i386 code.
.02 worth
I, for one, wouldn't have any problem paying for thier products for my Linux endeavors. Furthermore, I hope to submite some of my own little improvements for review over time.(Like perhaps backend support for the GNU Ada compiler.)
Anyways, if Watcom isn't too Anal about working with the Open Source and Free Software communities, we could really take this software a long way.
I would also encourage people to actually purchase thier product also. They really are worth it.
My
McDoobie
if(us_citizen) pacifism = treason;
~~~
OTOH, it can't be worse than gcc ;-)
Lars T.
To the guy who modded me down from perfect to terrible Karma - Apple haters still suck
Watcom always beated every other C/C++ compiler out there. I remember being a big fan of their _lovely_ compiler; I used it to do some real time automatic control and it rocked.
If they manage to release a modern, up to date version of their IDE, I will be glad.
(btw, I remember in the IDE having a "Pentium" optimization flag... when the Pentium wasn't even released! Now that's efficiency
If memory serves, WatFor came from the University of Waterloo (Canada, not Belgium). The people who wrote it later went private and formed Watcom. Early 70s, I think.
You youngins don't know how good you have it!
I know. I am doomed. I am working in a free compiler project, and heared about my immediate demise in Slashdot, one year ago. I am working in the lcc-win32 free compiler system for windows, and I have read here a YEAR ago the same promise from watcom.
Well, waiting for my fierce competitor in the free compilers arena, I invite you all to use a really free compiler (C compiler)
http://www.cs.virginia.edu/~lcc-win32.
How does the Portland Group compilers fare in the current compiler market?
-Paul Komarek
> Really?
Yes really.
> Is that why office xp is so exellent and intuitive and open office is to shitty?
No, Microsoft's office software has years of programming behind it, plus they have the backing of the OS itself (better integration and taking advantage of OS features).
> Is that why visual c++ is so neat and superb and gcc such a shitty compiler it's difficult to understand why anyone in it's own mind would use it?
Visual C++ is an IDE not a compiler, have you even used micrsofts compiler with out an IDE? I have and its no diffrent then GCC. Not unless you like comparing apples and oranges.
disclaimer : My views do not represent those of every one else in slashdot.
Syndicate Wars had one of the coolest openings ever made
Even cooler than Zero Wing?
General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
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...
The point, for those of you too dull to figure it out: If this were Microsoft asking for payment up front for a future piece of software that may or may not actually ever ship, all of the Slashdotters would be screaming bloody murder. But because these folks aren't a big corporation it's OK for them to scam people out of donations.
The whole mention to the WTC was solely to point out the contrast between giving a donation towards things that have actually happened, versus panhandleing on the promise that something good may happen in the future.
If I'm not misreading things, all of the developers working on the alleged future release are all under a NCA with Sybase. Sybase hasn't opened up the source yet under a license yet. So Sybase could decide to take their ball home and all of us wouldn't be able to play with it.
Now why you ask would Sybase seek to abuse Open Source Developers? Fine, let me throw up a hypothetical situation:
Sybase bought Watcom not for their compilers, but for their other products. Fine, so they can ditch the compilers, right? Wrong. Because all of Watcom's *other* products are built using the compiler. If they can't build their SQL product, they can't sell it.
So Sybase needs to have the compiler maintained, maybe some bugfixes, maybe they want that Linux port so they can migrate their products to Linux. But they don't want to pay for the development... What to do... What to do... I know! We'll lure some Open Source developers in to do the work... we'll put them under NCA so that they can't compete with us when it's done and we'll have them do the hard lifting. Once it's done, we tell them that the lawyers won't let us open source it (you know... all those other people's source code... *we'd* open source it if we could) and then we'll have our SQL product supported and we might even have a Linux compiler we can sell further on down the road.
--Rob
Fort older code, "install GCC" simply mean "don't use the braindamaged pre-ANSI C compiler bundled with the system."
It does work with folowing compilers:
-- Wanna textmode user interface for ruby? http://freshmeat.net/projects/jttui/