Sybase to Open Souce Watcom C/C++ & Fortran Compiler 175
Kendall Bennett writes "Rumours have been running around for some time, but now it is official. Sybase has announced that it will be releasing the full source code to the Watcom C/C++ and Fortran compilers under an Open Source license. For more information see the new Open Watcom website." The press release states as well that the license will comply with an OSI approved license.
community value of this is as reference... (Score:1)
GPL would be nice (especially for those reasons listed above)... One can at least hope...
Re:Abandonware (Score:1)
Re:Open Fortran compiler, huh? (Score:1)
I'm currently working on my FortranOS. If you thought PerlOS was slow, just you wait. Boots in minutes.
obviuosly up to no good,
-Kabloona
Re:Congratulations and welcome (Score:1)
Have you tried Free Pascal [freepascal.org]? It supports Object Pascal and Delphi code. And it's already free, so there's no waiting.
-- Floyd
Re:Watcom VI (Score:2)
Re:Watcom (Score:1)
To enable these, you need something like:
gcc -O2 -mcpu=pentiumpro -march=pentiumpro
(this example is for pentimpro's and family, ie, PPRO, PII and PIII).
I have compared the code generated with that of Borland C and MSVC and it's generaly better (at least with C input).
But stil, it's not perfect. Look at http://gcc.gnu.org/proj-optimize.html , wich describes some probles as February 2000 (some of these are better now...).
How useful? probably more than we think. (Score:1)
That's one of the main points of Open Source.
Re:Not Quite Re:Abandonware (Score:1)
Re:Congratulations and welcome (Score:1)
None of my platform-clean Delphi code will compile on Free Pascal. Why? I design the code I write. With interfaces (pure virtual base classes, in a sense).
Re:Abandonware (Score:1)
Re:Sybase looks like Open Source's new friend!! (Score:1)
You can't get support for 11.0.3.3 for Linux, but you can still buy 11.9.2 for Linux (and get support with that.)
Re:Abandonware (Score:1)
Re:I hate to break this to you . . . (Score:2)
I never truly understood the horror of spaghettic code until I needed to use a program of my boss's. I was using Fortran 90 at the time (Absoft on x86 Linux and dec/compaq on alpha [and Steve was the one who answered some of my problems, come to think of it {and while I'm abusing subparentheses, my boss probably would have had an alpha if compaq fortran had been available for linux/alpha at the time}[), and the program was allegedly in F77. It was closer to FIV, but hadn't even used parts of *that* that would make it clearer (I suspect it descended from the Numerical Recipes book), so the thing ended up as a mix of II, IV, 77, and 90 . . . but that we could have dealt with. It was all of the gratuitious gotos that meant it took three days to figure out what the program was doing . . .
hawk
Re:Watcom (Score:1)
http://www.geocities.com/SiliconValley/Vista/65
Re:How useful is this really? (Score:1)
this is a great gift, if liscence is good. (Score:1)
It would be nice if the liscence is broad enough so that optimizations can be moved into g77. Watcom's compilers produced tight fast code, that was generally faster than g77. Watcom console executables could run faster with under Windoze than g77 compiled programs outside of X on the same machine. I ended up using g77 anyway because it could compile very old fortran without much modification. I want the speed too.
Their IDE was straighforward. It was so easy to use that even I could compile mixed C, Fortran code. It took care of grunt work that will take me a long time to learn how to do with make. Compared to MS IDE, which ditched FORTRAN, it was a joy. I can't tell you how much time their GUI debuger saved me.
Their documentation was informative and well organized. Almost as good as Sun.
They also had a cute little VI for window called VIW that was specifically set up for code editing. Color coding of integers and keywords made reading code easy on the eyes. It put in different spacing for FORTRAN and C code, and did a load of other things that will take me forever to dupicate with VIM. I'm not sure, but I think it could recognize straight VM commands. Did not know enough VI at the time.
Over all, Watcom was much closer to normal standards than, Humpf, microsoft. I spent $200 bucks on one of their compilers and it was worth every penny at the time. They helped me grow, and escape the MS trap. Things I learned there I could use elsewhere.
Great going Sybase!
Re:Fortran Info? (Score:2)
Watcom C compiler was used for... (Score:1)
Optimizations (Score:3)
In theory, we should be able to take some of the smarts from the Watcom compiler and put them in GCC. I bet this won't be very possible in practice simply because of architectural differences in the compilers.
Ought to be GPL (Score:3)
What's clear to me is that few people would be willing to continue developping watcom. I see more future in incorporating watcom stuff into gcc.
Biting M$ in the arse? (Score:1)
Watcom of years past is better than today's VC++ compiler. Their Fortran was great too. Now they're here and they will benefit gcc - if in no other manner than by letting the gcc developers consider alternative solutions.
How useful is this really? (Score:4)
Q: What compilers will I need to compile the source code?
A: Initially the Open Watcom 1.0 compiler will require an official copy of the Watcom C/C++ 11.0b compiler, with the 11.0c binary patch release applied in order to successfully compile it. This is due to the need to rely upon proprietry SDK's for platforms such as Windows, and OS/2 that cannot be distributed along with the Open Source 1.0 compiler release. It is planned to eliminate this dependency in the Open Source 2.0 release, by allowing the compiler to work with freely downloadable SDK's for the supported platforms.
So in other words, to compile the 1.0 Open-Source version, you need the commercial 11.0c version. So everyone run out and buy the 11.0c version for ~$200 so you can compile your free Open-Source version. Or you could wait god knows how long for version 2.0 to come available without the 11.0c dependency.
Re:Finally! (Score:2)
"Even in pre-release form, Visual C++ 6.0 yielded the fastest time we've ever measured for any development tool running the language-neutral, CPU-intensive Tak benchmark. The Microsoft 6.0 beta compiler yielded code that ran an astonishing 20 percent faster than Version 5.0, when using all of the 6.0 version's aggressive new optimizations for Pentium-class processors. Visual C++ 6.0 even achieved a surprising 10 percent edge in Tak speed over Watcom C++ 10.5, our previous record holder among acceptably stable C++ implementations. We reserve judgment on Microsoft's success in implementing
new C++ features in this release while also maintaining reliability; in our tests, however, we encountered no problems with generated code. Visual C++ offers several different approaches to pleasing the performance-
sensitive user. In situations where some of an application's features are rarely used, and where a delay on first invocation is acceptable to most users, Visual C ++ 6.0 applications will be able to defer their loading of dynamic link libraries to accelerate application startup. Alternatively, libraries can be loaded on startup in the usual manner to speed subsequent invocations"
Doh! (Score:1)
Abstainer: a weak person who yields to the temptation of denying himself a pleasure.
Re:Sybase looks like Open Source's new friend!! (Score:1)
Despite being phased out it's still a great industry strength database engine and if you don't really run heaviest load OLTP systems (and the official support is an issue of course), I don't really see a need to upgrade.
Despite Sybase' motivation I think they're doing a lot of good for the Linux community (e.g. release of Replication Server) and they deserve more credit for technically great products then their rotten marketing department would make you believe...
Re:Doesn't Linux already have multiple C++ compile (Score:1)
It's very important to keep the mind open as well, not just the source.
Regards, Tommy
Re:absoft seems to have the fortran market to itse (Score:2)
When we checked it out (but this was 3 or 4 years ago), the only choices for F90/95 on linux/x86 were NAG and absoft (and see above for NAG).
Hmm, I guess I need another good look at the market . . .
Re:Watcom (Score:2)
Thad
Re:Fortran Info? (Score:1)
Re:Doesn't Linux already have multiple C++ compile (Score:1)
Watcom.. (Score:2)
Jeremy
Re:Doesn't Linux already have multiple C++ compile (Score:2)
Right now the only real compiler on Linux is GNU C
Actually that isn't true. There are already a couple of (albiet lesser known) commercial compilers for Linux:
KAI C++ [kai.com] -- Commercial C++ compiler for Linux.
Portland Group [pgroup.com] -- Commercial C, C++ and Fortran compilers for Linux.
first open source compiler? (Score:2)
This, of course, ignores the fact that there is a mass-market compiler which was never commercial, and is the very definition of open-source / free software...
learn how to spell, Hemos (Score:1)
Re:First Project: The Bootstrap Project (Score:1)
Will there be official binaries for OS/2?
Any chance that it can compile with 10.6?
Optimize this, please (Score:1)
--
Re:F95 compiler (Score:2)
Re:F95 compiler (Score:2)
We tried the demo version of nag back before we bought absoft, back in summer/fall 1997. Hmm, now that I think of it, it was probably spring/summer 98 by the timie we bought it, but anyway . . .
We had problems getting the demo to work. And while it was F95 to Absoft's F90, it generates C rather than an executable (which is where the performance issue comes from)--and performance is a *major* issue for what I do
Absoft sales was a series problem, though--it took several days for them to call me back. With sales that slow, I didn't want to even *think* about what tech support would be like--absoft tech support had called me back, pre-purchase, well before we eger heard from the sales folks at Nag. In all fairness, I heard later that the tech folks at Nag are much better than their sales counterparts about getting back to people, but the combination of no return calls and the lack of actual executables made absoft an easy choice.
We never regretted it. Tech support usually got back to me that afternoon if I sent a message in the morning, or the next morning if I sent it in the afternoon. They also sent responses by email to questions I asked in the Fortran Newsgroup (Steve Lionel also answers an impressive volume there).
hawk
Abandonware (Score:2)
However, if you do (for whatever bizarre reason) at least you can now be assured of support.
OSing dead products is better than burying them, but not as good as OSing live products.
At the time of writing, this is a first post.
--
Re:I hate to break this to you . . . (Score:1)
The formula extended beyond the 72nd character!
See also this [uga.edu] for good FORTRAN programming style. ALWAYS USE CAPITALS IT LOOKS WAY BETTER THIS WAY;-)
Re:Ought to be GPL (Score:1)
Fortran Info? (Score:1)
Bryan R.
Re:Woo hoo! Watcom Kicks Ass! (Score:1)
Inline ASM (Score:2)
Re:Optimizations (Score:2)
Re:Watcom C compiler was used for... (Score:2)
Fortran 95 (Score:3)
However, in graduate school, I was developing a biology simulation in Matlab. The development went well, but the execution was painfully slow. Since Fortran 90/95 was syntactically similar to Matlab I was able to port his huge simulation in a few days and keep working in Fortran without much of a learning curve. Say what you want, for high performance numerical computing with lots of vector operations, Fortran is one of the best languages out there.
Bringing this back to the open source world, numerically intense vector computations can be developed in Octave, and easily ported to Fortran 90/95. It's a one-two punch that I would definitely find useful. Unfortunately, the only free Fortran compilers I've found are for Fortran 77.
Just my two bits.
Abandonware? (Score:2)
Re:Congratulations and welcome (Score:2)
And it compiles 10x slower than Borland's compiler.
Re:F95 compiler (Score:2)
This time around, performance is important, but I'll be developing on my machine and usinc scp/ssh to send the real work to the heavy-duty machines at main campus.
hawk
Re:Watcom (Score:2)
But, what made me drool was the support for DOS Extenders! Back then I was using Borland C++ and those ghastly overlays to shoehorn a 1 meg+ sized executable into the roughly 580K left over after DOS 5.0 was loaded into memory, along with all the network and CD-ROM device drivers. The idea that I could write a program with a DOS extender that would occupy up to 16 megabytes was an incredible idea. I hoped that Borland would include a DOS extender in their upcoming compiler release.
Alas, it was not to be. Borland abandoned their hard-core DOS users and threw in some half-assed Windows 3.0 support instead. Sure, I could write a program that occupied up to 16 megabytes, but I was still stuck with a silly resource limitation and a flaky operating environment. What good was it to write a program that would only run for 5 minutes between OS crashes? I abandoned Borland, picked up Linux, and haven't looked back. From the looks of it, just about everybody else using BC++ back then also abandoned them.
If Watcom had made their C++ compiler just a little bit cheaper, college students everywhere could have afforded it, and perhaps DOS would have held the mainstream a bit longer.
Re:Finally! (Score:2)
Re:Open Fortran compiler, huh? (Score:2)
For whatever reason (partly historical, partly due to language sturcture), all the supercomputer optimising compilers that I've got access to use Fortran [0].
When I say optimising, I mean using vector registars, and al the other funcky gubbins of those babys.
Fortran also has the complex data type, something sorely lacking in C, from the point of view of mathematical work.
In fact, I am now in the situation of learning Fortran, after having learned programming in C, purelt because numerical and scientific computing is easier in Fortran.
And for the supercomputers too
[0] Maybe I just don't get acess to good C compilers for the Cray. I dunno.
But not for Fortran (Score:2)
For that matter, is there any F90 support in Watcom? Not that it will make much difference; we need to order a Linux Fortran compiler in the next month or so, so it looks like Absoft again (which is a fine compiler with the best tech support I've ever found for *any* product).
hawk
Re:Finally! (Score:2)
for (int ii = 0; ii should compile without errors.
I hate to break this to you . . . (Score:4)
The strengths aren't just from what is *in* fortran, but from what is left *out*. Because certain classes of pointers/objects/whatever aren't there, stronger assumptions can be made while optimizing. You can quickly write fast code faster in Fortran than C.
Don't get me wrong--it's not that C *can't* produce numerical code as fast as the corresponding Fortran; it can. However, this happens after hand-tuning and optimizing the C, and it generally reaches roughly parity with the initial Fortran program.
hawk, still using Fortran
Re:Finally! (Score:2)
for (int ii = 0; ii < 4; ii++)
...
...
{
}
for (int ii = 0; ii < 8; ii++)
{
}
Should compile without errors.
Re:absoft seems to have the fortran market to itse (Score:2)
Re:Abandonware? (Score:2)
:-)
Don't get your panties in a wad. It was just my first reaction on reading the announcement. I never said it was true.
Is it useful? Maybe... Maybe not... (Score:2)
There was an "unofficial tradition" that some of the internal folk had created a 68K code generator, but it never got released publicly.
It is not at all obvious that the compilers are of vast continuing use; they have been strongly tied to the IA-32 platform for so long that it may well be that the onset of IA-64, combined with, as you say, the "latest COM stuff," meant that a big-time redesign would be necessary for Watcom C to be useful for Windows deployment next year.
The availability of source code may nonetheless be useful to glean useful optimization techniques that may be redeployed with GCC. I'd heard at CSC [uwaterloo.ca] talks in the late '80s that there was a lot of "slick" static analysis that would be generally applicable to any architecture; as you observe, architectural differences between Watcom C and GCC might make it difficult to make them applicable. Hopefully some of the peephole optimization techniques would be useful for the IA-32 architecture, and by the time the "analogies" would be made to make them applicable, it might become possible to apply "analagous" optimizations to other architectures.
First Project: The Bootstrap Project (Score:2)
This means that if the compiler is to be of any continuing interest as other than a "bare husk" from which GCC might "mine" some useful techniques, there will need to be a project to create a set of tools basically corresponding to Binutils [redhat.com] and perhaps some portion of CygWin [redhat.com] so that there is some "base" set of tools and libraries that can be used to recreate themselves.
The fact that there are existing GNU tools to that purpose ought to ease the task somewhat...
Congratulations and welcome (Score:4)
Watcom's open sourcing of their C++ compiler is a good thing all around. It has generally been accepted that open source is of the most value for system software, because it serves as a foundation for the work of many other people. It is difficult to bet on a lesser known vendor, when they could go out of business without warning. This has happened to be me several times. Open sourcing compilers, or even just releasing them free of charge, as Borland has done, is The Right Thing. It removes unneeded pressure from choosing development tools.
It is also excellent that gcc is getting more competition. gcc is a good compiler, and it has many boosters in the UNIX world, but it is crusty in manys ways, especially in the Windows environment. gcc has also been peculiarly slow in evolving for the x86 architecture, presumably because of initial personal grievances from FSF members. Watcom throws in a little competition. Maybe it is a better compiler. Maybe it generates better code. Maybe it has better error reporting. I don't know if it has any of these things, but it certainly has a good reputation.
I would love to see other vendors follow suit. If Borland opened it's Object Pascal compiler (independent of Delphi), I'd switch to it for many development projects.
Re:Finally! (Score:2)
Re:Finally! (Score:2)
Inline ASM == bad (Score:2)
Just dont use it
Re:Finally! (Score:2)
Watcom was an excellent compiler (Score:2)
Re:First Project: The Bootstrap Project (Score:3)
The only proprietry components are the SDK's, not the tools that are used. Included in the Open Source release will be full source code to *all* utilities such as the compiler, linker, librarian, assembler, resource compiler and much more.
We are planning the Open Source 1.0 release to require the 11.0c compiler in order to build, but be able to rely on freely available SDK's to actually produce programs. Ie: you can download the Open Source 1.0 official binaries and the Microsoft Platform SDK (from the M$ web site), and start happily writing Win32 programs.
One useful addition to the project would be additional support for non-OMF and non-PE executeable formats. Ie: support for ELF would be nice, so that it can directly generate Linux executeables.
As my math teacher used to say: (Score:2)
But seriously, I'm glad that Watcom's doing this. It won't affect me for several years (and then only if they integrate their optimization techniques into gcc). But I think that it is a good idea nonetheless.
I mainly use Alphas, so Compaq's compiler set (which does include F95) is good for me. I wish that they would open its source, but I don't really care since it works. They typically generate code that's 3.5 times faster than gcc, so maybe better optimization is possible for Intel boxes, too.
Look here (was:I hate to break this to you . . .) (Score:2)
Hal Duston
hald@sound.net
If Al Gore invented the internet, why is it named after George W. Bush?
Re:Finally! (Score:2)
Re:Inline ASM == bad (Score:2)
WATCOM C is also useful when you need to call libraries or ROMs with unusual calling conventions.
Re:I hate to break this to you . . . (Score:2)
WHy not use C? (Score:2)
Why did you choose Fortran over C?
Kendall will be speaking at Warpstock about it (Score:2)
--
Re:Abandonware (Score:2)
"The axiom 'An honest man has nothing to fear from the police'
Re:Ought to be GPL (Score:2)
Pointers are not in the F77 spec, but it's an extension so common that a good F77 compiler needs to have it. I know pointer support is one of the major reason people who need a fortran compiler can't use g77.
Watcom (Score:3)
(Also, someone told me that when IBM recompiled the Windows source with it, it was about 30% faster at the time. I think that was for OS/2, but it was funny at the time.
---
pb Reply or e-mail; don't vaguely moderate [ncsu.edu].
QNX (Score:2)
Open Fortran compiler, huh? (Score:3)
Re:WHy not use C? (Score:2)
C doesn't have efficient array bounds checking, multidimensional arrays, parallel array operations, or a host of other features useful for numerical computations. The workarounds people use in C are inefficient and/or cumbersome.
I hope they get it right this time (Score:2)
They ended up putting it out... but with a license that would have prevented anyone from producing a free workalike. The freetds guys couldn't even look at spec thing without possibly binding themselves to the license, and no longer being able to work on the project.
I know it says they will have a "open" license.. I hope it actually works out that way. The old Watcom guys are a pretty clever bunch. I think it will be nice for them to have their work available to the general public for free.
Re:I hate to break this to you . . . (Score:2)
Re:Inline ASM == bad (Score:2)
That's what #ifdef is for.
I mean, come on. We can't just remove stuff because people abuse it. The goto statement is bad, remove that. Way too many programmers write code that overflows buffers, remove pointers. Way too many people dividing by zero. Remove the division operator.
Re:How useful is this really? (Score:2)
This could benifit FreeDOS (Score:2)
Re:Ought to be GPL (Score:2)
I rather doubt any code from Watcom would be immediately portable to gcc's rather different architecture. That will not, however, stop gcc's developers from studying the Watcom source code to extract algorithms that could be applied to gcc.
I agree that the GPL would be better, but let's not forget that there are applications of open source code that run beyond cut-and-paste.
--
Re:Finally! (Score:2)
MSDEV pros:
MSDEV cons:
The other argument in its favour: have you ever tried using Visual C++ from the command line? Ugh!
Can this help gcc? (Score:2)
I'm starting to notice a new strategy (well, its not THAT new) in the software industry. If you have a product which really isn't bringing any revenue in, just open source it and claim it as PR.
This isn't a bad thing, its just kind of funny to note. Now on an interesting note, how easy is it for someone to look into the code of the compiler and get helpful ideas and hints to incorporate into their own compiler? What I mean is, will this move help out gcc in any way?
Uhhhh..... Ok :-) (Score:2)
Ms. Macbeth, why has Sybase decided to do this?
Well Dan, the last release version of Watcom C++ was in February of 1996. We just really don't have the energy to do another one, and don't see any reason to since we the last money we made off this was when we accidently put "Watcom Linux" on the box and sold 6 copies to roblimo, who though it was a cool new Linux distribution.
I see. Why have you chosen SciTech Software as the official maintainer of the Watcom complier products?
As far we can tell, they are the only ones who have ever used them. Of course, it was to compile Vigor.
Any parting words Ms. Macbeth?
Could John Gugeheiman please stop calling us for support? For the last time, we don't know what a "long long int" is...
Re:Finally! (Score:2)
If the for-init-statement is a declaration, the scope of the name(s) declared extends to the end of the for-statement.
[Example:
int i = 42;
int a[10];
for (int i = 0; i 10; i++)
a[i] = i;
int j = i;
--end example]
Re:How useful is this really? (Score:2)
Re:Finally! (Score:2)
Re:Inline ASM (Score:2)
--
Re:I used to use it. (Score:2)
Indeed it was. Doom and Duke 3D were the two most high-profile games written using Watcom but there were some other good ones as well - Epic Pinball, One Must Fall and Toxic Bunny also spring to mind.
The game and demo programmer's paradise at x2ftp [x2ftp.oulu.fi] was - and still is - chock full of Watcom goodies. Some of those have been further developed to be successful commercial cross-platform rendering libraries [egerter.com] in their own right.
But it was Doom that brought Watcom its popular fame - without a doubt. Game programmers and players everywhere were suddenly asking "DOS/4G? What the hell is this?" And when they found out that it was Watcom that could compile extended DOS programs (with none of the 16-bit memory model restrictions), there was a huge surge in games compiled using Watcom. Instead of all sorts of tricks with segments, EMS and/or XMS, you had a flat memory model. I remember drooling at the time because I'd just about had enough of huge pointers...
Re:How useful is this really? (Score:2)
Actually you will find it difficult to buy the 11.0b compiler commercially these days. However for developers who wish to join the Watcom developer team, we do have rights to provide copies of the compiler specifically for Open Source development purposes.
If we could simply make 11.0c freely available on the web with all required components, we wouldn't have this problem. But remember that Watcom includes the Win32 SDK, MFC and many more components that are licensed and cannot be simply re-distributed on the web for free.
Re:But not for Fortran (Score:2)
Re:Abandonware (Score:2)
Sybase looks like Open Source's new friend!! (Score:2)
Watcom is a great C compiler, that has a great deal of good optimization tricks that other compilers could benefit from. While GCC has been gaining ground rapidly, certainly you can always benefit from looking at someone else's code.
Watcom is what you use on microsoft when you need something better than ms visual studio products. (note, not a flame, those compilers are good for things, they just arent very optimizing). I've heard of people writing code in the MS suites and then compiling on watcom. Never underestimate the advantages of seeing someone else's ideas, we can always gain something
hoorah for sybase
I used to use it. (Score:2)
Not only was it a good optimizing compiler, but it had some really handy stuff for integrating with assembly routines.
For example, you could specify which arguments go in which registers, which registers would be modified by the operation, and where to expect the return result. The inline assembly stuff was also very handy.
As an added bonus, it came with WASM, so you didn't have to go out and buy TASM.
---
Despite rumors to the contrary, I am not a turnip.