Does Linux Need Another Commercial Compiler? 261
Lurks asks: "My company, Codeplay, is set up to develop new and innovative compiler technology for the games industry. Our C compiler, VectorC, is a
cutting edge vectorizing compiler aimed at games and multimedia
applications that demand high performance generally through hand-optimized assembly. I'm writing to ask the
burning question on our minds, is it worth porting VectorC to Linux?
In fact, we're already targeting Linux as part of the PlayStation 2
version albeit not generating x86 code of course. A Linux port would see us converge this work with our Win32 compiler and such an
undertaking would certainly be popular with our Linux loving techies!
One caveat worth mentioning now is that the current version of VectorC is plain C only. 2.0 with full C++ compatibility is due early next year."
"Of course, commercial realities will rear their ugly head and we must consider that Linux isn't perhaps an obvious choice for a compiler aimed at games and multimedia applications. Given the certain degree of hostility towards commercial closed-source products of this nature, perhaps the idea should be consigned to the pet-project back burner for the future rather than rolled out as a commercial product?"
Well.. can you clarify some things? (Score:4, Insightful)
IF it's a playstation/games developmetn compiler.... then the only reason to port it to linux is if you want to offer linux as a development environment for playstation games. Is it? What's the benefit?
Linux != x86 (Score:2, Insightful)
You also need to understand that the Linux community is very diverse. The hostility to commercial products that you have seen comes from people who don't represent the majority: no one does that (except perhaps Linus).
Keep Linux products OPEN Source (Score:0, Insightful)
It seems obvious, but this has to be re-iterated : Linux is not a platform designed to get rich, it is one founded to get SMART and make things the way they should be made with community collaboration and upgradability in mind (open mind) so that the good/deserving products rise to the top and the crap stays at the bottom. IE: If you want this to work make it Open Source and the Linux community will use it, augment it and make it flourish. If you just want to make money... stick with Bill's boys (win32 platform).
Re:Scientific apps (was Re:Well.. can you clarify. (Score:3, Insightful)
You're obviously quite right. We get a surprising amount of interest from the scientific/academic community. High tech compilers that vectorize are nothing new in this area, but generally they're Fortran compilers for mainframes etc.
I'm guessing that with the power of desktops these days and the prevalence of C/C++, micro based scientific computing is looking more attractive.
It's quite spooky to see all these high energy research labs (Eek!) in our web logs. I wonder how many of these people understand the precision issues with most vector units out there.
Perhaps the Pentium 4 will become a standard choice for scientific computing because of the double precision cable vector unit. Just as well we put a lot of effort into SSE2.
Mat 'Lurks' Bettinson, Codeplay Ltd.
Re:Keep Linux products OPEN Source (Score:3, Insightful)
IF Linux ever gains the popularity we all hope it will, it will stop being the land of all open source. Games will not be open sourced and other really good products that people worked hard enough to earn money from won't be either. Realize that. It's already happening. People need to feed their families, so they sell their hard work.
This guy here is selling a product on Win32. I assume they are making money. The question is simply, if we provide Linux users the option to use our software on that platform, will anyone buy it? They are doing a good thing here. They are taking an application that presumably gives the Win32 platform some advantage and offering to make it available to Linux users. I hate to say this, but if MS Office was ported to Linux, not only would it sell, but the platfom would become more popular. Just because you as an individual flee from closed source, does not mean that a company should not market a closed source product to the Linux platform.
Linux yields an indirect ROI (Score:2, Insightful)
Another area where Linux would be a boon is as compile farms. If a Linux version of your compiler came out that could target not just Linux but every other platform you support then companies could set up cheap compile farms to compile large programs in the background while a developers work stations\ remain free for development or testing. The beauty of it is that the compiler itself can be targeted to Linux and not specifically to an architecture like x86 and compiled to work on any Linux platform (which is almost any platform out there). With the PS2 running Linux a bunch of these boxes could be set up for this.
If game companies could target any platform they wish without having to invest it makes them happy. The game industry is fickle. One year this is the platform to target, the next it is completely different. Having Linux as a target may not cause a developer to start pumping out Linux games but what it does do is leave the option open if the industry should shift that way. It makes developers sleep easier at night knowing their code will not become obsolete by the time they wake up.
MMmm. (Score:4, Insightful)
But I have a small warning for you: If your compiler really does produce awesomely better code in that particular area, then if that area becomes popular with the GCC crowd, you are going to see alot of work spent on optimization. In other words, your product may be a spur to make GCC competitive with VectorC.
And I would also point out that I think that if VectorC, available for Linux/someArch, does NOT stir the GCC developers to improve, then your specific market doesn't exist on Linux.
Really sucks: Either you eventually face competition with GCC, or your product bombs on Linux.
VectorC vs. code bloat (Score:2, Insightful)
Sounds like an excellent way to reduce code bloat. I suppose it's too much to hope that they take the "better C than C" parts of C++ and leave it at that.
I'm actually half serious here. I've worked on large projects in both C and C++, and the ones which were most successful were the ones where people didn't get carried away, trying to use every new, buggy, inefficient, feature of C++ in an attempt to prove that they could.
I'm all in favour of a compiler which restricts its features to those it does well instead of providing half-baked implementations of C++'isms just to bump up the feature list.
Benchmark questions (Score:3, Insightful)
Yeah, this'll probably require doing much of the porting work before determining whether there's a market for it. It's called R&D, and it does sometimes lead to dead-ends. Deal.
You can sell on Linux, try the scientific comm'ty (Score:3, Insightful)
A few months later, TotalView was released for Linux x86 [etnus.com]. Guess which is one of our biggest sellers?
I went to SC2000 (the supercomputing tradeshow) last year. Almost everybody I talked was running MPI on Linux on PCs. Linux has made huge inroads in the scientific community working on ahem, clusters, of Linux boxes. It's actually quite amazing, consider the Linux market in this segment was close to nil a few years ago. Something about cash-strapped institutions not having to pay high OS licensing fees...
Anyway, it goes to show you that even though there is a free alternative (gdb/ddd) you can sell tools for Linux if you do things the free things can't, or do it better.