Free Optimizing C++ Compiler from Microsoft
FortranDragon writes "Microsoft has made the command line toolkit for Visual C++ available for a free download. You can use the toolkit to build applications and redistribute them if you want (though you should read the EULA for the details, as always). This is a nice boon for those that have to deal with cross-platform compatibility, especially since Microsoft has tried to make Visual C++ more conformant to the ISO C++ standard. Go forth and compile your favorite OSS or FS programs today. ;-)"
I just tried the following program:
.. anyone have any idea why ?
#include
main()
{
printf ("Hello World!\n");
}
And I got the output "Hello Suckers"
Funtage Factor: Purple
microsoft are giving away a C++ compiler, like gcc, for free.
Seems like a pretty good thing to me.
MS seems to be doing a lot of this lately. It's nowhere near as open as F/OSS solutions, but it's freeing up access to what's possible with Windows far more than previously.
One of the reasons for the success of OSX is the general geek crowd's appreciation of it's *IX background, but without free dev tools that's nothing but another flavour of unix. Add the ability to dive into developing instantly and there's tens of thousands more developers working for the company.
I develop software for Windows using MinGW and MSys. They provide everything I need for development, apart from the IDE, and this release from Microsoft doesn't include that. The Visual C++ compiler is good, but it isn't extrordinary. Why use it over the open source MinGW tools?
"tried to make Visual C++ more conformant to the ISO C++ standard"
Score one for the team! Microsoft conformed to something!
Karma: -2^0.5 . Mainly due to the imbibing of dihydrogen monoxide
I'm taking an intermediate level C course as part of my studies.. Me and my classmates primary used the free Borland C Compiler (BCC32 5.5.1) and our TAs, the ones marking our work, were primarily using VC++.
Borland's Compiler is much more liberal about not only the syntax it allows, but what code works.. It takes a lot more effort to get things to work in VC++ (whereas they worked fine in BCC and GCC) and we've had lots of trouble stemming from this.
Microsoft can keep their compiler as far as I'm concerned.. although it (usually) comes with a nice IDE and Debugger that I quite like, it's just too bad those remain non-free.
Anyone know where to get a free visual debugger for Win32?
DJ kRYPT's Free MP3s!
Something here makes me doubtful... has anyone here examined tthat EULA already? Are there any paragraphs, which try to limit compiling and/or redistibuting GPL et. al. -licensed FOSS programs?
“Wait for Hurd if you want something real” –Linus
I personally have no love for MS, but I can't help seeing this as a good thing for people that have to support the legacy windows platform.
I recently did some reasearch in AI, and one of the things I did was port an existing simulation written by a former student at my university from a VB/MS Powerpoint front end with BC++ core, to an OpenGL/wxWindows (now wxWidgets) frontend with ISO C++ core.
To establish a baseline I had to make comparisons on the Win32 platfrom. What really amazed me was the difference in efficiency and memory footprint between the VC++.NET 2003 compiler and gcc 3.3.
Although gcc is an excellent compiler, I don't think anyone can argue that MS has the inside track on optimizing Win32 apps.
The platform SDK which includes the command line compiler, linker and debugger has allways been a free download (hasn't it). Also, the .net SDK which includes all the languages, libraries, and compilers has also allways been a free download, this is what sharp develop uses.
Go Forth?
But isn't it a C compiler?
What next, Visual PL/I?
Finally Microsoft makes a move I really agree with - between this, GIMP, and Blender anybody can make a decent game for Windows without spending a dime on tools. Very nice indeed.
Clippy: "It looks like you are trying to compile the gimp, did you know the GPL was written by Carl Marx, you don't want to be un-American do you? If you need help embracing capitalism, please ask me."
This looks like an aggressive effort to get people to start developing .NET apps since a major part of the free download includes support for .NET.
One has to assume MS is worried they're losing their development community to run a scheme like this.
Did Microsoft have a change of heart? Probably not, this is probably either a part of the anti-trust case against them in which they promised to make their software more interoperable, or it is to stave off anti-trust case part 2.
This is absolutely awesome.
.NET framework SDK did not have optimization command-line options enabled.
While there were legal methods to obtain optimizing compilers before (you could order media-cost-only Windows 2003 DDK cdrom and with that you'd have vc++ 7.0 compilers), but with this kit there's no longer any problems.
While VS.NET 7.1/2003 IDE is quite well developed, I'm sure projects such as eclipse or dev-c++ can benefit from this.
Also notice the important thing about this kit is it includes optimizing compilers, free command-line tools which were available for a while from the Microsoft
Before this, there were ways to obtain the optimizing version of vc++ compilers, by ordering a recent Windows 2003 DDK (it included vs.net 7.0 compilers, if I remember correctly). But now with this kit,
From the EULA.... Oh wait, I'd have to waste half an hour downloading the compiler to read it. I'm sure there's an evil clause in there. Best thing I could find relating to VS.net runtimes was this old gem:
Use at your own discretion.
Does it run on Linux?
Do I still want to write non-portable code in 2004? Apparently MSVC produces better code then gcc on Windows, but is that reason enough to use it rather than (e.g.) cygwin?
As a programmer, I insist on platforms that are 100% portable, so that my code can survive any OS and vendor changes. At the very least a commercial compiler must implement the standard language and libraries so that my code is portable.
Still, this is a good move for Microsoft and I welcome it.
Ceci n'est pas une signature
I recently started doing development for linux and XP. Before that it was Sun (using CC) and linux.
CL (the vcc compiler) will let you get away with things that you shouldn't even be able to do (use of variables outside of there scope...), but you don't see it, because BCC didn't let you do it.
CC was the most liberal of them all, it would complile and run your email.
All of this said, strick is a good thing! I means that your code will work elsewhere (wide variety of elsewheres) with little work. Are you using -wall and -pedantic with gcc?
"I'll have a Guinness, no wait, make that a Coors Light" -Grad student I work with, who shall remain anonymous...
Major omission - no lib.exe for building .a files
.NET as without lib.exe it is pretty useless for larger projects.
Looks like this is just to encourage people to migrate to
Still, nice of them to release it
Asmo
As a university student I can get VS.NET2003 Pro with the optimizing compiler for free anyway, but this is a good thing. Please OSS people, don't shy away from it, but use it to compile all opensource apps for Windows for even better efficiency and smaller size helping the popularity of apps like Firefox and Thunderbird and whatever. This compiler really does kick ass.
I know I've used efence to find some nasty, tricksy segfault problems in game programs I've written. Microsoft's "security check" software doesn't really check for security; it checks for memory errors that could lead to security issues in the future, as well as other problems.
N4st0r, trixx0r h0bb1tz0rz! Th3y st0l3 0ur pr3c10uzz!
Give an example of something you should be able to do (not something you could get away with elsewhere) that you can't do with vcc.
"I'll have a Guinness, no wait, make that a Coors Light" -Grad student I work with, who shall remain anonymous...
w00t! A security check toolkit by possibly the least secure software vendor in the mass-market. Your post is a transparent troll by someone who clearly knows nothing about what open source software is actually available.
Either this came from an anti-trust settlement, or Microsoft is trying to pull something wicked, again. It's not usual for them to offer something free, at least, not something they made money off of.
Very wierd.
My senses tell me that something isn't right.
I was going to ask about "why get this if there's MinGW" but I see it's already been asked. I suspected someone would say Microsoft's compiler produces better code. Now where's the evidence? I'm looking for something like independent benchmarks or studying of generated code.
...I've been using MS VC and eVC to build code under Winblows and Wince for a long time. I use GNU make under Cygwin with a bunch of fancy default rules.
..the MS compiler is actually not that bad, and you're stuck with at least *SOME* MS tools if you want interoperatibility with other MS tools. MIDL interfaces (formerly ODL), for one.
Having this compiler released means that
a) I don't have to install that confusing GUI
b) I don't have to cough up the money to upgrade (Currently running VC 5.0)
I write library code under UNIX in C, debug it in a sane environment (100% GNU, except for Xemacs) and then port it to Windows (generally pretty trivial -- I port by making Windows look like POSIX, so the UNIX codebase stays basically virgin). Run it through MIDL to get a type library, and all of a sudden your stupid VB developers developing one-off, simple GUIs have access to all kinds of well-debugged code that was originally developed on a sane platform.
As long as your code only touches files or sockets, it will run okay under MS VC.
Do daemons dream of electric sleep()?
You forgot to read on past that quote:
"tried to make Visual C++ more conformant to the ISO C++ standard... Note, must now buy out all members of the C++ ISO standards development team."
Outdoor digital photography, mostly in New Engl
how good are the gcc compilers compared with non-free ones?
is the difference in the time it takes to compile, or will the binaries also run faster?
The reports are that this compiler produces better code than GCC (only for x86, of course). How hard would it be to use something like Wine to run it under Linux to compile Linux applications? Would that be a violation of the license?
Then we just need a version of Autoconf that builds a makefile for the compiler of your choice (gcc, icc, or mscc).
especially since Microsoft has tried to make Visual C++ more conformant to the ISO C++ standard
More ISO conformant? Compared to what? The GNU Fortan77 compiler?
Seriously though, VC++ didn't even support member templates until 6.0. I'm not that familiar with VS.NET, but I know before that there ISO bordered between horrible and pathetic.
In all fairness, I've been told it's not there fault. Something to do with litigation or something.
At any rate, I think this statement of "more standards complaint" certainly could be explained a bit more (especially in terms of how are they more compliant than say, a C++ compiler built with EDG).
int func(int a);
func((b += 3, b));
I compiled the Conformance sample that came with it - Once with G++ [3.3.1] -O2 and once with cl /O2 /EHsc and noticed the huge code size differences -
CL
==
text data bss dec hex filename
76892 8192 0 85084 14c5c conformance.exe
G++
==
text data bss dec hex filename
200508 1992 19088 221588 36194 a.exe
That's horrible code generation from G++. It can't be so bad.
Parry
I do have ssh and a couple of shells, but it couldn't hurt too much to keep up my Windows skills. I am forced to use it at work everyday.
Ignorance kills, complacency kills, hatred kills, but usually not the ones guilty of them.
...so can you give me some of what you're smoking?
Dev C++ http://dcplusplus.sourceforge.net/
Windows is only $500 if your time is worthless.
GNU's compiler puts heavyweight, albeit extraordinarily useful, symbols for debugging and profiling in their executables. When optimizing, Microsoft's compiler will not add any debugging symbols to the executable. Did you run strip on the G++ generated executable?
Ayup
Uh, why would Microsoft break STL programs on purpose? How would that benefit them?
Anyone had any luck running it in WINE?
END-USER LICENSE AGREEMENT FOR MICROSOFT SOFTWARE
MICROSOFT VISUAL C++ TOOLKIT 2003
IMPORTANT-READ CAREFULLY: This End-User License Agreement ("EULA") is a legal agreement between you (either an individual or a single entity) and Microsoft Corporation ("Microsoft") for the Microsoft software that accompanies this EULA, which includes computer software and may include associated media, printed materials including best practices, white papers, templates, "online" or electronic documentation, and Internet-based services ("Software"). An amendment or addendum to this EULA may accompany the Software. YOU AGREE TO BE BOUND BY THE TERMS OF THIS EULA BY INSTALLING, COPYING, OR OTHERWISE USING THE SOFTWARE. IF YOU DO NOT AGREE, DO NOT INSTALL, COPY, OR USE THE SOFTWARE.
MICROSOFT Software LICENSE
1. GRANTS OF LICENSE. Microsoft grants you the rights described in this EULA provided that you comply with all terms and conditions of this EULA.
1.1 General License Grant. Microsoft grants to you as an individual, a personal, nonexclusive license to make and use copies of the Software (i) for your internal use; (ii) for designing, developing, testing and demonstrating your software product(s); and (iii) for evaluation of the Software.
1.2 Documentation. You may make and use an unlimited number of copies of any documentation, provided that such copies shall be used only for personal internal purposes and are not to be republished or distributed (either in hard copy or electronic form) beyond your premises except as otherwise specifically provided herein.
2. ADDITIONAL LICENSE RIGHTS -- REDISTRIBUTABLES. In addition to the rights granted in Section 1, certain portions of the Software, as described in this Sectionÿ2, are provided to you with additional license rights. These additional license rights are conditioned upon your compliance with the distribution requirements and license restrictions described in Section 3.
2.1 Sample Code. Microsoft grants you the right to use and modify the source code version of those portions of the Software identified as "Samples" in REDIST.TXT or elsewhere in the Software ("Sample Code") for the sole purposes of designing, developing, and testing your software product(s), and to reproduce and distribute the Sample Code along with any modifications thereof, in object and/or source code form. For applicable redistribution requirements for Sample Code, see Sectionÿ3.1 below.
2.2 Redistributable Code-General. Microsoft grants you a nonexclusive, royalty-free right to reproduce and distribute the object code form of any portion of the Software listed in REDIST.TXT ("Redistributable Code"). For general redistribution requirements for Redistributable Code, see Sectionÿ3.1, below.
3. LICENSE RESTRICTIONS -- DISTRIBUTION REQUIREMENTS. If you choose to exercise your rights under Sectionÿ2, any redistribution by you is subject to your compliance with the following terms.
3.1 If you are authorized and choose to redistribute Sample Code or Redistributable Code (collectively, the "Redistributables") as described in Section 2, you agree: (i) except as otherwise noted in Section 2.1 (Sample Code) to distribute the Redistributables only in object code form and in conjunction with and as a part of a software application product developed by you that adds significant and primary functionality to the Redistributables ("Licensee Software"); (ii)ÿthat the Redistributables only operate in conjunction with Microsoft Windows platforms; (iii) to distribute the Licensee Software containing the Redistributables pursuant to an end user license agreement (which may be "break-the-seal", "click-wrap" or signed), with terms no less protective than those contained in this EULA; (iv)ÿnot to use Microsoft's name, logo, or trademarks to market the Licensee Software; (v) to display your own valid copyright notice which shall be sufficient to protect Microsoft's copyright in the Software; (vi)ÿnot to remove or obscure any c
This was a few years ago, with the then-latest version of Visual C++. I haven't used it since, but I've heard rumors that this particular scoping bug was eventually fixed. (What happed when you tried to compile this code back then is that it whined about there already being a variable called i.)
It would be interesting to hear how well Microsoft's compiler works with templates. GCC still has some way to go, but it's getting better with each version, and it's starting to get hard to come up with valid code that doesn't compile. I can't imagine that MS put a lot of effort into their C++ compiler it they want everyone to migrate to their own language (C#, that is), but then again I'm not an MS fanboy, so what do I know?
This signature is not in the public domain.
I'm probably breaking some clause by posting this, so anonymous will have to do. Check out section 3.1.i and 3.1.ii, which EXPLICITY DENY you from distributing your source-code.
3.1.ix is nice too: You "agree that Microsoft reserves all rights not expressly granted."
6 is even better: "NO RENTAL/COMMERCIAL HOSTING. You may not rent, lease, lend, or provide commercial hosting services with the Software."
Enjoy. Note: I cut out the french portion at the end, because the lameness filter referred to it as "junk characters".
Give Linux away for free - they will come. Same principle applies.
.NET Framework SDK (even back to Version 1.0) it included a fully functional compiler that allowed you to compile C# applications under the CLR. I believe "cl.exe" was also included, the optimizing C/C++ compiler, with the SDK.
If you bothered to download the
Giving the compiler away for free MAKES sense. The only free, mature Windows compiler available is GNU's C/C++ compiler. Although I prefer open-source tools for development, I cannot dismiss Microsoft's compiler as being one of of the best optimizing compilers _there is_. Its only major caveat is the fact that it is designed for one platform only - Windows.
Ayup
I haven't used MS VC++ for a few years (fortunately), but does it still get the scope of loop variables wrong? So that this:
{
for(int i=0;i!=num;++i)
{
}
for(int i=0;i!=num;++i)
{
}
}
would complain about i being declared twice? That used to really annoy me.
How about making Anjuta (or other FOSS C/C++ IDE's, like KDevelop?) run on Windows on top of this compiler and provide Windows programmers with a free competition to VC++?
This way - they get to learn to use an IDE which they can also use on Linux, MS's income might get hurt because people don't HAVE to by VC++ to develop for Windows with MS's optimizing compiler (which is excellent, you can't say it isn't).
Just take this as an advantage for the FOSS community and do something with it, instead of just bitching all day.
Borland has already been doing this for years with their 5.5 compiler. It was a cheaper solution for us to develop our native *nix apps to Windows. The only problem we came across were some of the other DLLs we needed only came with VC++ code and/or compiled DLLs. You can't mix the 2 libraries since they use different mechanisms. We had to buy a program to convert the VC++ libraries to Borland.
This is a test. This is a test of the emergency sig system. This has been only a test.
The Mono group (http://www.go-mono.com) has been working on achieving platform independence with .NET and C#. Programming in C#, in many respects, has the feel that C++ is just getting ancient. C# constructs and methods, although not entirely mature, have learned from the best object oriented languages that we have right now.
.NET and Mono.
C# code for Microsoft's compiler (of an ECMA standard programming language), should run as advertised on a Mono CLR environment - once it becomes mature. Look at the many cross-platform (Windows/Linux) classes available for both
Since Mono is an open-source effort, Mono could be extended to MacOS X, FreeBSD, etc.
True portability is one source code - many OSes and architectures.
Ayup
Maybe, but the actual software was written by Hank Rearden.
..even if you got it to run under WINE, it would still produce windows binaries, which also wouldn't run natively under linux.
I use a macro that handles this for me, with conditional directives to be empty on other platforms. Not that hard - really.
But is it Free or just gratis?
45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
Microsoft wants its developers to shed the legacy-method of developing applications for Windows. Instead of using OLE and COM, they want developers to use .NET. Is there a big problem with this idea?
.NET is far superior than writing against MFC. Performance is quite adequate as CLR does produce optimized executable code during each run of the application. Flexibility is phenomenal compared with MFC.
.NET until you've tried it (either its native Windows part or its Mono counterpart for Linux). It's quite nice.
I think not. In many ways,
Microsoft is weening developers off using a toolkit (the MFC), the same thing we've been using for over a decade (MFC has its birth even in the Win16 world) to move on to something a bit more refined.
Don't knock
Ayup
The fact that it requires Windows 2000 or greater makes it doubtful that it would work under Wine at all. Why would you want to anyways? You could always build it normally under Win2000 (dual boot, or using VMWare, etc.) and then deploy those executables to *RUN* under Wine.
Just my 2 bits though - 01
How would undocumented functions in Windows make your own code go FASTER than (for example) possible on linux with gcc? Undocumented functions means features like integration with other parts of windows. They don't have anything to do with efficiency.
My executables compiled with MSVC certainly don't call any special undocumented functions.
Much as i try to think of something bad about this, i really cant (now, dont tell me i am not trying too hard :). :)
I guess lots of editors are going to come up pretty soon that use this compiler to do the actual compiling. That can only be a good thing
Dont make a better sig, you insensitive clod!
Early on, Microsoft understood that the platform battle is won by those that win the hearts and minds of developers. DOS was a *terrible* environment, but developers built some cool applicaitons and the platform became a huge success. You have to look at this announcement in conjunciton with the Unix Services for Windows announcement.
VB and the VB tools captured a good chunk of corporate developers. I hate VB, but you coul design and build simple forms based applications that talk to a database pretty quickly and easily. Visual Studio provide an excellent intregrated IDE (no flames from Borland lovers) for many C++ developers. it simplified a lot of routine stuff, made finding funcitons easy, integrated the debugger and more. Lots of folks.
IBM recognized that it needs developers for Java to succeed and the purchase of Rational was aimed at getting the corporate developer that is on VB and VC++.
With this compiler and the USFW annoucement, you can now take the *nix stuff and port it pretty easily and for free to Windows. No more need to assemble tools, install Cygwin or the like. There used to be a barrier to getting *nix stuff to Windows. it is now gone. Microsoft will now have a platform, that is free, to allow free software developers to make their stuff available on Windows as native applications. And you cna then add Windows extensions if you want.
The unreliguous among us will grab this and move *nix stuff we've been missing or haven't had access to.
Microsoft has spent over a decade essentially supporting only ONE processor architecture, x86. The GNU project has to worry about applying optimization to a plethora of architectures, including the quirks associated with each particular implementation.
Not Microsoft - it gets to focus on how to produce the most amount of work out of a processor of at least 80486 grade instructions. How easy is that? They get to throw a hundred developers to extract every bit of performance possible out of one processor. Every now and then make a modification to support a new supplemental instruction set (MMX, 3dnow!, SSE, etc.)
If you read their optimization whitepapers, you will notice that much of their optimization is done at the math level - nothing Win32 specific. Also, their memory optimization, loop unrolling, inlining, etc. is considered top notch by many software developers.
Ayup
The objective of this is not too hard to discern - keep the geeks and individual developers on the Windows platform. It runs in the same vein as their licensing and releasing Services for UNIX - essentially an admission that CMD.EXE is not everyone's cup of tea as a command interpreter and that, to be frank, for proper scripting, it's actually pretty shit.
:)
I'm not quite sure where they'll go next. They may be following Apple's lead, who have, with Mac OS X, managed to capture an extremely sizeable proportion of the more moneyed developer market by taking advantage of the UNIX foundation and integrating it nicely. It may be that the next thing we'll see is a freebie X11 client.
These kind of things start to make Windows an interesting platform - a closed and, possibly, insecure and buggy base but with some interesting and certainly useful FOSS bolt-ons to make it an extremely compatible platform - imagine having both the traditional Win32 and FOSS software libraries available with little to no portage required! It's a perfect situation for Microsoft - keep the users on Windows (DRMed up and whatever), but appease those who are tempted to switch to Linux by building the best bits right into their current platform.
It's interesting, if nothing else...
iqu
And your post is that of an anonymous, mindles slashbot coward.
Intel's Linux compiler is available for free under a restricted license. To be able to use it, as intended as a product, you must purchase a full-flegded license for the compiler. Intel does not have a free compiler for Windows.
Also, Intel's compiler's optimizations are taylored for their processors, not x86 generic like Microsoft's.
Ayup
karma whoring, but anyway, here is the EULA:
END-USER LICENSE AGREEMENT FOR MICROSOFT SOFTWARE
MICROSOFT VISUAL C++ TOOLKIT 2003
IMPORTANT-READ CAREFULLY: This End-User License Agreement ("EULA") is a legal agreement between you (either an individual or a single entity) and Microsoft Corporation ("Microsoft") for the Microsoft software that accompanies this EULA, which includes computer software and may include associated media, printed materials including best practices, white papers, templates, "online" or electronic documentation, and Internet-based services ("Software"). An amendment or addendum to this EULA may accompany the Software. YOU AGREE TO BE BOUND BY THE TERMS OF THIS EULA BY INSTALLING, COPYING, OR OTHERWISE USING THE SOFTWARE. IF YOU DO NOT AGREE, DO NOT INSTALL, COPY, OR USE THE SOFTWARE.
MICROSOFT Software LICENSE
1. GRANTS OF LICENSE. Microsoft grants you the rights described in this EULA provided that you comply with all terms and conditions of this EULA.
1.1 General License Grant. Microsoft grants to you as an individual, a personal, nonexclusive license to make and use copies of the Software (i) for your internal use; (ii) for designing, developing, testing and demonstrating your software product(s); and (iii) for evaluation of the Software.
1.2 Documentation. You may make and use an unlimited number of copies of any documentation, provided that such copies shall be used only for personal internal purposes and are not to be republished or distributed (either in hard copy or electronic form) beyond your premises except as otherwise specifically provided herein.
2. ADDITIONAL LICENSE RIGHTS -- REDISTRIBUTABLES. In addition to the rights granted in Section 1, certain portions of the Software, as described in this Section 2, are provided to you with additional license rights. These additional license rights are conditioned upon your compliance with the distribution requirements and license restrictions described in Section 3.
2.1 Sample Code. Microsoft grants you the right to use and modify the source code version of those portions of the Software identified as "Samples" in REDIST.TXT or elsewhere in the Software ("Sample Code") for the sole purposes of designing, developing, and testing your software product(s), and to reproduce and distribute the Sample Code along with any modifications thereof, in object and/or source code form. For applicable redistribution requirements for Sample Code, see Section 3.1 below.
2.2 Redistributable Code-General. Microsoft grants you a nonexclusive, royalty-free right to reproduce and distribute the object code form of any portion of the Software listed in REDIST.TXT ("Redistributable Code"). For general redistribution requirements for Redistributable Code, see Section 3.1, below.
3. LICENSE RESTRICTIONS -- DISTRIBUTION REQUIREMENTS. If you choose to exercise your rights under Section 2, any redistribution by you is subject to your compliance with the following terms.
3.1 If you are authorized and choose to redistribute Sample Code or Redistributable Code (collectively, the "Redistributables") as described in Section 2, you agree: (i) except as otherwise noted in Section 2.1 (Sample Code) to distribute the Redistributables only in object code form and in conjunction with and as a part of a software application product developed by you that adds significant and primary functionality to the Redistributables ("Licensee Software"); (ii) that the Redistributables only operate in conjunction with Microsoft Windows platforms; (iii) to distribute the Licensee Software containing the Redistributables pursuant to an end user license agreement (which may be "break-the-seal", "click-wrap" or signed), with terms no less protective than those contained in this EULA; (iv) not to use Microsoft's name, logo, or trademarks to market the Licensee Software; (v) to display your own valid copyright notice which shall be sufficient to protect Microsoft's copyright in the Software; (vi) not to remov
Try not to let life get in the way of living.
I'll stick to BCC55 then...
The string class has a built-in fixed length buffer (size around 31/32 bytes) that is used to handle short strings. The string constructor above can't used this buffer because it's too big. It allocates a new buffer on the heap to store it. The operator= implementation has logic that sees that the new value *CAN* fit in this buffer, but unfortunately tries to copy the *OLD* value (the long string) into this buffer prior to assigning the new value. Buffer overrun - whammo!
If anyone is thinking, "well why didn't you just fix it", the code was spaghetti code and a complete mess. I personally emailed PJ Plauger and he sent back hacks that also failed to work. At this point in time, we simply bought and used Rogue Wave's implementation.
When I found this problem, I called MS support and was told something like: "yeah, we know that there are problems with the string class and we recommend that you don't use it". How this ever got past 2 companies' (both MS and Plauger's company) QA process is puzzling to me.
My theory is they had it in the product to be able to "SAY" that they had it, but in reality it couldn't be used for any non-trivial application. And no, I don't believe it's any kind of conspiracy -- just a little deceptive marketing.
Borland has offered free downloads of C++ Builder (and some tools) for quite some time.
RMS has declared that, in order to compete with Microsoft's free compilers, he will now charge $250 for each copy of gcc and place restrictions on the transferability of the software.
"We've got a team scanning Ebay for violations now", the scruffy, odiferous throwback to the 1960's whined during a telephone interview. "I'm hoping I can use this money to rent some college boys at MIT's new GNAA cafeteria. That would rock."
Microsoft's Steve Ballman responded with "...who? Is doing what? Microsoft is an innovative, customer focused company that hires smart people to do great things for the smart people who do great things with our user-experience enhancing products"
Sometimes it sucks to be a roving reporter.
Sourceforge kind of 'owns' your programs in the sense that if you drop your project, they still have the right to host the sources and binaries for all to download, but no other real ownership.
Also, they limit the type of code you could write by requiring an open-source license.
Of course, they are providing a service, and it's their terms, but beware about the above if you want to start a project. I believe Sourceforge is a code repository, so is it what you mean? Else I have no idea.
- Rico
The DDK (Driver Development Kit) contains a command-line verison of their C++ compiler. It also contains PREfast, which is a static code analysis tool, similar to Lint.
Example: You create a storage class (my example was a self-redistributing binary tree). The template class Storage<T> has a subclass Storage<T>::Element that holds three Element pointers (parent, left child, right child) and one const <T> pointer.
Of course, the Element class has a constructor, a destructor, a copy constructor, and an assignment operator defined. (Copy constructor and assignment op may not be formally required, but my experience says it's a very good idea to define them in anything that holds pointers).
As in:This code will produce an error. VC++ does not handle functions in named classes inside templates that are not declared inline.
(I may have missed some syntactic detail - It's been a long time since I wrote C++; I write C# these days. But the above annoyed me to no end. It works fine with gcc, which on the other hand can't handle when the functions are implemented inline, which should also work)
Side note: I absolutely love Microsoft's dev tools. This particular example is the exception to me, not the rule.
Go forth and compile your favorite OSS or FS programs today.
No thanks, I'll stick to C++.
So the fact that their STL implementation sucked 5 versions ago is relevant to this how?
Last time I looked, MacIE was a lot more standards compliant than Windows IE. Have you tried MSN explorer? I believe that's where their new development lives. I don't know if it's actually any better, since I couldn't face downloading it.
I am TheRaven on Soylent News
A fair number of folks get into FOSS because they can't afford the dev tools. Intel releases a free C++ compiler that runs on Windows, but it also runs on Linux so there's a potential switching-over point there. Making their compiler free is a halfhearted attempt to stop this potential customer leak. It's the same reason why the copy protection on their dev tools is historically weak - in the long run they're better off having Visual Studio get pirated by _everyone_ if it keeps them from losing geeks and developers to competitors.
At college, I knew one student in the CS department who owned a legal copy of Visual Studio, and it had been purchased for him by a contract employer. All the other Windows kids pirated it; the only folks who used Dev-C++ and the like were primarily Linux and MacOS people.
How about it? Watcom seemed to be the most popular besides Turbo C in good old DOS, especially for 32bit apps. Watcom is free, see openwatcom.org
My free software is using Xcode. If I actually have to use antique UI libraries and perversions like COM, somebody will have to pay for it.
Of course there is. You get pass by reference semantics by passing or returning pointers. It's not as clean as C++'s passing a reference, but that's just syntax, not semantics.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Has anyone tried to integrate the compiler into the Visual Studio 6 IDE? Is it even possible? Would there be any advantages compared to simply installing the recent Service Pack 6 for VS6?
Okay guys, help me out here. Does this mean that developing or porting open source is kosher on Microsoft's platform, or not? I'm a little confused. Naturally, if I wanted to develop and OSS project, I would want it to be available for use to a wide audience. Since Windows is on 90%+ of PC desktops, it'd be logical to assume that Windows users would be part of the target audience. But previously, I've heard grumblings from MS about porting OSS programs to Windows, especially under dot Net.
So which is it? Are there restrictions here? Can this compiler be used for GPLed software, BSD-licensed software? What about other licenses, such as Apple's? Do you think this is a true effort to accomodate OSS developers? Is it just a PR gimmick? Is it just throwing a wrench in the open source works, where MS will change things later on?
Fred
"A fool and his freedom are soon parted"
-RMS
I have quite successfully linked C++ libraries compiled with GCC, VC++, and the IntelCC compiler with no problems. It appears to be ok. Perhaps code that relies on internals of STL would fail, but at least pointers to STL objects actually port back and forth.
I agree that VC++ produces faster code than GCC. Don't really know how much, because we don't use GCC on Windows anymore because of this, except to make dependencies for the makefiles. Can't be too much today, as our GCC-compiled Linux versions seem to run at the same speed as the IntelCC compiled Windows version.
The IntelCC compiler produces code almost twice as fast as VC++6. I believe VC++7 is much better, however, but have not tested it.
I've got VS 7.1 standard... the non optimizing compiler. If I get this toolkit, can I essentially "upgrade" my compiler?
PT
You are not a unique and individual sig.
... and Microsoft on the same line ?!
on Slashdot ?!?!
I wonder if it is possible to use the newer commandline compiler from within Visual Studio 6. From what I hear, the .NET IDE isn't so great for C/C++ work. And come on, a project file is now called a "solution" file?? That's just dumb.
On the other hand, I would really like to have the better standards compliance of the newer compiler.
The Intel compiler can be used as a drop in replacement for the VC6 compiler, so maybe it's possible to drop in this one somehow. Anyone tried this? Maybe it's as easy as just putting the new compiler tools first in the VC6 bin/include/lib paths.
Hmm. I think I'm going to try this out...
AS some MS programs appears to have some 'undocumented' features, this one may have so too.
Maybe I'm just too paranoid.
You can create cross-platform COM object using Xcode.
m ac/2004/04/16/c om_osx.html
Check out this article on O'REILLY's MacDevCenter.
http://www.macdevcenter.com/pub/a/
-1, Doesn't know how to spell "|_337".
<g/d/r>
Got time? Spend some of it coding or testing
VC7 is head and shoulders above VC6 for standards compliance, including templates. Our company is switching mainly just to get better templates compliance. We do not always upgrade; we skipped VC5, stayed on VC4.2 until VC6.
I'm not a compliance expert (I'm more of a perl hack), but the people at the company that are into advanced C++ code like the new compiler very much.
hehe whichever way around it is, my life is hell - even when serving a different patch css to each browser!
This comment does not represent the views or opinions of the user.
I think CP/M-86 came with an assembler, just like CP/M-80. What's more, it actually worked, unlike many releases of MASM.
Mea navis aericumbens anguillis abundat
Fscking CDs are bloody expensive. Look at AOL, the IT magazines, heck, even newspapers that sell for a few cents. All of them are bleeeeding money given those CDs away for free.
MS, with his zillions of money in the bank, can't affor to spend a few thousend making development tools available.
No! Those communist ideas should be brought down and burned like the trojan horse they surely are.
To give something for free! MS! Never!
IANAL but write like a drunk one.
OK, I give up. What did you mean by that?
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Starts strong but when challenged in a polite but robust way, the top lip stops wobbling and then they start qualifying everything and backing off. Incredibly lame. There is a world beyond the OS concensus world of Slashdot. You should see more of it before you are so quick to judge.
It would be interesting to compare the results to GCC.
My rights don't need management.
At the end, conceding the points presented in the thread for argumentation's sake, the programmer would not care about this minutiae.
.Net era, where were you taken today?).
Of course if they are wise they would know better thatn associating themsleves with a company that eventually would play duirty on them (programmers of pre
IANAL but write like a drunk one.
echo 0123456789abI send a message$ >demo.com
debug demo.com
a
mov ah,09
mov dx,010c
int 21
mov ax,4c00
int 21
w
q
demo
Got time? Spend some of it coding or testing
F/OSS is in the lead of making corrections in teh directions of software development and distribution.
teh likes of MS are in fact slowly turning to follow while trying to make out that it is they who are leading the direction.
support F/OSS!!! Why? simply because it gives the rest of the software industry the genuine and proper direction to follow. Of which the rest of the software industry would otherwise not have a clue.
I'm guessing that's the case. For people playing at home, a copy of Visual Studio .Net costs several hundred new, so I'm betting that a very high proportion of home users don't have it. Since a lot of businesses have been nervous about upgrading -- the 2002 edition of VS.Net was a disaster, and while it's much better, there are a few quirks left in the 2003 one -- it's in Microsoft's interests to have the pro's playing at home, so they can go into the office and recommend an upgrade for all 100 developers at work afterwards.
On top of that, of course, it's also in Microsoft's interests to try and shift the Windows developer population towards .Net and away from things like MFC and COM. They clearly realise this won't happen overnight, and have repeatedly denied the imminent demise of MFC, but surely it must be their long term plan.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
What does it matter when the compiler was released?
Eight years ago gcc had problems with C++. I recall it having internal errors and aborting when trying to compile code with exception handling. The same code worked quite well MS VC++ and I believe Metrowerks C++. This and your complaints may be interesting trivia but they are pretty irrelevant today.
...it seems that Microsoft's "give lots of stuff away for $0" phase has started.
Microsoft has bulked up with enough cash to operate with zero income for five years - but they're not a monopoly, oh no sirree!
Got time? Spend some of it coding or testing
It didn't just suck "5 versions ago". It continued to suck even in version 6 which many commercial products still use. I have not tried the 7.0/7.1 versions to see how well it fares now.
but is is FREE?
Back when I first started posting here, a mention of Microsoft in any context other than consigning it to the fifth circle of hell would have earned the poster a moderation beat-down and major flamage.
...
I won't even mention what happened when I made an admiring reference to a female who wasn't Natalie Portman
AFAIK, The STL implementation shipped with MSVC was made by a company called Dinkumware. The compiler has some problems with certain template code, but it has improved tremendously in the latest incarnations.
1.1 General License Grant. Microsoft grants to you as an individual, a personal, nonexclusive license to make and use copies of the Software (i) for your internal use; (ii) for designing, developing, testing and demonstrating your software product(s); and (iii) for evaluation of the Software.
As in, for demonstration only. If you're going to distribute binaries, don't compile them with this tool.
I [may] disapprove of what you say, but I will defend to the death your right to say it.
# tail -2 /var/log/messages
Apr 18 23:15:00 lappie Damn!
Apr 18 23:15:01 lappie last message repeated MAXINT times
#
Got time? Spend some of it coding or testing
and
-1, Microsoft Troll? (-:
Got time? Spend some of it coding or testing
...it's also the Most Favoured Compiler for virus authors, as well?
You know, the old "find out what the developers ran and and buy exactly the same stuff if you want stability" trick? (-:
Got time? Spend some of it coding or testing
...FS/OSS finally having such a positive effect on Microsoft.
FLR
How exactly is giving an industry-leading compiler away for free, knowing that doing so is going to promote development on your own platform, even possibly going to stave off a second round of an anti-trust case?
Microsoft's move makes a lot of business sense for them, for several reasons that I and others have pointed out elsewhere in this thread, but I can't see it having anything to do with their legal position.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
You have a point.
.... of course only to find out that the STL library was not supported under gnu at the time which made the switch useless, unless I had old coding books around. Ugh.
I was angry when I found out MS crippled their own compiler in the introductory editions since I wanted to learn game programing.
So I switched to Linux because I had full mesa (opengl's clone back then). Not to mention I saw screenshots of Windowmaker and wanted an OS that was mine rather then Bills.
But still to my suprise at a distro with hundreds and thousands of apps I had, apache, perl, php, python, etc, in addition to gnu c/c++. I realized I had a whole development suite, even though I was disappointed that I had no ide( this was before I discovered the power of text editors or the command line).
But would I have switched if the free one was crippled? WHo knows.
http://saveie6.com/
Still intrigued by comments that the Intel compiler produces much faster code than VC, let alone GCC.
And that the linux version of the Intel is freely available. Would love to see benchmarks on a Linux distro compiled with the Intel compiler, maybe gentoo to easily do more than just the kernel.
gcc is the single most important piece of free software ever made and supporting it by using it provides enough benefits to outway the saving of a few bytes and clock cycles, imagined or real increases in popularity of apps thereof included.
"What do I do with a virus.c attachment to make it run?" (-:
Apparent solaris answer: define the MIME type text/x-c to invoke the cc command.
Got time? Spend some of it coding or testing
Microsoft has already release a .NET framework for MacOS X and FreeBSD: rotor. And yet, for some inexplicable reason, people still use C++. Maybe they're waiting for the Linux kernel to be compiled on Mono in ECMA-standard C#?
This is not new. The .Net framework free d/l includes V# and VB command line compilers. In fact, I think that Visual Studio uses those under the covers. If you need SQL, you can use free MSDE ... yes restrictions, but 2GB db is enough for some work.
Anyone got some time to help build Eclipse bindings for this? Or is there something out there for it already?
The EULA may well say slightly differently, but the above public statement is more than enough of a disclaimer to get you past any such inconveniences in an Aussie court, anyway.
Got time? Spend some of it coding or testing
...on this 512kb ADSL link (ie, under 10% of normal flat strap, so I guess it's Microsoft's fault. Again. :-) so I hope WINE lets me run the installer EXE tomorrow morning, when I unpack the EULA so I can post it here. But as I said in my RTFA post below, the public statement on their related FAQ page pretty much gives you carte blanche as far as Australian law is concerned, regardless of what their illegally post facto EULA has to say.
Got time? Spend some of it coding or testing
And, if you use STL, it does not give you x-platform code, so, don't use STL: this undermines the competition. If people successfully wrote x-platform code, people would not "need" windows.
Just so you don't make even more of a fool out of yourself: VC++.Net is vastly more standards compliant than VC++6 (which was released before the ISO C++ standard was finished, incidentally). Microsoft have apparently been making a genuine effort to improve this aspect of their product, and have already recruited/bought out (depending on your personal philosophy) at least two big names in the C++ world.
The litigation stuff related to the standard library they were using back in version 6, and is ancient history.
And as for comparison with EDG, yes, they'll lose, because EDG is the only pretty much fully standards compliant game in town. VC++ is now close enough for most practical purposes, though; nobody uses things like export anyway.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
This is a C++ compiler, not a K++ compiler.
Bow to Obergruppenfuhrer Klippy, you enemy of the Bandwidth Sucking Animated Companion Riech! (-:
Got time? Spend some of it coding or testing
So it only sucked around 7-8 years ago, then?
It's amazing how many people on this thread are slamming VC++ because of behaviour it had in the mid-90s (that's version 6 in case you've lost count) and freely admit to not having tried the most recent version, which is the subject here. I know people don't usually RTFA on Slashdot, but you might at least try to get the slightest bit of background information before wading in with absurdly incorrect extrapolations based on software nearly a decade old!
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
...with WINE. (-:
Got time? Spend some of it coding or testing
I give a lot of credit to MSFT for doing this. A few important questions:
Is there a free resource editor out there for designing GUIS (dialogs, buttons, etc)?
Is there a good cross platform make utility that could work with msft c++ on windows and gcc on linux?
Huh? What's the object size got to do with anything? Do you distribute .obj files for your application? Are they what get loaded into memory and executed when your program is run?
The current version of VC++ does some quite clever tricks with "whole program optimization". To do this, part of the compilation effectively moves to the linker. That means a lot more information has to be passed through in the object files, though of course it's still compiled down to finished code in the output .exe file.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
The compiler requires .Net, and hence only runs on platforms that .Net supports (though IIRC it can still produce output code targetting older platforms).
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
> MS seems to be doing a lot of this lately.
Yes. And have you noticed that most of the free giveaways seem to be targetted at developers, rather than users?
I suspect that Microsoft is trying to attract back the many developers who have switched to Linux.
Developers like me.
Unfortunately for Microsoft, it won't work, because it's not about the money.
I didn't switch to Linux in order to get a free-as-in-beer platform.
I switched to Linux to get a free-as-in-freedom platform.
I got tired of Microsoft sabotaging my fvorite applications (e.g. AmiPro).
I got tired of Microsoft changing the rules, in order to force me to buy upgrades, or to make me lock myself in to Microsoft's new schemes (.Net and MS Internet protocols this time).
So I left Windows, and started developing for Linux. I don't even bother to port the finished product to Windows.
There are over 10 million Linux desktop users, and multiple tens of millions of Linux server users. That's a big enough market for me.
...if it can't "bless" you with .NET on the way in.
Got time? Spend some of it coding or testing
...Ken Thompson's version of the C compiler went! (-:
Got time? Spend some of it coding or testing
A fair number of folks get into FOSS because they can't afford the dev tools.
If you can't afford to spend 91 dollars and 99 cents on a compiler + IDE I tend to wonder how you afforded the computer, the electricity to operate it, the desk it sits on, and the rent on the roof over that desk.
Amazon ASIN B000089GKV
WINE runs some MS Windows applications faster on Linux than natively.
The same phenomenomenomenomenom applies to Win4Lin.
That said, far better to just build a portable application and be done with it. The few geek points you get from using VC++'s spiffy optimisations are going to drown in the background noise of coping with MS Windows' OS interface.
Got time? Spend some of it coding or testing
Section 4 is a standard clause - it's designed so that they keep all rights not given to you in the EULA, rather than you having all the rights not explicitly excluded in the EULA.
Intel's C++ compiler is also free for non-commercial use. It even runs under Linux.
It's worth noting that Borland, too, only give away their command line compiler for free. You can't (legally) get the IDE without paying for it.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
***
3.2 If you use the Redistributables, then in addition to your compliance with the applicable distribution requirements described for the Redistributables, the following also applies. Your license rights to the Redistributables are conditioned upon your not (a) creating derivative works of the Redistributables in any manner that would cause the Redistributables in whole or in part to become subject to any of the terms of an Excluded License; and (b) distributing the Redistributables (or derivative works thereof) in any manner that would cause the Redistributables to become subject to any of the terms of an Excluded License. An "Excluded License" is any license which requires as a condition of use, modification and/or distribution of software subject to the Excluded License, that such software or other software combined and/or distributed with such software (x) be disclosed or distributed in source code form; (y) be licensed for the purpose of making derivative works; or (z) be redistributable at no charge.
****Does "Excluded License" mean GPL? A type of license that requires you to include the source code?
If this is correct, you can't use it to compile most OS programs...
You're also aware that you may not use the complier to produce anything for non-windows platforms... but that yould be difficult anymway.
I don't need a signature.
(b) distributing the Redistributables (or derivative works thereof) in any manner that would cause the Redistributables to become subject to any of the terms of an Excluded License. An "Excluded License" is any license which requires as a condition of use, modification and/or distribution of software subject to the Excluded License, that such software or other software combined and/or distributed with such software (x) be disclosed or distributed in source code form; (y) be licensed for the purpose of making derivative works; or (z) be redistributable at no charge
Ok , if they are not targetting GPL'd code here , what are they targetting ... ?.
GPL says ... provide source, license covers derivative works and should be redistributable under same license by others... damn !
I would personally like Eben Moglen's comments on the license ... but there seems to be no way this affects FSF directly .. so unlikely
Quidquid latine dictum sit, altum videtur
It's worth keeping in mind Cringley's column this week. It's entitled, "The Only Way to Beat Microsoft is by Ignoring Microsoft."
Conservatives believe, remember, that abortion is evil, but that you should have a gun so you can "shoot first and ask questions later". They're also big supporters of the death penalty. We're not looking at a group that's "pro-life", we're looking at a group that needs as many people as possible to be born, so that it can kill as many people as possible.
Erm, isn't that a bit like saying "if you can afford one holiday a year, you must be able to afford to spend the whole year on holiday"? Or, to use a popular object of examples: "if you can't afford to buy a drink for everyone in the pub, how come you've bought yourself a beer?"
Money doesn't work like that - you spend it, and then you don't have it any more!
The cost of upgrading from years-old MSVC to modern MSVC is much greater than the cost of upgrading from years-old GCC to modern GCC, no? That's why Linux users tend to stay more up to date than Windows users, many of whom are still back on Windows 98. In addition, modern GCC will run just fine on years-old hardware that has been paid for, unlike modern MSVC, and distcc can potentially leverage all the paid-for workstations in an organization for a big build job.
Micro$oft is desperate to keep ahead of OSS in recruiting developers. That's how they became the leaders in business software: when all you have is a M$ developer, every problem looks like a M$ program. But OSS is getting new developers in droves, especially the new ones, who drive the industry with innovation, lack of old bad paradigms, enthusiasm, low labor cost, long hours and highly social recruitment and indoctrination. So now M$ is trying to appeal to that population of developers, with a free (beer) *command line* tool.
This is a watershed event. Not only can we now port Linux/BSD/AmigaOS/MVS programs which run on Windows without subsidizing M$' other divisions which unfairly compete with us, but M$ is tacitly acknowledging that its monopoly is under siege at its developer foundations. Soon M$ will be sitting pretty on the 31st Century equivalent of an army COBOL programmers. And the swarm of mutating global OSS programmers will carry the day.
--
make install -not war
Don't be rediculous. Karl Marx was the founder of communism. The GPL was writen by Carl Marks.
Does this distribution include them? It seems that every project that requires MSDev to compile these days includes #afxwin.h or one of its neighbors, and as far as I can tell none of the free *DK's supply these headers and static libs.
Having the optimizing compiler is a step forward, but (without having downloaded and installed this beast yet) I'd wager that there's still something missing.
It's rare that you're presented with a knob whose only two positions are Make History and Flee Your Glorious Destiny.
in France, every source code written (with VC++ for example) and every binaries produced through compilation belonged exclusively to you (the programmer)...
What about every binary produced through linking? I would imagine that Microsoft owns copyright in some of the libraries that may get linked into the default "Win32 Application" and definitely owns copyright in MFC. Remember that if linking does not fall under copyright, the GNU GPL copyleft falls apart.
One source to rule them all... I'll be refusing to run mono apps. I'd code my own operating system from scratch in asm before I let a sco-funding monopolist that believes XML schema are patentable have any control over my toolchain.
I suppose landfills full of cds are "free" as well.
In Soviet America the banks rob you!
"3. LICENSE RESTRICTIONS -- DISTRIBUTION REQUIREMENTS. If you choose to exercise your rights under Section 2, any redistribution by you is subject to your compliance with the following terms.
3.1 If you are authorized and choose to redistribute Sample Code or Redistributable Code (collectively, the "Redistributables") as described in Section 2, you agree: (i) except as otherwise noted in Section 2.1 (Sample Code) to distribute the Redistributables only in object code form and in conjunction with and as a part of a software application..."
So if you distribute anything compiled with this compiler you are not allowed to distribute the source code along with it.
"You also agree not to permit further distribution of the Redistributables by your end users except you may permit further redistribution of the Redistributables by your distributors to your end-user customers if your distributors only distribute the Redistributables in conjunction with..."
Good grief, too many "distributes" in that sentence. I think they just said that your end users can't redistribute any software that you compiled with this compiler.
"3.2 If you use the Redistributables, then in addition to your compliance with the applicable distribution requirements described for the Redistributables, the following also applies. Your license rights to the Redistributables are conditioned upon your not (a) creating derivative works of the Redistributables in any manner that would cause the Redistributables in whole or in part to become subject to any of the terms of an Excluded License; and (b) distributing the Redistributables (or derivative works thereof) in any manner that would cause the Redistributables to become subject to any of the terms of an Excluded License. An "Excluded License" is any license which requires as a condition of use, modification and/or distribution of software subject to the Excluded License, that such software or other software combined and/or distributed with such software (x) be disclosed or distributed in source code form; (y) be licensed for the purpose of making derivative works; or (z) be redistributable at no charge."
x, y, and z sound an awful lot like the terms of the GPL to me.
So in my non-lawyer understanding of this, attempting to compile GPLed source code on this beast would be in violation of the EULA, the GPL, maybe both.
All that we see or seem is but a dream within a dream.
Microsoft has spent over a decade essentially supporting only ONE processor architecture, x86.
WTF? That's just plain false.
Windows NT was available for PowerPC for quite some time. The Motorola 68000 series was well-supported by Microsoft apps for a very long time. And last time I checked, their office suite and Internet Explorer is still available for current versions of Mac OS on PowerPC.
Their support of a processor architecture appears to be very simply linked to how popular the architecture is. MS is pragmatic that way, and good for them.
So after they completely marginalize C++ and create their own "managed" abomination of it, they now give it for free. Thanks, but who the fcuk wants it...
I realize that the GNU GPL's exception for code distributed with the operating system (which the license defines to include compiler packages) doesn't make the redistributables under an Excluded License under 3.2. But I still have some questions about the runtime library's compatibility with free software licensing:
Is redistribution of the runtime libraries for C and C++ under these terms compatible with the GNU General Public License?
Does this mean that I can't link Apache HTTP Server with MSVC's runtime library and then rent virtual servers? And does "You may not [...] lend [...] with the Software" this mean that if I run a public library's IT, I can't link a lending library database client with MSVC's runtime library?
according to the license agreement, you owned the source code you wrote, but Microsoft owned copyright of the object code. Their position was tha since the library code was written by them, and you used their libraries, they owned your program.
Isn't this the same reasoning behind the GNU General Public License? Well at least the licenses for GNU runtime libraries are either GNU Lesser GPL or the GPL with a blanket linking exception.
Ask and ye shall receive:
Microsoft Debugging Tools for Windows
That toolkit is part of the (also free) Platform SDK, but you can install it separately. It includes NTSD (command-line debugger) and WinDBG (GUI debugger), and KD (the kernel debugger). NTSD and WinDBG sit on top of the same user-mode debugging engine, "dbgeng.dll". They both include really fantastic on-line help which can teach you a lot about debugging in Windows. That said, they are not for the faint-of-heart (the Visual Studio debugger is much more user-friendly). KD.exe uses the kernel-mode debugger built into every NT kernel by default. Of course, you need a second machine to use KD and a serial cable; when broken into the NT kernel debugger, the debuggee is not in control.
(Incidentally, is there a kernel-mode debugger available for Linux? Last time I checked, Linus opposed the concept very strongly, and Linux did not have one available. He called it a "crutch." Sorry, Linus. Kernel-mode device driver writers *like* their debuggers. I have to say that this could be one of several factors impeding device driver development on Linux.)
Microsoft has spent over a decade essentially supporting only ONE processor architecture, x86.
Um. You forgot Power PC. Arguably, all the effort Microsoft puts into developing and supporting the Power PC platform is not proportionate to the number of Power PCs out there. IE and Office (and probably some applications I'm not aware of) work extremely damn well on the Power PC architecture.
Without Microsoft's support, you'd see very few Power PCs on the desktop today.
The GNU project has to worry about applying optimization to a plethora of architectures
No. They don't have to. That was entirely their choice. For example, the GNU project choses not to support the 6502 because it would be very difficult. Impossible? Probably not. But not worth the effort.
Not Microsoft - it gets to focus on how to produce the most amount of work out of a processor of at least 80486 grade instructions.
It "gets" to?! No. Microsoft chose to focus on just one or two platforms that covers 99% of the market because the most common good comes from that. The GNU project was and still is welcome to do the same.
It looks like some GNU developer has already disassembled it and integrated some of the code into GCC.
I just went to compile vi, and an ASCII paper clip popped up onto my terminal:
"It looks like you're trying to compile EMACS. Would you like me to launch the EMACS wizard now. Because you are stupid, I will launch it anyway"
-- If you try to fail and succeed, which have you done? - Uli's moose
Amen!
It isn't April 1st anymore. We all know Microsoft wouldn't give dog shit for free, much less a compiler.
Sig: I stole this sig.
There is no IDE, just command-line tools. The "build manager" referred to by the grandparent is msbuild.exe, a command-line tool that speaks a (N)Ant-like XML syntax.
As I understand it, VS.NET 2003 will use the same syntax, so you should be able to build a VS.NET project using the free SDK.
If your code really is 100% portable, then it won't use any gcc-specific extensions
How much of C99 and C++98 does this compiler support? A lot (but not all) of C99 was based on GNU extensions to C.
The major problem is that a few compiler switches have changed. While I imagine it should be fairly easy to get the VC6 IDE to work - the incompatible switches, etc, could cause trouble.
The solution I would choose is to use a make tool that understands VC. Namely: Scons (Software Constructor). Keep VC6 to use as an IDE, but configure the IDE to compile through Scons (even if it's only by adding a command to the tool menu - this means you get the results back in the output window).
Scons is a cross-platform replacement for Make that is written in Python. One of the major wins is that the "Make" files themselves (actually named "Sconstruct") are Python scripts. You don't have to understand Python to use it - but if you do, it's an extremely powerful solution. Plus Scons supports -J (jobs) for parallel builds on multiprocessor (or hyperthreading) systems.
Doesn't the full blown Microsoft Studio have a tool that lets you lay out GUIs with buttons and other widgets, and then generates the code with all the positioning and etc ?
It seems to me that this might be one piece of a development environment still not available. I know tools like that are available for wxWindows, but what about for using Microsoft's native widget set ?
*cough*college students*cough*
Microsoft sells the Visual C++ .NET 2003 Standard Edition for ~$100. This includes the Visual C++ IDE but a non-optimizing compiler. This download might make this a cheap alternative to developers who want Visual Studio with an optimizing C++ compiler (and not all the other junk like VB.NET VC#.NEt that comes with Visual Studio .NEt 2003 Pro which retails for $600 or so.) if the compiler and linker in the dload work well with Standard Edition.
By "free" grandparent probably meant "included in the tuition and fees," as was the case at my school, rather than "distributed in breach of the EULA."
I wish I could use my mod points here. If you want cross-platform compatibility you do not want to use the Microsoft compiler!!
It's amazing how many people on this thread are slamming VC++ because of behaviour it had in the mid-90s (that's version 6 in case you've lost count) and freely admit to not having tried the most recent version, which is the subject here.
Perhaps they're on dial-up and can't afford to spend four hours online downloading the most recent version, or they want to get a word in before the story falls off the front page.
To make GCC do everything in its power to minimise generated code size at the expense of speed, use -Os.
but at least pointers to STL objects actually port back and forth
This is inherently unsafe, and still relies on using the same implementation of the STL AND the compiler producing the same internal data structures.
STL objects [generally] do not use virtual functions, as they are not meant to be derived from. As a result when you call pVector->reserve() that compiler calls its own reserve() no matter where the pVector came from.
I'm not sure how this plays out in static linking, but if you're dynamically linking stuff this has even more dangers - each DLL may have it's own heap, and you can't allocate something on one heap and free it on another. This is one major advantage of COM's reference counting - the object frees itself to the proper heap.
Trees can't go dancing
So do them a big favor
Pretend dancing stinks!
The $109 version of VS.NET (pre-2003) included only the non-optimizing compiler. There's a bit of latency in people's perception of Microsoft product lines, caused in part by the large size of the binary packages that Microsoft provides compared to the slow throughput of a PPP-over-v.90 connection, which is the fastest Internet connection affordable to residential users in many geographic areas.
even less funny. And managed to get modded up! Congrats!
How about the IDE's debugger? Quite simply, nothing else beats it.
Not to mention the faster code generation that others have already mentioned here. Yes, believe it or not, Microsoft employs some incredibly smart people who know how to write a really good compiler.
That's why I was always pissed off when Linux advocates would incorrectly say there were no free compilers for Windows. For years now Microsoft has been givnig away their compiler.
If you're still using something less than Windows 2000, you should spend the $100 (not $207 that you lie about) to upgrade to at least 2000. It's been four years now--you don't still use a Linux kernel from four years ago, do you?
.NET Framework SDK is free.
Sometimes I wonder why there are so many stupid "BSOD" jokes (I haven't seen a BSOD in five years), then I see that a lot of people here still haven't gotten off the 9x line like most everyone else has. Which explains it.
The
He's right. MASM didn't produce the correct binary sometimes. Amazing. Amazingly abusive. Borland had no problem producing an assembler that worked well.
Except that he wants a compiler that doesn't produce crap code.
Does anyone know what Microsoft uses to develop Internet Explorer and Office for OS X?
No surprise it frantically got modded up +5 Funny.
you should spend the $100 (not $207 that you lie about)
How much does it cost to bring an older machine's RAM up to spec for Windows XP? Remember Gates' Law: Microsoft operating system and office productivity software becomes half as efficient every 18 months or so.
The .NET Framework SDK is free.
The CD costs money for users that don't have high-speed Internet access.
Only on Slashdot does Microsoft giving away a free command-line compiler (which they've always done in the past along with the rest of the SDK) somehow mean "MS is worried they're losing their development community."
.NET apps"--.NET has been a free download since the very beginning.
Losing it to what? Windows is 95+ of the market out there. As pointed out before, this isn't some "aggressive effort to get people to start developing
Come on, guys, let's stay rational here.
People also tend to perputually generate the stuff. So if someone was in the position to spend 400 bucks on a computer, although that money is now gone, chances are that they will eventually have another 400 bucks.
Really, though it all comes down to priorities.
Reminds of a time when I walked into a Bally shoe store. Extremely overpriced footware that makes VS.NET enterprise edition seem like a bargin, in some cases. After browsing for a few minutes a salesman walked over and asked if I was interested in anything. I chuckled and made an offhand remark about the products being nice but not being able to afford anything. He chuckled back and said "You can afford as many pairs of these shoes as you want." I gave him a puzzled look and he replied "But only if you want them."
It took me a second for what he said to sink in, but by god, he was right. If I wanted those shoes I'd have a pair. Maybe not that day, but a week or a month down the road, I'd have them. Just like I have the pretty PDA phone I can't afford, the car I can't afford, the laptop I can't afford, the shed full of badass power tools I can't afford, and everything else that I have that cost a LOT more than shoes.
PS. Before you make a 'yanks love credit cards' or a 'you must have your mom wrapped around your finger' comment consider the fact that I a) have not gotten a dime from my parents since I turned 18 and b) have ZERO debt, save my house, which I simply could not attain (in a reasonable timeframe) without using credit.
There's no "change of heart" because the SDK/compiler was always a free download.
C'mon, people.
Heck, the CD I have is out of date and I have to go to the developer's tools page http://developer.apple.com/ to download the newest version anyway. Why bother giving me a CD? Just a pamphlet (nice and bio-degradeable and recycled paper if you could please, since I'm throwing it away anyway) giving me the URL?
Or a link from the OS? OH wait! There is one! Apple Menu, Mac OS X Software, Clink on "Developer" in the web site's menu.
Why were we talking about distributing CDs again? Developers will most likely be downloading the latest version of the tools anyway. (Have you not updated gcc? Visual C++?) Make the tools available, and they will code.
I am, and always will be, an idiot. Karma: Coma (mostly effected by
IIRC, Electric Fence detects heap buffer overflows (presumably using guard pages). MS has AppVerifier, which allows you to turn that on for arbitrary programs at runtime. It also has a bunch of other settings you can tweak, like causing the OS to report a different version. It's a great tool for testing obscure boundary cases.
The security checks metioned here are at code-gen time. They do things like insert cookies on the stack to detect stack buffer overflows.
Not everyone has broadband. Downloading the developer tools takes a long time on a dial-up connection.
Then chop your tar.gz or whatever into 512KB chunks and write a two line script to concatenate them all together.
After downloading a couple chunks, a user will notice that the site has exceeded its bandwidth for the day. And how will Windows users, who tend to prefer a monolithic setup.exe, figure out how to run the script to concatenate the parts of the archive together? I've had users who complain in e-mail that they can't run a program because they're missing a DLL that was listed as required right next to the program's download link.
Of course, this was all before I discovered SourceForge.net and Savannah, but patent holders refuse to license some processes for implementation in free software.
So if someone was in the position to spend 400 bucks on a computer, although that money is now gone, chances are that they will eventually have another 400 bucks.
Yeah, but when? $400 can mean anything from a few minutes to a few years of time.
Think outside USA, where $400 can be a lot. Sure, you can save it - it's going to be painful, but stuff you need is stuff you must have. BUT. You're a student, you depend on parents that don't have a lot of money (add a few siblings in the mix and you'll see) and they already paid for your computer, so you have to make do as cheap as you can and fast, because school is starting. Why spend the full price when it's a lot for you and the pirated version is cheaper? It's not like you'll get audited or something - and a better IDE does help with the hw speed.
It's not 'good' or 'bad'. It's about survival in a given environment.
I remember fondly the days of writing machine code by hand because I didn't even have an assembler handy (old Z80 64KB system from the mid-80's, came with BASIC in ROM, but that's it). I sat there with a list of Z80 opcodes in hex, and did my thing. Those days are long time though. This is a new era where apps are mostly written in high level languages, for speed of developement, portability, and maintainability.
Then again, I never muched like the x86 chips, so I was more than happy to not have to deal with them directly. Z80 and M68000 had much cleaner, elegant design and were a joy to work with.
POINT = If you want to develop for $current_version of OS X, you are eventually going to be forced to either download the devtools or order a CD.
No, in all seriousness one of the reasons I don't use a windows on my home machine is it doesn't have a free compiler included with it (or even on a second "tools" CD.)
... Oh I see where this is going.
I'm sure I'm not really the target audience with MS Windows but I think it's worth pointing that if it came with a compiler I'd be much more impressed. And while I'm dreaming add perl and bash and pipes and elvis
I don't think I'm looking for *nix clone. I just want a system that lets me get work done. I mean virutal desktops are huge for those of us who have to task switch a lot.
So, no more need to install precompiled and tested binaries, you can now port the exact same code (where did you plan on getting it?) by hand yourself and find a whole new set of bugs. Yeah, brilliant. Oh, you say you weren't going to use the GNU code? Great, yet another weird variant of coreutils.
Installing Cygwin is hardly a chore. I click setup.exe, tell it what to get, and walk away.
If you don't like the restrictions that come with the POSIX-layer DLL, then install MinGW instead. Same tools, same source code, same GNU extensions that we're already used to, no cygwin1.dll.
You're either smoking crack or you haven't actually tried installing Cygwin in the last three years. I regularly run xterms under XP's own window manager, integrated clipboards, latest builds of just about everything. If you claim *nix stuff has been "missing," then you clearly haven't tried looking.
You cannot apply a technological solution to a sociological problem. (Edwards' Law)
i'm personally having a bit of trouble understanding section 3 of the EULA.
section 3.1 requires that software made with this compiler be distributed under (and i quote) "pursuant to an end user license agreement (which may be "break-the-seal", "click-wrap" or signed), with terms no less protective than those contained in this EULA" (emphasis mine)
section 3.2 is less clear. part (b) requires that the "Redistributables" (which, by that, I assume means the standard library and the API libraries) must not be distributed "in any manner that would cause the Redistributables to become subject to any of the terms of an Excluded License." it then defines "Excluded License" with a description that sounds suspiciously like the GPL and related licenses. (i.e., no Open Source licensing.)
section 3.1(ii) is an odd requirement: "(ii) that the Redistributables only operate in conjunction with Microsoft Windows platforms;" it sounds to me that it is explicitly excluding ReactOS and Winelib. (please correct me. i want to be wrong here.)
under those restrictions, doesn't this unduly limit us as programmers? shouldn't we be the ones who decide how our software is distributed? Microsoft is requiring us to guard our code as closely as they guard theirs. isn't this a bit extreme?
again, someone please correct me where i'm wrong. i want to be wrong.
grey wolf
LET FORTRAN DIE!
grey wolf
LET FORTRAN DIE!
Besides, if you aren't using something, it gets paged out.
And watch the hard drive light stay on constantly as the least-recently-used threshold drops down to within the last fraction of a second.
And another thing: how would one go about learning which services that come installed on Windows are or are not necessary? Does the user have to disable one service, reboot, hope for the best, and rinse and repeat?
Ah but do you rememebr the 6502 processor? It had one single accumulator, a stack pointer and the X and Y reference registers. Rather slim. Yet elegant.
A friend of mine and I were able to implement a Huffman encoder and decoder in 680 bytes. Yes, bytes not kilobytes. It was probably the tightest program I have even made.
The ultimate 6502 program was probably the one made by the Woz to calculate e to the full accuracy afforded by your RAM, using all the tricks in the book.
Quite Ironic. The respectful upper-case J and C combined with the disrespectful use of the name.
blog.sam.liddicott.com
On a windows system I have done some development on recently (this year) there were cases where code modules needed to obtain summary information from other user systems.
The public way was to query each user system for the data, and to poll for updates.
The official secret way we had to fight to get access to consisted of being able to register for callbacks for changing values in a central data store shared by all the user systems.
That makes simpler, faster and more responsive software and increases battery life.
There are important support and "API stability" reasons why some APIs remain secret (or restricted) and MS sometimes have to weigh up the advantages and disadvantages of revealing some APIs still in development.
I don't always like their decisions but I understand the reasons behind them.
So yes, there are hidden APIs that can bring great benefit. And yes it can make code more brittle and we needed more per-target compilation configurations, but it was worth it for the speed, simplicity and battery savings in our case.
Sam
blog.sam.liddicott.com
Secton 3.1:
you agree: (i) except as otherwise noted in Section 2.1 (Sample Code) to distribute the Redistributables only in object code form and in conjunction with and as a part of a software application product developed by you that adds significant and primary functionality to the Redistributables ("Licensee Software"); (ii) that the Redistributables only operate in conjunction with Microsoft Windows platforms;
I would not take it if they paid me, even if there were code samples included Other posts point out that no actual code is included, but that could change at any time. The paranoid part of me says they will, after a bit of early adoption and favourable review (except about the silly part where it says you're allowed to share code they didn't include, those crazy microsoft lawyers) they will then quietly begin including sample code that is library code...
It brings to mind a sig i saw a while ago to the effect of "the biggest hurdle microsoft has had in defending themselves is that they are massively, demonstrably guilty."
If opportunity came disguised as temptation, one knock would be enough.
3^2 * 67^1 * 977^1
Source code review will not help you to detect back door introduced by compiler.
Maybe next we can have a usable shell from which we can type those commands. (Don't tell me about CMD.EXE with its horribly confused history and 'rectangular' cut-and-paste so bad it must be deliberately bad. No, don't point me to implementations of rxvt that don't support the MS Console API and hence don't support most command line applications.)
Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
It looks like this: @
"...a generation of kids has grown up thinking Trance is the shittiest music since country and western." - Paul van Dyk
Dear Moderators,
:s
You suck.
This is flamebait.
iqu
That's funny, because I'm on dial-up and it takes me hours to download new versions of things, too. Strangely, I don't find myself posting crap based on knowledge seven years out of date in an effort to sound clever, though.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
found someone already using MS VC to build perl (miniperl) for windows at perlmonks.
peterrenshaw ~ Another Scrappy Startup
When I was a kid, the only game we had to play was pong, and we spent a hundred dollars on the game, and played it every day, rather than going outside, AND WE LIKED IT!
When I was a kid, we programmed using punched cards, and when there was a bug in our program, we had to throw away the punch card, and start a new one, AND WE LIKED IT!
When I was a kid, we were so poor, that we could not afford chicken breasts, or even thighs and legs, so we had to settle for chicken wings and necks, AND WE LIKED IT!
When I was a kid, we had to use assembly language, and keep our code down to 640 bytes of memory and 2 4-bit registers, but we learned a hell of a lot more about computers than you, AND WE LIKED IT!
When I was a kid, we were lucky if our girlfriends wore deodarant, let alone shave their legs, if we were even lucky enough to have a girlfriend, but that didn't matter, because WE LIKED IT!
Comparing C++ compilers
This paper compares C++ compilers to see which ones follow the ISO standards.
MS Have been releasing their C and C++ compilers for years as part of their freely downloadable SDK. Damn this is a lot of fuss over nothing.
Hmm, IANAL, but...
Couldn't we just write the code, without exactly this compiler in mind, and instead of distributing the object code produced by Microsoft's product, distribute the source code produced by... textpad?
That way, it wouldn't really be anything to do with Microsoft, how one distributes the source code, would it?
Just a thought.
--Amos
For me, it's too late. I have already migrated to another platform. On windows, I spent many years fighting a microsoft compiler not conforming to a C++ standard, as well as underdocumented APIs. That was a main motivation for my first try of Linux, some two years ago. And today, I am completely Windows-less.
There you are, staring at me again.
open4free
Does anyone know if this compiler can be integrated to work relatively seamlessly with the Sharp #Develop IDE? I've got the IDE already, but my only option for getting the compiler this week is to download it over 56k modem (grr!) so I'd like to know if it's gonna work before I tie up my laptop and phone line for 1/2 a day.
.NET framework, but having it also support C++ using the optimising compiler would be a big plus.
If it works, the combination of both would make an excellent "poor man's" Visual Studio. #Develop already supports C# via the
landfills full of cds
MOST landfill is 3 things. Houshold waste, Yard waste, and Industrial waste. Such as construction and office type material. See a house getting gutted out where do you think they are throwing those 2 tons of garbage? Most of the time that industry isnt even REQUIRED to recycle. City planners usually miss that when they are making a new landfill. They add a new development which increases landfill usuage. But ALL the debris used to create that development is usually missed. CD's would be a FRACTION of what goes in. Sure they suck. But I would be willing to bet MOST of the crap people throw away is junk mail, the filler in bills, food waste, and the stuff the food came in. Of that CD's is a small part of 1 segment. You can also take that CD and mark it return to sender. It will not be returned BUT the post office MUST recycle it (its the law).
Now for extra CDs in other products. Well you are going to have to live with it or 'ask' who you bought the CD from why they have 2 CD's instead of 1 DVD...
IF I told my parents I NEEDED visual studio when I was in school. I would have had a copy within a week. I bought several dev tools when I was in school (borland stuff). The money was there. They made me justify it. They even made me contribute. But eventually I got the tools.
One of the parents in this thread made the comment if you WANTED it you would have the money to get it eventually. You would SAVE for it. Yes in some countries 400$ is a lot of money. It is here TOO. But if you want it bad enough you SAVE FOR IT. It is nearly 1/4th of what I make in a month and I do not make a 'little' bit of money. At one time it would have taken me many months of saving to get that amount of money.
Its also about a matter of priorities. Most of the people I went to school with would these days be the kind that had the 'hot rig'. The cold lights. The 500 dollar video card and so on. The kind of person who 'pirates' software usually has the most bad a$$ knuckledragging rigs. Yet they can not peal open their wallets for a 30 dollar piece of software. Yet they do not think twice about buying a 400 dollar cpu that is 1% faster than the last one they had.
When group projects came around in college, someone always had a Visual C++ 6.0 CD available for people to use. Since most of the students used windows at home, it was the easiest way for people to have a common development environment. Especially if the project had GUIs, etc.
http://github.com/gbook/nidb
hrm musta used a bigendian machine
Good point. Now convince me there are more than 176 million pounds of them being thrown out in the U.S. alone.
Sure, let's come up with better recycling & disposal methods for common things like CDs. Let's take the cost of disposal into account. But let's go after the big offenders.
What if you are a kid using your parent's computer? Mum, I'd like to buy this compiler, it costs, oh, $100. That's rather a lot of money if you are 12.
you mean like this?
grey wolf
LET FORTRAN DIE!
Probably too late for most people to see this but there's a big point being missed here.
Sure they're giving you a compiler to use. With their new "trusted computing" model, you have to pay them to "certify" executables. All this does is make it easier for M$ to make more money certifying applications for their new OSs.
--
All I know about Clinton is that he had a job before Bush was president.
...you basically have to be a monopoly to aggregate that much cash, to have an income so far above your expenses. The bottom line is that MS could still provide the same value to their customers for a fraction of the price and still make a handy profit.
They would be unable to do that in a free market because somebody else would sell the same service or facility for 90% of the price and still make a fat profit, then someone else would cut in at 80% and so on. Therefore, they are controlling their market.
Now do you see why they're terrified of Linux and FOSS?
Got time? Spend some of it coding or testing
I find it weird that you note down so many benefits of using vb and at the same time proclaim your hate for it. ... sometimes it shines even in these areas. I am not a die hard vb fan, but i honestly think that there are lots of applications where vb is *the* ideal dev platform... would you clip your fingernails with a sword? :)). He went so far as to develop a version of it for multi-processor machines when he consulted for Thinking Machines ... too lazy to link to the url, but i think you can find the info on wikipedia.
You are certainly not alone. And I know vb has its pitfalls.
I sometimes wonder if the hate for vb has something to do with its originator being M$. Or maybe it is considered infradig by people who know _better_ languages.
The only reason vb gets so much badmouthing, IMHO is that people attempt doing things with it that it was never meant for
On a related note, R.P. Feynman only knew one computer prog. language --yes, that's right, BASIC (yea i know, not vb
Dont make a better sig, you insensitive clod!
REBOL/core is not Open Source, so it cannot replace Mono.
Has anyone managed to apply this download to a Visual Studio .NET 2003 Standard installation, to get the benefits of an optimizing compiler?
.NET crap in Professional addition, I bought Standard edition. Now it seems MS is giving away the optimizing compiler. But how to enable its use from within Visual Studio? has anyone figured out a way to do this?
Standard edition disables the optimizing compiler. You have to pay for Professional edition to get the optimizer. Being cheap, and not needing all the
"The Internet is a sphere whose center is wherever there is intelligence." (Apologies to HDT.)
The CD costs money for users that don't have high-speed Internet access.
In that case, Linux distros aren't free either. Next.
I think Microsoft just can't win with you...
Heh. My dad bought me Turbo C (lack of ++ intentional) when I was 14 years old. If I had to guess I'd say he spent about 100 bucks on it. As a return on his investment he got a kid that moved out of the house at 18 and actually calls for things other than to ask for money.
I tend to think even the stupidest parent might jump at the chance to buy a kid something other than the fancy clothes they usually ask for.
A lot of college students get their computers as high school graduation presents from their family. Others get their parents' old computer when they buy a new one. All in all, at school I didn't know a whole lot of kids who bought their own computers.
Also, being college students most of them pay for the rest of that stuff with a cocktail of student loans, work/study, more of their parents' cash, and the like.
And even if you have a few hundred bucks in the bank, $100 is a fairly prohibitive cost when you're putting only a couple thou a year in your pocket, tops.
And even if you can afford it, gcc is still a hell of a lot cheaper than the MS dev tools.
No question there that $100 is a good investment for a parent. Most likely a kid will pirate it anyway.
However a kid interested in computers might like to try different languages, different toolkits, etc. The Microsoft tools are very industrial looking. Great for doing big jobs, somewhat tedious to learn for a school project. The fact remains that under Linux, if you are not frightened by the GUI (and a kid interested in computers wouldn't be) the developers' environment is superb, and free.
It's the same reason why the copy protection on their dev tools is historically weak - in the long run they're better off having Visual Studio get pirated by _everyone_ if it keeps them from losing geeks and developers to competitors.
.NET compiler available free of charge since day one, and the C++ compiler and linker have been included with the .NET Framework SDK for more than a year now. Microsoft are much more likely interested in making sure developers have access to updated tools that can help mitigate security risks like stack and buffer exploitation in C++ code.
While I wouldn't jump as readily to the conclusion that Microsoft intentionally makes certain products easy to pirate, it is certainly plausible that it may make strategic sense to effectively look the other way in certain cases. This sort of tactic might even be an effective strategy in stemming any mass migration from Microsoft OSes were it applied to Windows. Some have argued, and I agree, that ease of duplication had a LOT to do with the proliferation of Microsoft OSes in the first place.
BTW, the Windows version of Intel's C++ compiler is not free of charge, which further damages your leak-stoppage theory. Anyway, Microsoft has made a C/L version of their
-AC
I do realize you were kidding, but did you realize that they did hire Herb Sutter (The chair of the ISO C++ standards committee) to be the Visual C++ architect for Microsoft.
I'm not bashing Microsoft when I ask a legitimate question about a paragraph in the EULA.
If this does not mean a ban of GPL'ed programs, it's fine with me, IANAL. Yet, many people seem to be not so sure about that.
And don't tell me, considering MS' business pracics,this idea is too farfetched... .
I don't need a signature.
Use the Preview button, Luke!
Clever signature text goes here.
That's why the guy mentioned PJ Plauger... Dinkumware is (was?) basically a one-man consultancy operation run by PJ Plauger. I don't mean this as a slight, the guy's a frigging genius and knows more about C++ than all the people in the 400-person consultancy I work at, combined.
However, if you're still using some MS product older than Windows 2000, odds are you're not in the market for a C++ compiler. If you are looking for a C++ compiler on that hardware, then you will need one of the BSD distros or a Linux distro. BTW both come with best of breed C++ compilers.
And though it was a retorical question, the answer is yes. Yes, I still run the 2.2 series Linux kernel where applicable. And yes, it's from 1999. It's small, rock solid, secure and been tested hard for 5 years. One such 2.2 installation provided %100 availability around the clock for three classes of students, requiring only 10 minutes of preventative maintenance for the 6 month duration of the project. No corrective maintenance was required. Just try to get that much mileage out of Redmond. For other things, more complex firewall rules for example, there is the 2.4 and 2.6 kernels.
The problem with going from Windows 95/98 to Windows 2000 is that not only do you change the kernel, but also the GUI, shell and all the apps. That's not the case with BSD, OS X, Linux, QNX and others - drop in a new kernel and keep using the old tools until you decide that it's time.
Beta is broken and the link to classic doesn't work. Stop wasting our time or there won't be anybody left here.
So many people don't understand there's more to a computer than the operating system. I used to have frequent crashes with Windows XP but that was due to faulty video-card drivers (it was a laptop, the drivers had to come from Dell). Anyway after a few driver updates, the crashes stopped. I knew what was causing the crash because Windows XP prints a neat error dialog after you reboot (but only if it crashes, not necessarily from a freeze). Anyway everything before and including WinME is crap, but WinXP at least works fine, and I'm sure Windows 2000 does too, all things being equal, since I know a number of websites hosted on it that are never down.
~CGameProgrammer( );
Giving away development tools would encourage people to learn to program and write their own programs.. These programs could and often would be better than MS tools, thus competing with them.. Why do you think windows has never included development tools when pretty much everything else does?
Remember the days when every computer shipped with development tools and manuals?
http://spamdecoy.net - free throwaway anonymous email - avoid spam!
This discussion is going round in circles - probably cos everyone basically agrees: it's about priorities, and it's a bitch that we have to make those decisions.
"Why buy caviar, when you could get far more strawberries and cream for the same money?" Unless you're Bill Gates, or that Ikea guy who's bizarrely even richer, you have a limited amount of money to spend at any time, and you have to choose how to spend it. Fact.
When we say "can't afford", we just mean "can't afford along with all the other things I've bought".
You can't use rotor to build a true kernel. How would you boot it, as it requires a runtime environment to JIT-compile and then run?
But can I build my own IDE?
then r# maybe?
grey wolf
LET FORTRAN DIE!
I haven't used Visual Studio since 5.0 when I was in college, but haven't I heard buzzings about the EULA on later versions prohibiting writing software that competes with MS Software?
Stick to Python or Ruby, the results are both more predictable and safer.
Got time? Spend some of it coding or testing
forTuneCooOkie
You are right about that. In fact in our code the STL objects are only being modified by one file and thus only one compiler, only the portability of declaring a pointer to one is tested. However it is true that a pointer to an STL container declared in one compiler links and has the same name as the same pointer declared in another compiler. This means the name mangling is compatable.
...in those attacks, like they have in the numerous Microsoft leaks. Imagine the strife we'd be in if they stole the source to Debian!
But seriously, how shall I put this? ChkRootKit, TripWire, AIDE, FICC, ProSum, Toby, msec, Nessus, LSAT, Saint, LIDS and of course if you want totally proactive, try SELinux, Medusa DS9 or OpenWall. That's hardly an exhaustive list, but it does hit many of the highlights. Boy, youse bin livin in a monoculture too damn long!
Got time? Spend some of it coding or testing