


Open Watcom Effort Makes First Public Release 225
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."
Lol... (Score:1)
ok..that's it. Party on. eletcron maces for EVERYONE!
JoeLinux
Obligatory AYB (Score:2)
Even cooler than Zero Wing?
free? (Score:1, Funny)
Re:free? (Score:2, Informative)
Re:free? (Score:1)
Re:free? (Score:2)
It's about respect to those who read your comments. Ungrounded jokes may seem less offensive than obvious trolls, but not in the context of slashdot, where trolls are normally ignored, while the jokes like yours are not.
Re:free? (Score:1)
You don't have to pay for it. They ask for donations but they don't make you pay anything.
Seems like basic reading comprehension could help you out a lot.
Re:free? (Score:1)
Re:free? (Score:1)
Hmm (Score:5, Informative)
Re:Hmm (Score:1, Informative)
Re:Hmm (Score:3, Funny)
"Doctor, doctor. It hurts when I do this!"
Re:Hmm (Score:1)
Re:Hmm (Score:5, Insightful)
Re:Hmm (Score:1)
Well, it's not necessarily due lazy programmers, but braindead compilers/libraries. For example there's no way I'd release any softwere using sprintf instead of snprintf. Do you have any idea how much less format string exploits there would be with the n-version? Usually those instructions require gcc because many of those default compilers simply suck.
Of course there's also software that requires gcc because the writer is lazy, but in those cases there're probably no instructions for 'other Unices'.
If there were Watcom compiler for Linux with latest C++ standard support, I might use it instead of gcc.
Re:Hmm (Score:2)
GCC doesn't implement sprintf and snprintf; that's done in the C library. Any half-decent C compiler should support snprintf as well as sprintf if the C library supports them, and GCC won't save you if the C library doesn't.
Install GCC (Score:2)
Re:Hmm (Score:2)
Writing code that only compiles on the GNU C compiler is actually freeing the huddled masses of computer users the horror of using closed-source, arch-capitalist compiler products.
Re:Hmm (Score:1)
You said it yourself, compiler dependent code is silly. Having Watcom for Linux will only make it easier for software houses to port their silly Watcom stuff, so I'm all for it.
Re:Hmm (Score:1, Informative)
Re:Hmm (Score:1)
Re:Hmm (Score:2, Insightful)
People won't have to write compiler-dependent code to take advantages of the 386-set optimizations in the Watcom compiler. Many people will, no doubt, but eventually gcc will support that code, too, if "the people" want it.
Re:Hmm (Score:2)
Re:Hmm (Score:1, Interesting)
The only C compilers for linux are gcc, lcc, and one from intel.
lcc is great for learning about compiler design (that's why it was created), but it doesn't optimize very well, hasn't been stress tested in a real world environment, and has odd licensing issues (you can get the source code for free, but if you want to compile a program and sell it, you need to include a copy of the book as well). Also, the 2 authors are currently Microsoft employees, so you are at the mercy of Redmond.
gcc is the "defacto" standard, but the inline assembler is only slightly less painful than having your asshole ham-slammed to goatse.cx proportions. Also, the since it's licensed under the restrictive GPL license, any programs it compiles contain GPL-licensed code, which makes it impossible to compile and sell closed-source programs with it, unless you pay the "stallman tax", which is one reason commercial linux apps are rarer than pork-eating muslims. Also, gcc is big, slow, requires lots of resources, and produces mediocre code.
Intel's c/c++ compiler is rumored to produce blazingly fast code. However, it is a commercial product, so no linux user has ever used it, and no one really knows if it exists or not.
So yes, another C/C++ compiler would be a good thing for linux.
Another one... (Score:3, Informative)
Re:Another one... (Score:3, Informative)
Not sure why this never took off, probably it was too much of a leap from existing technology and the Unix vendors saw it as commoditising their boxes. A few years later, Java's bytecode and use of JIT or install-time compilation came along and rendered this moot, though ANDF/TDF are probably still more flexible.
GPL on a compiler doesn't infect your code (Score:2, Informative)
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 [gnu.org]. 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.
Re:GPL on a compiler doesn't infect your code (Score:2)
Probably because lcc is much smaller, easier to understand, and easier to install on Windows systems.
Re:GPL on a compiler doesn't infect your code (Score:2)
Re:Hmm (Score:3, Informative)
The commercial version is not extremely unreasonable in price, the main disadvantage in it is that it is not completely compatible with gcc, so you can't go and recompile all the packages on your system with it.
Here's a link to Intel's page for it, I believe you can get an evaluation version from them here [intel.com]
A free version is here for non commercial use is here [intel.com].
Re:Hmm (Score:2)
Re:Hmm (Score:5, Insightful)
Actually, more often the code is not silly, it's just that some compilers accept some quirky code, and the others don't.
Re:Hmm (Score:2)
Re:Hmm (Score:1)
Re:Hmm (Score:2)
The `-ansi' option does not cause non-ISO programs to be rejected gratuitously. For that, `-pedantic' is required in addition to `-ansi'. *Note Warning Options::.
`-pedantic'
Issue all the warnings demanded by strict ISO C and ISO C++; reject all programs that use forbidden extensions, and some other programs that do not follow ISO C and ISO C++. For ISO C, follows the version of the ISO C standard specified by any `-std' option used.
Re:Hmm (Score:2, Insightful)
Ruminations: Will it merge with gcc? (Score:3, Insightful)
Re:Ruminations: Will it merge with gcc? (Score:1, Informative)
only wish borland would take a clue and do the same..
Re:Ruminations: Will it merge with gcc? (Score:5, Insightful)
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.
Re:Ruminations: Will it merge with gcc? (Score:1, Interesting)
Re:Ruminations: Will it merge with gcc? (Score:1)
Maybe the Watcom compiler generates really good code for the i386, i486, and Pentium processor (perhaps even for the Pentium Pro/II), but AFAIK it doesn't support SSE2, so performance on the Pentium IV won't be much better than GCC. (If it is, it is certainly not due to heavily target-dependent optimizations on Watcoms part.)
Re:Ruminations: Will it merge with gcc? (Score:1)
When you compete in the modular sense, users have options in features and features can change easily with out requiring a huge release or patch. The only way in which closed source gets close to this is in plugins, but even plugins become bloated and not modular enough. The only way to get to the modular level is to be open source (of course they have to be good at modular programming in order to make it easier for modules to be created). The easiest one I have ever delt with is Java, in some cases I merely replace a java file with one created by someone else and recompile and its done.
Re:Ruminations: Will it merge with gcc? (Score:2)
Re: Really? (Score:1)
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.
Re:Ruminations: Will it merge with gcc? (Score:2, Insightful)
First: being released under the GPL is very different from being released in the public domain. I direct you to the Copyright FAQ [faqs.org].
Watcom and gcc will never be a single compiler. Watcom's primary goal is to generate optimum code for the i386/DOS. gcc's goal is to be free and as portable as possible. Many of Watcom's optimisations will most likely find their way into gcc (and DJGPP), but they will remain two distinct projects.
Re:Ruminations: Will it merge with gcc? (Score:5, Funny)
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 :)
Re:Ruminations: Will it merge with gcc? (Score:2)
The press-release is talking about an Open Source license, so GPL is an option, although I would rather expect it to be released under a specialized license, something like Mozilla Public License.
I don't think that GCC team will want to take any code from any other project, unless it's a project to develop something specifically for GCC.
It's very hard to merge old large projects such as GCC and Watcom C/C++.
Already? (Score:1)
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?
Re:Already? (Score:1)
Re:Already? (Score:2)
How about they actually prove they're open source (by, say, releasing something under license) before soliciting [slashdot.org] donations [slashdot.org]?
Re:Already? (Score:1)
Slashdot, 22 August 2000 (not 2001): Sybase to Open Souce Watcom C/C++ & Fortran Compiler [slashdot.org]
They've been saying for over a year they will release the source.
Bravo! (Score:4, Interesting)
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.\
Re:Bravo! (Score:2)
Eh... Am I missing something? (Score:1, Redundant)
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.
Re:Eh... Am I missing something? (Score:5, Informative)
"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!
Re:Eh... Am I missing something? (Score:3)
Who says they ever will be solved? The whole OpenWatcom project can just disappear one morning because legal issues. Until source has been released I consider the project vaporware.
I looked a little in their BugZilla system, and saw that the DOS/4GW extender is one of those 'legal issues'. But why do they have to wait for permission for DOS/4GW to release the rest of the system? They can just strip out the utilities, libraries and what else they can't distribute. The result might not even compile, but that's not important. The important thing is that there's source. Maybe somebody can write replacements for the parts with 'legal issues'. Maybe we'll have to wait until they can sort it out. But in the meantime, the rest of the system is available, and will be available forever.
Tran's PMode/W kicked ass! (Score:1)
Re:Eh... Am I missing something? (Score:1)
Large commericial products like Watcom was are usually fully of licensed code. Then being that probably hundreds of programmers have come and gone probably those left aren't too sure which code belongs to who. In our litigous world you just can't take a chance and put our the code and hope not to get sued. Then all the code they have to remove has to be replaced so not a fast process. Just look how long it took SGI to release the XFS filesystem for the same licensing issues. So I wouldn't say its a hoax, and a waste of time to release code before its ready.
Anyway Watcom was only a good C compiler in the DOS days. It was a only so-so Windows and C++ compiler. Watcom is probably just the internel compiler for Sybase products and hoping by going "open" to get some free QA and maybe some usable bug fixes. Same thing Borland did with Interbase.
Re:Eh... Am I missing something? (Score:1)
Ok, I admit I was a little trollish.
Still, the only thing they've done so far is make a end-of-life product (since June 30, 1999) [sybase.com] available for download. That's nothing exceptional, Borland for example does the same thing with their old compilers.
BTW, there are several ports of gcc to DOS (DJGPP) and Windows (Cygwin, MinGW).
Re:Eh... Am I missing something? (Score:1)
glad to see them accept donations (Score:5, Interesting)
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.)
Re:glad to see them accept donations (Score:1)
Therefore it is hardly a substantial Free/Open software project, and donating money is a little optimistic.
Re:glad to see them accept donations (Score:1)
Re:glad to see them accept donations (Score:1)
http://sunsite.lanet.lv/ftp/mirror/x2ftp/msdos/
I was extremely fanatical when I came across x2ftp.oulo.fi, it had a lot of information and was contributory to my addiction to programming. Man, it was like finding a gold mine.
Re:glad to see them accept donations (Score:3, Interesting)
By the way, Amazon's boycottable actions aren't the only reason not to use their donation system. It's also one of the most expensive [squarefree.com] donation systems.
pop up windows considered harmful (Score:1)
How much use is this in the modern era? (Score:4, Insightful)
Re:How much use is this in the modern era? (Score:1)
Watcom was also known for generating very optimal code. It easily beat most other compilers.
When (if) they release it under the GPL, gcc's i386 code generation will become a lot better.
Re:How much use is this in the modern era? (Score:2)
The design of the Watcom compiler will surely be very different to gcc, so it won't be at all easy to just merge the code. We might see some distributions like Stampede or Mandrake compiling a few selected packages using the Watcom compiler for better performance though. I doubt a whole distribution could be recompiled with it at this stage; I think the Linux kernel code has gcc-specific inline assembler, for example.
(Disclaimer: I'm not an expert on this stuff, corrections welcome.)
Re:How much use is this in the modern era? (Score:1)
Then again, maybe not... Considering the major changes in the x86 architecture, how *does* Watcom compare to modern compilers?
Re:How much use is this in the modern era? (Score:1)
Re:How much use is this in the modern era? (Score:2)
Re:How much use is this in the modern era? (Score:1)
The author concludes that:
GCC (ver 2.8.0) is better than Borland 5.02 and Symantec 7.5 (the worst); is comparable to Watcom 10 and 11 and is worst than Intel 2.4 and Microsoft 5.0.
Re:How much use is this in the modern era? (Score:1)
In particular, Watcom's optimizer was well respected.
-John
Re:How much use is this in the modern era? (Score:4, Informative)
Because that's the same memory model linux uses (except on alphas where it's 64-bit). Or any other OS that supports virtual memory. Before that, in DOS you had to deal with segments, evil nastiness like FAR pointers and so forth.
... and please donate! (Score:3, Insightful)
I think that if developers would use systems like paypal more we would see in increase in free software!
Kevin
For those of us youngins... (Score:4, Interesting)
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!
Re:For those of us youngins... (Score:1)
IIRC, it came with a DOS extender that allowed the creation of programs with a flat 32 bit address space. This was very useful, as at the time programmers were still dealing with segments on x86 (limiting arrays to 64K, etc).
Re:For those of us youngins... (Score:4, Informative)
There is probably a compiler or two now that produces better code for x86 (especially PIII and Athlon), like Intel's compiler, but being that most Linux distributions are compiled for 386 or possibly Pentium, there would be a ton of stuff that would benefit from a Watcom compiler for Linux.
Re:For those of us youngins... (Score:1)
Their FORTRAN was very good (Score:2)
You can find the history of it here [t-online.de]. Wow, reading that you realize how cool things are thanks to the FSF.
The coolest features of Watcom ... (Score:1)
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
WatFor? (Score:2)
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!
Re:WatFor? (Score:2)
I was in elementary school/Jr. High, so we used bubble cards instead of punch cards. The first thing I did was run a job that ran off a bunch of customized punched $JOB cards.
It's dead. (Score:1)
My experience with DJGPP and Watcom (Score:5, Interesting)
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 [delorie.com]. 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 [claranet.fr] 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.
Link warning (Score:3, Informative)
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...
Re:My experience with DJGPP and Watcom (Score:1)
LOL... only a loser would be insecure about who is a loser and who is not.
Why Watcom does/did rock and not just for DOS4GW (Score:1)
Has anybody tried... (Score:1)
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.
Re:Has anybody tried... (Score:2)
>>>>>>>>
Hopefully not! Oh, you mean kernel developer, don't you?
The Linux kernel is really not geared to be portable between compilers. It uses a lot of GCC extensions that other compilers just don't have.
Useless? (Score:1)
Oh, and I'm more interested in the FORTRAN component of all this - don't ask me why...
Schnapple
Another Free (as in beer) Dos/Windows compiler (Score:2, Informative)
on the fortran side.. (Score:1)
One of my Favs... (Score:1)
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
Watxcom and the Bytemarks (Score:1)
OTOH, it can't be worse than gcc ;-)
Portland Group (Score:2)
-Paul Komarek
experience with W2K [OT] (Score:5, Funny)
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!
Re:experience with W2K [OT] (Score:1)
LOL.
Re:experience with W2K [OT] (Score:2)
Hey, ever heard of "automatic garbage collection"? Apparently Microsoft hasn't either...