Borland C++ Now Free-as-in-Beer
BlueBlade writes, "Inprise, formerly known as Borland (and now merging with Corel) has released their latest compiler for free. They said the move was to show support for the open source community. You can find the full article here. " It's Free Beer though. No source code, although such a release would really show their support for the Open Source Community.
Its Free Beer tho. No source code, although such a release would really show their support for the Open Source Community.
Ever heard of being thankful for what you get? Borland makes quality stuff, and its great to see this come out. But, CmdrTaco, your comment sounds (at least to me) resentful. Lighten up a bit, ok?
--------------------------
Alright, I know I'm probably going to get moderated down for this one, but here goes... Why is it that whenever a company releases a powerful and useful tool for free, the first response of many here is to say "Great, now give us the source and we will like you!" I'm not trying to rant or make any personal griping here, but to me it is in very bad form to expect so much of a company when they are still in a transition toward the entire concept of Open Source Software. I do not believe that Any Company, when approached with the concept of releasing their tools for free, looks upon the idea without a jaundiced eye at first, and I belive that it is only after weighing their options and realizing the goal that they make an action like the one Inprise made today. It is a big deal to them, and they are being good sports and catering to our community with something like this... so why must we grab their outstreched hand and tug them toward us with all our might? Ah well... it just seems rude to me. Moderate away.
Know ye not that ye are Gods???
Buying it makes no difference. You don't get the source anyways.
The only difference is if you buy it, you get their VCL, which is a very powerful collection of GUI and non-GUI tools.
check out the 4 easy steps you have to go through in order to get it....
Now, they're releasing the binaries for zero cost. It's a start, but not really a very helpful one. Yes, they seem to have learned that "Free Software" is a strength, not a weakness, but they seem to be confusing free with "free beer", not "free speech".
IMHO, this is a regrettable confusion. A blunder. Nothing to flame them over, but rather something to gently correct them for. Borland has some great brains, and if they can be tapped to their full potential, both Borland AND the Free Software community will gain.
However, zero-pricing their binaries doesn't really benefit anyone. It takes commercial companies away from genuinely Free Software, thus dividing the potential for growth, rather than multiplying it.
Still, there IS the possibility that this is but one move in a steady transition to genuine Free Software, be it BSD-ish, GPL-ish, etc. It might be best to wait a little and see.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
I thought that one was already on their website. I know some of their early compilers are available.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
I wouldn't be surprised to see a port at some point, though given that it's owned by Corel.
-- The Sheep --
Microsoft's compiler is the least ANSI compliant compiler I know and I can barely use the STL with it. Could I use the Borland compiler as a drop in replacement? For example I need to write DLL's to be loaded up by code compiled with Visual C/C++ and that need to link against libraries compiled with Visual C/C++. Is there any chance that I could use Borland's compiler to do this?
I've never understood how developers manage under Windows when Microsoft's compiler doesn't actually compile C++
-- SIGFPE
History has shown that this marketing tactic works. How do you think Apple got so popular in the 80's? Give the schools free hardware and the kids go home and say 'Mom, Dad - I need an Apple'. Inprise is just reverting back to what helped make them to begin with (how many of you ever purchased their $50 TurboPascal compiler? - when everybody else was charging hundreds to thousands of dollars for their development tools?). By giving away the basic compiler people will purchase the real tools (C++ Builder, Delphi, JBuilder). And if you buy the Professional versions, you get full source to their VCL - which is the piece you really want the source code to, not the compiler.
LRJ
Comment removed based on user account deletion
Good work Borland! It will definetly help cross-platform development, such as Mozilla.
;)
It's sad to say but gcc doesn't cut it yet on Windows. IMHO, I wish that RedHat/Cygnus would direct their forces to concentrate on UNIX instead now.
And you others, stop harassing the Borland site, I can't get through at the moment.
My school's current computer programming course is based on an outdated version of TC++ for Win16. One of the most irritating problems with it is that it's a Win16 development environment which multitasks co-operatively. i.e. Whenever you get stuck in an infinite loop of any kind, you press the big reset button and hope that the Novell server knows you logged off. Otherwise you turn it off, wait five minutes, turn it back on, and hope it works. Repeat until it does. I was trying to convince them to migrate to djgpp a couple of days ago and this happens... :)
To get decent speed, you need -at least- a -O2, preferably a -O6, though not all code will work correctly at that level and the optimiser can be shaky at times.
You really also need to turn off any and all debug flags, strip the binaries of symbol tables, and link to libraries which are compiled the same way as above.
(If you've a heavily optimised program linked to a library that's space-compacted, with debug flags up to it's eyebrows, you're really not going to get any decent speed out of it, no matter how good the compiler is.)
Lastly, watch those -m flags. If you aren't using maths, don't use them. -m486 will slow your code down, horribly, because of the increased amount of data it passes in each function and procedure call.
Yes, the GNU compiler -COULD- be improved, enormously. I think that a decent multi-pass compiler, with intelligent flag control, would be great. A multi-pass linker would be cool, too - I am fed up of errors due to putting library calls in the "wrong" order. It's quite capable of doing a once-through to search for symbols, and working out how to link from there.
Personally, the best compiler I've ever seen was the Oxford Computer Systems Petspeed compiler, which was a 4-pass compiler/linker. That thing generated decent code.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
Warmi
It is always a bad thing to make a claim without a reference. When one says a compiler is slow/fast (run time) there is always a lot of context that is important. For example, floating point operations, i/o, memory management, etc.
Comment removed based on user account deletion
Comment removed based on user account deletion
As someone who reads slashdot so they won't look like an idiot next time they meet the other programmers, I agree with the "free speech/sheep" aspect. However, I'm currently stuck with MSVC++ (have to, Boss thinks windows is "the thing to use") and dammit I am drooling at the prospect of another compiler.
I'm hoping the collage kids start handing in their programming assignments using Borland's C++ that way they don't get tied into this damn MS crap.
Yup, Borland C++ is MUCH faster than g++. I've often heard, though, that it produces slightly slower code.
All of this is really academic, though, because g++ on Win32 is, well, not particularly useful for real development. Its support for the win32 API is very, very much a work in progress. It compiles as fast as mud, and it's really meant to me used within the cygwin environment.
On Unix/Linux, I rarely use anything else. But on Windows, I'll use Borland from here on out.
--JRZ
It helps because now you will have a choice and isn't that half the reason we all hate M$?
LRJ
why when Borland releases BC++ free (as in beer), that's a great step towards Open Source... and when Microsoft makes IE available for free (still as in beer), they're against Open Source.
...)
I'd say so far that it doesn't do any good to OSS. Except eventy\ually draw some people away from real OSS IDE (like kdevelop,
Opus: the Swiss army knife of audio codec
This is very good. gcc is a great tool, but for various reaons it has generally been a poor choice for the Windows environment. I don't want to argue this point;as a user of both Linux and Windows, I've found it to be true.
What's most interesting about this announcement is that it underscores how little a compiler means to software development these days. Yes, obviously you need a compiler to produce executable code. But a bare compiler has no value to many people unless it comes with a RAD environment or generally does something above and beyond generating code.
I'd just like to state that the person who pointed out how Inprise/Borland has taken great pains to portray themselves as the benefactors of the "Open Source" community had a VERY good point. What is going on here is essentially the cheapening of what free software stands for. It used to be that people would use the term "free software"-- but that is all about freedom, which conjures up all sorts of unpleasant (at least, to Corporate America's eyes) imagery of scruffy revolutionaries sitting in smoky bars sipping cognac, and so the term "open source" was adopted by ESR, thereby dissociating the code from any immediately obvious social issues and turning it purely into a technical or economic issue. Alright, but then what? Then, all the companies that released even the slightest bit of information, or the smallest of binaries, started flinging about the word "Open"; now, here comes Borland (or whoever the hell owns them now) trying to paint themselves as being in the same boat as the "Open Source" community, while meanwhile all it is doing is giving away (after a mandatory registration AND a survey, I might add) a very much closed-source compiler, for Windows only (!!!), with no debugger?!
I fear that the logical continuation of this pattern is as follows-- since Borland has just established that by giving away free-beer-free goodies (not even necessarily whole software packages-- arguably, a development package is not complete without a debugger!) somehow puts one in the same boat as the Open Source/free software crowd, the next steps involve doing the same for (in order):
* Crippleware/nagware/software that times out after X days-- "But see, it's helping them until it expires! They can use it to create Open Source applications for 30 days!"
* Inexpensive software ("But see, it's cheap.. we're not greedy, so we're helping the Open Source community!")
And, eventually, anyone selling their piece of software for a few bucks less than their competitors will attempt to brand themselves as being pillars of the Open Source community...
But again, that's just my 2c.
With spending like this, exactly what are "conservatives" conserving?
I don't understand that. Why would you want to bypass their signup, when that information is probably a big influence on whether or not Borland (er, Inprise) will continue to support the open-source community? It's a huge step for them to even make BCPPB freely downloadable, and trying to beat their system surely won't gain their support.
----
I'm not stoned, I just chugged a pack of fUN dIP!
Do you hate seeing free utilities because some people somewhere might make interesting utilties in graphical form that keep people right where they are? If you're really for free software it doesn't matter what OS it's for, does it?
--
Peace,
Lord Omlette
AOL IM: jeanlucpikachu
[o]_O
Oh yeah, "WORTHLESS." I guess that everyone in the world uses debuggers, and that nobody finds #ifdef DEBUG to be more useful. Yeah, ok.
While we're griping, let me tell you about something that I'M sick of: whining about how sure you are you'll get moderated down, as a cheap shot at evoking the sympathy of the moderators.
From now on, whenever I'm a moderator, I'll specifically look for people who think they can buy a few karma points by making themselves look like martyrs for their opinions and I will moderate them down, like they supposedly expect to be anyway.
If you have an insightful comment to make, the least you can do is let it get moderated up by virtue of its thoughtfulness, without having to resort to begging.
It's perfectly possible to work on complex software projects without a debugger, it's just more difficult.
Case in point: at a place I worked recently, I had to work with a large legacy system written in QuickBasic (the compiling version of QBasic). I would guess there was a total of several hundred thousand lines of code. QuickBasic is a poor language anyway, and to top it all off, I couldn't use the debugger because it wouldn't work when the programs were linked with nonstandard libraries, which all of the programs were. I made extensive modifications to some programs, and I did all my debugging by sticking PRINT statements in the code. So it's possible.
Also, I think it's funny that you say "No need to get personal, friend", and then "whatever little high school programming assignment you have". I guess that's not getting personal?
I find Microsoft's compiler to not be as fast as BCB but to be much more robust. Also VC++ lets you "edit-and-continue", something I have yet to see any other IDE/Compiler/Debugger support. And BCB also comes with MFC, and so does the Windows Platform SDK, so I hardly see how that's relevant.
Comment removed based on user account deletion
LOL I've had that happen before. Just when you think you've outsmarted SLASH, it turns out they were one step ahead of you all along...
Is this an end-of-life "make it free and abandon it" move? That's becoming common. Sun did that with their Java Workstation product (their rather lame attempt at an IDE for Java). It's a reasonable move, but not worth publicizing.
Do you really expect someone else, who finds gcc works just fine for his/her needs, to sit down and write a compiler for you in the name of open computing just so you can have additional compiler choices?
There are two types of projects in the Free Software world: those that are genuinely important to somebody, and those that never happen. It seems that Slashdot attracts a lot of posts about the latter type, probably because it's easier to post "I want a ..." than it is to post "Here's my patch to ..." Wankers.
--TM, thinking it's time to fork the community and let the lusers rot
I bet they can't release the compiler because of IP issues within the compiler. That seems to be the number one reason of legacy software not being able to be released to public.
Malda: Not everyone has to go opensource. I think you need a little action with the clue-by-four.
-- dieman - Scott Dier
gdb can be useful for testing, too.
If you just created a piece of code and want to test it out, just break main, call my_func(100, "foo") and examine the result. A big time saver on large projects where setting up the conditions to test a piece of code is tedious.
Borland's C/C++ compilers used to be very popular with the DOS and Windows programmers that I know. Somehow Borland pissed it all away and now they all use WATCOM (discontinued) or Visual C++. I doubt that the release of a free version of Borland C++ is going to make a difference. The lack of an IDE is a big minus.
Mea navis aericumbens anguillis abundat
Nope, just examine the output for any nontrivial bit of code that really uses floating point. Intel's VTune compiler and even Microsoft's VC++ compiler usually achieve more than 20% improvements on floating point intensive code. The GCC x86 code generator does not know how to utilize the x87 FP stack effectively, especialy the FXCH instruction which is practically free on modern Intel chips.
The most impressive compilers that I've ever seen would have to be either the Alpha or the SGI Fortran compiler. Interprocedural optimizations, code profiling, basic blow movement, full alias analysis, etc. *Very* good.
Isn't the idea of Linux and Open Source to make a better software/OS world through contribution to the common code? Without source code, Inprise/Borland has given nothing. They could speed the Linux bandwagon they hope to make money from by making GCC work better and then bring us a C++ Builder for GCC/Linux! Make tons of money on the RAD functionality, but DO NOT break the ubiquity and portability of code that compiles under GCC.
Unless there is truly free source, free software is useless to the progress of GNU/Linux. This is the reason you are not switching to Solaris 8.
I made a decision some time ago to drop my *BSD efforts and join GNU/Linux because of this very issue. Linux has let me down numerous times where *BSD never would, but the BSD license ("you may not separate the ego from the code") would also never produce the wonderful things we often take for granted: GNOME/KDE,IPchains,gPhoto, The GIMP,etc.
As for the letdowns, they will be gone soon. Linux is the fastest growing OS on the planet. It will surely supercede all others as long as we all contribute. Get it Corel/Inprise/Borland?
Comment removed based on user account deletion
DJGPP is gcc plus the gnu tool set that runs on DOS/Windows, and produces 32-bit DOS compatible code.
I would rather pay for their compiler and get the source with it, than download it for nothing.
Is this just a princple thing or would you really dive into several hundred thousand lines of source code and start "fixing" the compiler? You'd really rather do that than write apps with it? You couldn't do one without the other?
This has bugged me a couple of time in the past too, so a more general solution would be nice.
Both the C64 and the Amiga were better platforms than Apple. Hell, Amiga's were still being used by TV stations to do special effects in the 90's.
LRJ
Also, I beg of people NOT to e-mail anyone at Borland to complain about this. It is a good gesture on their part to release the compiler free, there's no need to complain that they didn't release everything free.
Chris Hagar
"The price of freedom is eternal vigilance." - Thomas Jefferson
The way it stands right now, people who include something to the effect of "I'll get moderated down for saying this" almost invariably get moderated up, regardless of the actual quality of the comment. This degrades from the quality of discussion for two reasons:
Also, in case you care, in the past when I've been a moderator I've moderated down EXTREMELY infrequently. The only posts I've EVER moderated down are "first posters" and blatant trolls. I wouldn't moderate a post that actually says something lower than 1. What I WOULD moderate down are posts that have gotten moderated up to 3 or 4 simply because they knew how to manipulate moderators' feelings.
>With GCC you get a lot more optimizations and a
>lot more active development of the product.
What have you been sniffing?
I did some comparisions with my program compiled
with GCC and with Borland C++ 5.5
I had normal optimization with Borland and
highest optimization with GCC. I also compiled
with Visual Age for C++ with normal Optimization.
Size with GCC : 2.82M
Size with Borland : 1.18M
Size with IBM : 1.25M
The code with Borland is also slightly faster
than that of IBM and GCC code, GCC having
the slowest code and Borland the fastest.
My only complaint now that I figured out which
flags to use is that it doesn't support long long.
>With Borland 5.5 you only have Corel/Inprise
>developing it. Borland claims their 5.5 compiles
>code faster than GCC and their product does have
>precompiled headers.
All true. It is fast, it will be great to use
for Linux if it is just as good as the winblows
version. It'll be great when the C++ builder
and Delphi comes out as well.
the link to step one is broken on my box.
Probably because it requires cookies, or javascript, or something...
Have you compiled the Linux Kernel with it? What were your results?
Hey Rob, Thanks for that tarball!
"Going to war without France is like going deer hunting without your accordion." - Jed Babbin
Borland was one of the companies that first tried to give a more free view of code. Anyone remebers their software license "like a book"? Besides they furnished a lot of source code in their packs. Frankly the only thing they kept for themselves was mostly the compiler itself.
Unfortunately Borland suffered also the fate of many of the companies of its generation - it got caught under the web of the yuppie enterpeneurs. The result of this takeover was Philip Kahn (and several other) leaving Borland. The company turned into a more "solid-proprietary" and less "venturous-dissident" face. Meanwhile, the quality of its products dropped drastically. Things ended up by customers leaving massively Borland. The company ended with a small group of C++ fans and a segment of its past Pascal clients.
It is interesting to note that among my known circles of "second-generation" Linuxists (1994-1996) I note a lot of past Borland fans (me one). For some it was a no-return ticket. For others it was a middle world between Windows and Linux. However they were only a fraction of the huge mass of "unemployed" programmers. Most Borlandists turned to other professions. Today most are either highly specialized users or sysadmins. 90% of the people didn't managed to "go Windows".
So it seems that this is the last hit on the coffin... Borland is dead. Curiously when a normal Pascal compiler has finally appeared on Linux. That follows Borland philosophy with only one exception. It's not a book, it's GPL.
Aren't there already free (as in speech) command line compilers for windows? Haven't the GNU tools been ported? What good is having this one from Borland? Is it better in some way, like producing faster code?
--
grappler
Vidi, Vici, Veni
Borland releasing a free version of the compiler does NOT mean that the compiler is Open Source. What it means numbskulls is that if you as a customer buy an open source product that is built using C Builder, and want to compile it, you do not need to buy the compiler. IF you want to make substantial changes then no doubt you will WANT to get all the source to the VCL which is after all 90% of a builder app and you will be glad to supports Borlands efforts by buying it. Borland's language products have ALWAYS had a strong following because they ship the source to most of their libraries (instead of enmiring you in evil activex, et al), heck TP3 shipped the source code for a spreadsheet as sample code. Borland was open source long before it was fashionable. Expect the compiler for Pascal to be released in the very near future (it is the same backend), and the Linux compilers (Kylix) to follow. The advantage for Open Source developers is that you can now release your shource freely knowing that there will allways be a refference compiler that is fully ANSI compliant, works equally with Windows and Linux (We've all got our fingers crossed that this will be true) and is fast. And if nobody buys Borlands products they dissapear.
This news isn't interesting for normal slashdos readers. This download is for windows users only and it's only the command line compiler tools with very little documentation and a few examples.
I have a different slant for this article. Borland have stated they intend to release delphi to linux. And if you look at the results of the JUL99 survey, the first Q/A they asked was 1. which language ared you primarily interested in developing in on linux? Of course the answer was C/C++. So what better way to pave for delphi (and release of cpp builder?) to linux than to allow users (windows developers - their primary target) to download a free (but older) compiler to get used to.
What does perplex me is the later question, 3.The particular development tool I would most like to see for Linux is - (sic), the answer was a race between c/c++ with rad (cpp builder) and a new IDE that works with existing linux tools. Maybe thats what the Jbuilder gui was about?
Go have a look at the results of the survey to gain a better idea of where borland is heading...cpp builder on kde/gnome using native gui (or wine) that's most likely not open sourced as long as it's high quality and costing between US$100 - US$300.
peterrenshaw ~ Another Scrappy Startup
Link works just fine here. There is also a file by the same name at ftp.sunset.se - I use Go!Zilla for downloads under windows, and it finds mirrors for me. Very handy tool. I'm grabbing the file off Borlands main site right now.
Hey Rob, Thanks for that tarball!
"Going to war without France is like going deer hunting without your accordion." - Jed Babbin
This is (along with Delphi) Borland's (they have dropped the Inprise name in the merger with Corel) flagship product. The full C++ Builder 5.5 only came out a month or so ago, and this is the compiler for it.
Firstly, they aren't Inprise any more - they are dropping that name (at last!) in the merger with Corel. Infact, you could actually buy the Inprise sign on Ebay - it might still be there.
Secondly, Borland is considering open-sourceing more of its stuff. They are already releasing Interbase under the MPL (see www.interbase.com) and in a recent interview in the Linux Journal, Dale Fuller said they were considering what they shoudl open source with the release of Kylix (Delphi/C++ Builder for Linux). This MAY EVEN INCLUDE THE VCL. That woudl be really, really cool.
It's perfectly possible to work on complex software projects without a debugger, it's just more difficult.
Debugging without a debugger is impossible for anything besides the smallest projects. One thing you are missing is the call stack. It is impossible to emulate this with any degree of usefulness with printf's. Second, you lose the ability to call functions at any point, which needs to be done to test the current state of your objects. Third, you lose tracepoints (which are 100% impossible to do without a debugger). Fourth, you lose threading ability and the ability to step between threads independently. Fifth, you cannot do variable substituion. Sixth, yuo cannot look at and/or step through assembly output. Seventh, printf's are useless after the fact (after the program crashes). Eighth, ....
Even you for things which you CAN emulate (such as stepping through and examining variables), they are HORRIBLY ineffecient using printf's, since in order to do anything new, you need to re-compile and re-link, each time, where as in the debugger you just need to add your thing (which you can do without even restarting execution). Plus, printf's add all sorts of nasty and ugly code everywhere (yes, yes, #ifdef DEBUG, but that path of execution is often not updated and kept current).
Though printf's are useful in SOME circumstances (such as printing out complex trees of objects), I humbly suggest that if you are seriously using printf's, that you haven't mastered your debugger yet, and have a lot more to learn about it.
This is not Borland's C++Builder product. What's being offered is the the command line compiler, linker, resource compiler (which translates descriptions of a program's GUI into something executable), and some other stuff.
It appears to be enough to build software from source. It appears not to be enough to do serious software development (e.g., no debugger).
What's announced is a Windows-only compiler. (It might work with Wine, but what's the point?)
Stupid job ads, weird spam, occasional insight at
I seem to disagree with most of you so here are my $0.02 on the issue.
Yes, Borland clearly wants people to buy their C++ Builder product. What's so evil about that? They're a business. They're trying to make money.
On the other hand, they have released a free compiler for Windows. Many of you imply this is useless. On the contrary, I think this is perhaps more useful than a Linux version of the compiler.
Why? Because Linux has gcc. gcc is a reasonably ANSI/ISO compliant C++ compiler. It includes a debugger, linker, etc. It's very useful. Borland C++, with no debugger, for Linux would not be particularly useful.
On the other hand, Windows has limited options for free C++ compilers. There is DJGPP, a DOS port of GNU tools. And then there's Cygwin. Cygwin is nice, but it's a large download and it's a complete set of tools. If all you want to do is compile C++ code, it's overkill. Especially since you have to distribute some large Cygwin DLLs.
Borland claims that this free compiler can support Open Source software. Most of you seem to disagree. I don't.
Imagine this scenario: someone writes open-source C++ software, using standard-compliant code and nothing operating-system specific. (It could even have a GUI, using something like GLUT or FLTK). They write this code on Linux. Compile it with gcc. Debug with gdb. Perhaps use one of the Linux IDEs.
Currently, this code would be difficult to use under Windows. You could compile with Cygwin, but this is overkill. Now, there's a new option. Compile the code with Borland's C++ compiler.
The lack of a debugger doesn't necessarily hurt this software. And this compiler does make it easier to write cross-platform, open-source software for Windows and Linux.
Go ahead and flame me. Say it's useless to write code that runs on Windows, or that it's supporting Micro$oft's evil empire. I disagree. Many people use Windows. Open-source software for these people isn't necessarily a bad thing. If they become interested enough in it, they can switch to Linux. And don't knock Borland for giving away free software without source. It's not the best thing we could have hoped for, true. But on the other hand, they are planning to develop their compiler software for Linux. Let's not change their minds by flaming them for trying to help out developers.
Matt Reece
Open Source? Where can I download it? Surely someone has a tarball of it somewhere.
--
I don't really care whether it's open source. I really want a compiler for windows. I'm not about to pay $1000 for visual studio, though. So I'm really happy about this. Socialists can go whine elsewhere. You want a compiler, write it. Borland is offering something. If you don't like it, fine. If it benefits some people, fine. If it conflicts with your political views, too bad. You ever hear "don't look a gift horse in the mouth"?
For the truely paranoid, though, Corel now has a way to make a proprietary Linux distribution. They still have to open the source to their mods, but it doesn't do you much good if it will only compile with Borland's proprietary compiler.
There is the commercial CodeWright and the
shareware Zeus. Both good products.
So how about they make it a free download, and you can go buy the source. Would you actually buy the source? Pretty unlikely.
This is insightful? This is moronic.
--
Sam
There are other class libraries out there that are actually worthwhile (e.g. Borland's VCL, hint hint). There's gotta be a GTk port, too -- or, as you say, you can write your own. It's not monumentally difficult if you're willing to blow off portability, and if you're at all competent it won't take but a few weeks (I've done it), which you can amortize over the remaining lifetime of the Win32 API. For your time investment, you'll free yourself from the misery of wrestling with MFC's bizarre limitations and idiotic design flaws. A C++ library should be written (not to mention designed) by people who know C++ and OOP reasonably well. MFC wasn't. The Win32 C API was at least designed by people who knew their way around the paradigm they were working with. It's not perfect, but it's acceptable.
Now that I mention it, Win32 programming in C with just the API isn't anybody's worst nightmare. It's ugly and painful because GUI's really demand OOP, but I've done it and honestly it's not much worse than MFC.
Is there any GPL'd MFC code out there at all? I'm inclined to doubt that, unless Al Stevens uses the GPL. Stevens isn't doing anything real crucial anyway.
"Christianity neither is, nor ever was a part of the common law." --
The link libs are incompatible. That's what you use implib for. It generates Borland-friendly link libs from arbitrary DLL's. MSVC doesn't have an analagous utility (BTW MSVC 5 is violently unable to cope with MSVC 6 link libs if they've got a $debug section, ha ha -- found that out the hard way, installed MSVC 6, and wasted a day and a half fixing the damage to my system from the "upgrade"). 32-bit windows DLL's are goddamn PE files, they all have the same header and the same sections and blah blah blah. You're talking out your ass.
If you don't like the struct alignment, change it. Compilers can do that.
For anybody in the audience not familiar with dynamic linking in Win32: The library is called foobar.dll, and it comes with a smaller file called foobar.lib, which is what you "link" to, and which contains basically the names of the exported functions and not much else. The compiler groks all this.
"Christianity neither is, nor ever was a part of the common law." --
My employers will provide me with an upgrade from BC++ 4 to 5, so I wont be using the free version.
That said, I think this is a great move, but not good enough. The really powerful stuff in BC++ (and Delphi, which I prefer) is the IDE/VCL combination. Those component libraries (and the third party stuff available) blow competing software out of the water. Borland should have made their "Standard" (read Student) edition free, with IDE & VCL, rather than just the compiler. In the very least, it should be a LOT cheaper than it is.
I can't imagine going for the command line version of BC++; command lines are a long time ago for those evil coder sith-lords like myself who've gone over to the dark side. Still, it might help the students out there (those with over-sized consciences, anyway). That would be good for Borland/Inprise/Whatever they are now, because more people might get into their compilers.
Hopefully they'll give more stuff away for free. Anyone noticed that you can get older versions of BC++ & Delphi free on computer magazine CDROMs, complete with IDE and VCL?
I had a friend doing a TAFE course (technical college in Oz, below Undergraduate level) in Delphi, when Delphi 4 was out. They were teaching Delphi 2, which is no help to anyone. Why? Because they couldn't afford new versions of the compiler. Not many people took that course, because it sucked. The VB courses were full, of course, because the TAFE had the latest...
You really shouldn't charge teaching institutions for your compilers/ide/etc. The graduates convince their bosses to buy masses of the products they learnt on. Crazy.
(Hey, and who were those fools crying about how the comiler is useless sans debugger? Good coders, oh yeah...)
-----BEGIN GEEK CODE BLOCK----- Version: 3.12 GCS/IT/MU/O d- s: a? C++++$ UC/UL L-- E- W++ N++ w++(+) M- PS+++ PE- Y P
Like for example a member template function of a template class was totally beyond the comprehension of v5. Uh, what I mean is this: You've got a class template, and it's got a member function which is a template unto itself, with its own type parameter(s) unrelated to those of the class. GCC 2.8.1 grokked that, but MSVC 5 got upset. I don't recall what BCC did. (I spent a weekend once trying stupid template tricks with those three compilers, finding a subset that would compile on all three). Also v5 couldn't seem to cope with a member template function of a normal class unless the body was defined in the class declaration. That's tolerable, I guess, but still vaguely annoying. It's also possible that this shit is supported, but I never quite figured out how to *declare* it!
Somebody's gotta get that damned name-mangling thing sorted out. What a crock.
"Christianity neither is, nor ever was a part of the common law." --
Not everyone needs to work under the hood on that part of it all.
This is why the Free Software and Open Source philosphies are so different. The Open Source philosophy, being mostly pragmatic, has the unstated opinion that just because the user probably doesn't need or want the source code, it is okay to be taken away. The Free Software philosophy beleives freedom should be granted for all its users, whether or not it is pragmatically beneficial.
Note that a philosophy is different from a community. I actually don't beleive that there are distinct Free Software and Open Source communities, per se. People who don't share in *part* of the Free Software philosophy are probably those who haven't heard of it. I mean, come on, there are no big highlines on ZDNET or CNN about the Free Software Revolution lately, are there? It seems like Linux and Open Source have stolen the hype, but that's okay. And I don't think there are any serious Free Software people who say "I actually prefer crappy software."
The free compiler from Borland represents a misunderstanding about Open Source, the other half, Free Software. I think Open Source and Free Software are two halfs of the same entity. Once they figure out that the community isn't after purely pragmatic goals, then maybe they will change the license to something more free?
Note: I am not attacking you or anyone else. Please don't be hostile in your reply.
And like I said, MFC comes with the windows platfrom sdk which is free.
The full C++ Builder 5.5 only came out a month or so ago, and this is the compiler for it.
Are you sure of that? I really got the impression from the press release that this is the Borland C++ compiler, not the C++Builder compiler.
Borland has had three C/C++ compiler lines. The first was Turbo C, from the days of DOS. The next was Borland C++, a plain old C++ compiler plus IDE. No RAD or visual form designer, though. C++Builder is a compiler, IDE, and visual designer -- a C++ version of their Delphi product.
Which one is this?
dragonhawk@iname.microsoft.com
I do not like Microsoft. Remove them from my email address.
AHA, but you can!!!
Remember that Slashdot strips out angled brackets. Therefore, to post without text, put the following VERBATIM (no < and > stuff):
<>
and it will show with no text!
Glückwünsche, haben Sie Slashdot ermordet, indem Sie zum korporativen Druck beugten und Subskriptionen einlei
Those are not free(beer) though. And the source for the compilers is still closed....
All opinions are my own - until criticized
member templates are supported as long as they are inlined.
See Appendix I; I'm not certain that they're doing the right thing, but then again I'm not certain that I'm doing the right thing either
Namespaces support has been much improved in version 6.
I didn't know there was anything wrong with it before. I don't use namespaces much, though, aside from the STL
I still insist that VC6 is fairly ANSI compliant. I'd say it's on par with GCC 2.95
That's good news about GCC (do they have namespaces yet?); I'd thought that MSVC was pretty close to the mark in most respects. I mean, yadda yadda I hate Microsoft and all that, but I don't get all that emotional about compilers unless something specific that I need is broken. The things that really annoy me about MSVC 6 are GUI problems, extra annoyance popups and whatnot.
-----------------------------------------------
Appendix I
Here's what I'm talking about with member templates of templates. Note that this code won't compile, and note also that I'm not ruling out a bug between my own two ears:
#include <stdio.h>
#include <string.h>
template <class T>
class foo {
public:
// Here's the member:
template< class T2 >
void traverse( const T2 &r2, bool (* callback)( const T &r, const T2 &r2 ) )
{
for ( int i = 0; i <= size; ++i )
if ( ! (*callback)( data[i], r2 ) )
break;
}
T * data;
int size;
};
bool callback( const char &c, const char * const &fmt )
{
printf( fmt, c );
return true;
}
int main()
{
foo< char > f;
char * crap = "vogon";
f.data = crap;
f.size = strlen( crap ) - 1;
// All this over-specific crap is an attempt to get the compiler to admit
// that I'm doing what I'm doing; but it insists that T2 is ambiguous:
// it thinks it could be either const char * or const char *const &
// FWIW I'm seeing the same error with MSVC 5. I'm not certain whether it
// *should* be considered ambiguous or not. I'm also not so sure about
// casting to a reference
// dance on a const reference? You have a right to secure counsel from a
// language lawyer.
const char *fmt = "char: '%c'\n";
const char * const &fmtr = fmt;
f.traverse( (const char * const &)fmtr, callback );
return 0;
}
"Christianity neither is, nor ever was a part of the common law." --
It is nice that you have some access to the source, though.