Slashdot Mirror


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. ;-)"

953 comments

  1. Weird Output by naden · · Score: 5, Funny

    I just tried the following program:

    #include

    main()
    {
    printf ("Hello World!\n");
    }

    And I got the output "Hello Suckers" .. anyone have any idea why ?

    --
    Funtage Factor: Purple
    1. Re:Weird Output by Anonymous Coward · · Score: 0

      I just tried the following program:

      #include
      main()
      {
      printf ("Hello World!\n");
      }


      ...forgetting something? microsoft compiler must be really great if it can compile that code!

    2. Re:Weird Output by naden · · Score: 1, Informative

      Because you're a retard who doesn't know how to code C?

      Or how about because I pressed Submit accidentally instead of Preview .. do you think that could have something to do with it ??

      #include <stdio.h> .. it strips out the HTML tags if you set it as Plain Text.

      not that I have any idea why im responding to an AC .. heh its a quiet night.

      --
      Funtage Factor: Purple
    3. Re:Weird Output by Anonymous Coward · · Score: 0

      Might be because the 'Comment' box doesn't like something eclosed into < and >?

      Here, let's try:

      If you didn't see <testing> then the comment box strips the include thingy...

    4. Re:Weird Output by Anonymous Coward · · Score: 2, Funny
      Blame Slashcode for removing
      <stdio.h>
    5. Re:Weird Output by El_Ge_Ex · · Score: 1, Informative

      Sad as it is, VC++ probably would compile that. One of the reasons MS wasn't ANSI standard was that it would do things like let the programmer use printf() without using or .

      One of the weirdest though is the time I renamed a .c file to cpp and recompiled. Strange results....

      -B

    6. Re:Weird Output by naden · · Score: 1, Insightful

      So you're a retard who can't code C or HTML.

      No. More so I'm a retard who keeps pressing Submit instead of Preview. There's a difference.

      --
      Funtage Factor: Purple
    7. Re:Weird Output by Borg453b · · Score: 2, Insightful

      Never mind the troll. I thought your "suckers" joke was funny, and so did my bro when I told him about it

      --

      - Mad, ingenous - they've both left you puzzled -
    8. Re:Weird Output by GreyWolf3000 · · Score: 0, Offtopic
      We need more people like you and your brother here.

      He who collects 'leet' points by picking on others to gain self esteem probably down moderates every post he doesn't like when he gets mod points.

      --
      Slashdot: Where people pretend to be twice as smart as they really are by behaving like children.
    9. Re:Weird Output by Anonymous Coward · · Score: 0
      "without using or ."

      You made the same mistake, lol.

    10. Re:Weird Output by Anonymous Coward · · Score: 0

      I thought the suckers joke was mildly amusing - but the 'retard who can't code C or HTML' was also quite funny - if only cos he kept feeding the troll...

    11. Re:Weird Output by KarmaMB84 · · Score: 2, Funny

      Does MS's compiler no longer require a return type for main()?

    12. Re:Weird Output by Anonymous Coward · · Score: 0

      Default return type is int so an explicit return type is not necessary (unless MS's compiler is different than gcc).

    13. Re:Weird Output by ion_ · · Score: 5, Funny

      And I got the output "Hello Suckers" .. anyone have any idea why ?

      I tried it as well, the bug exists indeed. The \n really was missing from the output.

    14. Re:Weird Output by kannibal_klown · · Score: 1

      With MS's latest C++ compiler (and with newer Os's), you need "\r\n" to make a new line. This drove me nuts when I first started doing it. Now, it's not so bad.

      Keep in mind, though, and that "endl" still works fine.

    15. Re:Weird Output by Gabrill · · Score: 3, Insightful

      You guys are evil, and I like it. It's perfect justice to hit M$ with a Slashdot trying to download a tool that represents one the greatest advantages of open source and Linux (at least a little): the native compiler.

      --
      Always going forward, 'cause we can't find reverse.
    16. Re:Weird Output by scotch · · Score: 2, Informative

      Not for standard compliant C++, bucko.

      --
      XML causes global warming.
    17. Re:Weird Output by Anonymous Coward · · Score: 4, Funny
      unless MS's compiler is different than gcc

      No; they're actually just the same compiler, packaged under different names and under different licenses.

    18. Re:Weird Output by Anonymous Coward · · Score: 0

      See, now, I know funny, and parent is funny.
      Mod up, Jaques Assailles.

    19. Re:Weird Output by squiggleslash · · Score: 1
      The program quoted was C, it didn't make use of any C++ features, it's reasonable to assume therefore that Visual C++ compiled it as a C program.

      Last I looked VC++ was, like most C++ compilers, capable of compiling a standard ANSI C program. Has it been changed so it can only compile "standard compliant" C++?

      --
      You are not alone. This is not normal. None of this is normal.
    20. Re:Weird Output by tesmako · · Score: 2, Informative

      Actually implicit int return type is no longer legal in C99 so a good compiler should at least warn about it by now imho.

    21. Re:Weird Output by beforewisdom · · Score: 0

      The answer is obvious, you used a C++ compiler to compile a C program.

    22. Re:Weird Output by Anonymous Coward · · Score: 1, Funny


      A "good" compiler?

      We're talking about Microsoft products here, buddy. ;)

      "

    23. Re:Weird Output by Anonymous Coward · · Score: 0

      I thought it was the fact they did an #include without a header file named?

      What does "#include" mean? not stdio.h implicitly I hope you know ;)

    24. Re:Weird Output by Anonymous Coward · · Score: 0

      Standards? You means Microsoft uses standards? Witch! Witch! Burn him alive! How dare he commit this blasphemy against the great cult of Torvaldism

    25. Re:Weird Output by Anonymous Coward · · Score: 0

      I am a pure Stallmanite you insensitive clod!

    26. Re:Weird Output by The+Snowman · · Score: 3, Informative

      With MS's latest C++ compiler (and with newer Os's), you need "\r\n" to make a new line. This drove me nuts when I first started doing it. Now, it's not so bad.

      That is weird, I do not have this problem. The I/O layer should translate newlines for you. All I ever use in Windows programs (console and GUI) is '\n' and it ouputs "\r\n" as well as reversing it on input. This is in both MinGW and Visual C++

      --
      24 beers in a case, 24 hours in a day. Coincidence? I think not!
    27. Re:Weird Output by treke · · Score: 2, Informative

      The header file part was eaten by /. since it looks like an html tag. You need to use the html entities for the greater and less than signs.

    28. Re:Weird Output by Anonymous Coward · · Score: 0

      MSVC will look at the extension for the file being compiled to make that determination, unless you override it with some command line switches. The original poster didn't give us this information (but in the year 2004 .cpp would be a good bet, especially on Windows)

    29. Re:Weird Output by shrykk · · Score: 2, Interesting

      Beacuse you can rely on implicit in return from main, or no return statement, but not both.

      For undefined behaviour, the compiler is quite entitled to change your output, or do anything.

      --
      #define struct union /* Reduce memory usage */
    30. Re:Weird Output by jack_csk · · Score: 1

      Ya, and the MS version introduces a bug so that a friend function accessing a private member doesn't work (Even though they fix it)

    31. Re:Weird Output by dustmite · · Score: 1

      Ditto, I have "\n"s in probably thousands of lines of code all over the place, haven't noticed any such problem either.

    32. Re:Weird Output by exp(pi*sqrt(163)) · · Score: 3, Interesting

      You may mock! years ago Watcom had a bug in their C compiler that somehow confused the size of a char with the size of an int. This meant I could write a piece of code, apparently to print out a string one character at a time, but instead printed every fourth character instead. I sent them a bug report including some code that would, in the absence of this bug, print the message "fortune coookie". Note, the triple 'o' isn't a spelling error. Think about it!

      --
      Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
    33. Re:Weird Output by Curien · · Score: 0, Troll

      How'd that get modded informative? In ANSI C, you don't need the include to use printf. Please STFU, since you obviously don't know what you're talking about.

      --
      It's always a long day... 86400 doesn't fit into a short.
    34. Re:Weird Output by tmillard · · Score: 1

      Ha Ha, the html thinks stdio.h should be a tag

    35. Re:Weird Output by Anonymous Coward · · Score: 0

      heh-heh-heh, whoops. :)

    36. Re:Weird Output by craigtay · · Score: 1

      You have to include stdio.h to use printf..

    37. Re:Weird Output by Curien · · Score: 1, Troll

      No, you don't. In C, calling an undeclared function implicitly declares it as taking a indeterminate number of arguments and returning an int. Another person who doesn't know what they're talking about... again, please STFU.

      --
      It's always a long day... 86400 doesn't fit into a short.
    38. Re:Weird Output by ElliotLee · · Score: 2, Funny
      The header file part was eaten by /. since it looks like an html tag.

      /. is too hungry when it comes to eating html tags..

    39. Re:Weird Output by Anonymous Coward · · Score: 4, Informative

      I'm fairly sure this behavior is required by the C/C++ standard. The key is to open streams in ASCII mode, rather than binary mode. Because C/C++ are designed to be portable, the standard I/O library is required to convert the line endings (but not in binary mode). Unix's binary mode is equal to its ASCII mode (since it uses \n natively).

      If the standard I/O library didn't understand line endings, then functions like fgets() could never work, and working with strings (where you expect to be able to match against \n) would be much harder.

      Networking is different, since it uses raw I/O, and doesn't pass through stdio's translation layer. Also, you usually want the binary data on the network. :) The Internet mainly uses \r\n as the line ending (although this made sense in the past, why they continue to stick with it in new protocols is beyond me, besides maybe the ability to easily telnet in and type in raw protocol commands by hand).

    40. Re:Weird Output by CabanaBoy · · Score: 4, Informative
      When you fopen() a file in binary ("rb", etc.) mode, you do have to take that into account. However, when you open in text mode ("r", "w", etc.) the stdlib does linefeed conversion for you.

      Here's an excruciatingly detailed explaination.

      Note that fseek() with SEEK_CUR will almost always fail in text mode, since the number of bytes read may vary from the current offset in the file due to the conversion. Recording the current offset with ftell() followed by an fseek() with SEEK_SET will clear that right up.

      Crazy but true. This has corrupted my data more than once. Here's an excruciatingly detailed explaination.

    41. Re:Weird Output by craigtay · · Score: 1

      Aparently your not talking about ANSI C?

    42. Re:Weird Output by Grant_Watson · · Score: 1

      Aparently your not talking about ANSI C?

      Strictly speaking, ANSI C is C89, which permitted a lot of old K&Risms. (K&R was the name for the pre-ANSI version of C.) Functions didn't have to (couldn't) have their parameters specified in K&R, and if you didn't specify the return type either, it defaulted to int.

      Now, this is unwise in modern code for a good number of reasons. For starters, a function is called differently when it's not prototyped -- though for variadic (variable argument) functions like printf, things work more or less the same as they used to. This was deprecated, IIRC, and it's probably gone in C99.

      In other words, you shouldn't do it. If you do, a good ANSI compiler should scream bloody murder, but it should compile the code.

      (This offtopic note brought to you by Grant's karma-to-burn fund. ;-))

    43. Re:Weird Output by Curien · · Score: 1

      Unwise? Yes. But we're talking about standards /conformance/ here. The MSVC compiler correctly compiled a C snippet, and people are fscking complaining about it! (And I got modded "troll" for pointing it out... sheesh. No wonder we're being outsourced to India.)

      Second, a compiler screaming bloody murder is a QoI issue. A good ANSI compiler should *compile the code*; a well-implemented compiler should also issue a warning.

      Third, it's still in C99. Those guys didn't remove /anything/.

      --
      It's always a long day... 86400 doesn't fit into a short.
    44. Re:Weird Output by squiggleslash · · Score: 1

      I'm glad to hear it, although I'll be even gladder (to coin a word, lazily, because I'm like that) if they start putting a prototype for main() in the standard headers, so we stop seeing people declare "void main()"

      --
      You are not alone. This is not normal. None of this is normal.
    45. Re:Weird Output by Curien · · Score: 1

      Honestly, no, I was talking about ISO C, but ANSI C is nearly the same thing (and my post applies equally to it).

      --
      It's always a long day... 86400 doesn't fit into a short.
  2. in other words by Anonymous Coward · · Score: 1, Insightful

    microsoft are giving away a C++ compiler, like gcc, for free.

    Seems like a pretty good thing to me.

    1. Re:in other words by Anonymous Coward · · Score: 0

      and the source code for this compiler (and the rights to use their patents in applying the same linking techniques in gcc) are where? free my arse...

    2. Re:in other words by Anonymous Coward · · Score: 1, Informative

      like gcc, for free

      No, not like GCC. MS's compiler is free in the sense that you do not have to pay anything for it. GCC is also available at no cost, but it is free in sense that it is an open product, developed using the principles of free speech.

    3. Re:in other words by Anonymous Coward · · Score: 0

      So you're saying that the MS compiler was developed using the principles of communism or something?

    4. Re:in other words by Anonymous Coward · · Score: 0

      Yes.

    5. Re:in other words by lee7guy · · Score: 1

      No, the MS compiler was developed using the principles of capitalism.

      Nothing wrong with that, but GCC and other OS give you more for the same cost, as you get both the compiler and the source for it.

      --
      Ceterum censeo Microsoftem esse delendam
  3. MS seems to be doing a lot of this lately... by Amiga+Lover · · Score: 5, Interesting

    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.

    1. Re:MS seems to be doing a lot of this lately... by paganizer · · Score: 3, Troll

      The page seems to indicate that the .net runtime might be installed on your machine if you execute the download; can anyone who has done it confirm this for me? I don't want to have to drive a wooden stake through my CPU.
      I'm a MCSE, but I would never purposfully allow .net in my house. it activates all my tin foil hat's little buzzers and lights.

      --
      Why, yes, I AM a Pagan Libertarian.
    2. Re:MS seems to be doing a lot of this lately... by Anonymous Coward · · Score: 5, Informative

      just to clarify this Apple's dev tools ARE included, just NOT installed by DEFAULT.

      EVERY new machine SHOULD come with a separate developer's CD just as every boxed version of OSX should. The end user just has to apply some elbow grease in a) noticing this, and b) bothering to install it.

      Also in the unlikely event that the developer CD is not present or there is an upgrade it is ALWAYS available(even to free online developer members) as a download. Hell even the old classic dev toolset(name escapes me at the moment) has been available free since, what?, 1994/5 or so?

      The only commercial environments are things like Codewarrior(Metrowerks), Absoft FORTRAN, RealBASIC, etc. Codewarrior MIGHT be worth it if you are trying to make money as their compilers are proprietary and USUALLY optimize much better than gcc. (I don't think that anyone has done a recent set of benchmarks of Apple's latest improvements of gcc v. current Metrowerks compiler though...) ...and now that I'm thinking of it most OSes of recent years, free AND proprietary seem to come with some sort of gcc based plus IDE dev tools any more anyways, e.g. BeOS, *Linux, *BSD, OSX, MacOS 7.5-9.x etc. On top of this didn't M$ used to have pretty decent pricing(surprisingly) for VC++/dev studio only anyways? (It's been a while since I've bothered to check.)

    3. Re:MS seems to be doing a lot of this lately... by Artega+VH · · Score: 2, Informative

      For OSX dev tools come free on the software update cds.

      xcode, interface builder and more.

      also see The Fink Project

      --
      groklaw, wired and slashdot. The holy trinity of work based time wasting.
    4. Re:MS seems to be doing a lot of this lately... by SoSueMe · · Score: 5, Informative

      The very first thing it does is try to configure .net on your machine.

      Since my only Windows machine is 98, it couldn't complete the rest of the install.

      Yes, it is a sacrificial test machine. I just wanted to see the EULA.

    5. Re:MS seems to be doing a lot of this lately... by ReelOddeeo · · Score: 4, Insightful

      EVERY new machine SHOULD come with a separate developer's CD just as every boxed version of OSX should.

      Twenty years ago I would absolutely agree.

      Not today.

      Only one in one hundred, maybe one in one thousand users would do anything with this CD. (And I am counting the users who make clocks or other decorations out of useless CD's.) Don't increase the cost for everyone so that you can have a CD in the box.

      What development tools? What language? What IDE? There are so many to choose from. If the CD doesn't have the right one, then it doesn't do any good anyway. As soon as two (2) of those tools on that CD are out of date, then the CD is perceived to be out of date.

      If developer tools are to be free as in lunch, then why not just make them available for download. This is much cheaper than including a CD with every computer.

      --

      Those who would give up liberty in exchange for security and DRM should switch to Microsoft Palladium!
    6. Re:MS seems to be doing a lot of this lately... by sambira · · Score: 1

      This is MS trying to fight the Open Source tidal wave it sees crashing in on Windows.

    7. Re:MS seems to be doing a lot of this lately... by The+Infamous+Grimace · · Score: 2, Informative

      If developer tools are to be free as in lunch, then why not just make them available for download.

      They are. You have to register, though. Make up a dummy account if you don't want Apple to have your real info. You can find development kits with IDEs for use with 10.2 and 10.3. I use Xcode quite a bit, although I'm also learning to work with vi and make.

      (tig)
      --
      Ignorance and prejudice and fear
      Walk hand in hand
    8. Re:MS seems to be doing a lot of this lately... by Anonymous Coward · · Score: 1, Informative

      .NET runs on Windows 98. You can get it here. The SDK is also available from that page.

    9. Re:MS seems to be doing a lot of this lately... by jellomizer · · Score: 5, Insightful

      Well I think Microsoft has found out what the biggest threat to their business. It isn't the quality, security or price of their software that makes them popular. It is and always has been how much software is available for their platform. Since the DOS days up to Win 95 or 98 (I am not sure which) Microsoft always packaged some development software with their OS. Although it was usually just BASIC but still it got people programming for them. After they got their market share they stopped giving away their development software, Then hobby developers who often turn professional developers start switching to Linux and OS X because there are development tools out there for them to program. Now over a long period of time as the old windows software companies merge go out of business, consoled or got bought out, there are less software titles available for windows. And the new programmers out there are programming in Linux and OS X get use to programming in that environment and when they make a professional grade application they release it for that platform. So after a while the software titles available to Linux and OS X could match or exceed that of Windows thus Microsoft will then need to find a way to make up the the long period of time of developers.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    10. Re:MS seems to be doing a lot of this lately... by Fulcrum+of+Evil · · Score: 1

      What development tools? What language? What IDE? There are so many to choose from. If the CD doesn't have the right one, then it doesn't do any good anyway. As soon as two (2) of those tools on that CD are out of date, then the CD is perceived to be out of date.

      Probably the standard dev-tools for the OS - ObjC compilers, linkers, debuggers. Anything else necessarily builds on top of these tools.

      why not just make them available for download. This is much cheaper than including a CD with every computer.

      An extra CD costs 15-20 cents and gives bragging rights. Is it really worth $0.15 on a $1500 system?

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    11. Re:MS seems to be doing a lot of this lately... by BrokenHalo · · Score: 1
      Only one in one hundred, maybe one in one thousand users would do anything with this CD

      Heh. Obviously I'm a curmudgeon, but one of my major gripes about MS-DOS back in 1988 was that it didn't come with an assembler.

      Since I had already been working on mainframes for 10 years by that stage, I sort of felt naked without an assembler, so I actually went out and paid good money for MASM.

      In fact, I think I've still got it on 5.25" floppies with the box and books somewhere; may be worth something on EBay now... :-)

    12. Re:MS seems to be doing a lot of this lately... by Anonymous Coward · · Score: 2, Funny

      I thought debug was the DOS assembler?

    13. Re:MS seems to be doing a lot of this lately... by Webmonger · · Score: 1

      20 years ago, there was no such thing as a CD-ROM...

    14. Re:MS seems to be doing a lot of this lately... by zulux · · Score: 5, Funny

      One could alomst say that it was developers that drive the sucuess of a operating saystem. Without developers, Linux woulden be anwhere. It's time thank all the Linux and *BSD developers, and GNU developers and other Open-Source developers. We need more Developers! Developers! Developers!

      --

      Moneyed corporations, non-working 'poor' and criminal prisoners are turning productive citizens into tax-slaves.

    15. Re:MS seems to be doing a lot of this lately... by mattgreen · · Score: 3, Informative

      The system requirements list Win2000 on up and you complain that it won't install on Win98. Classic.

    16. Re:MS seems to be doing a lot of this lately... by ajp · · Score: 3, Informative

      As it says on the downloads page: "Supported Operating Systems: Windows 2000, Windows Server 2003, Windows XP". The page also points out that it does try to install .NET (not that anyone reads the page...)

    17. Re:MS seems to be doing a lot of this lately... by andalay · · Score: 5, Funny

      Perhaps what you meant to say is:

      Developers! Developers! Developers! Developers!Whooooo... Cmon. C-c-c-c-cmon!

      If you don't get it, thats ok too

    18. Re:MS seems to be doing a lot of this lately... by tepples · · Score: 2, Troll

      So the cost of Microsoft's optimizing C++ compiler is down from 1,089 USD (Microsoft Visual Studio) to 207 USD (Microsoft Windows 2000 Upgrade plus the .NET Framework SDK).

    19. Re:MS seems to be doing a lot of this lately... by E_elven · · Score: 3, Funny

      Oh hell. *Goes in search of the Win 3.1 disk*

      --
      Marxist evolution is just N generations away!
    20. Re:MS seems to be doing a lot of this lately... by .com+b4+.storm · · Score: 2, Insightful

      If developer tools are to be free as in lunch, then why not just make them available for download. This is much cheaper than including a CD with every computer.

      Way to be sensationalist and not even entirely read the post you're replying to! Quoth the grandparent:

      Also in the unlikely event that the developer CD is not present or there is an upgrade it is ALWAYS available(even to free online developer members) as a download.

      Oh and - what is the big deal about including the CD? It's not like CDs are expensive, especially when they are mass-produced for inclusion with Macs and copies of OS X. How does this in any way "increase the cost for everyone?"

      What language? What IDE? There are so many to choose from. If the CD doesn't have the right one, then it doesn't do any good anyway.

      Uh, what the hell are you talking about? What language? How about Objective-C, C, C++, and Java? Ya know, the main languages for developing OS X and UNIX programs?

      Yes there are "so many to choose from" (REALbasic, CodeWarrior and... uh... and.....) but it's a CD that's thrown in as a gift, and it's the same tools you can download later if they become out of date. And if you don't like Xcode, you don't have to use it. You are free to go out and pay for other IDEs and development tools if you wish.

      Again, what is the friggin deal? Apple includes, for free, a bunch of very powerful development tools so that you can, for free, develop programs for their OS. Yeah, what a bunch of evil bastards they are.

      --
      "Wow, you're like some kind of superhero able to ward off happiness and success at every turn."
      -- Ryan Stiles
    21. Re:MS seems to be doing a lot of this lately... by CtlAtlDelete · · Score: 0
      Is there any reason that I should be reluctant or concerned about installing the recently released C++ toolkit on my PC running Windows XP Pro? I've so far been able to avoid installing the .NET framework even though it's sad little face keeps showing up every time I visit the Windows Update site. Come to think of it, I've been going to that site a little too frequently lately but that's another story.

      If anyone is interested in downloading the toolkit, I'm having a devil of a time downloading it now. I'm not sure if the MS servers are all swamped or if I just happen to be on a slow one but I have been downloading this small file on a cable connection for the past 2+ hours and it's not even close to finished. The transfer rate is a measly 3.17 KB/Sec. Be warned.

    22. Re:MS seems to be doing a lot of this lately... by brianosaurus · · Score: 1

      it does try to install .NET

      Are there any good tricks to stop it from installing .NET? I have an old project that I'd like to be able to compile again (I had Visual Studio at my last job, but not at home), but I want to keep my only windows computer as "clean" as possible for the few legacy apps I still need on it.

      --
      blog
    23. Re:MS seems to be doing a lot of this lately... by Moridineas · · Score: 4, Insightful

      The page seems to indicate that the .net runtime might be installed on your machine if you execute the download; can anyone who has done it confirm this for me? I don't want to have to drive a wooden stake through my CPU.
      I'm a MCSE, but I would never purposfully allow .net in my house. it activates all my tin foil hat's little buzzers and lights.



      What the hell? Informative? You're afraid of a program library? Do you not have any clue wthat .net is?

      It's users like you that give MCSE's a bad name (and pagan libertarians as well).

    24. Re:MS seems to be doing a lot of this lately... by smittyoneeach · · Score: 1

      Disk?
      I never saw that pig in a pen smaller than dozen-disks.
      And Orifice 4.3 weighed in around 30...

      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
    25. Re:MS seems to be doing a lot of this lately... by LetterJ · · Score: 4, Insightful
      While still not free, XP Home can be had for $85 in a full version, not just an upgrade. And that cost only exists if you didn't already buy a computer with 2000 or XP on it. Obviously, you either bought a computer with Win98 on it or bought 98 by itself a few years ago.

      Your complaint sounds like someone griping that some piece of free software (could even be Linux-based) isn't really free because it requires a 600Mhz processor and 128MB of RAM and your old 133/16MB will require a CPU and RAM upgrade to run it.

    26. Re:MS seems to be doing a lot of this lately... by smittyoneeach · · Score: 1

      Yes, the real effect of F/OSS is to offer MS the competition it otherwise cannot feel.
      The left coast tax cut should help business the way the right coast tax cuts have helped the individual.

      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
    27. Re:MS seems to be doing a lot of this lately... by Anonymous Coward · · Score: 0
      I'm a MCSE, but I would never purposfully allow .net in my house.

      I'm a hooker, but I would never purposefully allow an AIDS infected dick in my pussy.

    28. Re:MS seems to be doing a lot of this lately... by c4Ff3In3+4ddiC+ · · Score: 4, Informative
      What development tools? What language? What IDE? There are so many to choose from. If the CD doesn't have the right one, then it doesn't do any good anyway.

      Just wanted to note. If you install the dev tools on MacOS X, you get perl, python, ruby, c, c++, objective-c, java, php, bash, and probably more right from the start. You even get emacs and vim!

      You also get a nice IDE called Xcode. I don't do much programming so I can't say how nice it really is, but it does the usual project management, debugging, etc that you would expect.
      --
      *twitch*
    29. Re:MS seems to be doing a lot of this lately... by westlake · · Score: 1

      if development tools shipped with a PC then some fool would be forever badgering his OEM for technical support

    30. Re:MS seems to be doing a lot of this lately... by Anonymous Coward · · Score: 0

      SORRY what is IT that you SAID there? I didnt CATCH it with all the UPPER case and lower CASE words that YOU were using?

    31. Re:MS seems to be doing a lot of this lately... by Anonymous Coward · · Score: 0

      Pretty sure it was 6 disks, maybe more for WfW. Plus 3 disks for DOS6.

    32. Re:MS seems to be doing a lot of this lately... by Anonymous Coward · · Score: 0

      I'm a MCSE, but I would never purposfully allow .net in my house. it activates all my tin foil hat's little buzzers and lights

      Are you one of those dimwit MCSE's that is incapable of understanding that "NET Passport" is entirely different that the NET SDK? I just don't get how a bunch of tools and libraries is tinfoil worthy.

    33. Re:MS seems to be doing a lot of this lately... by ragefan · · Score: 1

      The compact disc was developed in 1980 by Sony and Philips. 1982 saw its mass production in Langenhagen near Hanover, Germany. Microsoft and Apple Computer were early enthusiasts and promoters of CD-ROMs.

      http://en.wikipedia.org/wiki/Compact_disc
    34. Re:MS seems to be doing a lot of this lately... by rnd() · · Score: 3, Insightful

      Why don't you try to install the latest GCC on a 1.0 linux kernel...

      --

      Amazing magic tricks

    35. Re:MS seems to be doing a lot of this lately... by rnd() · · Score: 0, Offtopic

      I don't understand your sig, care to explain it?

      --

      Amazing magic tricks

    36. Re:MS seems to be doing a lot of this lately... by Anonymous Coward · · Score: 0

      Actually, his point was to read the EULA, and see what it wanted to install.

      As he points out, it is a test platform machine.

    37. Re:MS seems to be doing a lot of this lately... by nvrrobx · · Score: 1

      You are somewhat incorrect.

      Windows 98, 2000, XP, etc all ship with ActiveX Scripting. You can make an HTA (HTML Application) with VBScript or JScript (you should look up the power of WScript, it's actually pretty impressive).

      JScript and VBScript have full access to the system in an HTA. You can use the browser to make a UI, and the scripting to do anything else. I would argue that it is more powerful then using QBASIC ever was.

      You can also download the .NET SDK (which does come with Windows 2003, if I recall), which is even more powerful.

    38. Re:MS seems to be doing a lot of this lately... by SoSueMe · · Score: 1

      Please read again.

      No complaints here.

      Answered a question about .net, didn't bitch about it not installing, more about the fact that an attempt to get to the EULA before starting to install anything was unsuccessful.

    39. Re:MS seems to be doing a lot of this lately... by SquadBoy · · Score: 4, Funny

      don't forget power, a desk, somewhere to put it. You need to buy food and something to eat it on/with. My god I hate those bastards. :)

      --

      Cypherpunks: Civil Liberty Through Complex Mathematics. Those who live by the sword die by the arrow.
    40. Re:MS seems to be doing a lot of this lately... by tepples · · Score: 1

      Obviously, you either bought a computer with Win98 on it or bought 98 by itself a few years ago.

      It was the standard Rose-Hulman Class of 2003 laptop: Acer Travelmate 721TX made in May 1999, PII 333 MHz CPU, 66 MHz bus, 64 MB of RAM, shipped with Windows 98. I later had it upgraded to 192 MB of RAM. Yes, I know that current desktop computers run an order of magnitude faster.

      Your complaint sounds like someone griping that some piece of free software (could even be Linux-based) isn't really free because it requires a 600Mhz processor

      It's much easier to strip a free software environment down to the bare minimum than a proprietary environment. So I guess the solution is to reserve some newer, faster machines for the compile farm, but is it even possible yet to adapt distcc to set up an MSVC farm?

    41. Re:MS seems to be doing a lot of this lately... by Anonymous Coward · · Score: 0

      Thanks - you just saved me from wasting half an hour downloading and setting it up, in spite of the lamers here who posted snide comments like "of course it doesn't work on Win98, RTF machine requirements, latest gcc on 1.0 kernel, blah blah blah..."

    42. Re:MS seems to be doing a lot of this lately... by Czmyt · · Score: 1

      It's not free, but with a Microsoft MSDN Universal subscription (US$2800), you can get access to practically all of Microsoft's non-consumer software products. This includes all office applications software (Office Enterprise, Office Developer, Project, Visio, etc.), development Software (VS.Net, VB6, etc.), platform software (Windows workstation, Windows servers, DOS, Virtual PC, etc.), and server software (SQL Server, everything server). It's a pretty good deal, especially if you have a business reason to work with Microsoft's software.

    43. Re:MS seems to be doing a lot of this lately... by jayminer · · Score: 1

      Which should go fine, if you manage to output a.out instead of ELF.

    44. Re:MS seems to be doing a lot of this lately... by paganizer · · Score: 1

      It's the .net runtime framework i'm in morbid fear of.
      if it's not on your machine, then you don't have to worry about .net applications running; most of the newer app-layer DRM schemes i've seen are also tied in with it.
      And yes, I do give MCSE's a bad name; I've run slackware since version 1.2 ('93-'94?), and if a biz client is running winXP, I refuse to work on it.
      I resent the "giving pagans a bad name" statement, though.

      --
      Why, yes, I AM a Pagan Libertarian.
    45. Re:MS seems to be doing a lot of this lately... by Anonymous Coward · · Score: 0

      don't forget power, a desk, somewhere to put it. You need to buy food and something to eat it on/with. My god I hate those bastards. :)

      Since you happened to mention food, don't want to forget the need for a toilet so you have somewhere to shit the food out. Unless you want to use the desk for that.

    46. Re:MS seems to be doing a lot of this lately... by Anonymous Coward · · Score: 0

      Since my only Windows machine is 98, it couldn't complete the rest of the install.

      Ya, I tried to install it on my copy of Windows Manager 1.0 but got some weird runtime error when I tried to start installation ??

    47. Re:MS seems to be doing a lot of this lately... by Anonymous Coward · · Score: 0

      Ya, I tried to install it on my copy of Windows Manager 1.0 but got some weird runtime error when I tried to start installation ??

      You have to run atleast Windows for Workgroups 3.11 to run the new version. RTFM you stupid noob!

    48. Re:MS seems to be doing a lot of this lately... by Anonymous Coward · · Score: 0

      The other cool thing about HTA's is that it's "power" is endlessly harnessed by viruses through Outlook and IE security holes!

      I've heard MS is finally getting a clue and will cripple the feature in XP SP2.

    49. Re:MS seems to be doing a lot of this lately... by Webmonger · · Score: 1

      Sure, CDs existed in 1984. What about CD-ROMs? The original Mac sure didn't support 'em, and Apple was an "early enthusiast".

    50. Re:MS seems to be doing a lot of this lately... by Myen · · Score: 1

      The whole thing also needs Win 2k+. So you'd need that anyway - you're still saving money on getting the compiler (I'm assuming the IDE isn't free)

      P.S. .NET SDK download, as mentioned before.

    51. Re:MS seems to be doing a lot of this lately... by SoSueMe · · Score: 1

      To paraphrase a line from Battle Star Galactica: "Holy fuck Buck".

      I just wanted to see the freakin' EULA, not start a debate on the theology of the origin of modern society.

      Oh well, have fun!

    52. Re:MS seems to be doing a lot of this lately... by binarytoaster · · Score: 1

      Strange. Both the new laptops I've bought actually had, on the hard drive, a package file for me to double click and install the dev tools...

      While there might be a CD, this is better... :)

    53. Re:MS seems to be doing a lot of this lately... by Old+Wolf · · Score: 1

      Qbasic is NOT development software. You can't even make executables with it. The only reason they include it is for "backward user-friendliness" ie. in the old days, microcomputers would all come with builtin BASIC, so they wanted to encourage the upgrade to PC by making sure they still did what the old ones did.

    54. Re:MS seems to be doing a lot of this lately... by SoSueMe · · Score: 1

      +1 "Gets it" mod, if there was one.
      Tks.

    55. Re:MS seems to be doing a lot of this lately... by Anonymous Coward · · Score: 0

      Parent coward is correct. Windows 3.1 fit on six 1.44 MB floppy disks.

    56. Re:MS seems to be doing a lot of this lately... by Master+of+Transhuman · · Score: 1

      Yes, and that $85 for XP Home is just $12 down from the list price of $97 - AND you have to buy a piece of "hardware" to get that price.

      What "hardware" goes for less than $12? Maybe a mouse? A mouse pad?

      Face it - BananaPC is charging you as little as they can while STILL OBEYING MICROSOFT'S MONOPOLY.

      You can buy Microsoft grey market products from Eastern Europe for less than this - but the sites tell you not to bother trying to register it.

      --
      Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
    57. Re:MS seems to be doing a lot of this lately... by Anonymous Coward · · Score: 0

      You do realize there is about to be a flood of .NET applications coming out and all of them are going to require the runtime?

    58. Re:MS seems to be doing a lot of this lately... by Master+of+Transhuman · · Score: 1


      You've never dealt with a hooker, have you?

      Nowadays they're so wrapped in plastic you couldn't infect them with a stake dipped in Ebola. They won't do ANYTHING except blow you WITH a rubber on. Simple economics - they do less, you pay more. They've always had the attitude that the quicker you get off, the faster they can get on to the next client. Now they have an excuse to rip you off.

      Forget the "porn industry panic" articles in the press the last couple days - they've had that problem before and dealt with it.

      --
      Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
    59. Re:MS seems to be doing a lot of this lately... by Master+of+Transhuman · · Score: 0, Offtopic

      Windows IS a "bunch of tools and libraries".

      Why does that asshole Windows Media Player 9 want to take over ALL the associations on my machine - as if I couldn't POSSIBLY want to run my MP3's with Winamp? The fucking checkboxes are ALL checked and CANNOT BE UNCHECKED.

      Fuck Windows. Fuck Microsoft. Fuck Bill Gates.

      Have a nice day.

      --
      Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
    60. Re:MS seems to be doing a lot of this lately... by callipygian-showsyst · · Score: 1

      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. It's just too bad that Apple practically requires you to use Objective-C to access their core libraries instead of something more standard and accepted.

    61. Re:MS seems to be doing a lot of this lately... by Carewolf · · Score: 1

      No you need to find a version of libc that is compatible with linux 1.0 AND with gcc. I doubt it is possible.

    62. Re:MS seems to be doing a lot of this lately... by blincoln · · Score: 2, Interesting

      It's the .net runtime framework i'm in morbid fear of.

      Why? Are you afraid of DirectX too? .NET is just an engine that allows new types of programs to run. Developing in .NET is faster and easier for a lot of applications. We use VB.NET and ASP.NET in my engineering department at work, and they're really handy. I also know some hardcore developers who like C# and managed C++.

      I'm sure it's possible to write apps that do bad things using VS.NET, but you can make just as many with non-.NET technologies.

      Maybe you are thinking of the original world-assimilating plan for .NET? HailStorm, and all of that? They're different things. MS is putting the .NET label on everything now.

      if a biz client is running winXP, I refuse to work on it.

      This is just silly. XP is the best desktop OS that MS has released to market. Turn off themes, turn off the new logon interface, and it's everything that 2k was but better.

      That's not to say that it's the best OS on the planet, but it's certainly far superior to 2k, 9x, or NT4.

      --
      "...always new atoms but always doing the same dance, remembering what the dance was yesterday." -Richard Feynman
    63. Re:MS seems to be doing a lot of this lately... by LetterJ · · Score: 1

      Nothing like a straw man argument to make a day on Slashdot complete. The post to which I responded implied that this compiler wasn't really free. Rather, it merely lowered the price for Windows C++ development from ~$1200 to $207. I responded to that implication and you seem to have decided to hijack the point and make it into something about the monopoly (including zealous shouting).

      My overall point is that, for the target audience (those who wish to compile source code on a Windows machine), it *is* free and those other costs are "givens".

      For instance, if I ask an apartment dweller to go and get me 20 sheets of plywood, according to the grandparent post, the fact that that apartment dweller would need to buy a truck would make the plywood cost the extra couple of hundred it might cost to rent a pickup to transport it. However, for anyone doing construction, a pickup's a given.

      However, even if you *did* have to buy Windows, the price given by the grandparent post is more like list price and not reality. Incidentally, the *upgrade* for XP Home lists for $99, not the full version. And, places like BananaPC include the hardware necessary for OEM compliance in the price, not as an add-on.

      When you consider that a DSL or cable line easily runs $40-50 a month, $85 really isn't that much if you really need to build Windows software directly on the Windows platform. And, if it is, just don't use it. Do your compiling with GCC on Linux.

    64. Re:MS seems to be doing a lot of this lately... by Moridineas · · Score: 2, Interesting

      It's the .net runtime framework i'm in morbid fear of.



      So are you scared of glibc? libc? the MS c++ stdlibraries? MFC classes? Because they're the same thing buddy! I think you don't understand what .net is..

      And yes, I do give MCSE's a bad name; I've run slackware since version 1.2 ('93-'94?), and if a biz client is running winXP, I refuse to work on it.



      Woopie, good for you. I've run FreeBSD for 7 years and RedHat since version 4, if you want to play a pissing contest, we're all dorks here on slashdot :-p And as for refusing to run XP? THat's honestly your loss-XP is far and away my favorite MS OS I've ever run. My uptime is 19 days as of right now, if you were wondering.

      I resent the "giving pagans a bad name" statement, though.



      Well if all pagan libertarians are happy with being paranoid anti-MS zealots, then I guess I complimented them.

      http://www.penny-arcade.com/view.php3?date=2002-07 -22&res=l

    65. Re:MS seems to be doing a lot of this lately... by paganizer · · Score: 2, Interesting

      Sigh.
      anyone who thinks WinXP is the best MS/OS has serious reality issues.
      Win2k. All the power, non of the crap.

      --
      Why, yes, I AM a Pagan Libertarian.
    66. Re:MS seems to be doing a lot of this lately... by mattgreen · · Score: 1

      So are you going to address your irrational and (what appears to be) unfounded fear of the .NET framework? Cite specific sources for claims of DRM, because I sure haven't seen them.

    67. Re:MS seems to be doing a lot of this lately... by Anonymous Coward · · Score: 0

      No, MCSE's give themselves the bad name..

      Talking about people who really take all the marketing crap from M$ at a face value..

    68. Re:MS seems to be doing a lot of this lately... by Anonymous Coward · · Score: 0

      MCSE's give themselves a bad name. Even in the MS world we raze em!

      Having the certificat does not do much for me. It does not tell me the person is competent enough to KNOW how to apply what he knows. It just tells me he was good enough to get past the abcd choice hell. Unfortnatly in most cases this is not good enough. I know people that have MSCE's that have NO clue what they took means. Wish they did. They have a overabundance of knowhow but they have 0 clue how to apply that knowhow.

      When I take a class that is one of the classes used for taking a msxx degree I usually actually have need for that class. I then skip the test. Not that I couldnt pass those tests. It just rubs me wrong that you keep having to renew those certs or loose the cert. Its a almost self serving racket. THAT sets off MY BS-o-Meter... I dont have to go back a renew my BSCS every few years. It should last me the rest of my life...

    69. Re:MS seems to be doing a lot of this lately... by Evil+Pete · · Score: 1

      I always thought that the main reason DOS was so popular was that it was easy to do low level stuff but it was missing so much useful stuff .. so much it was crying out for the user to add his own stuff if he knew any programming, it was after all a kind of underachiever OS. This meant that since it was trivial to pirate, it ended up producing a lot of demand for amateur programmers to jump in and do their bit. True, compilers were not cheap, though turbo pascal was easy to swipe, but you could program things in MS Basic and then later Qbasic or get a free assembler (for the brave). There were ways of writing your app, and there was a pressing need. And no complicated GUI to interface to.

      When windows came along the GUI got horribly complicated and you needed a real compiler (pre VB). But there were no alternatives. When you compare the range of free tools available on a standard linux distro it is totally astounding. I've lost track of the number of languages that are available much less through Freshmeat etc. And the code being available means that the newbie can look at the code see how something is done modify it see the effect and tweak it and play with it ... this starts to become fun. No wonder Linux is popular. Still MS stuff pays bills, nuff said.

      --
      Bitter and proud of it.
    70. Re:MS seems to be doing a lot of this lately... by mikis · · Score: 1

      You can buy Microsoft grey market products from Eastern Europe for less than this - but the sites tell you not to bother trying to register it.

      Where? Here in Serbia it costs the same (or more) as in USA: XP Home OEM is 97$, Retail is $245 and upgrade is $126

    71. Re:MS seems to be doing a lot of this lately... by blincoln · · Score: 1

      Win2k. All the power, non of the crap.

      I use both on a regular basis (and, in fact, my team supports about 12,000 2k workstations and 500 2k servers). XP is more stable, and has better support from non-enterprise software vendors. Combined with 2003 Server, there are also some cool policy things you can do that aren't possible in 2k.

      The *only* serious bloat in XP that isn't also possible to turn on in 2k is really the themes, and you can disable that in less than five minutes.

      That wasn't my point, though. My point is that it's your unwillingness to even work on a client's XP machine that doesn't make sense. That was just a sidebar to my comment about .NET anyway.

      --
      "...always new atoms but always doing the same dance, remembering what the dance was yesterday." -Richard Feynman
    72. Re:MS seems to be doing a lot of this lately... by ryanvm · · Score: 1

      I'm sorry, but MCSEs have a bad name because they deserve it. It's a worthless certification from Microsoft bestowed upon anyone with two brain cells to bash together.

      I never held it against anyone, but after seeing just how clueless some of the MCSE-holders were about IT I learned to completely disregard it on a job application.

    73. Re:MS seems to be doing a lot of this lately... by ciggieposeur · · Score: 1

      My uptime is 19 days as of right now, if you were wondering.

      I know you were trying to show that XP is significantly more stable than 98, NT4, etc., but perhaps you should pick a different metric. :)

      My work machine was Redhat 7.1, and its uptime was 356 days I think. I was sad to turn it off, but I was moving floors.

      My home machine is never turned off -- it takes too long to spin up all the SCSI drives -- and I typically run Debian 6 days/week, switching to '98 only long enough to do some schoolwork in Excel '97.

    74. Re:MS seems to be doing a lot of this lately... by phasm42 · · Score: 1

      We have a Win2K machine at work that works at a webserver, and aside from periodic updates, I've seen uptimes over half a year. It would be longer if I didn't have to do updates. Win2K can be stable. I still trust Linux to remain up longer, but given good hardware and software, Win2K is solid. I'm betting you aren't keeping up with kernel updates on your RH box. If I didn't keep up with updates, I'd have an uptime that long too.

      --
      "No one likes working in a hamster wheel, and your shop smells of cedar shavings from here." - TaleSpinner
    75. Re:MS seems to be doing a lot of this lately... by wimvds · · Score: 1
      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.
      Mac OS X has XCode (at least Panther - OS 10.3 - does), and you can download Eclipse as well (it's one of the first things I did).
    76. Re:MS seems to be doing a lot of this lately... by Moridineas · · Score: 1

      I know you were trying to show that XP is significantly more stable than 98, NT4, etc., but perhaps you should pick a different metric. :)

      My work machine was Redhat 7.1, and its uptime was 356 days I think. I was sad to turn it off, but I was moving floors.



      Yeah, I know 19 days isn't that impressive (EXCEPT compared to 95/98/me). I worked at the school library a summer ago, and used the same workstation every single day--it was just your basic Dell XP box--it was at 90 some days uptime by the end of the summer. XP can be really goodeven in comparison with nix/bsd oses. Won't dispute that unixey operating systems still have it beat in general though--I've got a freebsd server in the 100's since the last power outage.

    77. Re:MS seems to be doing a lot of this lately... by HuguesT · · Score: 1

      There is a series of historically good reasons why Objective-C is recommended, but now you can at least use Java or Python if you want.

      The design decision dates back from 1990 or something like that (NeXTStep toolkit) and they've decided to keep the basic design intact which is probably a good idea, certainly with the big corporate developers.

      Anyway Objective-C is very much object-oriented. If you know Java or even Smalltalk you should have no problem. It is quite elegant.

    78. Re:MS seems to be doing a lot of this lately... by Hes+Nikke · · Score: 1

      It's just too bad that Apple practically requires you to use Objective-C to access their core libraries

      oh?

      *Python
      *Perl
      *Java (the language, not the runtime)
      and lastly
      *C/C++

      instead of something more standard and accepted.
      ObjC is older than perl. this means that it as close to a standard as perl is. (they are both both de facto)

      --
      Don't call me back. Give me a call back. Bye. So yeah. But bye our, well, but alright we are on a shirt this chill.
    79. Re:MS seems to be doing a lot of this lately... by ThaReetLad · · Score: 1

      Do what they did in the middle ages. Just open the window and shit into the street. With a bit of luck Bill Gates might be walking past.

      --
      You can't win Darth. If you mod me down, I shall become more powerful than you could possibly imagine
    80. Re:MS seems to be doing a lot of this lately... by Anonymous Coward · · Score: 0

      Free software, my ass! Linux made me go out and buy a $450,000 condo just so I could run it somewhere.

    81. Re:MS seems to be doing a lot of this lately... by ergo98 · · Score: 1

      "My work machine was Redhat 7.1, and its uptime was 356 days I think. I was sad to turn it off, but I was moving floors."

      Both 2000 and XP are absolutely rock solid from an OS stability perspective, and the only time that reboots are generally required is when installs set the "tell the user to reboot" flag, or security updates that actually require a reboot to come into effect. Of course there was one of those last weekend I believe.

    82. Re:MS seems to be doing a lot of this lately... by lucas+teh+geek · · Score: 0


      No way, you've got it all wrong! Win NT4 Service pack 4 is the best. all the of power, none of the crap! anyone who thinks anything since that is any good has serious reality issues. who needs active directory, pfft
      </moron>

      see how fckn stupid you look?

      --
      TIAEAE!
    83. Re:MS seems to be doing a lot of this lately... by Anonymous Coward · · Score: 0
      Spoken like a True Believer!

      Objective-C sucks, and Apple's new API (i.e., the old NeXt API) is designed around it.

      When I used to work at Apple, I couldn't wait to get home every day so I could write code in a real language like C#.

    84. Re:MS seems to be doing a lot of this lately... by NickRuisi · · Score: 1
      I AM A C# DEVLOPER

      I also know some hardcore developers who like C#


      Only in a MS development shop could C# be perceived as hardcore. For me, it's harder to code VB.Net than C#. If you know java, C# has almost zippo learning curve. VB.Net is an ugly language..
    85. Re:MS seems to be doing a lot of this lately... by Herb+Sutter · · Score: 1
      >It's the .net runtime framework i'm in morbid fear of.

      That's fine, but just note that you're probably already running it -- as of Windows XP SP1, the .NET runtime installs as part of the OS. And it will continue to do so in future versions of Windows, in particular in Longhorn when it won't just ship with the OS but it will be the at the heart of it, the OS's primary API.

      >if it's not on your machine, then you don't have to worry about .net applications running;

      FWIW, it's not always easy to tell when an app you want to run happens to be a .NET app (just as it's not always easy to tell what compiler an app was built with or what class libs it uses, etc.). For example, I have been using NewsGator (plugs into Outlook) to pull in RSS feeds into my email, and I didn't realize until recently that NewsGator is a .NET app -- I was running a system monitoring tool and watching another process when I happened to notice that NewsGator was being jitted and gc'd.

      Herb

    86. Re:MS seems to be doing a lot of this lately... by Anonymous Coward · · Score: 0
      And it will continue to do so in future versions of Windows, in particular in Longhorn when it won't just ship with the OS but it will be the at the heart of it, the OS's primary API.

      I thought the NT Native API was the primary API. All the rest of the APIs are implemented as subsystems. That is, unless Longhorn is straying away from its NT roots?

    87. Re:MS seems to be doing a lot of this lately... by Master+of+Transhuman · · Score: 1


      Well, undoubtedly you're looking at somebody other than the gray market. I'm sure there are legal sellers of Windows in Eastern Europe as well as gray market dealers. I have seen ads from Eastern Europe (they say so in the ads) where you can get Windows for around $50 - even Office can be had very cheaply.

      --
      Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
    88. Re:MS seems to be doing a lot of this lately... by Master+of+Transhuman · · Score: 1


      I'm quite aware that many places include a mouse or something for the cheap price. That's STILL (shouting intended) intended to obey the MS monopoly contract rules. BananaPC BTW did NOT specify IIRC that they include hardware - they specify that you must PURCHASE hardware to get the cheap price. Did you visit their site? I did.

      If you want to compile FREE on Windows in C++, there are several pretty good OSS compilers available - complete with IDE's - for FREE - including gcc.

      --
      Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
    89. Re:MS seems to be doing a lot of this lately... by paganizer · · Score: 1

      Win2k SP2, or SP4 in a pinch; the best OS Microsoft ever came out with (Dos 6.00 with ripped-off stacker was pretty nice though).
      I'm pretty bummed out about the whole thing, actually. WinXP/2003 is utter crap as far as I can tell (And NO, i'm not going to defend my position against WinXP lovers, I had enough of that back in the Amiga/Pro Audio Spectrum days, thanks).
      I just don't think Linux is ready for primetime or I would switch completely.

      --
      Why, yes, I AM a Pagan Libertarian.
    90. Re:MS seems to be doing a lot of this lately... by LetterJ · · Score: 1

      I not only visited their site, but have 3 machines running copies of XP purchased from that exact page.

    91. Re:MS seems to be doing a lot of this lately... by Anonymous Coward · · Score: 0

      Win 2K seems to be the best OS that MS will ever produce. It has pretty good stability, and lots of Windows programs that you may want will run on it.

      If you want specifics, read up on Media Player. You can leave a Win 2k machine at Media Player 6.4. 6.4 was the last relatively DRM free version. Another specific would be IE. XP installs IE 6. and I hope most people here have better sense than to run IE6. I would not even want it on a machine I used to get work done.

      Win XP is unreliable, by design. Activation means I can not trust that the machine will be running 3 years from now. You may trust in the good will of MS, but I think you are crazy. Or, you can sign expensive support contracts. For normal users, there is no assurance the machine will be running in three years.

      And, on a minor note, the best word processor in the history of the Universe, i.e., Borland Sprint, will not run in Windows XP. MS broke something and none of the compatability settings will make it run.

      I would work on XP, but it does make me wince. I had a friend ask me to install XP on a home machine and I refused that. He is too nice a guy to subject to XP.

    92. Re:MS seems to be doing a lot of this lately... by Anonymous Coward · · Score: 0

      Why SP2? If you go with SP2 or greater, you cripple the ability of the machine to have more than 10 machines access its shares. Win 2K SP1 was the best. But, you do need to keep it behind a good firewall.

    93. Re:MS seems to be doing a lot of this lately... by mikis · · Score: 1

      Yes, the prices are from official distributors. Only other place to get it is black (or flea) market, where you can get anything for 1-2$ per CD.

      Now, you probably think of places like allofoem.biz (just an example, I got their spam), which sell "OEM" software; but note that "you don't get the box and the manual with your software. All you will receive is the actual software and your unique registration code", so I bet it's no better than these 1$ copies from flea market.

      With real OEM you should at least get Certificate of Authenticity (sticker) and some kind of "getting started" manual.

  4. Not needed by sweet+cunny+muffin · · Score: 4, Interesting

    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?

    1. Re:Not needed by Anonymous Coward · · Score: 5, Informative

      There's a decent free IDE available called Dev-C++ for windows, it comes with mingw32 ofcourse.

    2. Re:Not needed by lpontiac · · Score: 4, Informative
      • Microsoft's compiler produces better (smaller, faster) x86 code than GCC.
      • I get the impression that when you move above vanilla C code (eg C++, libraries distributed in binary form only), different compilers don't play so nicely. (Just like gcc 2.9x versus gcc 3.x). And most of the binary only stuff out there on Windows is compiled with Visual C++.
    3. Re:Not needed by martingunnarsson · · Score: 1

      Because it's more straight-forward than installing MinGW/MSys?

      --
      Martin
    4. Re:Not needed by Anonymous Coward · · Score: 0

      Oh, so this comes with all the crossplatfrom tools like autoconf, automake, libtool, make (the real deal, not nmake), bash, sed, awk, etc.

      Thought not, that's why mingw with minsys or cygwin is a superior build enviroment.

      But it might be possible to use this compiler in a crossplatform build system within minsys.

    5. Re:Not needed by tesmako · · Score: 5, Insightful

      Because it starts to feel like I have wasted several years of my life waiting for g++ by now. g++ is probably the slowest compiler I have ever used.

    6. Re:Not needed by Anonymous Coward · · Score: 0

      The command line tools that come with Windows do just fine. Just because you don't know the cmd.exe scripting language and apps doesn't mean they're inferior.

    7. Re:Not needed by Trejkaz · · Score: 1

      I find Eclipse to be not entirely a bad IDE.

      Its functionality for C and C++ is certainly no less than VS.NET seems to have, and if you can ignore the fact that it grew out of an IDE for Java it's actually quite good. If you put some effort in you can actually rip all the Java stuff out of the IDE and just use the CDT. :-)

      And of course on Windows it's actually somewhat fast, as opposed to on Linux.

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
    8. Re:Not needed by moongha · · Score: 1

      It's also a memory hog (fine if you have loads) and certainly not as powerful as VS.NET at the moment.

      CDT is way behind the Java source management stuff available in Eclipse - but as soon as it catches up I'll be the first to use it.

    9. Re:Not needed by SpinyNorman · · Score: 1

      If you're concerned about code speed, the Intel C++ compiler for Linux has been available for free for a while, and AFAIK producess better code than the Microsoft one.

      The Windows version of Intel's compiler is still commercial only, but maybe they'll change that now.

      http://developer.intel.com/software/products/globa l/eval.htm

    10. Re:Not needed by WWE-TicK · · Score: 1

      I like cl.exe a little bit better mainly because it compiles a hell of a lot faster than gcc. At least time I tried using the MinGW suite of tools.

    11. Re:Not needed by Anonymous Coward · · Score: 0

      Ok, cmd.exe is equal to bash.

      Any more funny stories you wish to share with us?

    12. Re:Not needed by dar · · Score: 1

      You must be kidding! Both the cmd.exe shell and its scripting language are a joke. You can close your eyes and point in the direction of any *nix shell and find something better.

      I've been programming DOS and Windows since DOS 2.1. I know my way around Microsoft's command line. cmd.exe is not worthy.

      Cygwin+bash made life on Windows bearable and rxvt for windows is a blessing.

      --
      My other Slashdot ID is much lower.
    13. Re:Not needed by Anonymous Coward · · Score: 0

      Its functionality for C and C++ is certainly no less than VS.NET seems to have

      OMG, what astonishing bullshit. "certainly", he has the balls to say! Either you have never used VS.NET and are blatently lying, or you're just spreading FUD for some reason. Another typical slashdot 'tard...

    14. Re:Not needed by sqlrob · · Score: 1

      OMG, what astonishing bullshit. "certainly", he has the balls to say! Either you have never used VS.NET and are blatently lying, or you're just spreading FUD for some reason. Another typical slashdot 'tard...

      No more bullshit than what you just said. He said a statement without proof, as are you. Start stating the feature differences.

    15. Re:Not needed by Anonymous Coward · · Score: 0

      How about WMI? That is alot more powerful than any UNIX shell. But if you are interested in power you would probably use Perl instead. I use Perl for my most powerful windows and unix scripts.

    16. Re:Not needed by E_elven · · Score: 1

      It's free for personal use only, if I recall correctly. It does, indeed, usually produce faster code but for some reason the executables are larger. In any case, it's good to make sure the code compiles on multiple compilers, and the -w2 option in Icc is usually extremely educational when looking for bugs.

      --
      Marxist evolution is just N generations away!
    17. Re:Not needed by Anonymous Coward · · Score: 0

      The bloodshed IDE's text editor is crap. Unlike some nice shareware text editors, it won't auto-indent your code on braces. The auto indent feature of Dev C++ is very unhelpful, adding spaces that don't even line up properly. I usually end up working Against the feature, rather than with it.

      It also has the tendency to sometimes not detect when you overwrite the file with a different editor, so it overwrites it with an older version when you compile.

      Aside from those issues, it's nice to autogenerate makefiles, and it even has a CVS client built in (I've never tested it).

    18. Re:Not needed by Coneasfast · · Score: 0, Troll

      Why use it over the open source MinGW tools?

      i just downloaded it. not only does it not have an IDE, it doesn't even have nmake

      --
      Marge, get me your address book, 4 beers, and my conversation hat.
    19. Re:Not needed by Anonymous Coward · · Score: 0

      > Why use it over the open source MinGW tools?

      Most Open Source Windows software targets Visual C++ and not GCC -- including the heavies like Mozilla and OpenOffice.

    20. Re:Not needed by Prof.Phreak · · Score: 1

      That's the general impression, and I used to think that too... until I compiled EXACTLY the same code (with full optimizations) via GCC (cygwin), and Visual C++ 2002 (didn't have 2003). The GCC (cygwin) code was twice as fast time-wise. (I put a timer in the code that tells me how many seconds/minutes it's been running--not very accurate, but tells me what I care about: ie: when will this thing be done.)

      Assembly of both codes looked similarly twisted due to optimizations. The code is a heavy duty math manipulation type, with tons of floating point matrix multiplications.

      I know the `popular' benchmarks make GCC look bad, but from my own experience, it is actually faster. Changed my whole perspective of GCC vs. VC.

      --

      "If anything can go wrong, it will." - Murphy

    21. Re:Not needed by Anonymous Coward · · Score: 0

      > The Visual C++ compiler is good, but it isn't extrordinary.

      yes it is. have you compared the code generation between it and mingw?

    22. Re:Not needed by dolmen.fr · · Score: 1

      Of course, you are not thinking about WMI but WSH. However, WSH is just a scripting environment. Not an interactive shell.

      By the way, I still don't see the point of using either cmd.exe or WSH for compiling programs. Generations of developpers have built more specialized tools such as make, scons, jam...

    23. Re:Not needed by Anonymous Coward · · Score: 0

      >I've been programming DOS and Windows since DOS 2.1

      I think the comment was trying to indicate that CMD.EXE has a lot more features than COMMAND.COM. There's a lot of DOS types that have never bother to check the help file for CMD.

    24. Re:Not needed by Meowing · · Score: 1
      Why use it over the open source MinGW tools?
      Is its wchar support in C++ still missing/broken? That's what prompted me to buy Microsoft's tools.
    25. Re:Not needed by Cuthalion · · Score: 1

      I get the impression that when you move above vanilla C code (eg C++, libraries distributed in binary form only), different compilers don't play so nicely. (Just like gcc 2.9x versus gcc 3.x). And most of the binary only stuff out there on Windows is compiled with Visual C++.

      That is exactly true. That you can't just link C++ directly. I believe this is the largest motivation behind COM. It provides a cross-compiler (hell, cross-language) run-time binding mechanism.

      --
      Trees can't go dancing
      So do them a big favor
      Pretend dancing stinks!
    26. Re:Not needed by repetty · · Score: 1

      "Microsoft's compiler produces better (smaller, faster) x86 code than GCC."

      Just a reminder... nowadays, size and speed are unimportant factors in software development for the desktop.

      Just a reminder.

      --Richard

    27. Re:Not needed by The+Snowman · · Score: 1

      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?

      I develop OSS for Windows with MinGW and MSys too. Microsoft's tools have several advantages and disadvantages.

      Advantages: executables tend to be much smaller because of less static linkage and fewer extranneous debug symbols; debugging is far easier and more powerful; writing libraries as opposed to stand-alone applications is much easier; the other tools in the box are very powerful and useful (think of all the little VC++ helper applications like Spy++); the resource editor is much better than writing .rc files by hand and much better than anything the OSS community has come up with so far; and with the latest .NET versions of their C++ compiler the compiler and libraries are far more standards compliant than they used to be (and more than people like to admit).

      Disadvantages: GUI tools (i.e. the IDE and debugger) are not free; there is some confusion about distributing OSS built with their tools (those EULAs are inpenetrable); their tools encourage use of non-standard Microsoft extensions (this is why I do not use their wizards to start applications); and portability is a minor issue. With GCC's g++ I can write for that compiler on multiple platforms, but Microsoft's C++ compiler has minor quirks that exist on a single platform. I like to keep conditional compilation to a minimum.

      --
      24 beers in a case, 24 hours in a day. Coincidence? I think not!
    28. Re:Not needed by Anonymous Coward · · Score: 0

      If you use lots of default arguments in a function prototype, it's pretty easy to get compile times of over 5 minutes. We switched to just massively overloading the function and got the compile time back down to a minute for that file. This is on a Pentium IV 3.0 GHz. There is no excuse for that shit. Write in C and avoid C++.

    29. Re:Not needed by captaineo · · Score: 1

      It's worse than that. Binary C++ libraries won't even link between GCC and VC++ because of different name mangling, and I think the calling conventions are different too. Currently there is no way to mix C++ code on Windows between different compilers at other than source code level. (well I think Intel's compiler is compatible with Microsoft's)

    30. Re:Not needed by gnuman99 · · Score: 1
      Try the free command line compiler from Borland

      THE fastest compiler ever. Compiled Qt in 20 minutes where g++ takes 3-4 hours! Visual C++ is at least twice as slow as Borland.

    31. Re:Not needed by James+Youngman · · Score: 1
      I get the impression that when you move above vanilla C code (eg C++, libraries distributed in binary form only), different compilers don't play so nicely. (Just like gcc 2.9x versus gcc 3.x).
      This is normally true, but there is one interesting exception - Intel ia64. That has a C++ ABI allowing C++ code built with any confirming compiler to link with code built with another conforming compiler. In other words, the sort of thing we are normally used to on Unix with C. The specification is here.
    32. Re:Not needed by smittyoneeach · · Score: 1

      (X)Emacs.
      M-x ecb-activate
      M-x hs-minor-mode
      No desktop? No problem.
      Other OS? No problem.
      Wanted simple keyboard shortcuts? See Meatloaf song...

      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
    33. Re:Not needed by m_pll · · Score: 1
      Disadvantages: GUI tools (i.e. the IDE and debugger) are not free

      WinDbg is free and in many aspects more powerful than the VC debugger.

    34. Re:Not needed by nt2ldap · · Score: 1

      ActiveState Perl for Windows is compiled using VC++, so you're going to have a hard time compiling Perl modules using MinGW. Having this toolkit freely available will make it easier (and cheaper) for Windows hackers to build those Perl modules that ActiveState does not have ppm packages for. I've had the advantage for years of having a licensed copy of VC++ through my job. Now that this toolkit is available for free, I'll install it on all my servers (as I have the recently made available free distribution of Windows Services for UNIX).

    35. Re:Not needed by dolmen.fr · · Score: 1

      And just because you don't know Unix shells doesn't mean there are not superior.

      Cmd.exe is so inconstistent and has a so weired syntax for so many things that I often would like to have access to the source code to clean it!

    36. Re:Not needed by mattyrobinson69 · · Score: 1

      what about something that you would notice to be faster, like a kernel, or a 3d game. if you can have an extra bit of speed in something like that, just for using a different compiler, i'd take it - wouldn't you?

    37. Re:Not needed by jonadab · · Score: 1

      > g++ is probably the slowest compiler I have ever used

      C compilers are all terribly slow. I don't know why, but it takes *forever*
      for a C compiler to compile a medium-sized application; Perl can read the
      source for an equivalently complex application and start executing in
      microseconds.

      Sure, C runs faster *once it's compiled*... who wants to wait for that?
      (Yeah, I know, with binary distributions the end users don't have to compile
      at all, even at install time. But how do C developers tollerate 20-minute
      compile times every time they tweak the code? It must take weeks to do an
      hour's worth of debugging!)

      --
      Cut that out, or I will ship you to Norilsk in a box.
    38. Re:Not needed by Anonymous Coward · · Score: 0

      I agree. GCC is so fucking bad that I use "gcc -O0 ..." so I don't grow old and die waiting for it to finish.

      Also, Borland C++ 5.5 supports pre-compiled headers (bcc32 -H ...), which is much faster than compiling WINDOWS.H every time you build.

    39. Re:Not needed by Anonymous Coward · · Score: 0

      Um, `man make'.

    40. Re:Not needed by gnuman99 · · Score: 1
      Also, Borland C++ 5.5 supports pre-compiled headers (bcc32 -H ...), which is much faster than compiling WINDOWS.H every time you build.

      It is not really that much faster. I found that the slowdown on Windows with Borland is actually windows process creation, not the compiler parsing windows.h!!! :)

    41. Re:Not needed by spongman · · Score: 1

      ouch, if you're using GCC then you're not using ATL/WTL, and if you're writing anything more than console apps and you're not using ATL then you're typing too much.

  5. Yes! by Flingles · · Score: 5, Funny

    "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
    1. Re:Yes! by Anonymous Coward · · Score: 3, Funny

      try {
      std::standards.conform(VisualC++, ISOC++);
      }
      catch (nonstd::ConformanceFailureException cf) {
      /* We are here */
      cout << "Damn!" << endl;
      this.serve(FreeCompiler);
      }

    2. Re:Yes! by nukey56 · · Score: 4, Funny

      Seems firmiliar.. ahh yes.

      Goth Kid #3: "I'm the biggest non-conformist!"
      Goth Kid #4: "I'm such a non-conformist, that I'm not going to conform with the rest of you. I'll do it!"

    3. Re:Yes! by naden · · Score: 2, Insightful

      Heh, sounds like this has confirmed to another standard. The standard way to fsck your competitors:

      "Embrace and extend"

      --
      Funtage Factor: Purple
    4. Re:Yes! by Anonymous Coward · · Score: 0

      stolen from south park

    5. Re:Yes! by Anonymous Coward · · Score: 0

      the poster surely mistaken. It should read like:
      "tried to make the ISO C++ standard more conformant to Visual C++"
      Much better!

    6. Re:Yes! by tepples · · Score: 1

      I actually found out about South Park episode 805 on a Dance Dance Revolution web board. "You mean dancing without a machine telling you what to do? That's stupid."

    7. Re:Yes! by OneHungLo · · Score: 1

      Whoa, dude. We just got Goth-Served.

    8. Re:Yes! by brocheck · · Score: 1

      We just got Goth Served!

      --

      suddenly I feel very tired

    9. Re:Yes! by Anonymous Coward · · Score: 0

      Heh, sounds like this has confirmed to another standard. The standard way to fsck your competitors:
      "Embrace and extend"


      Allow me to point out that conformance to C++ standards is just about the one area where GNU has a worse record than Microsoft.

      gcc takes the "embrace and extend" idea to extremes, which is why it took Intel so long to work out how to get the Linux kernel to compile on their own C++ compiler. And while gcc has dozens of non-standard extensions, it still doesn't actually implement the whole ANSI C standard, let alone the whole of C++.

      "Embrace and extend" jokes are always good for a +5, Funny in Microsoft-related discussions. But I see a lot of people here ignoring the logs in their own eyes...

    10. Re:Yes! by Anonymous Coward · · Score: 0

      Your code dosent compile...

  6. My experience with VC++ by kryptkpr · · Score: 1, Interesting

    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!
    1. Re:My experience with VC++ by sweet+cunny+muffin · · Score: 5, Insightful

      So you write shit code that doesn't fit the standards ("liberal" code), your shitty compiler doesn't notice and compiles it anyway, and then it's Microsoft's fault when their standards conforming compiler won't compile it?

    2. Re:My experience with VC++ by Wumpus · · Score: 1, Redundant
    3. Re:My experience with VC++ by Wumpus · · Score: 1

      I should mention that Dev-C++ uses the GNU toolchain as its back end, and won't work with the Borland compiler. You should probably consider using a more standards compliant compiler for school work, anyway.

    4. Re:My experience with VC++ by Knetzar · · Score: 1

      Name one compiler that completely follows the standard. I don't think one exists.

      Also, I think the gp was mainly trying to express...how much easier it will be now that he can use the same compiler as those who grade him. Which raises a question, why are they grading you with a tool that they aren't providing? Or is it that they provide it in the labs but people want to work at home?

    5. Re:My experience with VC++ by kryptkpr · · Score: 1

      My code was quite standards compliant, and the problem is not compiling it.. it compiled fine in every C compiler I've tried.

      Every one of them produced a working binary, except VC++ ..

      --
      DJ kRYPT's Free MP3s!
    6. Re:My experience with VC++ by startup.cmd · · Score: 5, Informative
      Anyone know where to get a free visual debugger for Win32?

      MS provides the Debugging Tools for Windows as a free download. GUI and command line debuggers are included.

    7. Re:My experience with VC++ by samhalliday · · Score: 0, Troll

      gcc not standards compliant? well it might not be 100% C++ ISO yet, but its a hell of a lot closer than the M$ equivalent!! (if the grandparent was JUST using BCC, i would agree wholeheartedly with you)

    8. Re:My experience with VC++ by Anonymous Coward · · Score: 0

      "Borland's Compiler is much more liberal about not only the syntax it allows"

      And thats a good thing iyo ?

      Please let us know what you think after your Advanced C level course and couple of years working as a programmer.

      "Microsoft can keep their compiler as far as I'm concerned."

      I guess here is the statment what triggered the 5 Interesting score.

    9. Re:My experience with VC++ by Anonymous Coward · · Score: 0

      troll? its the truth! gcc have dedicated the 3.x release line on standards compliance and this free release by M$ is in order for people to test out their newer standards compliance by going for wider field of adoption. slashdot moderators today... please wake up!

    10. Re:My experience with VC++ by Anonymous Coward · · Score: 0

      I've used both Microsoft and Borland compilers since the mid 80's. I've always preferred the Borland compilers because they were less buggy and had more features.

      In the late 80's Borland started to embrace ISO standardization for their C and C++ compilers. Microsoft choose not to go that route and decided that they would make there own standards.

      I occassionally teach C++ programming now and we use the Borland compiler (actually, I start them out with the GCC C++ command line, then they go to GUI based Borland IDE). The nice thing about using the Borland for teaching is that it has fewer quirks and since it is standard C++ the students can use code snippets that they find without worrying too much about Microsoftification of the code.

      Microsoft just got their hands slapped in Europe over not being open enough about their OS, so I assume all these changes in MS policy are to address that problem.

    11. Re:My experience with VC++ by Anonymous Coward · · Score: 0
      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++.


      Ask for your money back. Your examiners should know better than to use a C++ compiler to compile C code.
    12. Re:My experience with VC++ by Anonymous Coward · · Score: 0
      I remember seeing comments about how much better their 7.1 compiler was:
      • MSVC 6.0 was about 68% conformant
      • MSVC 7.0 was about 82% conformant
      • MSVC 7.1 is about 98% conformant

      I don't remember the 7.0 figure all that well, but you get the idea. This one that they're releasing for free is the 7.1 compiler. I'd hardly call maybe 1% "a hell of a lot closer."
    13. Re:My experience with VC++ by hawkestein · · Score: 1

      I believe that Comeau has historically had the most compliant C++ compilers. I'm not sure if they fully implement the standard, but if anybody does, it's them.

      --
      -- Will quantum computers run imaginary-time operating systems?
    14. Re:My experience with VC++ by Anonymous Coward · · Score: 1, Insightful
      I occassionally teach C++ programming now and we use the Borland compiler (actually, I start them out with the GCC C++ command line, then they go to GUI based Borland IDE).

      Bravo to you. Today's students are alarmingly phobic of the command line. The more familiarity with CLI programming, the better.

    15. Re:My experience with VC++ by Anonymous Coward · · Score: 0

      When web browsers accepted lots of horrible HTML code, we got a lot of horrible HTML code.

      If you're learning the language, it's best to have the most pedantic tool available so you won't learn bad habits. Of course it also needs to have very good error and warning messages.

      Now if you're just studying it and not actually trying to learn it, who cares? Whatever gets you the grade.

      although it (usually) comes with a nice IDE and Debugger that I quite like, it's just too bad those remain non-free.

      Right, but it's only $100, compared to the $1079 that you used to have to pay to get the optimizing compiler.

    16. Re:My experience with VC++ by Anonymous+Brave+Guy · · Score: 1
      I believe that Comeau has historically had the most compliant C++ compilers. I'm not sure if they fully implement the standard, but if anybody does, it's them.

      They do, including TC1.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    17. Re:My experience with VC++ by Anonymous+Brave+Guy · · Score: 1
      troll? its the truth!

      Nope, sorry, it's not. I use VC++.Net 2003 every day at work, and its standards compliance is quite impressive. Claiming that GCC is somehow way ahead in its standards support is (-1, Just Plain Wrong).

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    18. Re:My experience with VC++ by samhalliday · · Score: 1
      fair enough; i haven't used VC++ for a few years now and it was pants back then. in fact... i doubt many people use the latest versions as they were just to expensive (until now).

      i hope this helps improve the general level of stadards compliant code in the world :-)

    19. Re:My experience with VC++ by Anonymous Coward · · Score: 1, Informative

      Through my employer, I took a C++ course taught by the secretary of the ISO C++ committee. Most of use were using Microsoft Visual C++. Three of use used g++ (GNU) 2.95.3. Our instructor used Microsoft Visual C++, and a Greenhills compiler. For interest, we tried various programs to see which compilers required that we follow the standards and which would let us get away with non-standard code. The Microsoft compiler would let use get away with the most and sometime actually required that we don't follow the standard.

    20. Re:My experience with VC++ by golgotha007 · · Score: 1

      So you write shit code that doesn't fit the standards ("liberal" code), your shitty compiler doesn't notice and compiles it anyway, and then it's Microsoft's fault when their standards conforming compiler won't compile it?

      well, isn't that the way bad html works with Internet Explorer?

    21. Re:My experience with VC++ by Anonymous Coward · · Score: 0

      Why is typing 'make' more educational than clicking 'build'? Please answer, I'd love to hear your rationaliztion.

    22. Re:My experience with VC++ by Anonymous Coward · · Score: 0

      why are they grading you with a tool that they aren't providing?

      Borland offers a better deal for schools than Microsoft. Microsoft has never been to generous towards education (Bill not having graduated and such). For financial reasons many schools still use Borland (and because it is standards compliant). The TAs are probably using hot copies of VC++ or a couple of legal copies that they can't distribute. Still, it's dorky for the TA's to attempt to grade it that way.

      It is hard to get good textbooks for the Borland C++ compiler. This will probably make us switch to VC++, unfortunately.

      Right now there is more want ads for VC++ programmers than for Borland programmers, so that is another reason we are considering switching. We need to place the students or we will loose federal backing for loans.

    23. Re:My experience with VC++ by Anonymous Coward · · Score: 0

      Back that claim up, please. Post a specific example.

    24. Re:My experience with VC++ by Anonymous Coward · · Score: 0

      It is good for the students to be exposed to more than one compiler. All we have is the Borland C++. We can't afford two. The main reason for starting them on the command line is so they realize that the IDE is just a flashy interface to the real compiler.

      On many compilers you can't "click" anything except the keyboard. My old Cray had no GUI IDE. You might think that is primitive, but that's how it's sometimes done. Not all programmers will be clicking, dragging and dropping. Staying in console makes the students focus on the algorithms.

    25. Re:My experience with VC++ by lost+sheep · · Score: 1
      I taught a class on introductory and intermediate C. The first day of class I gave the students the websites for Borland's Command line tools and GCC (which upset them because they wanted a GUI). The second day in class I gave them the website for Dev-C++.

      Our rules in class were quite simple: We taught as class to ANSI C as I could get. They could use whatever they wanted to code in (my choice was a text editor), but it had to compile on GCC because in my opinion, that's the best and most versatile there is. I specifically told them that I didn't care for compilers that let them use "incorrect" or liberal syntax, but they were free to use them, as long as their code compiled on my machine.

      Needless to say I had a few "hackers" who used Visual C++ to write their code. They did not do so well.

      --
      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Lost Sheep to Shepard, you got your ears on?
    26. Re:My experience with VC++ by Anonymous Coward · · Score: 0
      The first day of class I gave the students the websites for Borland's Command line tools and GCC


      I'm a teacher too, (true confessions of a teacher) and I started using the gcc because the students didn't receive their Borland C++ compilers on time. They are supposed to get the full builder on the first day of class and there was a one month appropriations delay. I couldn't hand out hot copies and the school didn't have a site license, so I brought in the gcc on the first day and passed out free copies to all.


      It worked out much better than I had expected. The students could take the compiler and run it at home without license problems. Another side benifit was that I noticed it was now easier to start them off with basic algorithms because they were not distracted and overwhelmed by all the IDE features. Latter on when they finally got their builders the students picked up on the idea of what it was much more easily. Other programming instructors saw what I was doing and they have all also switched to using GCC first and builder later.


      (which upset them because they wanted a GUI)


      That's the biggest drawback, the students are not inspired by the dullness of the command line. Many of them come into programming thinking that programming is all dragging and dropping onto a canvas and they are bummed to find out a lot of thought and planning is required.

    27. Re:My experience with VC++ by Anonymous Coward · · Score: 0

      I think the fullblown version of Visual Studio is now something like $100 for students, or less depending on your how well your college sucks Bill's weenie.

      The target market for this free compiler is not the academic world, since they can already get VC++ cheap.

    28. Re:My experience with VC++ by be-fan · · Score: 1

      G++ is pretty damn close to following standards, as is VS.NET 2003, and Comeau C++.

      --
      A deep unwavering belief is a sure sign you're missing something...
    29. Re:My experience with VC++ by Anonymous Coward · · Score: 0

      >Anyone know where to get a free visual debugger for Win32?
      OllyDbg (http://home.t-online.de/home/Ollydbg)
      Mostly useful for assembly-level debugging though. Source-level debugging is kinda lacking.

    30. Re:My experience with VC++ by brsmith4 · · Score: 1

      WTF?

      All of the projects I have done in my courses and at my job have compiled without warning on gcc, cl.exe, pgcc, icc, whatever borlands .exe is, etc. If you write to the standard, it will compile. Following these simple rules will usually ensure that your code works:

      1. Always put variable declarations within functions first: e.g, no

      for (int i = 0; ... ;i++){ ... }

      or

      int a = some_function(...);

      When I first learned C, this was probably one of the ONLY syntax problems I ran into.

      2. Pointers will work the same! They are a standard and have not been messed with. If you do it right, every credible compiler will compile it without warnings or complaints.

      3. If you see warnings on one compiler and not another, fix the warnings! It means you did something not quite right, like you didn't cast your malloc() call. I can't count the number of developers that do stupid, lazy shit like that. Jesus Christ people, don't be lazy. Sidenote: It's nice to see that the kernel dev's have gotten rid of a lot of the warnings that I used to see in 2.4. There are only like 1 or 2 now.

    31. Re:My experience with VC++ by gglaze · · Score: 1

      Yes, my sentiments exactly. Oh, and for all of those culinary students out there - you are getting too attached to gas/electric ovens and stoves. Try rubbing a couple of sticks together every once in a while!

    32. Re:My experience with VC++ by ray-auch · · Score: 1

      Take boost libraries for example - lots of hairy template code, VC6 was lousy at it. VC 7.1 is excellent - better than gcc. See http://boost.sourceforge.net/regression-logs/

    33. Re:My experience with VC++ by Anonymous+Brave+Guy · · Score: 1

      Erm... You want a specific example of standards compliance?

      OK: I can write

      int i = 10;
      and this creates an object of type int with the default value of 10.

      Your response is meaningless. The only relevant examples here are places where VC++ 7.1 is not standards compliant, and it's up to you to find them. Off you go, now, and do please come back when you've got a constructive point to add to the conversation.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    34. Re:My experience with VC++ by willdenniss · · Score: 1

      Name one compiler that completely follows the standard. I don't think one exists.

      javac

    35. Re:My experience with VC++ by Anonymous Coward · · Score: 0

      More like (+5, The Obvious Truth)

    36. Re:My experience with VC++ by Anonymous Coward · · Score: 0
      Try rubbing a couple of sticks together every once in a while!

      It's called barbecuing. And yes, that would be the culinary equivalent of the command line.

  7. Microsoft offers interoperatibility? by plj · · Score: 3, Interesting

    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
    1. Re:Microsoft offers interoperatibility? by Amiga+Lover · · Score: 1

      Wasn't there a compiler a few years ago that not only had an EULA which limited the type of code you could write, but also claimed some ownership of the code by the compiler vendor?

      My memory is sketchy, so it may have been something else entirely, perhaps a code repository of some kind

    2. Re:Microsoft offers interoperatibility? by sploo22 · · Score: 2, Informative

      As usual, they won't let you view the license before you download it.

      --
      Karma: Segmentation fault (tried to dereference a null post)
    3. Re:Microsoft offers interoperatibility? by Anonymous Coward · · Score: 0

      Kia had a compiler released for MacOS 7 in the mid 1990s. If you sold the binaries created with it commercially you were required to pay a certain percentage back to Kia based on the sales. Of course it failed quickly. It was a good IDE and getting around the license seemed easy enough by developing on Kia and using another compiler to create the final product.

    4. Re:Microsoft offers interoperatibility? by nkh · · Score: 1

      Isn't this kind of licence forbidden by the law? IANAL but I've read that in France, every source code written (with VC++ for example) and every binaries produced through compilation belonged exclusively to you (the programmer)...

    5. Re:Microsoft offers interoperatibility? by shadowkoder · · Score: 1

      I'm suprised this got moderated so high. No offense, but it seems like flaimbait to me. If Microsoft ever did something like that, the Open Source community would viciously open that wound and pour as much salt (press) on it as possible.

    6. Re:Microsoft offers interoperatibility? by Anonymous Coward · · Score: 0

      Are you too stupid to figure out how to read the EULA after it's downloaded? OH MY GOD, you have to spend 6 whole minutes to download it. I know that's going put a severe dent in your social life, but I suspect since you spend your time just LOOKING for crap to bitch about when it comes to Microsoft, you probably don't have a life anyway.

      Jesus.

    7. Re:Microsoft offers interoperatibility? by Paul+Townend · · Score: 4, Informative

      The "learning edition" of MSVC++ prohibited you from commercially distributing binaries made with it (or perhaps even just distributing the binaries, I can't remember just now). It also displayed a pop-up window whenever you executed your code, reminding you of this.

      However, considering it cost virtually nothing to get the thing, I don't think this was particularly unfair.

    8. Re:Microsoft offers interoperatibility? by nukey56 · · Score: 2, Informative

      However, considering it cost virtually nothing to get the thing, I don't think this was particularly unfair.

      Not to be unfair, but I've got a fairer solution. Just season with a genetic optomizer.

    9. Re:Microsoft offers interoperatibility? by Anonymous Coward · · Score: 0

      Borland tried this with BC5 prompting a mass exodus to 'any other compiler', despite a hasty change of licence after the complaints started flooding in they've never recovered. Didn't help that it was buggy as hell and they tried charging for bug fix releases as well.

    10. Re:Microsoft offers interoperatibility? by sploo22 · · Score: 1

      *rolls eyes* Not everybody has an insanely fast ISP. I'm looking at about 45 minutes of download time for something I would never use. I was simply pointing out the fact that you have to download the entire package to view the license. Sheesh, some people overreact to everything.

      --
      Karma: Segmentation fault (tried to dereference a null post)
    11. Re:Microsoft offers interoperatibility? by GooberToo · · Score: 1

      It's a valid question because Ms has previously released licenses with such clauses.

      The grandparent post is not a troll nor is it he a flamebait.

    12. Re:Microsoft offers interoperatibility? by ReelOddeeo · · Score: 3, Funny

      I don't know about lately, but years ago, MS development tools had EULAs that prevented you from using MS tools to develop either (1) more development tools or (2) word processors.

      --

      Those who would give up liberty in exchange for security and DRM should switch to Microsoft Palladium!
    13. Re:Microsoft offers interoperatibility? by Anonymous Coward · · Score: 0

      You will have to go back a ways, but yes.

      In 1979, Microsoft had a BASCOM, Fortran 66, and Cobol compiler where, 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.

      Why do you think Borland Turbo Pascal 1 took off so fast. It was the first usable compiler where everything was yours.

      When the Air Force brought in Microcomputers in about 1983, every machine purchased form Zenith (at my base anyway) had all three compilers included. This was the only solution which allowed us (legally) to write and distribute compiled code. Every machine had to have its own license for the compiler.

      Tom

    14. Re:Microsoft offers interoperatibility? by Romeozulu · · Score: 1

      Really? Name one?

    15. Re:Microsoft offers interoperatibility? by plugger · · Score: 1

      Don't worry about it mate, it's not every day you get flamed by Jesus.

    16. Re:Microsoft offers interoperatibility? by plj · · Score: 1

      Bullshit - or at least I'm not the one flaming here. Here is some information about Microsoft's past behaviour.

      --
      “Wait for Hurd if you want something real” –Linus
    17. Re:Microsoft offers interoperatibility? by Zaiff+Urgulbunger · · Score: 1

      However, considering it cost virtually nothing to get the thing, I don't think this was particularly unfair.

      If it actually cost nothing, then I guess that might be fair (sort of), but if there's any charge (beyond media costs) then.... well, it causes distress to my definition of "fair"! :)

    18. Re:Microsoft offers interoperatibility? by arkanes · · Score: 2, Informative
      I just read the EULA. I'll post it here, after my comment.

      There's suprisingly little in it, the vast majority of it is standard boilerplate. Only the first clause relates to what you can do with it, and it seems to limit you to personal use only (ie, no selling the binaries you create), but it's not explicit. The rest of it deals with standard redistributables (the C/C++ runtimes/STL) and standard waivers of liability, etc.

      Presumably because it's distributed/sold in Quebec, theres a bunch of French at the end which, in the interests of space, I have snipped.

      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 Redi

    19. Re:Microsoft offers interoperatibility? by shadowkoder · · Score: 1

      My bad. I wasn't aware of Microsoft ever doing something like this before, though I have heard of them classifying OPen Source as "viral software". So, sorry about the ill claim.

    20. Re:Microsoft offers interoperatibility? by Timothy+Brownawell · · Score: 1
      The "learning edition" of MSVC++ prohibited you from commercially distributing binaries made with it (or perhaps even just distributing the binaries, I can't remember just now). It also displayed a pop-up window whenever you executed your code, reminding you of this.
      Ah yes, I remember that... got one of those "teach yourself C++" books as a holiday present, and it came with that compiler.

      I also remember using the included debugger to find out where the programs stopped when that pop-up appeared... the byte sequence around the relevant call was always the same, and I coded something that would search-and-replace it with a string of nop's. Partly because the pop-ups were annoying, and partly just because I could.

      Tim

  8. This is a Good Thing(TM) by El+Cubano · · Score: 3, Interesting

    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.

    1. Re:This is a Good Thing(TM) by Mysteray · · Score: 1
      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.

      Could you clarify for me which one you found to be better?

    2. Re:This is a Good Thing(TM) by Yenhsrav_Keviv · · Score: 0, Troll

      m$ has the inside track because winblows has many undocumented functions that m$ doesnt tell anyone about....aka CHEATING!!!!

    3. Re:This is a Good Thing(TM) by Anonymous Coward · · Score: 0
      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 bet you're a blast at parties.

    4. Re:This is a Good Thing(TM) by Anonymous Coward · · Score: 0

      I don't think anyone can argue that MS has the inside track on optimizing Win32 apps.

      On the contrary - The U.S. Department of Justice argued that MS did in fact have (and made extensive use of) the inside track on optimizing Win32 apps.

      They even obtained a conviction, but the sentencing judge rolled over and barked like a dog for Bill Gates, and MS continued business as usual.

  9. platform SDK by halfdan+the+black · · Score: 5, Informative

    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.

    1. Re:platform SDK by sweet+cunny+muffin · · Score: 3, Informative

      The command line C++ compiler was never included in the SDK. The C# compiler and so on were, however.

    2. Re:platform SDK by Anonymous Coward · · Score: 1, Informative

      The difference here is that this compiler is "optimizing".

      I know alot of windows game developers use the MS IDEs and compilers, so this _is_ useful.

    3. Re:platform SDK by Danster · · Score: 2, Informative

      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.

      Not quite.

      The Platform SDK ships the 12.00.880 version of the VC++ compiler, which roughly corresponds to the 2002 version of Visual Studio .NET.

      This release is the 13.10.3077 version which corresponds to the current version of the environment -- Visual Studio .NET 2003.

      So no, not quite the same thing.

    4. Re:platform SDK by Danster · · Score: 1

      (Sorry, replying to myself -- bad form, I know.)

      Actually, I goofed: the PSDK does not, in fact, ship with a C++ compiler. Both the parent and grandparent are wrong in varying ways.

      (Setting the PSDK environment picked up the compiler executable from Visual Studio .NET 2002 -- fooling me into thinking it was part of the PSDK.)

    5. Re:platform SDK by Anonymous Coward · · Score: 1, Informative

      > The platform SDK which includes the command line
      > compiler, linker and debugger has allways been a
      > free download (hasn't it).

      No.

      Under Windows 3.x, the SDK was a separate purchase from the compiler. Microsoft C/C++ 7 was $199 and included support for DOS and OS/2(Presentation Manager was not yet available.) The SDK was $500 and included the headers/debug libraries, miscellaneous tools like the stress tester and the message spy utility, two feet of rather poor documentation, and Qualitas' 386Max which had something to do with DPMI implementations.

      When the build environment finally integrated with Windows(C/C++ 7 used the DOS-based PWB) they started including the SDK with the compiler.

      I don't recall when MASM ceased being a $99 product and became available in the SDK.

    6. Re:platform SDK by hobuddy · · Score: 4, Informative

      The command line C++ compiler was never included in the SDK. The C# compiler and so on were, however.

      That's incorrect. The .NET SDK has always included the C++ compiler (installed by default to C:\Program Files\Microsoft Visual Studio .NET 200x\Vc7), but the compiler was the Standard Edition, without an optimizer. If you pass it an optimization switch, the Standard Edition issues a warning to the effect that "The Standard Edition of Microsoft Visual C++ does not include an optimizer.". Naturally, lack of an optimizer makes the Standard Edition almost useless for production code.

      This newly released command-line compiler includes a fully functional optimizer. It's the same C++ compiler that underlies VC++ .NET 2003 Professional.

      --
      Erlang.org: wow
    7. Re:platform SDK by antime · · Score: 1
      The DDK (driver development kit) however does ship with a compiler:
      C:\WINDDK\2600>cl
      Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.00.9176 for 80x86
      Copyright (C) Microsoft Corporation 1984-2001. All rights reserved.

      usage: cl [ option... ] filename... [ /link linkoption... ]

      C:\WINDDK\2600>
      I haven't investigated too much, but together with the PSDK I could make working "Hello, World" apps. The DDK used to be a free download, but nowadays you must order it on a CD (or download it using your favourite p2p app).
    8. Re:platform SDK by Anonymous Coward · · Score: 0

      The platform SDK which includes the command line compiler, linker and debugger has allways been a free download (hasn't it)

      The current Platform SDK does not include a IA32 C/C++ compiler, and has not done so in recent memory (at least not since Win 2000). Not that it matters, but it does include an IA64 C/C++ compiler.

      On the other hand, the Windows DDK includes C/C++ compilers for IA32, IA64, and AMD64. You can't download the DDK unless you subscribe to MSDN, but MS will send you a CD for the cost of shipping/handling. No serious Windows developer should be without it.

    9. Re:platform SDK by AndroidCat · · Score: 1

      Yegods! You're right. I wonder what else my installation of Borland Delphi 8 has dropped on my hard drive? :)

      --
      One line blog. I hear that they're called Twitters now.
    10. Re:platform SDK by bandannarama · · Score: 1

      The Platform SDK has never included the compiler and linker. That is the problem being solved by this release of the tools.

      --
      Bandannarama
  10. huh? by Knights+who+say+'INT · · Score: 3, Funny

    Go Forth?

    But isn't it a C compiler?

    What next, Visual PL/I?

    1. Re:huh? by Anonymous Coward · · Score: 0
      Go Forth?

      Will you marry me?

    2. Re:huh? by TheAncientHacker · · Score: 1

      Well, Visual PL/I would be one easy way to fix all those C buffer overrun errors and idiotic syntax, um, quirks. Count me in.

    3. Re:huh? by Anonymous Coward · · Score: 0

      > Go Forth?

      No, you've gotten backwards. It's

      Forth Go

    4. Re:huh? by Anonymous Coward · · Score: 0

      FOOT DUP SHOOT SHOOT

  11. Awesome by Ryvar · · Score: 3, Interesting

    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.

    1. Re:Awesome by Anonymous Coward · · Score: 0, Funny

      i never found GIMP to be a very exciting game

    2. Re:Awesome by Anonymous Coward · · Score: 0

      Well GCC was already there so I assume the "move" you "really agree with" is installing the .NET framework along with this optimizing compiler, like a drug pusher slipping a crack rock into a bag of grass. I fail to see how this would help anybody write a game.

  12. Clippy's response to compiling OSS by foidulus · · Score: 5, Funny

    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."

    1. Re:Clippy's response to compiling OSS by Anonymous Coward · · Score: 0

      Carl Marx

      Is a Carl Marx anything like a Hot Carl?

      Moron.

    2. Re:Clippy's response to compiling OSS by sydb · · Score: 1

      That's 'K' - Karl Marx.

      --
      Yours Sincerely, Michael.
    3. Re:Clippy's response to compiling OSS by Anonymous Coward · · Score: 3, Funny

      That's 'K' - Karl Marx.


      No, no. This is the Gnome version, not the KDE one.

    4. Re:Clippy's response to compiling OSS by Chemisor · · Score: 1

      > the GPL was written by Carl Marx

      You ignorant savage! Everyone knows GPL was written by Orren Boyle.

    5. Re:Clippy's response to compiling OSS by Anonymous Coward · · Score: 0

      Garl Marx? Carl Marx would be the CDE version... Eww!

    6. Re:Clippy's response to compiling OSS by Anonymous Coward · · Score: 0

      >Moron

      At least your signature describes you well.

    7. Re:Clippy's response to compiling OSS by Anonymous Coward · · Score: 0

      Spelling Nazi mode: It's Karl Marx!

    8. Re:Clippy's response to compiling OSS by foidulus · · Score: 1

      I was quoting clippy, if you really want to take your agression out on a paperclip, feel free.

  13. crack is free first time by mabu · · Score: 4, Interesting

    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.

    1. Re:crack is free first time by mattgreen · · Score: 4, Informative

      I know knowledgable comments are looked down on at Slashdot, but the .NET SDK has been free from the start and included cl.exe, (the C++ compiler) but it was the non-optimizing compiler I think. What the .NET SDK didn't have was the full STL and a few other things that are now free.

      The end-result of this is everyone gets a free compiler upgrade if they haven't moved to VC7.1 already. It means on my OSS project I can say "VC7.1 minimum," and expect everyone can follow suit without a problem. However I realize this isn't as fun as tin-foil explanations, so I'll let you get back to that.

    2. Re:crack is free first time by Anonymous Coward · · Score: 0

      The .Net compiler has already been free. You could already develop .Net apps without paying anything for tools. There is even a free open source IDE in existance that is similar to VS.Net.

      Making the C++ Compiler is different, though.. Although it does support the .Net framework, you can compile to native code, which is what you couldn't do before without buying VC++.

    3. Re:crack is free first time by Anonymous Coward · · Score: 0

      Damn, I had to pay the first time I tried it! I should have used a drug dealer who read /.

    4. Re:crack is free first time by Anonymous Coward · · Score: 0

      It means on my OSS project I can say "VC7.1 minimum," and expect everyone can follow suit without a problem.

      Talking to yourself a lot lately, huh?

    5. Re:crack is free first time by Anonymous Coward · · Score: 0

      Yeah, projects like Mozilla and OpenOffice are completely unpopular because they use Visual C++.

    6. Re:crack is free first time by omicronish · · Score: 1

      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.

      Or it's simply a convenience. Microsoft added extensions to C++ so that you can compile and create a fully-managed .NET program in addition to regular programs. I personally would think it'd be weird if they released an optimizing C++ compiler and neglected to include the .NET extensions; it'd feel like they were purposefully ripping out that functionality. And yes, it exists as a switch: /clr

    7. Re:crack is free first time by mattgreen · · Score: 1

      Yes, its a captive audience, at least they listen.

  14. Microsoft Had A Change of Heart? No. by Famatra · · Score: 2, Interesting

    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.

  15. wow, good job microsoft! by timecop · · Score: 2, Informative

    This is absolutely awesome.

    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 .NET framework SDK did not have optimization command-line options enabled.

    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,

  16. EULA? by nukey56 · · Score: 4, Interesting
    From linked site:
    Are there any restrictions on how I use the Visual C++ Toolkit?

    In general, no. You may use the Toolkit to build C++ -based applications, and you may redistribute those applications. Please read the End User License Agreement (EULA), included with the Toolkit, for complete details.

    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:

    You may not disclose the results of any benchmark test of the .NET Framework component of the OS Components to any third party without MicrosoftÃÂ's prior written approval.

    Use at your own discretion.
    1. Re:EULA? by phy_si_kal · · Score: 1

      This is appears to be frequent in close-sourced corporate world. Oracle does it too. They don't want anyone to advertise he's faster...

    2. Re:EULA? by Anonymous Coward · · Score: 0

      > Are there any restrictions on how I use the Visual C++ Toolkit?

      > In general, no. [...]

      So, anyone compiled Linux with this yet?

    3. Re:EULA? by osewa77 · · Score: 1

      That's standard, even for Databases.

    4. Re:EULA? by nukey56 · · Score: 1

      Reason #1230983 not to use non-free apps.

    5. Re:EULA? by Jugalator · · Score: 1

      Ehh.. What does the .NET Framework have to do with this compiler anyway? How is that piece from the EULA relevant to a simple compiler?

      You could just as well have picked a restriction in a random API's EULA and blamed the VC++ Toolkit for that.

      Just because MS develops both doesn't mean that the compiler is related to the .NET framework whatsoever. Just work directly with Win32 or something else if you want to avoid that paragraph.

      --
      Beware: In C++, your friends can see your privates!
    6. Re:EULA? by SnowZero · · Score: 1

      What about using it to develop C applications, and not C++ ones? How sneaky! :-)

    7. Re:EULA? by rabidcow · · Score: 1
      I'm not sure what "in general, no" is supposed to mean. The only restrictions in the EULA related to this are about using the redistributables that come with the compiler, which aren't your code. All I can guess is that it's an ass-covering answer.

      The only term in the license that says anything about the code you write yourself is:
      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.1(ii) seems to basically cover anything you'd want to do with it.

      The word "benchmark" does not appear anywhere in the EULA, and I'm pretty sure this package will let you develop for the .NET framework. (if you're into that sort of thing.)

      IANAL, of course.
  17. Yes, but... by heironymouscoward · · Score: 3, Funny

    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
    1. Re:Yes, but... by tesmako · · Score: 2

      Making sure your code is portable is one very good reason to use the microsoft compiler on Windows. Compile with gcc on Linux and Microsofts compiler on Windows and you will catch more bugs in the long run.

    2. Re:Yes, but... by nukey56 · · Score: 2, Funny

      The day Microsoft releases a real cross compiler is the day I'm going to add a layer onto this here foil hat of mine...

    3. Re:Yes, but... by TheRaven64 · · Score: 2, Insightful

      If your code really is 100% portable, then it won't use any gcc-specific extensions, and so should compile fine with this compiler. If the MS compiler produces better optimisations (and I'd be very surprised if it didn't. Optimisation in gcc is handicapped somewhat by the need to be cross-platform) then there's no reason at all not to use it when compiling your apps for release in a Windows environment.

      --
      I am TheRaven on Soylent News
    4. Re:Yes, but... by Anonymous Coward · · Score: 0

      The problem is that MSVC does not support POSIX so only a toy program will work without using the win32 apis. And once you use the win32 apis you are not portable any longer.

      Try opening a socket or starting a subprocess in msvc.

    5. Re:Yes, but... by MrBlue+VT · · Score: 2, Informative

      You can use POSIX via Windows Services for Unix.

    6. Re:Yes, but... by Anonymous+Brave+Guy · · Score: 1
      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?

      Yes, if your target market happens to be using Windows. There's nothing to stop you writing standard, portable code and simply using Microsoft's compiler to build it on that particular platform, of course.

      (If you were including libraries and so on when you wrote "100% portable", then you're never going to reach that target anyway, and you do the same as everyone else who's played this game before: wrapper any external APIs in your own code, so that the effort to move to a different library on a different platform is minimized.)

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    7. Re:Yes, but... by myg · · Score: 1
      And compiling with only GCC is a great way to get portable code?

      Seriously. GCC allows many things that the standards forbid. And even if you are dilligent and stick to standards-only behavior you still can get code that is incorrect (by accident) but runs okay on GCC. Using a different compiler will help bring out portability bugs - indeed all bugs - in your code.

      GCC and MSVC are just two. There is also Watcom C, lcc, TenDRA, and a few others.

      If you want portable code, compile your code with all of them; test it with all of them. Diversity (with respect to compilers) usually only makes code better, not worse. Its like getting better coverage when testing.

    8. Re:Yes, but... by maxwell+demon · · Score: 1
      Does it run on Linux?

      If you have Wine installed, it might.

      Do I still want to write non-portable code in 2004?

      Depends on what you want to do. If you're goiing to write a Linux driver for a specific device, you probably don't care too much for Windows compatibility, and vice versa.

      Apparently MSVC produces better code then gcc on Windows, but is that reason enough to use it rather than (e.g.) cygwin?

      If you want to write portable code, then you'll possibly want to compile it both on MSVC and Cygwin. And if MSVC then produces the better executable, then why not use that?

      As a programmer, I insist on platforms that are 100% portable, so that my code can survive any OS and vendor changes.

      That's a contradiction in itself. Protability means "running on several platforms". A platform that runs on several platform is nonsense (unless you're speaking of a virtual machine, of course).

      At the very least a commercial compiler must implement the standard language and libraries so that my code is portable.

      Well, even gcc doesn't completely implement the C++ standard (export!). And from what I've read (from non-MS sources), MSVC has gotten much more standard compliant lately. But I agree that vendors generally should aim at maximizing standards compliance.

      Still, this is a good move for Microsoft and I welcome it.

      At least one sentence in your post that I can completely agree with :-)
      --
      The Tao of math: The numbers you can count are not the real numbers.
  18. goes both ways... by TamMan2000 · · Score: 2, Funny

    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...
    1. Re:goes both ways... by kryptkpr · · Score: 1

      Are you using -wall and -pedantic with gcc?

      No, I'm not.. I didn't even know those existed. Although I do recall seeing -wall all over the place when compiling some FOSS and thinking to myself I should look into what that means..

      I'm still new to C (coming from a Pascal background), and this language scares me.. I feel as if I'm yielding just a little more power then a programmer _should_ have access to for writing queues, linked lists, and 50 different sorting algorithms (damn Algorithms class).

      --
      DJ kRYPT's Free MP3s!
    2. Re:goes both ways... by Waffle+Iron · · Score: 5, Funny
      CC was the most liberal of them all, it would complile and run your email.

      This highlights once again how Windows is a more flexible and modern development platform than Un*x. With Windows, email can be run automatically and remotely, without the need for a separate compilation step.

    3. Re:goes both ways... by colinrichardday · · Score: 1

      Yielding power? To what? Or did you mean wielding?

    4. Re:goes both ways... by kryptkpr · · Score: 1

      Brain fart.. yes, I meant wielding.

      --
      DJ kRYPT's Free MP3s!
    5. Re:goes both ways... by Anonymous+Brave+Guy · · Score: 1
      I'm still new to C (coming from a Pascal background), and this language scares me.. I feel as if I'm yielding [sic] just a little more power then a programmer _should_ have access to for writing queues, linked lists, and 50 different sorting algorithms (damn Algorithms class).

      But that power is the whole point of C. If you don't need that level of control, you should probably be using another, higher-level language.

      Of course, your situation is different because you're studying, and whether or not you choose to use such a powerful but dangerous language for real projects, you should certainly be aware of the issues raised by it. The number of people in this business who don't understand simple computer science concepts because they learned Java and can't grok pointers is scary; the number of bugs they produce is scarier; and their willingness to blame their lack of understanding on a particular programming language is scarier still.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    6. Re:goes both ways... by Anonymous Coward · · Score: 0

      When he said CC he was referring to the Sun compiler. You and your mod buddies need to learn to read beyond a third-grade level.

    7. Re:goes both ways... by Anonymous Coward · · Score: 0
      When he said CC he was referring to the Sun compiler. You and your mod buddies need to learn to read beyond a third-grade level.

      Yes, it was the Sun compiler. That was the whole point of the joke. Get it now? You need to learn to inference beyond the kindergarten level.

    8. Re:goes both ways... by Anonymous Coward · · Score: 0

      The grandparent knew that. I think it's YOU who needs to learn to read.

  19. No lib.exe by Asmodeus · · Score: 3, Informative

    Major omission - no lib.exe for building .a files

    Looks like this is just to encourage people to migrate to .NET as without lib.exe it is pretty useless for larger projects.

    Still, nice of them to release it

    Asmo

    1. Re:No lib.exe by swamp+boy · · Score: 2, Informative

      The original poster says "without lib.exe it is pretty useless for larger projects".

      My suggestion of building DLL's negates this complaint. Notice the original post didn't say "can't build static link library". A DLL on Windows is essentially the same as a ".so" on Unix. True, a DLL is not the same as a statically linked library, but in the original poster's comment aboutl "useless", one could easily build any number of DLL's for a large project. Indeed, this is how most commercial Win32 apps are built. Am I missing something?

    2. Re:No lib.exe by Anonymous Coward · · Score: 0

      Hey, most of us understand the point you're making, and that ass-modious is talking out of his ass. A-M is just whoring for mod points, and acting, like, you know, 'leet and all.

    3. Re:No lib.exe by willll · · Score: 2, Informative

      In case you didn't notice, they didn't include a lot of stuff that's neccessary for building Windows apps: the Windows headers, the .lib files for linking with Windows stuff, a resource compiler, nmake, etc. You have to download some more stuff (for free as well) to get this stuff. That would be the Platform SDK.

    4. Re:No lib.exe by ajp · · Score: 5, Informative

      Try using the link /lib switch. It offers the exact same functionality as lib.exe.

    5. Re:No lib.exe by Anonymous Coward · · Score: 0

      .NET don't use a lib.exe program. This isn't an error, it's the way it really works.

    6. Re:No lib.exe by DotNetGuru · · Score: 2, Informative

      Just to put a fine point on how much this is the "exact same functionality". If you delete link.exe from your system then lib will fail to work. That's right, lib just calls link for you. It could be replaced by a batch file or a 1 line C program.

      The same goes for dumpbin and editbin. It's just a wrapper over link.

    7. Re:No lib.exe by Asmodeus · · Score: 1

      Nice one!

      Thanks for that. I missed it as the link /? doesn't document it, but link /lib does.

      Asmo

    8. Re:No lib.exe by kylef · · Score: 2, Interesting
      That's right, lib just calls link for you. It could be replaced by a batch file or a 1 line C program.

      Yep. Dumpbin.exe works the same way. It just invokes link.exe /dump. The weird part is, neither of those options are specified when you do link /?. You have to know about those commands to get command-line help from them!

    9. Re:No lib.exe by TioHoltzman · · Score: 1

      You haven't developed much on Win32 have you? :)
      On Win32, on any production compiler/linker toolchain I'm aware of (i.e. MS, Borland, DMC, etc) you never have a .a file for static libraries. These are always .lib files. As others have noted, classes, functions, data, may be imported or exported by using the __declspec(export) or __declspec(import) storage qualifiers.
      As far as I know the .a library file is a technique/standard on *nix absed systems (OpenVMS also uses .LIB and .OBJ file naming standards).

    10. Re:No lib.exe by puetzc · · Score: 1

      Isn't lib.exe in the platform SDK (with MIDL et al) instead?

  20. Nice move by Anonymous Coward · · Score: 2, Interesting

    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.

    1. Re:Nice move by zhenlin · · Score: 1

      There might be problems:

      (1) It doesn't support GNU extensions
      (2) It doesn't support as much POSIX as Cygwin/MinGW
      (3) It has different assembler syntax

      and

      (0) RMS will criticise you for using non-free software when you could have used an already existing free software replacement.

    2. Re:Nice move by Anonymous+Brave+Guy · · Score: 4, Funny
      As a university student I can get VS.NET2003 Pro with the optimizing compiler for free anyway

      You know that copying it over Kazaa from your mate down the corridor is illegal, right? ;-)

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    3. Re:Nice move by tepples · · Score: 1

      Many (but not all) GNU extensions have made their way into C99 and C++98. How much of C99 and C++98 does MSVC recognize?

      MSVC and MinGW support precisely the same fraction of the POSIX functions, given that they use the same runtime library (msvcrt.dll). Cygwin supports more, but its runtime library is copylefted.

      The i386 assembler syntax of the free and popular NASM is close to that used by MSVC's assembler.

    4. Re:Nice move by Kupek · · Score: 1

      The CS department at Virginia Tech is a part of the MSDN Academic Alliance, so when I was an undergrad there, I could download just about every Microsoft product released for the past 15 years.

      However, I don't know what they had to go through to be a part of that. But I did legally download and install Visual Studio .NET 2003 Professional for free.

    5. Re:Nice move by Anonymous Coward · · Score: 0

      MSDNAA

      $799 (USD) annual membership fee per department

      What is the MSDN Academic Alliance?

      The MSDN Academic Alliance is an annual membership program for technical departments in the area of Computer Science, Engineering, and Information Systems. As a member, a department receives an MSDNAA subscription that Microsoft platform, servers, and developer tools software. This software may be installed on any number of departmental lab machines. The software must be used for instructional and research purposes, it may not be used to run the infrastructure of the department. In addition, the department's faculty and students may check-out or download the software to install on their personal computers.

  21. I suppose Electric Fence and Valgrind don't count by BitwizeGHC · · Score: 2, Interesting

    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!
  22. can't believe I am doing this, but... by TamMan2000 · · Score: 2, Interesting

    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...
    1. Re:can't believe I am doing this, but... by kryptkpr · · Score: 2, Informative

      I don't have VC++ installed, so I'm afraid I cannot cite very specific examples. Most of my troubles came from pointers (big surprise there), and if I recall correctly calloc() would randomly fail to initialize allocated memory. I also recall being angry that I cannot sizeof() a row vector in a 2D array, but sizeof() on a 1D array works fine.

      Most of my trouble likely came from being a n00b to the language, and coming from a Pascal background I don't quite like the way C does a few things things (like multi-dimensional arrays, and pass by reference).. but using VC++ made learning even harder, becuase stuff would just mysteriously fail to work post-compilation that worked fine on other compilers.

      (Disclamier: never touched C++ with even a 40 ft stick, and was using an older version of VC++, I think it was 4)

      --
      DJ kRYPT's Free MP3s!
    2. Re:can't believe I am doing this, but... by Anonymous Coward · · Score: 1, Insightful
      I don't quite like the way C does a few things things (like multi-dimensional arrays, and pass by reference)

      There is no pass by reference in C.

    3. Re:can't believe I am doing this, but... by Anonymous Coward · · Score: 0

      (Disclamier: never touched C++ with even a 40 ft stick, and was using an older version of VC++, I think it was 4)

      OK, let me get this straight. You're condeming Microsoft today based on experience with a compiler that was released in 1996? Try comparing it to gcc from the same era. You'll probably find that all eight year old compilers suck by todays standardards.

      I will never understand is why anti-Microsoft people insist on inventing imaginary sins when MS commits so many real ones. Hate them for what they actually do, not some fantasy.

    4. Re:can't believe I am doing this, but... by kryptkpr · · Score: 1

      Which is EXACTLY what I don't like...

      --
      DJ kRYPT's Free MP3s!
    5. Re:can't believe I am doing this, but... by kryptkpr · · Score: 1

      What does it matter when the compiler was released? We were doing basic "educational" programming (implementing several well-known algorithms).. a compiler from the 80s shouldn't have had any trouble.

      --
      DJ kRYPT's Free MP3s!
    6. Re:can't believe I am doing this, but... by Anonymous Coward · · Score: 0

      Well, what you personally like or not doesn't belong to this discussion...

    7. Re:can't believe I am doing this, but... by Anonymous Coward · · Score: 0

      What does it matter when the compiler was released?

      Well, it has a certain effect on what language standards having been developed (i.e. what the compiler let you do). :-P

      Even if you write the simplest programs, you might still use an unsupported syntax if you use a compiler from the 80's or whatever. A compiler from the 80's should actually use a pretty annoying syntax in some cases.

    8. Re:can't believe I am doing this, but... by SmackCrackandPot · · Score: 1

      OK, here's one I've had to work around. I've got a class object (OpenGL Extension handler that lists all the functions, and flags for each OpenGL extension and OpenGL version present). Because the class object is over 4K in size, VCC seems to get confused and places the results in the wrong locations (wrong offsets), thus overwriting adjacent objects in memory.

    9. Re:can't believe I am doing this, but... by Anonymous Coward · · Score: 0

      Most of my trouble likely came from me being a dumbass and not knowing C.

      I concur.

    10. Re:can't believe I am doing this, but... by Anonymous+Brave+Guy · · Score: 2, Interesting
      What does it matter when the compiler was released?

      What a silly thing to say. Programming languages evolve, and always have. In the mid-90s, C was fairly stable (having been around for eons), C++ was beginning to mature but had no standard, Java was barely usable, Visual Basic was some funky new toy this company called Microsoft were playing with, most of the successful scripting languages we have today were barely a glint in their creators' eyes, functional languages hadn't worked out how to deal with that slight problem that real programs need side effects, and academics thought Pascal was a cool teaching language. (How many of these things are still true today is left as an exercise for the reader, but clearly it's not all of them.)

      If you really expect to work in this industry and use tools from around a decade ago but still keep up with the current generation, you have a lot more to learn than how to do pass by reference in C.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    11. Re:can't believe I am doing this, but... by Decameron81 · · Score: 0, Redundant
      I will talk about MSV C++ 6.x as it was the last version I used of it (for compatibility reasons)...

      The problem with me was not that MSV C++ didn't let me do things I could do with other compilers. The problem was mostly about plain ISO C++ compliance. Just to give you an example, the following is a problem I found in MSV C++ when trying to port a program:
      for (<B>int counter</B>; ...)
      {
      somecode;
      }

      for (<B>int counter</B>; ...)
      {
      somecode;
      }
      This code would not compile in MSVC++ 6.x telling me that the same variable had been defined twice. Now while this could seem like a simple problem to solve, it meant going through 7000+ lines of code and declaring the variable outside the for loop every single time.

      According to the C++ standard, the scope of the variable that is declared inside the "for" loop is limited to the loop. In other words, this code is legal according to the C++ standard, but Visual C++ 6 couldn't compile it successfully.

      MSVC++ is considered one of the least compliant C++ compiler implementations available for this, and many other reasons.

      To back up a bit what I said, here goes a google link to a discussion regarding VC++'s ISO compliance. If you follow the selected sub-thread you will also find a reply from one of the developers of MSVC++ in which he clearly states that Microsoft's main goal was not to create a fully compliant C++ compiler, but rather to implement upon the standard specifications and create a sort of Microsoft C++ standards.

      A small quote:
      "The main decision the C++ team was faced with in this release was to either
      devote most of the effort to compliance issues, or to have a stab at making
      sure C++ on Microsoft platforms was still a viable language to use to write
      code in a managed execution environment. We chose the latter."

      And the link to the discussion:
      google.com

      Diego Rey
      --
      diegoT
    12. Re:can't believe I am doing this, but... by Anonymous Coward · · Score: 0

      For the basic coding you do in school, it doesn't matter. If the compiler compiles without error and the code doesn't work, but it works fine on other compilers, then it's a bug in the compiler or it doesn't implement something the same way every other compiler does.

      There's just too many people around here who refuse to believe that their cherished software might have had bug in it, even if it was 3 major revisions ago. They'll blame your code, your theory, your system, anything but the application.

      Didn't you know? On this board it's hip to bash ANY post that cricizes microsoft, even when it's accurate to do so. You're labelled as nothing but an "anti-microsoft troll".

    13. Re:can't believe I am doing this, but... by Anonymous Coward · · Score: 0

      so you hate Microsoft because you're a Pascal programmer? Get with it, learn C compiler syntax

    14. Re:can't believe I am doing this, but... by RogerWilco · · Score: 1

      borland c++ builder is from 1997
      and I beleive they have always been following the (draft versions) of the ANSI C++ standard quite closely, before 1997 with their borland c/c++

      You might like
      http://www.cs.clemson.edu/~malloy/papers/ddj 2/pape r.pdf
      ANSI compliance
      VC++ 6 83%
      VC++ 7 98%
      gcc 2.95 92%
      gcc 3.3 96%
      borland 5.5 92%

      --
      RogerWilco the Adventurous Janitor
    15. Re:can't believe I am doing this, but... by cubic6 · · Score: 1

      When VC++6 was released, that ISO standard was only a draft. It's fixed in VC++ 7, as are most ISO-compliance issues.

      --
      Karma: Contrapositive
    16. Re:can't believe I am doing this, but... by jacquesm · · Score: 1

      bzzzt. it's called 'pointers'

    17. Re:can't believe I am doing this, but... by Anonymous Coward · · Score: 0

      Yeah, I'm sure MSVC++ isn't capable of creating class instances greater than 4K in size. Yuk, yuk.

      I don't know about you, but as I get better and better at C/C++, I seem to find fewer and fewer "compiler bugs." Wonder why that is?

    18. Re:can't believe I am doing this, but... by SmackCrackandPot · · Score: 1

      That's the only bug I've found - and I didn't write the code either. It was an automatic code generator which generated the code. I've got better things to do than cut and paste from header files and extension specifications.

    19. Re:can't believe I am doing this, but... by fatphil · · Score: 1

      "There is no pass by reference in C."

      Yes there is. It's performed by using pointers.
      Don't let unread C++ terminology freaks rewrite computer history by telling you that the mechanism isn't pass by reference, as it is, and has been for a decade before C++ was invented.
      Sure, this causes ambiguity in the (description of the) language, but that's life - and lets face it, the C++/OO guys have caused more than their fair share of ambiguous terms, so they shouldn't point fingers.

      FP. (C++/OOP lecturer, but without head in clouds)

      --
      Also FatPhil on SoylentNews, id 863
    20. Re:can't believe I am doing this, but... by jrumney · · Score: 1
      I will talk about MSV C++ 6.x as it was the last version I used of it (for compatibility reasons)...

      Presumably you rant against Netscape 3.0's (for compatibility reasons) XHTML compliance too?

    21. Re:can't believe I am doing this, but... by Decameron81 · · Score: 1

      MSV C++ 6.x was what? Like the previous version to what's available today?

      Contrary to what you seem to believe, Visual Studio 6 is still being used by a lot of people. Otherwise Microsoft wouldn't have released a new service pack for it like a week ago:

      VisualStudio

      Anyway... the point is that Microsoft tends to abuse standards by leading people to believe their programs support these standards. But they end up creating their own non-compliant implementations and you are stuck with them. The same thing happened with Java in the past and lead to a lot of critisism towards what they were trying to achieve (ie take-over such standard by creating their "improved" version of it).

      Diego Rey

      --
      diegoT
    22. Re:can't believe I am doing this, but... by Anonymous Coward · · Score: 0

      That still doesn't stop the compiler from being old and designed against a draft of C++. If you stick to that old compiler, thats your choice.

    23. Re:can't believe I am doing this, but... by kryptkpr · · Score: 1

      I think you misunderstood what I was trying to say..

      I was evaluating several development enviroments with the tools that I had on hand.. mainly, an older version of VC++ (that I had received for free in some magazine's cover CD), and newer versions of BCC and GCC (because they were both free).

      I did not expect to do any "work in industry" with the outdated tools, but simply evaluate them to decide which I should be using to learn C programming with. Since the stuff I was doing would fall into the "fairly-stable C" category, it shouldn't [really] matter when the compiler was released.

      I was not doing any C++, nor was I doing any Java, nor any other language that had been developer recently.. just plain vanilla C.

      --
      DJ kRYPT's Free MP3s!
    24. Re:can't believe I am doing this, but... by kryptkpr · · Score: 1

      Bzzt. Passing "pointers to variables" by value is NOT the same as passing "variables" by reference.. there's folks in this thread arguing about this very thing.

      99% of the time, they are the same with just syntactical differences.. but it's that 1% of the time where it doesn't work like you think it should work that irritates me..

      --
      DJ kRYPT's Free MP3s!
    25. Re:can't believe I am doing this, but... by kryptkpr · · Score: 1

      Where did I state I hate Microsoft?

      I ask becuase it seems some of the mods agree with you, and as everyone knows, if you show even the slightest hint of bashing Microsoft around here, you're considered a Troll.

      I'm simply not a fan of VC++ .. that is, I don't like _one_ of their hundreds of products. I am on the other hand a huge fan of Windows 2000, I run it on all my desktop systems (Linux runs my servers.. oh no, I shouldn't have said that, the BSD trolls are going to come get me now).

      --
      DJ kRYPT's Free MP3s!
    26. Re:can't believe I am doing this, but... by Anonymous Coward · · Score: 0

      Wrong. The ISO C++ standard was finalized at that time (as a result GCC did not have any of the obvious errors VCC did). Besides, these things didn't change from the draft.

    27. Re:can't believe I am doing this, but... by Anonymous Coward · · Score: 0

      Wrong. Not designed against a draft, but the finialized ISO C++ stanadard. We will people get this right...

      Besides, the draft didn't change on these issues.

    28. Re:can't believe I am doing this, but... by RupW · · Score: 1

      According to the C++ standard, the scope of the variable that is declared inside the "for" loop is limited to the loop. In other words, this code is legal according to the C++ standard, but Visual C++ 6 couldn't compile it successfully.

      Did you read the docs? You can disable this behaviour with compile flag '/Za'.

    29. Re:can't believe I am doing this, but... by Anonymous+Brave+Guy · · Score: 1
      I think you misunderstood what I was trying to say..

      So it would seem. :-)

      I did not expect to do any "work in industry" with the outdated tools, but simply evaluate them to decide which I should be using to learn C programming with.

      Fair enough, but your original post said that you wrote fairly standards-compliant code, which worked in all the C compilers but not in VC++. Since the latter is a C++ compiler (though IIRC some versions can also be switched to pure C) and there was no C++ standard at the time version 6 was released, there must be a flaw in this logic somewhere...

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    30. Re:can't believe I am doing this, but... by drxenos · · Score: 1

      Ever try doing meta-templates with VC++? Or even just out-of-line member templates?

      --


      Anonymous Cowards suck.
  23. Re:compile time security checks by Anonymous Coward · · Score: 0

    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.

  24. Why do I see this as something bad? by MagiGraphX · · Score: 0

    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.

  25. How about some evidence? by enosys · · Score: 4, Insightful

    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.

    1. Re:How about some evidence? by shamilton · · Score: 1

      How about you just test it yourself? I have, and I've found gcc does some clever things which cl.exe does not. For example, gcc seems to use a binary search for switches, whereas cl.exe just does a linear search. Despite this, cl.exe seemed to do better than gcc in more general cases. As well, it's a pain in the ass to try to build things like Quake on Windows with anything other than Microsoft tools.

      --
      "[A] high IQ is like a Jeep; you will still get stuck, just farther from help!" --Just d' FAQs, c.g.a
    2. Re:How about some evidence? by man_of_mr_e · · Score: 4, Informative

      This is a few years old (as are most of the benchmarks i've seen) but you can try this http://www.willus.com/ccomp_benchmark.shtml?p11

      Note that this is comparing MSVC 6 (current version is 7.1, and it's improved a lot). In this test, Intel beats everyone, MSVC comes in second with MingW third, however, both the Intel and MS compilers have improved massively in the last couple years. I don't know about MingW. At least part of MingW's success is that they use MS's runtime library, which means that a great deal of the code being run was compiled by MSVC.

    3. Re:How about some evidence? by Anonymous Coward · · Score: 0

      I just compiled the Prime number generator (see Project Gutenberg) with both MinGW and MSVC++ and the code ran in the same time.

      Cheers,
      AC

    4. Re:How about some evidence? by Anonymous+Brave+Guy · · Score: 4, Informative
      I suspected someone would say Microsoft's compiler produces better code. Now where's the evidence?

      There are at least two easy answers to that question:

      • Look at the disassembly for any reasonably complex algorithm, and spot all the platform-specific optimisations that VC++ (and indeed most other commercial compilers on Windows) perform that GCC (due to its portability requirements) does not.
      • Use Google, and look for people who've compared the real world performance of non-trivial apps built with each compiler. (You might do better with Google Groups than the Google web search engine on this one.)
      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    5. Re:How about some evidence? by Anonymous Coward · · Score: 0
      I just compiled the Prime number generator (see Project Gutenberg) with both MinGW and MSVC++ and the code ran in the same time.

      Bull. How much time, exactly?
      You searched for: Title: prime.

      Searched for whole words only.

      3 Record(s) Matching Your Query Found.

      1. 32nd Mersenne Prime, The; predicted by Mersenne
      by Slowinski, David
      Released: Jun 1993
      2. Prime Minister, The
      by Trollope, Anthony
      Released: Apr 2000
      3. First 100,000 Prime Numbers, The
      by Unknown
      Released: May 1993
    6. Re:How about some evidence? by LnxAddct · · Score: 1

      IIRC Microsoft takes a ton of shortcuts to get that additional speed. For instance, their trig functions are a number of decimals less accurate. If your going to use a closed compiler for windows use Intel's, it probably produces the best code for x86. Intel has submitted lots of things to the GCC crew which has been rejected. The GCC devs are very picky about what they let in and try not to favor any one OS or platform. Anyway, speed isnt a major thing to worry about anymore for devs unless your doing high precision or speed related stuff.
      Regards,
      Steve

    7. Re:How about some evidence? by Anonymous Coward · · Score: 0

      > MingW

      Sorry to sound pedantic, but since you misspelled this several times,... it's MinGW, not MingW, it's shorthand for Minimalist GNU for Windows.

    8. Re:How about some evidence? by dial0g · · Score: 2, Informative

      Latest issue (May) of DDJ has an article on compiler performance.

      For C code, VC++ 7.1 ranked 2nd (tied with Intel and Open Watcom) whereas GCC ranked 8th.

      For C++ code GCC and VC++ 7.1 were tied for 2nd.

      I'll leave it to you to buy the magazine if you want the details (they tested 9 x86/Win32 compilers all together).

    9. Re:How about some evidence? by cubic6 · · Score: 1

      GCC does the math shortcuts too, if you use certain level of optimization or specify --ffast-math. It all depends on what optimizations you use. If you don't use any, neither does any optimization that would change functionality.

      --
      Karma: Contrapositive
    10. Re:How about some evidence? by Too+Much+Noise · · Score: 4, Informative
      heh - benchmarking, gotta love it. Here's a clue about (more recent) compilers - note that the bench you linked to has what would be a 5-gen-old gcc (2.7.x). even 2.9* used to spank MS' cl 13.x (that's the pre-release versions of 7.0 that were also freely downloadable - in fact, MS used to give away compiler toolchains for a long time as part of the SDK, old news, huh?).

      1. recent icc (7.x, 8) spank about everyone on vector fp due to various reasons (like Intel not releasing a full spec of the SSE2 unit - check out the gcc mailing lists about SSE2, you'll see they didn't have info on timings and so on, hence gcc does only some integer optimization and mostly scalar fp).

      2. icc does some (nice when not useless) automatic parallelization of code (the idea being to use hyperthreading better).

      3. gcc 2.9x -> 3.1+ was a big improvement as well (moreso for 3.2+, check the docs for the new way they do the machine description for scheduling). Just check your own link.

      4. -ffast-math on gcc only has it do what both Intel and MS are already doing - using the bloody fp unit instead of software emulation!!! (easy proof - do an asm dump of the generated .o file).

      5. another big thing that's done by default by icc and cl is the gcc flag -fomit-frame-pointer (which on x86 is quite important due to register starvation). Again, gcc has that missing.


      Actually, looking at the compiler flags makes me wonder whether there's any point in taking those bench's seriously - the guy didn't even bother to use anything more than -mcpu=i686 (aka 'generate for pentium pro) for gcc, and the other compilers' switches are still close to minimal (even if they mean quite more than the gcc one). Makes one wonder about how competent the guy doing the benchmark was.
    11. Re:How about some evidence? by Arkaein · · Score: 1

      The C++ specific benchmarks (the third and fourth ones) showed MinGW very close to MSVC (within about 5% performance), though both lagged behind Intel on benchmark #4.

      So for C++ applications, MinGW would seem almost as good as MSVC.

    12. Re:How about some evidence? by be-fan · · Score: 1

      recent icc (7.x, 8) spank about everyone on vector fp due to various reasons (like Intel not releasing a full spec of the SSE2 unit - check out the gcc mailing lists about SSE2, you'll see they didn't have info on timings and so on, hence gcc does only some integer optimization and mostly scalar fp).
      The major reason Intel spanks everyone on vector-fp is that its compiler does auto-vectorization of code and none of the others do. The auto-vectorization has nothing to do with hyperthreading, and everything to do with taking advantage of SSE2.

      --
      A deep unwavering belief is a sure sign you're missing something...
    13. Re:How about some evidence? by cyfer2000 · · Score: 1

      There are Mozillas compiled by different compilers, and a lot of discussion going on. And I remember MinGW produced quickest code, and every body feel amazed and confused.

      --
      There is a spark in every single flame bait point.
    14. Re:How about some evidence? by Joe+Tie. · · Score: 2, Insightful

      What really baffled me was the line This is a nice boon for those that have to deal with cross-platform compatibility

      I can think of some reasons to use microsoft's compiler, but it seems to me that cross-platform compatibility is the single largest reason not to. It can be hard enough keeping things cross-platform when you're using gcc on each, adding a whole other compiler to the mix is just asking for trouble.

      --
      Everything will be taken away from you.
    15. Re:How about some evidence? by rnd() · · Score: 1

      I recently downloaded the 30 day evaluation version of the Intel compiler and compared the performance with the Microsoft c++ compiler (the one that ships with vs 2003). Both compilers were set to use all available optimizations, and I even used the profiling optimization for the Intel compiler.

      Results? The Microsoft compiled code was about 1 second faster than the Intel compiled code (the total run time was about 5.6 seconds for the Microsoft compiled code). Interestingly, the Microsoft compiler only took a second or two to compile, while the Intel compiler took much longer.

      No trig functions were used in the code... it was all simple work with large data structures, the stl, and some reading and writing to files.

      --

      Amazing magic tricks

    16. Re:How about some evidence? by fatphil · · Score: 2, Informative

      Erm:

      "-ffast-math on gcc only has it do what both Intel and MS are already doing - using the bloody fp unit instead of software emulation!!! (easy proof - do an asm dump of the generated .o file)."

      bash-2.05b$ more foo.c
      double foo(double a, double b, double c, double d)
      {
      return (a+b)*(b+c)*(c+d)*(d+a);
      }

      bash-2.05b$ gcc -S -O3 -fno-fast-math foo.c
      bash-2.05b$ more foo.s
      .file "foo.c"
      .text
      .p2align 4,,15
      .globl foo
      .type foo, @function
      foo:
      pushl %ebp
      movl %esp, %ebp
      fldl 8(%ebp)
      fldl 16(%ebp)
      fldl 24(%ebp)
      fld %st(2)
      fadd %st(2), %st
      fldl 32(%ebp)
      fxch %st(3)
      fadd %st(2), %st
      fxch %st(2)
      popl %ebp
      fadd %st(3), %st
      fxch %st(1)
      fmulp %st, %st(2)
      fxch %st(2)
      faddp %st, %st(3)
      fmulp %st, %st(1)
      fmulp %st, %st(1)
      ret
      .size foo, .-foo
      .section .note.GNU-stack,"",@progbits
      .ident "GCC: (GNU) 3.3.3 (Debian 20040401)"

      If that's not using the FPU unit, then I'm a Dutchman.

      FP. (Not a Dutchman)

      --
      Also FatPhil on SoylentNews, id 863
    17. Re:How about some evidence? by Anonymous Coward · · Score: 0

      I'm surprised that MS wouldn't buy you a copy being one of their employees after all.

    18. Re:How about some evidence? by fatphil · · Score: 1

      "that GCC (due to its portability requirements) does not"

      Erm?

      So how do you explain the following in gcc's man page:

      -mcpu=cpu-type

      Tune to cpu-type everything applicable about the generated code, except for the ABI and the
      set of available instructions. The choices for cpu-type are i386, i486, i586, i686, pen-
      tium, pentium-mmx, pentiumpro, pentium2, pentium3, pentium4, prescott, nocona, k6, k6-2,
      k6-3, athlon, athlon-tbird, athlon-4, athlon-xp, athlon-mp, winchip-c6, winchip2 and c3.

      While picking a specific cpu-type will schedule things appropriately for that particular
      chip, the compiler will not generate any code that does not run on the i386 without the
      -march=cpu-type option being used. i586 is equivalent to pentium and i686 is equivalent to
      pentiumpro. k6 and athlon are the AMD chips as opposed to the Intel ones.

      -march=cpu-type

      Generate instructions for the machine type cpu-type. The choices for cpu-type are the same
      as for -mcpu. Moreover, specifying -march=cpu-type implies -mcpu=cpu-type.

      FP.

      --
      Also FatPhil on SoylentNews, id 863
    19. Re:How about some evidence? by Too+Much+Noise · · Score: 1

      There are actually 2 things icc does that are usually labelled 'vectorization'.

      One is fp packed (aka vector) mode (the *p? asm instructions, like mulpd). The first issue with gcc here is the incomplete spec on the SSE2 unit (if you can't describe it correctly, you can't optimize for it). The second issue is memory alignment of the buffers - the fast memory access load/store for packed data requires 16-byte alignment. Using the unaligned load/store is less efficient, using aligned ops on unaligned data is slooooow. This part, as you said, has nothing to do with hyperthreading.

      the other optimization icc does that is sometimes called 'vectorization' is 'loop vectorization'. that has to do with breaking simple (parallelizable) loops into independent parts and executing them in different threads (do an objdump and see for yourself). You see this in some nice outputs that icc does saying it vectorized some loop. This has to do with hyperthreading.

    20. Re:How about some evidence? by Too+Much+Noise · · Score: 1

      good point. I was trying to make the point on 2.x, but I guess I mistakenly assumed 3.x behave the same. So I should get more up-to-date info before speaking, weeee :-)

      on the other hand, on a p4 you want to use -mfp-math=sse anyway, since fxch is no longer free on the x87 unit (welcome back stack model!). Sucks, eh?

    21. Re:How about some evidence? by brsmith4 · · Score: 1

      Well, if you are concerned with precision math in your programs (i mean, really concerned, not just having fun), you will hopefully be using either the Intel compilers (their fortran compiler is also killer) as you stated, or the Portland Group's PGI compilers. They seem to do a lot better when it comes to floating point accuracy and trigonometric funtions.

      The MS compilers are *decent* when it comes to this, but I would never seriously consider using them for anything beyond a simple physics engine for a video game.

      From the benchmarks i've done on the four compilers, gcc, MS's, pgcc, icc, intel absolutely stomped on everything in terms of precision and speed. PGI was on par with intel, in terms of accuracy, but their price is a little unreasonable.

    22. Re:How about some evidence? by man_of_mr_e · · Score: 1

      If you really want to be pedantic, it's not misspelled, but rather mis-capitalized. Ie, a grammar error rather than a syntax error.

    23. Re:How about some evidence? by man_of_mr_e · · Score: 2, Insightful

      Floating point performance is not the only performance out there, and in fact it's a benchmark i'm least concerned with.

      I care about optimization of the executing code and integer performance 99.999% of the time, and MS's compiler generates some extremely good code. Remember, the smaller it is, the better chance there is that it will fit within the cache, especially for tight loops.

      I've not been very impressed with the size or performance of gcc's integer code.

    24. Re:How about some evidence? by rnd() · · Score: 1

      Not exactly... I had been hoping for some significant performance improvements with ics...

      I have since switched the project over to linux, and under linux gcc performs as well (in terms of time to run the app) as the microsoft compiler did under Windows.

      I will be trying the intel compiler again at some point, just in case it offers a performance improvement over gcc on linux.

      I was really quite shocked that ics was slower than the Microsoft compiler...

      --

      Amazing magic tricks

    25. Re:How about some evidence? by be-fan · · Score: 3, Informative

      Loop vectorization does not have to do with hyperthreading. Loop vectorization takes code like this:

      for(...iterate over buffer...)
      for(...iterate over vector...)
      do_scaler_op()

      And turn it into code like this:

      for(...iterate over buffer...)
      do_vector_op(...on vector...)

      This has nothing to do with hyperthreading. Hyperthreading deals with parallelism between threads, not parallelism within threads. Intel has a seperate facility for the compiler to generate seperate program threads (OpenMP), but the auto-vectorizer does not. The auto-vectorizer works at a much lower level, replacing several scaler ops with a smaller number of vector ops. GCC does not have the analysis technology necessary to do that.

      --
      A deep unwavering belief is a sure sign you're missing something...
    26. Re:How about some evidence? by Anonymous Coward · · Score: 0

      The trig functions run on the FPU. Complain to Intel or AMD then. The other option is some third party DLL possibly changes the FPU precision mode to single precision instead of double, for speed, but its not usualy set to single mode unless you fire up Direct3D (and even then can be worked around easily enough).

      If you are that sensitive on floating point code anyway, you have some seriously large design flaws in your application as they are in-exact by definition, and WILL vary from processor to processor, and platform to platform.

    27. Re:How about some evidence? by jhunsake · · Score: 0, Redundant

      Just about everything you've said has been proven wrong in other posts. Why did you bother posting in the first place? You've only made yourself look like an idiot.

    28. Re:How about some evidence? by raxx7 · · Score: 1

      AFAIK, regarding floating point, VC and ICC produce C90 compliant results except in one aspect: funcionts like log() and sqrt() don't set errno where C90 requires it. GCC is fully compliant.

      However, C99 has a much more strict set of rules about results than C90, because it implements IEEE 754. But IEEE 754 compliance isn't very usefull unless the code is written to take advantage of it and it excludes lots of optimizations. I don't know of any compiler that produces compliant results by default. A first read on GCC's manual gives the idea that it does, origining lots of confusion.
      Actually GCC doesn't guarantee IEEE 754 compliance in any architecture. In x86, it's default behaviour is more compliant than ICC (more in regard to support for non-finite values and exceptions than precision) but to get the level of compliance that icc -mp yields, you need to dig in the documentation and use gcc -fstore-float. And according to paranoia.c, it doesn't quite get there.

    29. Re:How about some evidence? by CTachyon · · Score: 1

      -ffast-math on gcc only has it do what both Intel and MS are already doing - using the bloody fp unit instead of software emulation!!!

      This is Obviously Wrong. The default -fno-fast-math behavior is to use the FP unit, but strategically use fstp/fld (store-and-pop/load) pairs to cut the accuracy down to the actual number of needed bits (from the 80-bit internal representation of the 80x87). This makes the final value reflect what a naïve program expects, if it breaks on slight differences in rounding and comes from an architecture where e.g. 32-bit float precision means 32-bit float precision.

      Software emulation of the x87 (in case the app is running on, say, a naked 386 or a 486SX) is entirely an OS and library issue. The resulting app-level assembly code is identical.

      --
      Range Voting: preference intensity matters
    30. Re:How about some evidence? by Anonymous+Brave+Guy · · Score: 1

      I realise GCC has some platform-specific support, but a lot of the optimisation code seems to be a distant second compared to dedicated Wintel compilers. I don't see any other explanation for the bloated and/or slow code that GCC seems to produce a significant amount of the time, compared to say Intel's own C++ compiler.

      (As an aside, I've never particularly understood why this should be the case, since most optimisations apply far higher up the compilation process anyway. It appears, at least on the evidence I've seen myself, that it is the case, however.)

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    31. Re:How about some evidence? by raxx7 · · Score: 1

      Actually, you need -fstore-float to get those ftsp/fld pairs. And what they do is to provide results more compliant with C99/IEEE 754.

      The result of -ffast-math is to turn off every bit of IEEE 754 compliance that GCC has on by default and a bit of C90 compliance (errno in log() and sqrt() that is mosty useless anyway).

    32. Re:How about some evidence? by CTachyon · · Score: 1

      Aw crap. The flag is -ffloat-store, but you're otherwise right.

      --
      Range Voting: preference intensity matters
    33. Re:How about some evidence? by FortranDragon · · Score: 1

      What really baffled me was the line This is a nice boon for those that have to deal with cross-platform compatibility

      I was mainly thinking of the situation where using multiple compilers on your code is a Good Thing. That is, you are more likely to more errors with different compilers than if you only used a single compiler. Obviously using Visual C++ only extensions aren't going to get you anywhere beyond Windows. ;-)

      --
      "All the darkness in the world can not quench the light of one small candle."
  26. Suits me just fine.. by multipartmixed · · Score: 4, Interesting

    ...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.

    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) ..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.

    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()?
    1. Re:Suits me just fine.. by jesser · · Score: 1

      I don't have to install that confusing GUI

      I don't like MSVC's GUI either, for another reason: it takes forever to load. Do you know how to make the "Debug" button on a "Your program crashed" dialog give you a stack trace without going through the GUI?

      (I use MSVC to compile Mozilla.)

      --
      The shareholder is always right.
    2. Re:Suits me just fine.. by Keeper · · Score: 1

      Write your own default exception handler and have it output a stack trace to your favorite location. As a bonus, you can have it write out a minidum which you can then later load into visual studio for more interactive post-mortem debugging...

  27. Read on by MongooseCN · · Score: 1

    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."

  28. slightly OT, but chance to ask a question by rokzy · · Score: 1

    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?

    1. Re:slightly OT, but chance to ask a question by bhima · · Score: 2, Insightful
      GCC is not as fast as some commercially available specialty compliers on those target platforms but that's not really the point of GCC. If someone requires the fastest complier on a specific platform then they go buy one. But really the difference is not that pronounced

      However I am not aware of a complier which compiles as many languages on as many different platforms. This IS the point of GCC. So I can use at work for a couple of different Motorola Micro-controllers, SH4 and general X86 (for fast prototyping). And I can use it at home for PPC, MIPS R5000 and AMD64. Think about that for a second! That's 16, 32 & 64 bit CPUs of both endian-nesses (sp?). I guess if I was selling GCC I would blather on about FORTRAN, ADA, and Java but I don't use these languages I use C and sometimes Objective C (Although I wouldn't say no to Embedded C++). That what makes GCC so wonderful.

      I will say that I have used Borland's free command line tools and for the X86 platform I have no complaints.

      Having said all of that I'd love to see some college student with too much time on his hands make a general comparison of GCC, Borland, and this MS offering. Just to satisfy our curiosity. However I think such a comparison would be incomplete without including the time and misery required to actually have the complier on your system. I think installing cygwin is comparable to the irritation of going through Borland's website at filling things out to get to the download!

      --
      Nothing in the world is more dangerous than sincere ignorance and conscientious stupidity.
    2. Re:slightly OT, but chance to ask a question by ThisIsFred · · Score: 1

      I think installing cygwin is comparable to the irritation of going through Borland's website at filling things out to get to the download!

      I think not. All you have to do is get the Cygwin installer, run it, pick a mirror, and go. The wackiness comes later, when you try to sort out differences in filesystem structure.

      --
      Fred

      "A fool and his freedom are soon parted"
      -RMS
    3. Re:slightly OT, but chance to ask a question by the_greywolf · · Score: 1

      i saw a thread about something like that on comp.unix.programmer: this guy seemed to have trouble with I/O streams. in among the replies is links to several comparisons of all the major compilers (Borland, MS, GCC, DM, etc.) wrt their I/O stream implementation.

      it's not exactly a comparison of the compilers, but it's quite an interesting thread onetheless.

      --
      grey wolf
      LET FORTRAN DIE!
  29. Port to Linux by crow · · Score: 2, Interesting

    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).

    1. Re:Port to Linux by Wumpus · · Score: 1

      It might be possible to run in under Wine to cross compile Windows applications. I'd expect it to be very hard to impossible to convert VC++ created object files to anything that would can be linked to create a Linux app.

      Then we just need a version of Autoconf that builds a makefile for the compiler of your choice (gcc, icc, or mscc).

      The last thing we need is another version of autoconf.

    2. Re:Port to Linux by Anonymous Coward · · Score: 3, Insightful

      wine CL myfile.c -o myprog.exe
      wine myprog.exe
      Is that what you want? It's not a crosscompiler. It compiles for Windows, not for Linux.

    3. Re:Port to Linux by lkaos · · Score: 1

      Generating better code is kind of a subjection thing. The only thing I'd suggest is that MSVC generates better code for SPEC than GCC.

      At any rate, MSVC will not generate Linux executables. Visual Studios has also run for some time under Wine. You could however use it to build Windows app's on Linux however you could also use mingw to do the same.

      --
      int func(int a);
      func((b += 3, b));
    4. Re:Port to Linux by cyb97 · · Score: 1

      Firstly it produces executables for windows, and secondly running it through wine, with wine being slower than any naitive OS, would defeat any speedup purpose?

    5. Re:Port to Linux by Anonymous Coward · · Score: 0

      The executable output option for cl.exe is /Fe not -o

    6. Re:Port to Linux by Anonymous Coward · · Score: 0
      Ahem.

      I don't think he wanted to create Windows executables. He wanted to use the VC++ compilers to generate the compiled output, and then use the generated code to build a Linux executable. binutils can read PE object files, but I do not know if it is possible to mix and match different object file formats (in this case, ELF and PE) when trying to create an ELF executable with binutils, but it might be. But it is still possible to extract the generated assembly code and write a few scripts to fix it up so that you can include it into your project.

      I know of two reasons why someone would want to do this:

      • VC++ might generate better-optimized code for the source code in question.
      • Porting a game to Linux with networking support that relies extensively on floating point operations for synchronization, so much that even debug and release builds of the game in Windows go out of sync. Bad design, perhaps, but what will you do, as the Linux developer, when the Windows executable will most likely not change or later versions might not include the hacks you've proposed?

      Sure, the compiler is not Free, but sometimes Freedom doesn't pay the bills.

    7. Re:Port to Linux by shamilton · · Score: 1

      You could probably compile on Windows and link on Linux.

      --
      "[A] high IQ is like a Jeep; you will still get stuck, just farther from help!" --Just d' FAQs, c.g.a
    8. Re:Port to Linux by SlightOverdose · · Score: 2, Informative

      Why not just develop for .NET? this way you can compile using either Microsofts compiler or either of the free open source compilers Portable.NET or Mono), and run it natively under either of the said runtimes.

      And yes, this works. I have a project I'm working on now that I wrote in VS.NET2003 and ran with no problems using Portable.NET

      I can compile with Portable.NET and it works under Windows. I can compile with Microsoft c# compiler and it runs under Linux. Just like Java, minus the insanely ugly and slow Swing widgets.

    9. Re:Port to Linux by Dunarie · · Score: 1

      That's all great and nice, but the free version mentioned in the article doesn't include makefile support (if it's there, I haven't found out how to use it, since nmake doesn't work).

    10. Re:Port to Linux by Trelane · · Score: 1

      Actually, the Swing widgets are neither ugly nor slow. They replicate the native widgetset if you tell it to, and it ran quite well on my K6-2 400MHz.

      --

      --
      Given enough personal experience, all stereotypes are shallow.
    11. Re:Port to Linux by spitzak · · Score: 1

      Unlike the other posters here, I think this may be possible. You should be able to extract the compiled code from an output .obj file. Since the GCC tools work on Windows and can read .obj's produced by VC++ and link them into a .exe, apparently the .obj file is either described by Microsoft or has been successfully reverse-engineered.

      Personally I have not seen much speed difference in speed between our Linux versions and IntelCC-compiled Windows versions. GCC has improved considerably in the last few years.

    12. Re:Port to Linux by 3dr · · Score: 1

      nmake doesn't work with this download because nmake isn't included with this download.

      The only binaries in this download are the C++ compiler (cl.exe driver and c1 & c2 bits), and the linker (link.exe).

      The libraries included are the kernel32 (system calls, basically), libc variants, and two others.

      This is very much a minimal system for development. That said, I'm surprised it still takes 30MB of disk (20+ are just for the libs).

    13. Re:Port to Linux by Jah-Wren+Ryel · · Score: 1

      Theoretically you ought to be able to create object files with this compiler and then use gnu ar and ld to make libraries and executables. As other's have noted, gnu binutils knows about the windows object file format (PE?) -- but the default build of linux binutils probably does not, you would probably need a special one that can link ELF objects with PE objects, or at least translate PE to ELF.

      --
      When information is power, privacy is freedom.
    14. Re:Port to Linux by Anonymous Coward · · Score: 0

      FYI nmake does come with the .NET SDK.

    15. Re:Port to Linux by Anonymous Coward · · Score: 0

      That might work... but there are other issues. First, does Windows use a compatible calling convention for C code? I guess that's possible, if they don't use register parameters by default. Second, I don't think you can use the linux C library (glibc) without supporting GCC extensions, and even in case you manage to do that, you'd probably end up breaking calling conventions again.

    16. Re:Port to Linux by harlows_monkeys · · Score: 1
      I'd expect it to be very hard to impossible to convert VC++ created object files to anything that would can be linked to create a Linux app

      So tell the compiler to output assembly code instead of object code.

    17. Re:Port to Linux by harlows_monkeys · · Score: 1
      Why not just develop for .NET?

      We don't because of the runtime size. Our primary sales and distribution method is the Internet, and there is a pretty good correlation between the size of the download and how many people give up during the download.

      Until the .NET runtime is on the vast majority of Windows systems, it is not an option for us, because including the runtime in our downloads would cost us too many downloads.

    18. Re:Port to Linux by Wumpus · · Score: 1

      So tell the compiler to output assembly code instead of object code.

      I'd also have to tell it to generate code that conforms to the Linux C++ ABI. The problem is, Microsoft's compiler doesn't know how to do that, or how to call Linux syscalls, or how to mangle names so you'd be able to call native C++ libraries, or how to throw exceptions correctly, and I'm probably missing something.

      Sure, you'd be able to futz with the uncommented assembly code by hand to make it work, but doing it automatically as part of a predictable build process is a very hard problem.

    19. Re:Port to Linux by the_greywolf · · Score: 1
      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?

      if i read the EULA correctly, section 3.1(ii) explicitly excludes it:

      (ii) that the Redistributables only operate in conjunction with Microsoft Windows platforms;
      --
      grey wolf
      LET FORTRAN DIE!
    20. Re:Port to Linux by lkaos · · Score: 1

      Nah, even that approach doesn't work. Windows has an entirely different calling convention than Linux. A lot of the more advanced optimizations rely on interprocedural analysis so getting rid of functions kind of defeats the purpose.

      It'd be much easier to just improve GCC's optimizer (although neither is easy).

      --
      int func(int a);
      func((b += 3, b));
    21. Re:Port to Linux by SlightOverdose · · Score: 1

      And how do you replicate the native widgets with swing? simply using a theme to emulate the look does not count as using native widgets.

      I've seen a few apps that link to GTK, but they still feel incredibly slow on my P4-2400

    22. Re:Port to Linux by SlightOverdose · · Score: 1

      Good point. Same issue as with Java I suppose.

      For one of my projects I bundled the exe with the windows version of Mono and only included the assemblies specifically needed. Compressed, this turned out to be a few mb.

      It's also possible to statically link directly to Mono.

      I did find a commercial product that does this with the Microsoft.NET runtime and packages the required assemblies into the one exe, but it was about $US400.

    23. Re:Port to Linux by Trelane · · Score: 1

      Well, you may look at this article for a little info. What little I know of it atm (I'm not a java zealot; just someone who's written a few apps and think its reputation for slowness and inconsistency is highly archaic and overrated (like the BSoD and Windows, no?))

      It's of course no panacea; you trade off between consistency across platforms (the strength of java) and looklike like you "belong" on the platform, for whatever that may be worth.

      The app I mentioned was quite responsive on my K6-2 450 I developed it on; I was surprised, since it had to calculate the eigenstates and eigenenergies of a quantum well (educational app).

      To be fair, I've also tried to use the NetBeans and Eclipse IDEs and found them to be pretty slow on the same hardware, so I'm not sure where the problem lies exactly. That said, they seem pretty responsive on my new hardware (even when the pentium-m is scaled down to 600MHz); maybe owing to having much more RAM.

      --

      --
      Given enough personal experience, all stereotypes are shallow.
    24. Re:Port to Linux by Trelane · · Score: 1

      wondered about that. s/ 400MHz/ 450MHz/. :)

      --

      --
      Given enough personal experience, all stereotypes are shallow.
    25. Re:Port to Linux by SlightOverdose · · Score: 1

      The article you posted was about using a new Look and Feel- i.e. Plastic (the one I use for all my Java applications). This doesn't get around the laggyness of swing.

      Java has improved dramatically in terms of speed since it's initial release, and now can (in some benchmarks anyway) compete with C for speed. Regardless of this, no matter what theme you use, Swing is still incredibly slow when compared to native applications.

      Every java gui app I've used, down to the simple "Hello World" example, feels slow and unresponsive. Even when using JRE 1.4 on my P4-2400.

    26. Re:Port to Linux by Anonymous Coward · · Score: 0

      That is indeed a problem, especially with C++ ABI differences (I don't know the details, but I imagine there are at least a few differences). But if you are really desparate, you could try patching gcc so that stdcall works in Linux (the regparm attribute uses registers in a different order and stdcall is only available for Windows targets), or you could create inline assembly stubs that will fix up the function calls.

  30. More standards compliant? by lkaos · · Score: 0, Troll

    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));
    1. Re:More standards compliant? by Anonymous Coward · · Score: 0

      More than 6.0...

    2. Re:More standards compliant? by swamp+boy · · Score: 3, Informative

      I'm continually amazed at the number of folks that bash MS for not following standards and then ridicule them when they do try. I'm certainly not an MS evangelist (nor an apologist), but seriously, what do you expect them to do?

      There has been some level of support for the Standard C++ Library (STL) since the 4.2 days. Granted it was broken and has been through 6.0. This is because they used an implementation written by PJ Plauger who worked for Plum Hall at the time. Plauger had a falling out with Plum Hall over the rights to said code. This is the legal battle that has caused problems since the 4.2 days. You can easily download the half dozen or so header file patches for this though. FYI - Plauger now has his own company "Dinkumware".

      I have not used their latest compilers to know the current situation. Although there have always been standards compliance problems with MS compilers, at least they're getting better over time.

    3. Re:More standards compliant? by SlashdotLemming · · Score: 3, Informative

      Speaking of standards compliance...

      there ISO
      their ISO

      it's not there fault.
      it's not their fault.

    4. Re:More standards compliant? by Mr.+Bad+Example · · Score: 1

      > there ISO
      > it's not there fault.


      Once again...there wolf. There castle. There dictionary--use it.

  31. Code Size! by parryFromIndia · · Score: 3, Interesting

    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

    1. Re:Code Size! by SoSueMe · · Score: 1

      Could you post the EULA, please?
      That is what a lot of us want to see.

      Thanks.

    2. Re:Code Size! by lkaos · · Score: 3, Informative

      Large code size != bad code generation.

      Considering a very common (and powerful) optimization of inlining. What you literally do is change function invocations to the code for that function.

      Another common (but more advanced optimization) involves making an optimized duplicate of a particular code path.

      What you're probably seeing is a difference between the included optimizations in GCC's -O2 verses MSVCP's -02. Try enabling individual optimizations and then comparing code size if that's what you're interested in. That's a more fair metric.

      --
      int func(int a);
      func((b += 3, b));
    3. Re:Code Size! by Anonymous Coward · · Score: 0

      Inlining isn't as good an optimization as it used to be. Inlining things like 3-line functions and most overloaded operators is still a good idea, but inlining bigger functions tend to become a loss since less of the code fits in the instruction cache and branch prediction tables.

    4. Re:Code Size! by parryFromIndia · · Score: 1

      Even if I disable inlining (-fno-inline) it does not make a significant difference for g++ generated code. Very slight reduction in TEXT size.

    5. Re:Code Size! by Yokaze · · Score: 1

      What would interest me is the code size of the object file(s).
      The difference of code-size could lie in the amount of code that is statically linked in the executable.
      It wouldn't surprise me that the tool-chain for windows is not optimised for code-size.

      --
      "Between strong and weak, between rich and poor [...], it is freedom which oppresses and the law which sets free"
    6. Re:Code Size! by BubbleNOP · · Score: 1

      You should check DLL dependencies of resulting binaries - in the Microsoft case it could be using more DLLs.

    7. Re:Code Size! by parryFromIndia · · Score: 1

      NOT a bug. If I compare object sizes instead of final executable sizes, G++ in deed produces smaller code than vc++ compiler. Excellent. I am happy!

    8. Re:Code Size! by Jah-Wren+Ryel · · Score: 1

      Why don't you compare performance of the code rather than code size? Unless you are developing for an embedded system or something small like a PDA, code size is really near the bottom of the list of importance.

      --
      When information is power, privacy is freedom.
    9. Re:Code Size! by tepples · · Score: 1

      Unless you are developing for an embedded system or something small like a PDA, code size is really near the bottom of the list of importance.

      1. I do develop for handheld devices with smaller memory than a full-blown Tablet PC.
      2. Many free hosting sites limit the size of a downloadable file to 512 KB. I got sick of it and paid up, but high school students don't have that option.
    10. Re:Code Size! by Dr.+Sp0ng · · Score: 1

      Unless you are developing for an embedded system or something small like a PDA, code size is really near the bottom of the list of importance.

      Not really. Keep in mind how important cache memory is to performance - the better the code fits in cache, the better the performance.

    11. Re:Code Size! by Jah-Wren+Ryel · · Score: 1

      You gotta see the forest, not just the trees.

      1 tree == cache efficiency
      Entire Forest == overall system performance

      --
      When information is power, privacy is freedom.
    12. Re:Code Size! by Anonymous Coward · · Score: 0

      Many free hosting sites limit the size of a downloadable file to 512 KB.

      Then chop your tar.gz or whatever into 512KB chunks and write a two line script to concatenate them all together.

      I got sick of it and paid up

      Ignorance ought to hurt a little, be grateful it was only your wallet that felt the pain.

    13. Re:Code Size! by Dr.+Sp0ng · · Score: 1

      You gotta see the forest, not just the trees.

      Heh. Don't lecture me on optimization, boy - I'm a game developer! :)

    14. Re:Code Size! by Anonymous Coward · · Score: 0

      The code size increase for Mingw's G++ may be due to staticly linking the standard template library that is not available with MSVCRT.dll.

  32. At risk of karma... by theblacksun · · Score: 1
    How convienent. I've been stuck in windows for quite some time now (Once the semester's over I'll get to it. I just have too many more priorities now. Like slashdot...) The one thing I miss most is my C compiler....

    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.
    1. Re:At risk of karma... by bhima · · Score: 1

      Try Borland's it's fine.

      --
      Nothing in the world is more dangerous than sincere ignorance and conscientious stupidity.
  33. STL works and has worked for a LONG time... by Anonymous Coward · · Score: 0

    ...so can you give me some of what you're smoking?

  34. Free IDE for windows by boffy_b · · Score: 1, Informative

    Dev C++ http://dcplusplus.sourceforge.net/

    --
    Windows is only $500 if your time is worthless.
  35. Did you strip the symbols out? by aksansai · · Score: 1

    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
    1. Re:Did you strip the symbols out? by parryFromIndia · · Score: 1

      YES. Exactly same output with strip -s -x!

    2. Re:Did you strip the symbols out? by parryFromIndia · · Score: 1

      The differences are in TEXT (Code) section. Debug symbols would appear in DATA section right?

  36. Re:STL would be proof by tc · · Score: 1

    Uh, why would Microsoft break STL programs on purpose? How would that benefit them?

  37. I wonder by Xerp · · Score: 2, Interesting

    Anyone had any luck running it in WINE?

    1. Re:I wonder by Wumpus · · Score: 1

      Couldn't get it to install. The .Net framework install bombs.

  38. cut/paste of EULA.txt and redist.txt by Anonymous Coward · · Score: 0

    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

  39. Last I tried, this failed to compiled by Carl+T · · Score: 2, Insightful
    for(int i = 0; i < 10; i++) ;
    for(int i = 0; i < 10; i++) ;

    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.
    1. Re:Last I tried, this failed to compiled by ipjohnson · · Score: 1

      I'm still on VC++ 6.0 and I know there is still a bug. A co-worker got ran across it ia while ago in some poorly written C code. The scope was wrong and ended up looping on the wrong piece of code.

    2. Re:Last I tried, this failed to compiled by man_of_mr_e · · Score: 1

      That wasn't a bug. MS Version 6 compiler was released prior to the C++ standard being rattified, and MS didn't want to chase a draft standard (which I can't really fault them for). The next version they released (7) has support for the for scope, though it did take them 4 years to release 7.

    3. Re:Last I tried, this failed to compiled by Anonymous Coward · · Score: 0

      Years ago, Visual C++ did not compile that. It was fixed a long time ago. The latest compiler works great with templates. It is really a great all around compiler.

    4. Re:Last I tried, this failed to compiled by Jugalator · · Score: 1

      Duh... I think he was asking for examples of stuff not working with the *current* compiler. :-P

      --
      Beware: In C++, your friends can see your privates!
    5. Re:Last I tried, this failed to compiled by TomV · · Score: 1

      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?As a self-confessed 'microsoft fanboy', I'd imagine that they put at least as much, if not more effort into the C++ compiler as they do into the C# or VB.net compilers, since C++ is what they use to write those compilers, their Longhorn OS, the overwhelming majority of the .net framework class libraries and the headline application and server products like Office and SQL Server.

    6. Re:Last I tried, this failed to compiled by Anonymous Coward · · Score: 0

      Christ, is every slashdot poster clueless?

      The 'for' scoping rule for C++ changed over time -- it used to work the old C way, now there is the C++ way. Hard concept to grasp, I know. Lots of code was written using the older rule (gasp! even outside Microsoft!), so to allow older code to compile, the MS C++ compiler has a switch. You can use the old behavior to allow old code to compile, or you go with the new standard. I know this is hard to understand, but work with it a while, maybe it will begin to sink in. It might help to actually read some of the documentation...

    7. Re:Last I tried, this failed to compiled by Anonymous Coward · · Score: 1, Funny

      Christ, there has to be an arrogant fucking cock in every thread, doesn't there?

      Here's a tip, sonny: Calm the fuck down, be polite to people, and you're less likely to have your food spit in when you go to restaurants, ok?

    8. Re:Last I tried, this failed to compiled by Carl+T · · Score: 1
      #insert

      It's a bit hard to read the documentation retroactively, three years after using the software. And it wouldn't have made much of a difference, if this stuff wasn't implemented until the next version anyway.

      I know very well that the 'for' scoping changed during the standardization of C++. I'm not sure what you mean by "the old C way", since it's not until C99 it's been possible to write code like that in C, and then with the same scoping rule as in (non-draft) C++. What I didn't know, but which people were kind enough to inform me about, is that the compiler I used was quite old despite being the latest version back then (this was in 2000 or so, and C++ was standardized in 1997), and that MS have since improved their compiler to the point where people give it praise.

      --

      This signature is not in the public domain.
    9. Re:Last I tried, this failed to compiled by jrumney · · Score: 1

      VC6 was written before ISO C++ was finalized. I'm pretty sure I ran into the same sort of problem, and when I researched whether MS got it wrong, concluded that they didn't with the way the spec was written at the time.

    10. Re:Last I tried, this failed to compiled by Anonymous Coward · · Score: 0

      My own research to that fact came to the oppisite conclusion. ISO C99 was finalized at that point. i.e. they just got it wrong (like all the others, there is no ISO C99 compliant compiler out there).

    11. Re:Last I tried, this failed to compiled by jrumney · · Score: 1

      Keep talking out of that hole in your arse. VC 6.0 was released near the beginning of 1998, just a few months after the first public draft of C99.

    12. Re:Last I tried, this failed to compiled by Anonymous Coward · · Score: 0

      I can fault them. This isn't a difficult fix (just pretend the for statement was in its own block) and they knew it was likely to be needed because they participated in the standard effort.

  40. Heeeeeeers EULA by Anonymous Coward · · Score: 0

    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".

    1. Re:Heeeeeeers EULA by Anonymous Coward · · Score: 0

      looks like someone beat me to it. what a giant load of crap.

    2. Re:Heeeeeeers EULA by Anonymous Coward · · Score: 0

      3.1.i and 3.1.ii look to me only to apply to microsoft's redistributable sample code. I see nothing regarding code you actually write.

    3. Re:Heeeeeeers EULA by Anonymous Coward · · Score: 0

      Section 3 covers Microsoft's example code, not your own code.

    4. Re:Heeeeeeers EULA by Anonymous Coward · · Score: 1, Informative

      This is basicaly the same EULA as the regular VC++ package. It restricts what you can do with Microsoft's code, but not what do with your own code. Get over it!

      Check out section 3.1.i and 3.1.ii, which EXPLICITY DENY you from distributing your source-code.

      You can't distribute THEIR source code. Do whatever you want with your own code.

      6 is even better: "NO RENTAL/COMMERCIAL HOSTING.

      No rental or commercial hosting OF THE COMPILER itself. Do whatever you want with your own code.

    5. Re:Heeeeeeers EULA by AndroidCat · · Score: 1

      Did the parent post have the text of the EULA? It certainly doesn't now.

      --
      One line blog. I hear that they're called Twitters now.
  41. It makes as much sense as Linux... by aksansai · · Score: 4, Insightful

    Give Linux away for free - they will come. Same principle applies.

    If you bothered to download the .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.

    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
    1. Re:It makes as much sense as Linux... by Yenhsrav_Keviv · · Score: 1

      what about the intel C/C++ compiler? i've heard it was ridiculously fast compared to the m$ one.

    2. Re:It makes as much sense as Linux... by NetCow · · Score: 1
      I believe "cl.exe" was also included, the optimizing C/C++ compiler, with the SDK.
      Yup, they include the C/C++ compilers in the .NET Framework SDK, both 1.0 and 1.1. Nope, they're not the optimizing versions.
      Microsoft (R) 32-bit C/C++ Standard Compiler Version 13.10.3077 for 80x86
      Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.
    3. Re:It makes as much sense as Linux... by Anonymous Coward · · Score: 0

      I believe "cl.exe" was also included, the optimizing C/C++ compiler, with the SDK.

      Nope, not the optimizing version. They didn't even give you that with the $109 "standard" edition of Visual C++.

      Its only major caveat is the fact that it is designed for one platform only - Windows.

      Well, Windows is actually several platforms, as will become apparent as 64-bit desktop machines become more prevelant. But yeah, that is kind of a pity.

    4. Re:It makes as much sense as Linux... by pNutz · · Score: 1
      Nope, not the optimizing version. They didn't even give you that with the $109 "standard" edition of Visual C++.
      Nope, from MS's website
      Overview
      The Microsoft Visual C++ Toolkit 2003 includes the core tools developers need to compile and link C++-based applications for Windows and the .NET Common Language Runtime:

      * Microsoft C/C++ Optimizing Compiler and Linker. These are the same compiler and linker that ship with Visual Studio .NET 2003 Professional!

      * C Runtime Library and the C++ Standard Library, including the Standard Template Library. These are the same static-link libraries included with Visual Studio.

      * Microsoft .NET Framework Common Language Runtime. Visual C++ can optionally build applications that target the Common Language
      Runtime (CLR).

      * Sample code. The toolkit includes four samples designed to showcase the powerful new features of the 2003 version, including new optimization capabilities, features to improve code-security and robustness, enhanced ISO C++ standards support, and the ability to use the .NET Framework library and target the CLR.


      All kinds of goodness, Coward
      --
      Death and danger are my various breads and various butters.
    5. Re:It makes as much sense as Linux... by isj · · Score: 1

      How about OpenWatcom ? It is a pretty decent compiler, although a bit dated now.

  42. Loop variable? by BenjyD · · Score: 2, Informative

    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.

    1. Re:Loop variable? by pcause · · Score: 1

      I started using VC++ seriously in 1999 and never had this problem.

    2. Re:Loop variable? by MagPulse · · Score: 1

      VC++ 6 has this problem. It's been fixed since VS.NET (2002), so VS.NET 2003 and VS.NET 2005 are fine too.

    3. Re:Loop variable? by man_of_mr_e · · Score: 4, Insightful

      It was never "wrong" per se.

      The for scoping you refer to was introduced in the C++ standard, which VC++ supported as far back as version 5 IIRC, however it supported it in a way that was not very useful. You had to turn off all MS extensions to use it, and that also had the side effect of breaking many other things.

      As of VC++7 they have a specific switch to enable/disable the for scoping (current version is 7.1, with 8.0 due out next year).

    4. Re:Loop variable? by localekko · · Score: 1

      You can get around this problem by disabling extensions - just pass the /Za switch to the compiler.

    5. Re:Loop variable? by Anonymous Coward · · Score: 1, Informative
      You don't even need that. If you always go by the most recent for-scoping rules, you can use a #define to make things work with VC++ 6. Something like:
      #define for if (0) {} else for
    6. Re:Loop variable? by Anonymous Coward · · Score: 0


      It typed your code into MS Visual Sutdio - a Clippy came along and replaceg it with this:

      dim i as integer
      dim num as integer
      set num = 7331
      for i = 0 to num step 1
      ' nothing here
      next i

      for i = 0 to num step 1
      ' nothing here
      next i

      What's up with that!

    7. Re:Loop variable? by xSquaredAdmin · · Score: 1
      The way around this that I've found is to just throw this at the top of your code:
      #define for if( 0 ); else for
      --
      Crushing dreams at the speed of sarcasm
    8. Re:Loop variable? by sankeld · · Score: 0

      It annoys me too. Just put this at the top of your file:

      #define for if (true) for

      problem solved.

    9. Re:Loop variable? by harlows_monkeys · · Score: 3, Insightful
      I haven't used MS VC++ for a few years (fortunately), but does it still get the scope of loop variables wrong?

      This is the most annoying thing about using compilers that came out before the final C++ standard. The proper scope of such variables flip-flopped between draft standards. Here's a trick I saw somewhere that fixes this problem.

      At the top of your code, put this:

      #define for if(false);else for

      That will make the for loop variable scope correct, no matter which draft of the standard the compiler follows.

    10. Re:Loop variable? by Anonymous Coward · · Score: 0

      > does it still get the scope of loop variables wrong?

      Why would you do that anyway?

      In your code block, you know that you will execute both FOR statements. Also in your example, you aren't saving the value of i before the next loop, so the second loop doesn't depend on the first. So you are specifying the following:

      CREATE variable
      ASSIGN variable
      DO loop
      CREATE variable
      ASSIGN variable
      DO loop

      Why not replace your code with this:

      {
      int i;
      for(i=0;i!=num;++i)
      {
      }
      for(i=0;i!=num;++i)
      {
      }
      }

      This breaks down to:

      CREATE variable
      ASSIGN variable
      DO loop
      ASSIGN variable
      DO loop

      It saves you one operation, namely a CREATE variable. Cleaner, IMO.

    11. Re:Loop variable? by BenjyD · · Score: 1

      The performance difference is minimal - assigning a variable on the stack is basically just a matter of incrementing the stack pointer. Limiting the scope of the loop counter to the loop itself prevents any nastiness like using the variable outside the loop.

    12. Re:Loop variable? by Dada · · Score: 1

      #define for if(0) else

    13. Re:Loop variable? by Dada · · Score: 1

      (I suck...)
      #define for if(0); else

    14. Re:Loop variable? by Dada · · Score: 1

      And of course there should be another 'for' at the end of the line... ... as somebody else wrote *hours* ago in another comment. Why don't I think 2 seconds before I hit the submit button?

    15. Re:Loop variable? by slim-t · · Score: 1

      The optimizing compiler should realize it's the same variable and only do one CREATE.

    16. Re:Loop variable? by Anonymous Coward · · Score: 0

      Isn't depending on the optimizing compiler a bit like depending on spell-check to fix your spelling? Sure, it works, but it doesn't help you write any better.

  43. Port Anjuta on top of this? by Anonymous Coward · · Score: 4, Interesting

    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.

    1. Re:Port Anjuta on top of this? by adler187 · · Score: 1

      I don't know about Anjuta, but KDevelop uses QT which would first have to be ported to Windows since Trolltech does not currently offer a GPL'ed QT for Windows. KDevelop *does* work w/ Cygwin, but that's not really the best situation. I would really love for Trolltech to make a GPL version of their Windows version.

    2. Re:Port Anjuta on top of this? by karlm · · Score: 1

      GCC/DJGPP has been running on Win32 for a long time. It is probably easier to port *nix IDEs using GCC/DJGPP, since GCC syntax quirks will not need to be exchanged for MS VC syntax quirks.

      --
      Copyright Violation:"theft, piracy"::Anti-Trust Violation:"thermonuclear price terrorism"<-Overly dramatic language.
    3. Re:Port Anjuta on top of this? by DimGeo · · Score: 1

      Have a look at this thing:

      QT3 Win32

      I haven't used it, however.

  44. Borland has been doing it for years by bigjnsa500 · · Score: 1

    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.
  45. .NET is the potential for platform independence... by aksansai · · Score: 3, Informative

    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.

    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 .NET and Mono.

    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
  46. Atlas Shrugged and the GPL by colinrichardday · · Score: 1

    Maybe, but the actual software was written by Hank Rearden.

    1. Re:Atlas Shrugged and the GPL by Progman3K · · Score: 1

      And he actually rode that code over a transom on its maiden voyage.

      THAT'S courage.

      --
      I don't know the meaning of the word 'don't' - J
  47. Not that useful.. by bcore · · Score: 1

    ..even if you got it to run under WINE, it would still produce windows binaries, which also wouldn't run natively under linux.

  48. Build dll's using cl.exe by swamp+boy · · Score: 3, Informative
    You can easily build dlls with just cl.exe. You must remember to export things correctly though.

    class __declspec( dllexport ) MyClass
    {
    ...
    };

    I use a macro that handles this for me, with conditional directives to be empty on other platforms. Not that hard - really.
    1. Re:Build dll's using cl.exe by Asmodeus · · Score: 1

      True, but irrelvent.

      DLLs are not .a libs. Totally different purpose. I don't want a library of 100s of trivial functions to be built into a 100s of DLLs, but 100s of .obj files in a .a is a nice format.

      Plus there are lots of existing makefiles out there which rely on lib.exe

      Asmo

    2. Re:Build dll's using cl.exe by swamp+boy · · Score: 1, Informative

      Dude,

      I think you have no clue of what you spew. It is not irrelevant. It accomplishes the exact same thing. You can take however many classes or functions you like and bundle them into a single DLL the same way that you would do with a single library. In case you haven't noticed, the DLL is an acronym for "Dynamic Linked Library". So how is this a different purpose? Your initial post talked about working on a large project. This is what most professional developers do on Windows on a large project.

    3. Re:Build dll's using cl.exe by Anonymous Coward · · Score: 0

      That's neither informative nor relevant
      what he wants is to have a "Static Link Library", so that his final application does not drag 20 odd DLLs along, when it could be compiled in.
      he said as much himself.

    4. Re:Build dll's using cl.exe by spitzak · · Score: 1

      He's talking about ".lib" files.

      How to translate Unix-gibberish into Microsoft-gibberish: .a == .lib .so == .dll .o == .obj

    5. Re:Build dll's using cl.exe by CaptainPinko · · Score: 1

      does '.so' stand for shared object? I've been wondering that for a while.

      And what does '.a' stand for?

      --
      Your CPU is not doing anything else, at least do something.
    6. Re:Build dll's using cl.exe by Fruny · · Score: 1

      IIRC, .a stands for 'archive'.

    7. Re:Build dll's using cl.exe by Caktus · · Score: 1

      DLL Dynamic Link Library
      SO Shared Object
      LIB Library
      A Archive

    8. Re:Build dll's using cl.exe by AArmadillo · · Score: 2, Informative

      The same technique that is used to build DLLs is also used to build statically linked libraries, its just a matter of using the right compiler/linker switch. Claiming there is no method of generating static or dynamically linked libraries under Visual C++ is just showing ignorance.

    9. Re:Build dll's using cl.exe by Asmodeus · · Score: 1

      Not the same at all.

      If I link a DLL, then I pull in *ALL* the code in the DLL. If I link to a .a library then I only pull in the .obj modules which contain methods/data which are referenced, and the code is then linked into the same executable module.

      DLLs are useful, but are definately not the same as .a files.

      Asmo

    10. Re:Build dll's using cl.exe by spitzak · · Score: 1

      .a stands for archive. When the Unix compilers were designed they reused a file format that was supposed to "archive" several files into one. I would guess that some of those archive programs had problems and insisted on the extension being ".a", which is why they chose the completely unfriendly and un-Unix-like "lib" prefix rather than just naming the files ".lib" (or maybe ".l" since they really liked short names then).

      I am unaware of .a being used for *any* other purpose than code libraries, even back in 1970. Also the format has been hacked plenty and is probably useless for anything other than code libraries today (see the ranlib program, and the fact that Linux does not require it anymore, for details). So IMHO this is one of the many mistakes in Unix design that should be fixed. Perhaps just make the linker look for foo.lib first, and fall back on libfoo.a second. Only problem now is that there may be sites that rely on there not being a name conflict between Unix and Windows libraries...

      ".so" stands for "shared object" which is much more descriptive than "dll". However I would like to see a scheme by which the same library can be shared or static, with the linker able to choose at link time (perhaps with a default in the library), and both are named ".lib" or ".l".

  49. Everyone cheering "Free compiler". by SharpFang · · Score: 0, Flamebait

    But is it Free or just gratis?

    --
    45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
  50. They are not worried about losing.. only weening.. by aksansai · · Score: 1

    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?

    I think not. In many ways, .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.

    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 .NET until you've tried it (either its native Windows part or its Mono counterpart for Linux). It's quite nice.

    --
    Ayup
  51. LOL by swamp+boy · · Score: 1

    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

  52. That's ridiculous. by Anonymous Coward · · Score: 0

    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.

    1. Re:That's ridiculous. by Progman3K · · Score: 1

      >How would undocumented functions in Windows make your own code go FASTER than (for example) possible on linux with gcc?

      You could have a 'hidden' implementation of a function like say memcpy.

      The 'known' implementation of memcpy could do a nominal job, and the 'hidden' version could be faster.

      If you're someone with access to the hidden function, your program, although no different from another vendor's could be much faster because of it.

      --
      I don't know the meaning of the word 'don't' - J
    2. Re:That's ridiculous. by KarmaMB84 · · Score: 1

      Please allow me to polish your tin foil body suit for you. =)

    3. Re:That's ridiculous. by orkysoft · · Score: 1

      The hidden function would be hidden on Windows.
      There would not be a hidden equivalent of the function in Linux -- because there would not be a reason to provide a suboptimal function in the first place.

      --

      I suffer from attention surplus disorder.
    4. Re:That's ridiculous. by Progman3K · · Score: 1

      Sure, and you can also polish the people in the U.S. legal system who found Micrsoft guilty of doing that.

      --
      I don't know the meaning of the word 'don't' - J
    5. Re:That's ridiculous. by Progman3K · · Score: 1

      You're right

      But why then do you have to get a separate product to run Office on Linx? Why can't regular Wine do it?

      There have even been books written that cover the topic of hidden functions in Windows.

      Microsoft likes to call them "undocumented", and their Office suite are littered with calls to these very functions, functions that exist to prevent vendors of equivalent packages from having a fair chance at competing with Microsoft.

      Look it up.

      --
      I don't know the meaning of the word 'don't' - J
    6. Re:That's ridiculous. by Anonymous Coward · · Score: 0

      Go look up the "Sekrit API" threads on Ars Technica. Seems that nobody can provide a list of these supposedly undocumented calls, and thus the LinTrolls got their asses handed to them by the WinTrolls.

      The book you are talking about was published in 1995 and deals mainly with the DOS underpinnings of Windows 95, and not the Win32 layer.

      Different versions of Wine are mostly due to politics and forking surrounding the Wine project.

    7. Re:That's ridiculous. by Anonymous Coward · · Score: 0
      Seems that nobody can provide a list of these supposedly undocumented calls

      Sysinternals has an excellent article with a list of undocumented NT functions.

    8. Re:That's ridiculous. by Anonymous Coward · · Score: 0

      And zero application software calls or should call those "Native APIs", which is why they are undocumented. If you can find MS App software which uses those calls, let us know.

      OMG -- Linux is full of "undocumented APIs" marked GPL_ONLY!!! They're called internal functions.

    9. Re:That's ridiculous. by Anonymous Coward · · Score: 0

      Sysinternals are the gods of NT. They have an app called native that prints a message before the Win32 subsystem starts. All by using only the NT native API.

  53. Finally something good from Microsoft! by Prodigy+Savant · · Score: 2, Interesting

    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!
  54. The battle is for the hearts/minds of develop by pcause · · Score: 5, Insightful

    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.

  55. Optimizing beyond Win32... by aksansai · · Score: 5, Interesting

    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
    1. Re:Optimizing beyond Win32... by kahei · · Score: 1

      Microsoft has spent over a decade essentially supporting only ONE processor architecture, x86.

      A brief survey of the range of processors on which MS oses are, and have been, supported, would have helped you make a more correct statement here.

      --
      Whence? Hence. Whither? Thither.
    2. Re:Optimizing beyond Win32... by Anonymous Coward · · Score: 0

      > Microsoft has spent over a decade essentially supporting only ONE processor architecture, x86

      one processor, eh?
      AM33|ARM|IA64|M32R|MIPS|MIPS16|MIPSFPU|MIPSFP U16|
      MIPSR41XX|PPC|PPCFP|SH3|SH3DSP|SH4|SH5|THUMB |
      TRICORE|X86

    3. Re:Optimizing beyond Win32... by moosesocks · · Score: 2, Insightful

      NOT TRUE

      This is simply not true. In the past decade, Microsoft has released versions of windows which run on PowerPC, MIPS, Alpha, and Itanium (not to mention Opteron). The first hardware NT actually ran on was MIPS - it was originally intended for the intel i860 which never made it to mass-production. (Source

      --
      -- If you try to fail and succeed, which have you done? - Uli's moose
    4. Re:Optimizing beyond Win32... by Cuthalion · · Score: 1

      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.

      I feel like you are intending this more as an defence for GCC than as a history lesson. So explain again why should I, a deveoper targetting Win32 platforms, care why MS's compiler is better making 0x86 code than GCC is?

      --
      Trees can't go dancing
      So do them a big favor
      Pretend dancing stinks!
    5. Re:Optimizing beyond Win32... by SnowZero · · Score: 2, Informative

      And if you'd ever used their Alpha compiler you'd know how far behind the x86 compiler it was. Even internal MS developers had a lot of problems with it. The Itanium could be better supported perhaps, as they probably got some help from Intel and generally have their act together better now.

    6. Re:Optimizing beyond Win32... by grotgrot · · Score: 1
      Microsoft has spent over a decade essentially supporting only ONE processor architecture, x86

      In the decade before that they also supported 68k based Macs and used pcode (and compiled to it) for a lot of the Office code.

      Windows NT was available for 5 platforms: PowerPC, Intel 860, Intel x86, MIPS and Alpha. (NT was originally developed on the Intel 860 before moving to x86).

      A decade ago Microsoft was definitely a multi-hardware platform company. They even participated in the ACE initiative, which would have made a RISC chip the "standard" processor. Intel finally responded with performance improvements making all that RISC stuff moot.

      I did find this excellent page on the history of Win32 and compiler/toolkit releases.

    7. Re:Optimizing beyond Win32... by fatphil · · Score: 1

      They managed to produce crippled 32-bit versions of stuff for 64-bit architectures.

      And you want us to be impressed?

      FP.
      Happy 64-bit Linux user for over half a decade...

      --
      Also FatPhil on SoylentNews, id 863
    8. Re:Optimizing beyond Win32... by aksansai · · Score: 1

      It's amazing how many people decide to overlook the beauty of the English language. I said essentially ONE architecture - not exclusively.

      Some people need to take a lesson in grammar - or perhaps, simply say aloud the sentence they are reading.

      OF ALL THE SOFTWARE MICROSOFT PRODUCES, you can damn sure bet the 95%+ is for x86, the remaining 5% have support but not like x86.

      Comprende?

      --
      Ayup
    9. Re:Optimizing beyond Win32... by shird · · Score: 1

      The same could be said for gcc too. If they dont have the resources to develop for what 90% of the population uses, then hey... score 1 for Microsoft. No one using x86 gives a shit that the gcc developers had 5 people trying to optimise for ppc and didnt have time to make their architecture optimised.

      Besides, MS have recently added support for Itanium and AMD64, and I assure you have some of the best people in the business working hard on this stuff - gcc's etc development pales in comparison.

      --
      I.O.U One Sig.
    10. Re:Optimizing beyond Win32... by shird · · Score: 1

      oh... and you sought fit to captilize 'ONE', placing emphasis on it, as though there was only one.

      We are talking about the compiler here... that is essentially the only thing that needs to be optimised per architecture (and the kernel). The ratio of software products which run on x86 or other architectures is irrelevant for both gnu and MS, as they are compiled from a common source, using the optimiser compiler (the piece of software that falls in your "5%").

      So the comment about 95% vs 5% having support is just bullshit.

      --
      I.O.U One Sig.
    11. Re:Optimizing beyond Win32... by the_greywolf · · Score: 1

      i have an i960. is it good for anything other than useless historcal reference?

      --
      grey wolf
      LET FORTRAN DIE!
    12. Re:Optimizing beyond Win32... by Anonymous Coward · · Score: 0

      That would be AMD, Cyric, Intel proccesors, which are all x86. You point is?

    13. Re:Optimizing beyond Win32... by Anonymous Coward · · Score: 0

      Who cares how long Microsoft spent on it. If they produce the best why not use it.

    14. Re:Optimizing beyond Win32... by aksansai · · Score: 1

      It's different about GCC. The compiler group is split up into distinct sections, each supporting their particular architecture. One person may contribute PPC enhancements - another StrongARM - another MIPS, etc.

      Microsoft, on the other hand, has software that's primarily for the standard 32-bit x86. Would it not be logical to assume that the majority of its compiler group effort would be to the enhancement and reliability of the standard 32-bit x86 compiler?

      AMD64 support is simply logical (x86-64). x86-64 captures many aspects of the existing compiler. The AMD64 supports execution of the tried and true 32-bit code Microsoft supported prior to x86-64. Since they have many similarities, the 32-bit group would be able to contribute their experience to better understand how to optimize the AMD64 processor. The maturity of supporting that processor has yet to be established as it will take years of development to tweak the performance to the ability that Microsoft has for ia32 architecture.

      I will concede that Microsoft has written compilers for the PowerPC, Itanium, Alpha, etc. - there was never a question about that. Face the facts: just because Microsoft wrote a compiler for a processor does not mean it had all the optimizations that the x86 compiler did. In fact, using GNU's compiler as an example, you cannot simply "port" an optimization and expect it to work. It must be taylored for each processor. Where has Microsoft's concentration been for the last decade?

      Essentially one architecture.

      --
      Ayup
    15. Re:Optimizing beyond Win32... by Anonymous Coward · · Score: 0

      NT was on mips, alpha and powerpc too ...

    16. Re:Optimizing beyond Win32... by spongman · · Score: 1

      that's because the backend for the alpha (and mips) compilers were written mainly by their respective hardware vendors. they had small teams of contractors working at redmond to basically graft their own code generators onto microsoft's C++ front-end.

    17. Re:Optimizing beyond Win32... by spongman · · Score: 1
      funnily enough, Microsoft's x86 backend (the platform-specific bit) is based on technology developed for their PowerPC compiler. The IL used to be a 3-instruction machine until they switched to the tuple-based representation developed by Sin Lew (originally a Borland architecht).

      Microsoft never wrote backends for Alpha/Mips, they just licensed code from the manufacturers. I'm not sure about Itanium, but they've always had close ties with the intel compiler guys so I'm sure there's plenty of intel code in there.

  56. Motive by ickoonite · · Score: 4, Interesting

    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 :)

    1. Re:Motive by Anonymous+Brave+Guy · · Score: 1
      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.

      And here I was thinking it was just an excuse to say SFU to all the *nix-heads. :-)

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    2. Re:Motive by cubic6 · · Score: 3, Interesting

      Rumor (and MSDN) says that Longhorn will ship with a full .NET development environment including compiler, debugger, and build manager. This makes it the first time since QBasic that a kid could learn how to program with only the tools installed with the OS. I don't see them integrating X11 any time soon, since it doesn't have most of the features of the Avalon framework that they're trying to introduce. If they did, it'd probably be a heavily extended version.

      --
      Karma: Contrapositive
    3. Re:Motive by Anonymous Coward · · Score: 0

      An integrated development environment? I smell an anti-trust lawsuit from Borland, Portland Group and other niche players...

    4. Re: Motive by gidds · · Score: 1
      This makes it the first time since QBasic that a kid could learn how to program with only the tools installed with the OS.

      Doesn't Mac OS X count? Or EPOC? In fact, just about every non-Windows OS I've used...

      --

      Ceterum censeo subscriptionem esse delendam.

    5. Re:Motive by Billly+Gates · · Score: 1

      That would be dumb.

      MS increases demand by lowering supply. Namely of software development products that tie into windows.

      MS would just devalue their .net studio since most developers would gladly not pay $199 for the intro version or $899 for the pro. Sure it would be crippled compared to .net but many do not need all the features of the full blown version anyway.

    6. Re: Motive by cubic6 · · Score: 1

      I was talking about Microsoft OS software specifically. The fact that I mentioned QBasic as a "programming tool" is a hint ;)

      --
      Karma: Contrapositive
    7. Re:Motive by cubic6 · · Score: 1

      MS doesn't make very much money off Visual Studio, or any of their developer products. Their development apps have always been geared towards getting more people to develop for Windows, so there's more incentive for users to use Windows. Making tools more accessible to the average user helps this goal. My guess is that they're doing this because they're losing those budding developers to Linux.

      You've almost always been able to get a complete command line development environment for free if you wanted. Before this, you could download the .NET SDK and Platform SDK and you'd have more than what this offers[1]. Throw in a download of SharpDevelop, and you have a slick .NET kit. All of the MSDN documentation is available online, and that's a pretty damn good help file.

      Visual Studio is and always has been an IDE product. The very basic and very powerful users get along fine with the command line versions, but there's a lot of middle-level programmers who want an easy to use and powerful IDE, which is basically what VS.NET delivers. I'm guessing that the idea is that people will try out the command line compilers, say "I kinda like this programming stuff", and buy VS.NET when they need the power. I guess I respectfully disagree with you on who needs the features of full VS.NET.

      [1] - Except that the .NET SDK compiler isn't optimizing and this one is.

      --
      Karma: Contrapositive
    8. Re:Motive by LeftOfCentre · · Score: 1

      MS will be shipping the entire msbuild system (their new equivalence of makefiles) with every copy of Longhorn, allowing anyone to compile apps anywhere. And their development tools will actually modify msbuild files as opposed to use custom project file formats. Also, I would say that .NET and the way they're taking it in Longhorn (by entirely building the new Windows API using it), combined with things like WinFS (which actually looks really REALLY cool) and Avalon is by and large a hobbyist developer's dream come true. I realize MS hasn't always made the best products but I think they have truly started to get things right over the past few years and I think it will be pretty difficult for the free software community to catch up to what they're doing.

    9. Re:Motive by ickoonite · · Score: 1

      I think it will be pretty difficult for the free software community to catch up to what they're doing.

      Surely the very thing that Microsoft are doing is playing catchup with Linux/BSD and Mac OS X!? Plus, er, WinFS is being dropped from Longhorn. Taking too long, they said. I don't know about any of the rest.

      iqu :?

    10. Re:Motive by LeftOfCentre · · Score: 1

      WinFS is not being dropped from Longhorn, contrary to popular belief. Neither have any significant features been removed from it, either -- not even network support. There's more detailed information in the various MS blogs out there.

      As for playing catchup, I don't really see where MS is technologically behind *nix/*bsd. Except perhaps the command prompt which is absolutely, utterly awful.

  57. Re:compile time security checks by Anonymous Coward · · Score: 0

    And your post is that of an anonymous, mindles slashbot coward.

  58. Intel's compiler is not free... by aksansai · · Score: 1

    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
  59. Re:no! by firew0lfz · · Score: 4, Informative

    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.
  60. Does not install on win98??? by Divlje+Jagode · · Score: 1, Informative
    Microsoft Visual C++ Toolkit Installer Information

    /!\ Microsoft Visual C++ Toolkit 2003 requires Windows 2000, Windows XP, or Windows 2003 Server.

    Well,
    I'll stick to BCC55 then...
    1. Re:Does not install on win98??? by Divlje+Jagode · · Score: 0
      Moderate me as flamebait again if you wish... I was telling people that after downloading microsoft's gift I can't make any use of it because I have the wrong OS.... it's not flamebait, it's in-for-ma-tive (maybe too long a word for some?)

      Is this a ploy to force people to upgrade? If I remember, I had no problems installing the .NET framework on 98.

      Ah, fuck it... Next time, I'll just post

      micro$oft bad! l1nux good!
      to get loads of karma and hands free uptime...
  61. Re:STL would be proof by swamp+boy · · Score: 1
    In the 4.2 days, the following code would cause an access violation:
    string s = "this is a string longer than 31 characters in length";
    s = "short string";
    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.
  62. Following Borland's lead? by bigberk · · Score: 0, Redundant

    Borland has offered free downloads of C++ Builder (and some tools) for quite some time.

  63. The FSF Responds! by Anonymous Coward · · Score: 1, Funny

    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.

  64. Sourceforge by Anonymous Coward · · Score: 0

    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

  65. Take a look at the DDK by dumbnose · · Score: 1

    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.

  66. Ok, here's one by CrystalFalcon · · Score: 4, Informative
    Functions in named classes inside template classes, that are not written inline.

    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:
    // === DECLARATION ===

    template <T>
    class SimpleBinaryTree
    {
    public:
    SimpleBinaryTree();
    ~SimpleBinaryTree();
    void Add (const& T);
    // etc

    protected:
    class Element
    {
    public:
    Element();
    Element (const Element& source);
    ~Element();
    const Element& operator= (const Element& source);
    private:
    void Destroy();
    const Element& CopyFrom (const Element& source);

    }
    }

    // === IMPLEMENTATION ===

    template <T>
    void
    SimpleBinaryTree<T>::Element::Destroy()
    {
    // Clean up, common code for destructor and copy ops
    }

    template <T>
    const Element&
    SimpleBinaryTree<T>::Element::CopyFro m (const Element& source)
    {
    // Copy from 'source' - common code for
    // copy ctor and assignment op
    }
    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.
    1. Re:Ok, here's one by Yokaze · · Score: 4, Informative
      Some minor modifications like
      s/template<T>/template <typename T>/
      and for the external declarations
      s/ Element/ typename SimpleBinaryTree<T>::Element/
      and VS .Net 2003 says:
      ------ Build started: Project: test, Configuration: Debug Win32 ------

      Compiling...
      stdafx.cpp
      Compiling...
      test.cpp
      Linking...

      Build log was saved at "file://z:\devel\test\Debug\BuildLog.htm"
      test - 0 error(s), 0 warning(s)
      You probably tested it with .Net 2000. That version also had problems with partial template specialisations.
      --
      "Between strong and weak, between rich and poor [...], it is freedom which oppresses and the law which sets free"
    2. Re:Ok, here's one by CrystalFalcon · · Score: 1

      Yeah, I haven't tried it beyond the first VS.Net as I moved to C# beyond that. I thought that was recent enough, though (hell, just last summer).

      Anyway, nice to see they fixed it. There was even a KB article out for this problem about VS.Net, so I was fairly certain it wouldn't be fixed...

    3. Re:Ok, here's one by Dr.+Sp0ng · · Score: 1

      This code will produce an error. VC++ does not handle functions in named classes inside templates that are not declared inline.

      Try the newest version (VS.NET 2003). Previous versions of VS.NET's C++ compiler were only marginally better than VS6's, which was crap. The 2003 version of the compiler is much better, and indeed for the first time can build the project I'm working on (large, commercial game engine, makes very heavy use of templates, including partial specialization and other things that would case VC++ problems in the past). Previously we were using gcc on Windows, hoping and waiting for VC++ to get to the point where it would work for us, and it finally has.

      I haven't tried compiling your example, but I have done similar things in the engine, and they build fine. I'd suggest you try the latest version of the compiler before you knock its compliance.

    4. Re:Ok, here's one by Anonymous Coward · · Score: 0

      LOL!
      This seems to always be the answer:
      "Uh, you're right, but try the lastest version, it's been fixed there (I think, but it won't be released for another year)."

  67. Forth? by Anonymous Coward · · Score: 0

    Go forth and compile your favorite OSS or FS programs today.

    No thanks, I'll stick to C++.

  68. Re:STL would be proof by Anonymous Coward · · Score: 0

    So the fact that their STL implementation sucked 5 versions ago is relevant to this how?

  69. Re:Standards rock by TheRaven64 · · Score: 1

    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
  70. Re:They're just defending their turf. by Bastian · · Score: 4, Insightful

    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.

  71. How about Watcom? by chiparus · · Score: 1

    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

  72. Well, I am going to compile some CSS and PS pgms by iamacat · · Score: 1

    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.

  73. Pass by reference in C by Anonymous+Brave+Guy · · Score: 2, Informative
    There is no pass by reference in C.

    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.
    1. Re:Pass by reference in C by Yokaze · · Score: 1

      Passing by pointer is passing by value. You just pass the value of the pointer.
      That you have to pass the pointer is the semantical difference.
      If you'd denote the passing mechanism not with &, but say, INOUT, would be a syntactical difference.

      References aren't merely not-null pointers.

      --
      "Between strong and weak, between rich and poor [...], it is freedom which oppresses and the law which sets free"
    2. Re:Pass by reference in C by tepples · · Score: 1

      Passing by pointer is passing by value. You just pass the value of the pointer.

      True. In C, "pointers" are references to variables. To pass a reference to another function, one passes the value of a pointer, which is the value of a reference to the variable. At the machine level, Pascal's 'VAR' keyword to pass arguments by reference just passes pointers around anyway, at least in the implementations common in the 68K Mac era.

    3. Re:Pass by reference in C by Yokaze · · Score: 1

      > In C, "pointers" are references to variables. [...]
      > At the machine level, Pascal's 'VAR' keyword to pass arguments by reference just passes pointers around anyway

      Actually, no. You can accomplish with pointers in C what you can accomplish with references in other languages. This is not particular surprising and doesn't make pointers references. That every language known on earth implements on machine-level pass-by-references with pointers doesn't make pointers references either. Pointers are a datatype. References aren't. In C (and C++) you can modify a pointer, but you can't modify a reference, because it is merely that, a reference.

      --
      "Between strong and weak, between rich and poor [...], it is freedom which oppresses and the law which sets free"
    4. Re:Pass by reference in C by tepples · · Score: 1

      This is not particular surprising and doesn't make pointers references.

      Truth or falsity of "a pointer is a reference" depends on how you define "is".

      Pointers are a datatype. References aren't.

      Then what is int & ?

      you can't modify a reference

      Neither can you modify a pointer variable of type, say, int * const.

      OK, revised: "It appears C++ references have the same semantics of constant pointer variables without the possibility of pointer arithmetic." Would you argue against this statement?

    5. Re:Pass by reference in C by Kupek · · Score: 1

      Not quite, and it doesn't look like any of the people below hit on the semantic difference.

      int something;
      int x;
      int y;
      int z;

      void change_ptr(int* ptr)
      {
      ptr = &something;
      }

      void change_ref(int& ref)
      {
      ref = something;
      }

      void change_val(int val)
      {
      val = something;
      }

      int* my_ptr = &x;

      change_ptr(my_ptr);
      change_ref(y);
      change_val( z);


      The variable ptr still points to x. The variable y now is equal to something. The variable z is unchanged. The semantic difference is that with pointers, you can't change what a pointer points to in a function call; passing pointers is still pass by value. If you want to accomplish the same thing that pass by reference accomplishes, you really have to do something like this:

      my_ptr = function_that_returns_pointer();

      It's a subtle difference that I've found escapes many people until they encounter the difference in their own code.

    6. Re:Pass by reference in C by Anonymous+Brave+Guy · · Score: 1

      Obviously I was referring to something like this:

      void func_that_modifies_external_value(int *p)
      {
      *p = 10;
      }

      /* ... */

      int i = 5;
      func_that_modifies_external_value(&i);

      The semantics here are absolutely identical to passing a reference in C++, except for the additional & and *.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    7. Re:Pass by reference in C by Anonymous+Brave+Guy · · Score: 1
      References aren't merely not-null pointers.

      Really? Can you identify a concrete example where they have other semantics? Assuming you can, is your example in any way relevant to this discussion?

      The standard implementation of references in damn near every C++ compiler on the planet is as a pointer that cannot have a NULL value. Obviously there are other semantic differences between references and pointers in theory, but issues like retargetting the pointer to refer to another object are irrelevant here -- we're talking about how to achieve pass-by-reference semantics in C, and pointers are the universal answer.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    8. Re:Pass by reference in C by Kupek · · Score: 1

      That, however, is not the same as passing a reference in C++, even though you get the same desired result in this case. The semantics are the same in your example, but not in general.

      So it is not accurate to say "You get pass by reference semantics by passing or returning pointers." Pass by reference allows you to change what is referred to, not just the referred data. Passing pointers around is not a semantic equivalent to pass by reference.

    9. Re:Pass by reference in C by Yokaze · · Score: 1

      >> Pointers are a datatype. References aren't.
      > Then what is int & ?

      Well, I think I have to correct myself. The correct term for a reference is opaque datatype.

      > Would you argue against this statement?
      Yes. Two things. First, what I write about references is not C++ specific, but it is about the abstract concept.
      You have no operations on references. All operations happen on the object referenced. The reference has the same semantic as the object itself.

      At the very least, you still have to dereference a const-pointer. This is an operation on a pointer.

      --
      "Between strong and weak, between rich and poor [...], it is freedom which oppresses and the law which sets free"
    10. Re:Pass by reference in C by Anonymous+Brave+Guy · · Score: 1

      OK. Either I'm misunderstanding you, or we have different fundamental definitions of what "pass-by-reference" (as distinct from passing a reference in C++) means. Can you give a robust description of pass-by-value and pass-by-reference as you define them?

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    11. Re:Pass by reference in C by drxenos · · Score: 1

      Pass by reference allows you to change what is referred to, not just the referred data.

      Completely untrue, you cannot change what object is being referred to. References are arkin to constant pointers. You can change the object's value, but not what object you are dealing with.

      --


      Anonymous Cowards suck.
    12. Re:Pass by reference in C by Kupek · · Score: 1

      I define pass by reference to be exactly what pass by reference is in C++. When something is passed by reference, no copy takes place; the called function operates on the same object, not a local copy.

      This is different than a function operating on a copied pointer that happens to point to the same object. In that case, a copy takes place; the function is operating on its own local copy of the pointer.

      The only semantic difference that I am aware of is what I pointed out earlier: you can't change what the reference refers to. At this point, the discussion has become a matter of definition. As long as we all understand what's going on, I don't care much what it's called. However, your original claim (if I understand it correctly) said there is no difference between passing by reference in C++, and passing pointers in C. As I demonstrated, there is.

    13. Re:Pass by reference in C by Anonymous+Brave+Guy · · Score: 1
      I define pass by reference to be exactly what pass by reference is in C++.

      OK, then our disagreement is purely one of definitions. I was using "pass by reference" in the generic computer science/programming language theory sense, as the complement of "pass by value". That means that passing a reference and passing a pointer in C++ can both be used to achieve pass by reference semantics.

      However, your original claim (if I understand it correctly) said there is no difference between passing by reference in C++, and passing pointers in C.

      Not quite. I was describing how you achieve the effect generally known as "pass by reference" in C, not implying that C++'s references (which were never relevant) and pointers are the same thing.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    14. Re:Pass by reference in C by Kupek · · Score: 1

      For me, the difference is that in one, no copying takes place and the function modifies the original object, and in the other, a copy ocurrs, and the function modifies a local copy. Whether or not a copy takes place is the most important distinction to me. I've run into problems with thinking of passing a pointer around as pass by reference, so I call that pass by value, it just so happens that the copied value is an address.

      As I know it, my usage is the generic comptuer science/language theory sense, but that's just how I was taught.

  74. Visual Studio 6 integration? by mardoen · · Score: 2, Interesting

    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?

    1. Re:Visual Studio 6 integration? by baxissimo · · Score: 1
      here's the list of fixes in SP6. It doesn't look nearly extensive enough to indicate a switch to the latest VC.NET compiler.

      So yeh, I'm with you. I'd like to know if I can somehow plug this new compiler into the VC6 IDE.

    2. Re:Visual Studio 6 integration? by Anonymous Coward · · Score: 2, Informative

      It should be possible -- I've integrated the C compiler from the DDK with VS6, and that's basically the same compiler as what MS is giving away now. If you're happy with the VS6 IDE, this is a good way to keep the IDE you like, while getting the benefits of the latest compiler.

      Select the Tools | Options menu and go to the Directories tab of the Options dialog. Add the directories for new C compiler to the top of the lists for Executable files, Include files, and Library files. I'd also recommend downloading the Platform SDK and using the Windows headers/libraires from there rather than the ones that came with VC6 (which date back to the NT 4.0 era).

    3. Re:Visual Studio 6 integration? by baxissimo · · Score: 1

      What about the problem of different compiler flags mentioned in this post? Is it a non-issue? I suppose even if it were a problem you could write a wrapper script that did the necessary translation of VC6 options into VC7 options.

    4. Re:Visual Studio 6 integration? by baxissimo · · Score: 1

      Ok. I gave this a try, and it doesn't work for me. It compiles, but the debugging information is apparently in a different format from what Visual Studio 6 is expecting. And I have the Platform SDK also. Updated that a month or so ago.

      See this post. So Mr. AC, were you able to debug as well? If so please tell us your secret sauce to get it working.

  75. All right, so what next? by ThisIsFred · · Score: 1

    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
  76. Compatability does not seem so much of a problem by spitzak · · Score: 4, Informative

    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.

  77. VS 7.1 Standard upgrade? by palmtree3141 · · Score: 2, Interesting

    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.
    1. Re:VS 7.1 Standard upgrade? by Fruny · · Score: 1

      I believe so. Try replacing the cl.exe from VS 7.1 Standard with the one included in the toolkit. Make a backup, just in case.

  78. free ... by moartea · · Score: 0, Flamebait

    ... and Microsoft on the same line ?!
    on Slashdot ?!?!

  79. Using new compiler with Visual Studio 6? by baxissimo · · Score: 3, Interesting

    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...

    1. Re:Using new compiler with Visual Studio 6? by jdunn14 · · Score: 1

      First off project files are not called solution files, workspaces are now solutions. Always thought workspace was a dumb name for a collection of projects. Also, the .NET IDE is pretty much the same as the VC6 IDE. You can even set the shortcut keys to VC6 settings. Anyway, still not a big fan of VC, but .NET is no worse than VC6. Plus there are some bug fixes.

    2. Re:Using new compiler with Visual Studio 6? by Arild+Fines · · Score: 1
      And come on, a project file is now called a "solution" file??
      No, that would be a workspace.
    3. Re:Using new compiler with Visual Studio 6? by Anonymous Coward · · Score: 0

      Yes -- It's easy.

    4. Re:Using new compiler with Visual Studio 6? by baxissimo · · Score: 2, Insightful

      A solution is a workspace?? Wow. That's even worse naming. A workspace is basically just a collection of projects (which in turn correspond usually to an exe or a lib). So who says that a collection of exes and libs is going to be "solution" to anything? A workspace is a "space" for doing "work" on several projects at once (related or not). So workspace always seemed like a perfectly reasonable name to me. "Solution" somehow sounds like the same smug marketing speak that brought us "My Computer" and "My Music". Like they're stepping in my shoes trying to put words in my mouth. Maybe I want to have 5 completely unrelated projects in my "solution" because those are the projects I'm currently working on. How is that a "solution" to anyting? Anyway "solution" is a really pompous name for what amounts basically to a simple ASCII list of project file names. It's like the manager claiming that he "solved" the problem, when all he really did was just ask someone else to do it for him. Or like Al Gore "inventing" the internet.

      Bah! Solution files. Ridiculous.

    5. Re:Using new compiler with Visual Studio 6? by JFMulder · · Score: 2, Insightful

      By experience, I found that while the Intel compiler generates faster code, there are quite a few thigns that are broken in it where it sometimes crashes, compiles code that shouldn't be compilable, while MSVC gives an error as expected. Or literally generates bad code. Try debugging that! For speed, always compile with Intel. But for standards compliance, I've come to the conclusion that compiling with MS's 2003 compiler is a good thing just to make sure the code you write is compliant with the standards.

    6. Re:Using new compiler with Visual Studio 6? by omicronish · · Score: 4, Informative

      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.

      I'm currently writing C++ code using Visual Studio.NET, and I haven't noticed any problems compared to Visual C++ 6. Some of the keyboard shortcut defaults are different, but you can revert to the VC++ 6 layout easily.

      I think the main reason it might not seem as good for C++ work is that VS.NET adds considerably more features geared towards .NET development, while C++ appears to be neglected somewhat. Remember that VS.NET's IDE supports all their .NET languages, and C++.

      For clarification, a solution can contain multiple projects. The old term they used was workspace. Yeah, I thought it was weird at first, but it's just terminology, plus a workspace sort of implies open windows and developer-specific settings to me. A single solution can be used by multiple developers (CVS works nicely).

    7. Re:Using new compiler with Visual Studio 6? by baxissimo · · Score: 2, Informative

      Ok, I gave it a try, the new free compiler with VC6 IDE. It seems to compile and run ok. But debugging doesn't work.

      The new link.exe complained that it doesn't know the /pdbtype flag. It still ignored it and linked ok, but when I went to debug, VC6 said the exe didn't have any debugging symbols. I've tried changing the debugging options in VC6 a few different ways (C7 compatible, no program database etc), but nothing I've tried makes the debugger happy.

      So it looks like this may not be something that will work as well as one might hope, unless anyone has any other ideas.

    8. Re:Using new compiler with Visual Studio 6? by leabre · · Score: 1

      In VC6 it was called a "workspace". It VS.NET, it is called a "Solution". In VS6, you could only have other VC6 projects in a workspace. In VS.NET, you can have any .NET project type in the same solution. This means you can have a solution that contains a VC.NET project, and a C# project, and they'll compile just fine. So really, what's the problem? It is only terminology at most, and a better featureset.

      Thanks,
      Leabre

    9. Re:Using new compiler with Visual Studio 6? by baxissimo · · Score: 3, Funny

      What's the problem? The problem is that they've taken a perfectly good word and used it to describe something that it is not. Yes it's just terminology, but all I'm saying is it's a stupid name, and there was no reason not to continue calling it a "workspace". At least "workspace" was a made up word to which they are free to assign whatever meaning they wish, since they made it up.

      I guess the thing that really irks me about the name "solution" is that it almost makes sense. It's so close to making sense that I want to interpret it literally, like the code I need written is the problem and the solution is contained in a "solution" file. But the "solution" file doesn't contain the solution to my problem most of the time. Like for instance when my code doesn't even compile yet. That's hardly a solution. Or maybe I should interpret it as the solution to the problem of building my application. The build configuration problem. But the most difficult bits of the build problem are contained in the project files. The "solution" file is just a glorified list pointing to several projects. So it doesn't really make sense to think of it as the solution to the build problem.

      And I can't think of any other context in which it could be the solution. So it just bugs me, ok.

      I think we need to think of a new interpretation of the .sln suffix. From this day on, I declare that it's is no longer a "solution" file -- instead .sln will stand for a "sirloin" file. Yes, that's it. It's the file that contains the meat that makes up your application. The sirloin file. That's what it is. Ok, now I'm happy. Maybe I'll even upgrade to VC7 now that I can use these cool new sirloin files.

    10. Re:Using new compiler with Visual Studio 6? by RupW · · Score: 1

      VC6 said the exe didn't have any debugging symbols. I've tried changing the debugging options in VC6 a few different ways (C7 compatible, no program database etc), but nothing I've tried makes the debugger happy.

      Yeah, they've changed the debug data format. e.g. the old one had a 256 character limit on symbol names which you can pass easily when using STL so every time you tried to write debug symbols for STL code you'd get 'warning: name to long for debug data' or similar.

      You'll see MSVC6 has a MSPDB60.dll and MSVC++7 has (and these tools will have) a MSPDB70.dll. Now I did compare the two once and I think the interfaces were similar, if not the same, so it *might* just work if you rename MSPDB70 to MSPDB60. However it's likely their internal structures have changed so I'd be surprised if it did just work.

    11. Re:Using new compiler with Visual Studio 6? by jdunn14 · · Score: 1

      Wow, you seem to care far more than I. As long as they have similar functionality MS can rename the files to SynergisticIssueSolvers. I don't really give a damn. Certainly not a compelling reason not to entertain the use of a new version of MSVC.

      By the way, they store quite a bit more in the solution file than a simple ascii list of projects. Wish it were that simple, I had to write a parser for those things, kind of a pain. For one, they store dependency information, but really badly. Explain to me how a single project can have a couple thousand dependency entries in a solution that contains less than 20 projects. Oh yeah because MSVC doesn't check to see that the dependency list has only unique entries. I was using sln files to generate a Makefile, and wondered why my Makefile was measured in megs. Added a uniqueness check on the dependencies and away the problem went. Oh, and before anyone says "Just export a Makefile using Visual Studio" MS removed that feature from MSVC .NET. Check under "Upgrading your projects".

      One last gripe. MS chose a relatively nice XML format for project files. So why not make sln files also an XML format? Makes for simpler parsing (yay, expat). Oh well, back to poking my eyes out with sharp sticks... oh, I mean programming in windows.

  80. let's hope it has no hidden'features' by Anonymous Coward · · Score: 0

    AS some MS programs appears to have some 'undocumented' features, this one may have so too.
    Maybe I'm just too paranoid.

  81. Xcode has support for COM by pixelfreak · · Score: 1

    You can create cross-platform COM object using Xcode.

    Check out this article on O'REILLY's MacDevCenter.
    http://www.macdevcenter.com/pub/a/m ac/2004/04/16/c om_osx.html

  82. Mod parent down by leonbrooks · · Score: 1, Funny

    -1, Doesn't know how to spell "|_337".

    <g/d/r>

    --
    Got time? Spend some of it coding or testing
  83. Try VC7 by jridley · · Score: 2, Informative

    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.

  84. Re:Standards rock by t_allardyce · · Score: 1

    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.
  85. CP/M-86 by Detritus · · Score: 1

    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
  86. Yes please! Don't increase the cost for the rest! by jotaeleemeese · · Score: 5, Funny

    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.
  87. Legacy Windows? by Anonymous+Brave+Guy · · Score: 1
    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.

    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.
    1. Re:Legacy Windows? by Anonymous Coward · · Score: 0

      That Windows is past its sell by date and anybody with any real need for a computer now runs GNU/linux.

    2. Re:Legacy Windows? by westlake · · Score: 1
      From the April Google Zeitgeist: "Operating Systems Used to Access Google" March 2004

      Windows (all) 90% XP 47%
      XP's share up a point, from a month or so back, I believe.

      Mac 4%
      Other 4%
      Linux 1%

      Strickly by the numbers, which looks like the "legacy" O/S, *nix or Windows?

  88. Classic OS zealot by Anonymous Coward · · Score: 0
    Straight in there, karama whoring away.

    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.

  89. Tried compiling the linux kenel? by earthforce_1 · · Score: 1

    It would be interesting to compare the results to GCC.

    --
    My rights don't need management.
    1. Re:Tried compiling the linux kenel? by Anonymous Coward · · Score: 0

      I don't think that will work - I believe it's got some GCC-specific optimizations.

      However, it might be possible to build a GCC with MSVC++, and then use the optimized GCC to build the kernel...

  90. And your point is? by jotaeleemeese · · Score: 1

    At the end, conceding the points presented in the thread for argumentation's sake, the programmer would not care about this minutiae.

    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 .Net era, where were you taken today?).

    --
    IANAL but write like a drunk one.
  91. No assembler? by leonbrooks · · Score: 3, Interesting

    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
    1. Re:No assembler? by Anonymous Coward · · Score: 0

      Can it do variables? Labels? Macros? Without those, it's a very limited assembler that you couldn't use to program anything significant.

    2. Re:No assembler? by billcopc · · Score: 5, Interesting

      I remember a certain 12 year old student who couldn't afford MASM and didn't like TASM so he wrote his own macro preprocessor in C. Then the code was fed back to Debug.com and BEHOLD it worked.

      Young programmers today don't realize how spoilt they are. Back in the day we all had our copy of the Intel386 assembler document, and a heavily modified version of Abrash's Zen Timer. Have you ever seem a man shuffle assembler instructions by hand to alleviate register contention, or deliberately NOT'ing AX and reversing the following branch to lull the Pentium into correctly predicting the jump, wasting one cycle but saving 4-7 (depending on whether the code following the branch accessed RAM or not, since the prefetch would have been invalidated).

      For that matter, do you even remember when we used fancy tricks to either cope with the 64kb code segment limit, or trounce all over it. I hate to say it, but I miss those days, because back then it took more than an optimizing compiler and a few www tutorials for someone to be called a programmer. You actually had to know at least a little bit what was going on under the hood. It wasn't about compilers and libraries and distributed object frameworks, it was about making a limited machine do limitless things.

      --
      -Billco, Fnarg.com
    3. Re:No assembler? by Krach42 · · Score: 2, Interesting

      Jesus! You sound way too hard-core... I mean, I was doing some crazy stuff with Assembly, even up until the Pentium4 came out, but nothing like this timing stuff you're talking about.

      I personally though, did write a fire program that fit into 220 bytes, and I've worked on the TI-86, which was crazy amounts of assembly.

      You think x86 is register starved? Try only having one arithmatic register. *Shudder* well, still not as bad as the HC11, where you had really just 2 registers period.

      --

      I am unamerican, and proud of it!
    4. Re:No assembler? by Malc · · Score: 2, Insightful

      Thank goodness we don't have to do that anymore. Talk about poor productivity levels.

    5. Re:No assembler? by ThrobbingGristle · · Score: 3, Insightful

      Do you remember when you had to go out and kill your own food if you wanted to eat?

      Do you remember when you had to crank-start your car?

      Lowering the barriers to programming has been good by and large... would we have all this free software if it all required assembly programming?

    6. Re:No assembler? by Oestergaard · · Score: 1

      You had the Intel386 asm document?!? You spoiled brat! :)

      Back in the day, I had a Soviet pirate copy (matrix printed) of a German 8086 assembly book. Based on that, I wrote my own assembler.

      Now the funniest part is that it's true ;)

    7. Re:No assembler? by jridley · · Score: 1

      Shit, man, you had a C compiler? I had a copy of the Z80 assembly language reference handbook, a pile of paper, and the built in BASIC that came on the TRS-80. I wrote my assembly for the first year or so by hand assembling, converting to decimal, and typing the code into DATA strings in BASIC, then using a chunk of code that would POKE that into memory and execute it.

      I personally liked Vinge's A Deepness in the Sky, where they had some smart dust that had been infected with spyware and given to the enemy as a "gift" -the enemy suspected the spyware, but it had been inserted by a guy who lived thousands of years ago, and the systems OS was thousands of layers and patches which nobody had touched in thousands of years, written in languages nobody had used for dozens of generations. So a team of programmers spent something like a dozen years analyzing code to try to figure out if there was indeed spy code in there.

      I think we're on the path to this situation now. There are people graduating these days that don't even have a concept of the lowest levels of the systems.

    8. Re:No assembler? by Cruxus · · Score: 2, Insightful

      Is it just me, or is it preferable to think about what you can do by writing a program rather than how you can get it done under technical constraints? If programming were all about making sure this or that about some register was good or some small amount of memory was not used up, I'd probably have no interest in it at all, and I would have gone back to playing video games or something.

      I'll take my high-level object-oriented programming languages, like C++ and Java, running on modern systems any day!

      --
      On vit, on code et puis on meurt.
    9. Re:No assembler? by ViGe · · Score: 1

      I personally though, did write a fire program that fit into 220 bytes

      You lose. I wrote a BBS ad that fit into 194 bytes. It included a fire effect and some BBS advertising info in text form. :-)

      --
      It has to work - rfc1925
    10. Re:No assembler? by Anonymous Coward · · Score: 0

      Assemblers hell. When I started we didn't even have an assembler. I wrote assembly on a graph pad and then hand assembled it into machine language to scroll the screen on a Timex Sinclair 1000 with only 2K of RAM.

    11. Re:No assembler? by Moraelin · · Score: 1

      Well, having started on a Z80 with 1K RAM and with programming machine code in hex, I'd say I'm an even older fart than you are ;) I've also continued through such stuff as 3D software rendering, where, yes, you needed to inline by hand and do the most perverse and unnatural assembly tricks to get it to run fast on a 386. Think: not only messing with jump prediction, but organizing the data to maximize the cache benefits and minimize the number of memory access cycles.

      Yeah, that was great fun. I hear you. Glad to meet someone who still remembers that.

      Still, I'm going to say something different. Those days are not necessarily gone, they've just moved to a different level.

      Nowadays you don't have to save 7 CPU cycles in a database program, since the CPU will wait 100,000,000 cycles for the database's response anyway. However, optimizing your use of the database (e.g., using a single select, instead of a flurry of 1000 selects) might just do the trick.

      E.g., you don't have to save 7 CPU cycles in an EJB method, since the RMI/IIOP invocation itself will take some 2,000,000 cycles. However, optimizing the overall design to use 1 large RMI/IIOP call instead of 100 smaller ones, pays off big time.

      And it's not that big a change. Even in the good old days, as you surely remember, the biggest wins were not from just knowing assembly, but from addapting the algorithm to the underlying machine. E.g., your example of reversing the jump condition is just that. Still, the best programmers were not those who could write a naive bubble sort in assembly, but those who had both a solid knowledge of the machine and of algorithms.

      And I'll say that the need for that hasn't gone away. I still routinely see projects which end up with major performance problems, because of a combination of piss-poor coding and lack of knowledge of even the most basic algorithms and data structures. I see even frameworks where someone thought it was cute to invoke individual getters and setters over TCP/IP, instead of having one single call for the whole data object.

      (Point in case: Sun's first entity beans specification was just that: data objects with the individual getters and setters invoked over RMI/IIOP. And with no dirty flag, so even purely read-only access caused them to be written back to the database anyway.)

      While everyone quotes Moore's law to justify piss-poor coding and lack of skill, what they seem to ommit is that the size of the data sets to be processed also increases. While 30 years ago, 1 MB was a damn huge disc, nowadays multi-terrabyte databases exist.

      So in the end they still end up having to optimize that mess of poor performing code, and often to hire a very expensive consultant for that.

      So what changed is not that the need for good performance went away, but that idiot PHBs like to pretend that it went away. Or that security concerns went out of fashion, in an age where your data is (directly or indirectly) connected to the internet.

      Sometimes in the 90s it came into fashion to pretend that you can take any drooling burger-flipper off the street, give him a "java for retards in 21 days" book to skim through, and have him build secure, scalable and bug-free enterprise systems. Which just doesn't happen. Half of those don't even have the mental capacity to understand elementary boolean logic.

      --
      A polar bear is a cartesian bear after a coordinate transform.
    12. Re:No assembler? by wjsteele · · Score: 1

      Ditto... remember how you could "program" the assembeler by putting all the correct characters in the REM statement, and then calling USR(addr) on it. ;-) Oh... the memories.

      Bill

      --
      It's my Sig and you can't have it. Mine! All Mine!
    13. Re:No assembler? by billcopc · · Score: 1

      Maybe I was too hard-core, but being a VGA game developer (and later SVGA, what pain!) I had no choice. Direct-to-the-metal was the only way to get things going fast enough on a 486 to rival Nintendo & Sega consoles.

      --
      -Billco, Fnarg.com
    14. Re:No assembler? by billcopc · · Score: 1

      I never said it was absolutely required. The problem is that people don't dare use it anymore, heck they probably think Assembler is that ancient magic thing we used "when computers had punchcards instead of keyboards".

      I'm just saying the whole world could use a little optimization theory, and this means all you VB coders out there. Pure ASM isn't a magic wand that makes everything 500% faster, but with experience you learn how to apply it sparingly for the greatest effect. Choose the most often (ab)used funcs, figure out which aspects are the most wasteful : small tricky nested loops that don't optimize well, or contorted string manipulations that just don't "fit" in the C library's methodology.

      I think my proudest accomplishment would be the scripted installer I built in 90% assembler. No external DLL's required (other than win32 essentials of course), no need to unpack the installer set to a temp folder, no things that can break. And I'd also like to add that my decompression routine is blindlingly fast :) Why did I build this ? Because Installshield and friends are horribly inefficient and overbloated for what was once handled by "COPY A:*.*". What does one really need more today ? Version checking, registry inserts, and the occasional RunDLL call. Certainly not 600kb of empty code.

      --
      -Billco, Fnarg.com
    15. Re:No assembler? by billcopc · · Score: 1

      Creepy! =)

      The intel386.txt was floating around just about any coder-friendly BBS thanks to Fido file transfer. 350kb zipped, 900kb unzipped; just small enough to fit on a 3.5" floppy with enough space left over for build tools.

      --
      -Billco, Fnarg.com
    16. Re:No assembler? by billcopc · · Score: 1

      It's okay to be ignorant when you graduate, because you don't learn all that much in school, you learn from experience. What's irritating is when everyone you meet claims "Oh yeah I took a course, now I'm a programmer". Sure they know what CPU, ALU, RAM means but they have no grasp of what's really going on. They learned VB, and they know how to unzip things *applause*. So they dream of six-figure income and start writing the lamest me-too apps the world has ever dared see, and when confronted with very real problems like non-scalable code or "inexplicable version conflicts" they just roll their eyes and blame it on Microsoft.

      Here's one of my nasty pet peeves: XNews, the binary-oriented newsreader for Windows. XNews is written in Delphi (Pascal) and maintained by one single guy: Luu Tran. I like the app because it's no-nonsense and works good, except for one thing: it's horribly inefficient. It suffers from O(n^2) and the author adamantly refuses to work around it. So load a newsgroup approaching 300K articles and it starts freaking out, then every operation takes about a minute before the app even redraws, and it's been like that for about 6 years now. It runs no better on my 2ghz Athlon than it did on my Pentium 200mhz due to this crippling 'feature'. So what did I do about it ? (after being gratuitously flamed by the author) I just built my own frickin' newsreader, I even went frugal and used multiple threads (GASP!). I admire Tran's efforts in making the app flexible in dealing with not-so-compliant servers, but if he's not going to maintain it he should just opensource it and let the rest of the world solve its little issues because it is used by hundreds of thousands of alt.binaries whores with the same woes.

      Ok so I rant. It's just that people like that aren't true coders to my eye. They are C.S. graduates biting off more than they can chew.

      --
      -Billco, Fnarg.com
    17. Re:No assembler? by billcopc · · Score: 1

      It's not about high-level vs low-level, it's about using the right tool for the job. I'm not that much of a freak really, I still use C++ and Delphi to do most of my work, but when a certain function calls for hardcore optimization, I'm already ready to whip out the assembler. For some things like heavy math, or processing gobs of binary or string data, the performance gained by writing a tight assembler loop can be 1000% (that's one-thousand). If it saves me from using a fat library then bonus! My favorite example of assembler efficiency is file decompression. Compressors are more complex, with lookup tables and string searches etc. A decompressor just walks through the bitstream expanding data according to simple instructions. It doesn't need to "think", it's just "work". Decompressors are often written in 10-15k of compiled code and as such they fit in even the lamest CPUs' L1-caches, running at their maximum potential. Considering the relative ease of programming such a decoder, and the tremendous performance benefit, it is well worth it.

      --
      -Billco, Fnarg.com
    18. Re:No assembler? by billcopc · · Score: 1

      I totally agree. The need is not for bare-metal assembler code all the time, but I can say that by knowing what happens at the lowest levels, I can easily guess what a high-level function is doing and whether it's doing it efficiently or not. Without whipping out the profiler I can 'feel' if something is taking too long, meaning that the function is performing unnecessary tasks. If I can't 'feel' the problem then "it doesn't exist", or more precisely it doesn't need fixing and I can move on to some more important task.

      Knowing what the compiler is doing is probably the most important aspect of high-level code optimization; understanding the cost of this-or-that function and being able to consider alternatives that may or may not be faster/smaller/more appropriate.

      --
      -Billco, Fnarg.com
    19. Re:No assembler? by spongman · · Score: 1

      be careful typing in programs in asm. a friend of mine did this once and only after he'd run it did he find out that he'd wiped his boot sector.

    20. Re:No assembler? by anomalous+cohort · · Score: 1

      Here, here. If I had any mod points right now you would be getting a +1 INSIGHTFULL right about now.

    21. Re:No assembler? by Krach42 · · Score: 1

      Most of the space was taken up by getting a good 3 tone palette, where the first was yellow, second orange, and the third red. All of which was discontinuous in the first derivative (thus meaning, you couldn't lump it into one single linear function)

      Now, sure, if I wanted to make a crappy red only fire, then I could have gotten it much smaller, and if certain alternative palette setting methods had worked for me, I could have gotten it even more smaller.

      But, this is the world I lived in. OBTW, using hand assembly, I could get 2 bytes out of the code that was machine assembled. I don't know exactly WHY... *shrug*

      --

      I am unamerican, and proud of it!
    22. Re:No assembler? by ViGe · · Score: 1

      Most of the space was taken up by getting a good 3 tone palette, where the first was yellow, second orange, and the third red. All of which was discontinuous in the first derivative (thus meaning, you couldn't lump it into one single linear function)

      I kind of though so.. :-) I also tried to make a nice looking palette, but it always took out a lot of space, so I decided that it was not worth it.

      But, this is the world I lived in. OBTW, using hand assembly, I could get 2 bytes out of the code that was machine assembled. I don't know exactly WHY... *shrug*

      Interesting. Surely you could take a look at what you did in a different way? My guess is that the machine assembler added some zeros somewhere (in the end maybe, or as a padding?)

      --
      It has to work - rfc1925
    23. Re:No assembler? by fredrik70 · · Score: 1

      I loved asm (6800 and HC11) until I hit x86 asm *shudder*
      Suppose it got better with the 486 and upwards. NOwadays I'm too lazy plus todays compiler can probably optimize far better than I can on todays cpus with super-duper-long pipelines et al. can't be arsed to sit and count clcok cycles! ;-)

      --
      if (!signature) { throw std::runtime_error("No sig!"); }
    24. Re:No assembler? by billcopc · · Score: 1

      Your supposition is dead wrong. It got WORSE after 486, because they just kept tacking new crap on. Okay okay, SSE is actually kinda cool once you get the swing of it, but take a look at PPC asm, or my beloved ARM, and you'll develop what's known at Wintelitis, which causes spontaneous explosive nausea whenever you peek at X86 code.

      But since I have buckets of experience in x86 asm I just carry Gravol wherever I code :)

      --
      -Billco, Fnarg.com
  92. make no mistake.... by 3seas · · Score: 1

    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.

  93. I'm guessing you're right by Anonymous+Brave+Guy · · Score: 1
    One has to assume MS is worried they're losing their development community to run a scheme like this.

    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.
  94. 8 years ago gcc had severe problems as well by AHumbleOpinion · · Score: 2, Interesting

    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.

  95. Now that The SCO Group have run out of $... by leonbrooks · · Score: 1

    ...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
    1. Re:Now that The SCO Group have run out of $... by Tough+Love · · Score: 1

      "Microsoft has bulked up with enough cash to operate with zero income for five years"

      Shareholders just aren't going to want to hear that. Hint for the financially challenged: income down, stock down.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    2. Re:Now that The SCO Group have run out of $... by Anonymous Coward · · Score: 0

      Um, no, that's not how a monopoly works at all... I'm betting that most businesses have enough money to operate for a while without any income.

    3. Re:Now that The SCO Group have run out of $... by Master+of+Transhuman · · Score: 1

      MOST businesses?

      Are you naive. Some giant corps, yes. Your AVERAGE business probably couldn't survive six months with no income. Any corporation with stock would see its stock plummet to zero value.

      --
      Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
  96. Re:STL would be proof by swamp+boy · · Score: 1

    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.

  97. It may be free... by Anonymous Coward · · Score: 0

    but is is FREE?

  98. Boy has Slashdot changed by John+Jorsett · · Score: 1, Funny

    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 ...

    1. Re:Boy has Slashdot changed by multipartmixed · · Score: 1

      Did somebody pour a Beowulf cluster of hot grits down your pants?

      --

      Do daemons dream of electric sleep()?
  99. Re:STL would be proof by Kippesoep · · Score: 1

    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.

  100. From the posted EULA by Spaceman40 · · Score: 2, Informative

    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.
    1. Re:From the posted EULA by shiftless · · Score: 5, Informative

      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.


      Nope. That clause governs copying of the Software- in other words, the compiler. It says nothing about distribution of works you create using the Software.

    2. Re:From the posted EULA by nanop · · Score: 1
      Nope. That clause governs copying of the Software- in other words, the compiler. It says nothing about distribution of works you create using the Software.

      Actually, it does seem to mean that you cannot distribute commericial applications with the software: The copy that you make when download the installer from MS website can then only be used for testing/demonstrating your application and for eveluating the compiler.

    3. Re:From the posted EULA by Anonymous Coward · · Score: 1, Informative

      The copy that you make when download the installer from MS website can then only be used for testing/demonstrating your application and for eveluating the compiler.

      The post you replied to listed internal use as the first use listed, and is the primary use as well in almost any situation. Its pretty obvious if you read the clause you can tell that MS is really only concerned with businesses using the compiler to make their programs without paying the necessary fees. But for personal use, there don't appear to be any restrictions on using the compiler itself (of course distribution restrictions for the compiler software are probably not the same).

    4. Re:From the posted EULA by tepples · · Score: 1

      Scroll down to sections 2 and 3 that cover redistribution of works based on the libraries that come packaged with the compiler.

    5. Re:From the posted EULA by Anonymous Coward · · Score: 0

      Actually, it does seem to mean that you cannot distribute commericial applications with the software:

      Well, duh. Why would you want to distribute a commercial application with Microsoft's compiler?

      The copy that you make when download the installer from MS website can then only be used for testing/demonstrating your application and for eveluating the compiler.

      Oh, absolutely. I love how it explicitly forbids designing, developing [...] your software product(s). I also love eating lead paint, want some?

  101. Aiiieeee! (-: by leonbrooks · · Score: 1

    # 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
  102. Bloody politicians! by leonbrooks · · Score: 1
    I'm just trying to reconcile these two statements,and I can't quite seem to do it:

    Microsoft can keep their compiler as far as I'm concerned

    and

    I think the gp was mainly trying to express...how much easier it will be now that he can use the same compiler as those who grade him.

    -1, Microsoft Troll? (-:
    --
    Got time? Spend some of it coding or testing
  103. Does this mean that... by leonbrooks · · Score: 1

    ...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
  104. Well, good to see... by Cytlid · · Score: 1

    ...FS/OSS finally having such a positive effect on Microsoft.

    --
    FLR
  105. You what?! by Anonymous+Brave+Guy · · Score: 1

    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.
  106. The only reason I tried Linux was for c/c++ by Billly+Gates · · Score: 1

    You have a point.

    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. .... 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.

    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.

    1. Re:The only reason I tried Linux was for c/c++ by ickoonite · · Score: 0, Flamebait

      I'm not too worried yet though. Tempting though this might Windows make, there's still the politics/religion which holds Microsoft as the antichrist and the fact that for a gay geek like myself, Mac OS X fits the bill a hell of a lot better (pretty and useful!).

      However, if Microsoft makes a really attractive platform for FOSS, it has the potential to create a quite different situation to the one we have today, where Microsoft is a champion of closed source cathedral-style development and Linux et al being the antithesis to that. Sure, there is FOSS software for Windows today, but it is not as common and generally more of a curiosity. How many people have the development tools to compile FOSS Win32 applications?

      It carries, perhaps, the possibility of splitting the community up somewhat (between the hardcore zealots and those who just like FOSS). The important thing for Microsoft will be, as ever, dominance of the Windows platform, no matter what software users are running on it.

      iqu :)

    2. Re:The only reason I tried Linux was for c/c++ by Billly+Gates · · Score: 0, Troll

      I am also gay. Check this out. http://www.livejournal.com/community/gaygeeks/ ... but I am too poor as a student for any mac.

      However I would be anyone's bitch if they bought me a powerbook. ;-)

      Seriously FOSS is alive and kicking in win32. You have activePerl, activePython, activeTLC/TK. Hell perl.net is almost done.

      Not to mention apache, php, etc. Infact the win32 version of php requires visual studio in source form to compile, and integrates quite well with IIS.

      Not to mention their is mingw which is the port of gcc and g++. And bloodshed.net which is the corrosponding gui that is only available for Windows. gVIM and Emacs are also ported.

      Windows makes a great easy to use development platform and it is splitting already. Like I mentioned bloodshed and perl.net.

    3. Re:The only reason I tried Linux was for c/c++ by Billly+Gates · · Score: 1

      blooshed.net is an ide... not gui..

      Now I feel like a retard.

  107. Re:Yes, but...Linux distro from Intel compiler? by Anonymous Coward · · Score: 1, Interesting

    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.

  108. Re:Nice move (Gratis ms compiler, just say no.) by ISayWeOnlyToBePolite · · Score: 1

    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.

  109. So know we know how to answer... by leonbrooks · · Score: 1
    ...that age-old stupid question.

    CC was the most liberal of them all, it would compile and run your email.

    "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
  110. Re:.NET is the potential for platform independence by ajp · · Score: 2, Insightful

    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#?

  111. C# and VB.Net free also, SQL by JamesR2 · · Score: 2, Informative

    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.

  112. Eclipse, anyone? by icebattle · · Score: 1

    Anyone got some time to help build Eclipse bindings for this? Or is there something out there for it already?

  113. RTFA by leonbrooks · · Score: 1
    Are there any restrictions on how I use the Visual C++ Toolkit?

    In general, no. You may use the Toolkit to build C++-based applications, and you may redistribute those applications. Please read the End User License Agreement (EULA), included with the Toolkit, for complete details.


    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
  114. It's coming down here at modem speeds... by leonbrooks · · Score: 1

    ...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
  115. Re:STL would be proof by Anonymous Coward · · Score: 0
    How it helps them is: if you write a program under windows, using "their" libraries, it does not work elsewhere.

    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.

  116. It's a troll all right by Anonymous+Brave+Guy · · Score: 1

    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.
  117. Get real! by leonbrooks · · Score: 1

    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
  118. Re:STL would be proof by Anonymous+Brave+Guy · · Score: 1
    It didn't just suck "5 versions ago". It continued to suck even in version 6 which many commercial products still use.

    So it only sucked around 7-8 years ago, then?

    I have not tried the 7.0/7.1 versions to see how well it fares now.

    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.
  119. Re:no! by mst76 · · Score: 2, Interesting
    Ok, reading this
    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.
    and this
    4. RESERVATION OF RIGHTS AND OWNERSHIP. Microsoft reserves all rights not expressly granted to you in this EULA.
    the question remains: can I use this to develop and distribute commercial software? Or GPL software?
  120. Ah, so this is going to work really well... by leonbrooks · · Score: 1

    ...with WINE. (-:

    --
    Got time? Spend some of it coding or testing
  121. question by Anonymous Coward · · Score: 0

    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?

  122. Object size is a straw man by Anonymous+Brave+Guy · · Score: 1
    If I compare object sizes instead of final executable sizes, G++ in deed produces smaller code than vc++ compiler. Excellent.

    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.
    1. Re:Object size is a straw man by Yokaze · · Score: 1

      Unless using WPO, object files contain almost only the code and data corresponding to the source file it is compiled from. For that reason, WPO is deactivated by default.

      So, when comparing object files you compare the result of the compiler and not the whole tool-chain.

      --
      "Between strong and weak, between rich and poor [...], it is freedom which oppresses and the law which sets free"
    2. Re:Object size is a straw man by Anonymous+Brave+Guy · · Score: 1
      So, when comparing object files you compare the result of the compiler and not the whole tool-chain.

      Sorry, but I think you're missing my point. In the new version of VC++, a significant amount of what we would normally call "compilation" isn't done in the compiler, it's done in the linker, because of the extra optimisation logic I mentioned. Comparing object files isn't a fair test in this case: it's apples and oranges.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    3. Re:Object size is a straw man by Yokaze · · Score: 1

      I was taking WPO into account. "Whole Program Optimisation", WPO as abbreviated by the Intel Compiler, which IRC introduced that feature in version 7.0.
      When this feature is activated the object files are in reality just the parsed representation of the files. As you said, the real compilation step is delayed until the linkling step.

      But this is disabled by default. So, unless the poster activated it explicitely (and hopefully knew what he/she did) the comparison is relatively fair. Especially, when using dumpbin, as the program would fail on obj-files produced with WPO enabled anyway.

      --
      "Between strong and weak, between rich and poor [...], it is freedom which oppresses and the law which sets free"
    4. Re:Object size is a straw man by Anonymous+Brave+Guy · · Score: 1
      I was taking WPO into account. [...] But this is disabled by default.

      OK, thanks, I think I understand your argument now. For some reason, I thought WPO was on by default in VC++.Net 2003, but having just tried it, you're right: it appears to be disabled in favour of the extra run-time checks, since you can't have both at once. In that case, comparing object files makes a lot more sense.

      That said, I'm still not sure why it's more useful than comparing the executables at the end of the process. Even if WPO isn't enabled, unless you know more about the internals of the VC++ tool chain than I do, I don't see how we can be sure it's a fair test. Unless I've missed something (which is quite possible, of course) there's not even any guarantee that the object files produced by VC++ and GCC will have similar formats.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    5. Re:Object size is a straw man by parryFromIndia · · Score: 1

      Libraries - Static linking and dynamic linking are some things the effect of which you can nullify by comparing object files. GCC for example statically links stdc++ and MSVC does not. So comparing end executable from both for size is not really right.

    6. Re:Object size is a straw man by Anonymous+Brave+Guy · · Score: 1

      Fair point, but you can just tell VC++ to link the library statically for comparison purposes.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  123. It's limited by .Net by Anonymous+Brave+Guy · · Score: 1

    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.
  124. Thanks, but I don't need it -- I have Linux by Anonymous Coward · · Score: 4, Insightful

    > 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.

    1. Re:Thanks, but I don't need it -- I have Linux by Anonymous Coward · · Score: 0

      I don't even bother to port the finished product to Windows.

      I hope some of the little whiny asses who get their knickers in a twist when the game they've been drooling over for months ships without a Linux version will see your comment and say "Yeah right on man! Don't bother to port it to Windows! That'll teach them Windows loving bastards!" and then reume whining about the lack of Linux ports of their beloved game.

    2. Re:Thanks, but I don't need it -- I have Linux by Anonymous Coward · · Score: 0

      > "Yeah right on man! Don't bother to port it to Windows! That'll teach them Windows loving bastards!"

      I'm not trying to teach anybody a lesson.

      I'm simply no longer interested in Windows.

      With Linux, I have a platform that is stable over the long term. All the APIs and standards are published, and moving to a newer version of Linux usually just means a recompile. Moving to other Unix platforms (Solaris, HP-UX, AIX, BSD, OS/X) is also relatively easy. And, because Linux is Open Source, it makes it easier to determine whether any bugs are in my software, or in the underlying platform. I can even fix bugs in the platform!

      All of this serves to reduce my maintenance costs, and allows me to focus more on enhancing my product.

      But when I develop for Windows, it's like stepping onto a treadmill -- I have to run like mad just to stay in one place. The underlying APIs and protocols keep shifting, and when my Windows XP server software won't talk to my Windows 98 clients, I can't tell if it's my software, or the platform. And if it's the platform, good luck, because you'll need irrefutable proof to even get them to admit it, let alone fix it, whenever that will be.

      So that's my choice. With Linux, my market is smaller, by the maintenance and support costs are lower, so my profit margins are higher. Wiith Windows, on the other hand, the market is larger, but the platform presents a constant hassle, with higher maintenance costs, and lower profit margins.

      So I choose the platform with fewer hassles, and higher profit margins, which is Linux.

      The Windows market may be larger, but it's not worth the extra effort. You can keep it.

    3. Re:Thanks, but I don't need it -- I have Linux by rjdohnert · · Score: 1

      " I suspect that Microsoft is trying to attract back the many developers who have switched to Linux.

      Developers like me. "

      Actually I am a developer that switched to Windows from Linux.

      " I didn't switch to Linux in order to get a free-as-in-beer platform."

      Bullshit you switched because of all the hype and bull that accompanies the regular Linux religous preachers.

      " I switched to Linux to get a free-as-in-freedom platform."

      You wanna know why I switchd to Windows? It was to get away from the whiney, immature and the " Open Source it or you are a peice of crap" mentality. I should choose what License I decide to use and not be flamed for using what I wish.

      " I got tired of Microsoft sabotaging my fvorite applications (e.g. AmiPro)."

      Funny, all my favorite apps from Linux are available for Windows and they work flawlessly, can you say full of crap? Yes we know you are.

      " 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)."

      Again I havent experienced this. All my Windows apps work on all versions of Windows and not just the newer ones, hmmmmmmmmmmm

      " So I left Windows, and started developing for Linux. I don't even bother to port the finished product to Windows."

      When you show me some code then and only then will I be a little impressed, until then since you posted anonymously I put you at 14? 15? maybe 16

      " 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. "

      Cut that number in half junior and that is how many Linux users and servers that are deployed.

    4. Re:Thanks, but I don't need it -- I have Linux by Anonymous Coward · · Score: 0

      > Actually I am a developer that switched to Windows from Linux.

      It was recently estimated that there are over 1 million Open Source developers in North America alone.

      It's only logical that some of them are going to decide to switch to Windows.

      And you're one of them. Good for you.

      > Bullshit you switched because of all the hype and bull that accompanies the regular Linux religous preachers.

      You're calling me a liar. That's mature.

      > You wanna know why I switchd to Windows? It was to get away from the whiney, immature and the "Open Source it or you are a peice of crap" mentality.

      So let me see if I have this straight...

      I switched to Linux for rational business reasons. The platform APIs are relatively stable, so I don't have to keep changing my applications to match changes in the platform. All the interfaces are open and documented, plus I have the source code, so my development and debugging is faster and more accurate. And I know the owner of the platform is not going to try to undercut my product, and steal my business. All of thse things contribute to my bottom line.

      You, on the other hand, switched to Windows because some people -- people who aren't even your customers -- are whining. You're not even doing it on principle, in fact you're bothered that _they_ have principles. That seems like a pretty poor way to run a business to me.

      > Funny, all my favorite apps from Linux are available for Windows and they work flawlessly, can you say full of crap? Yes we know you are. . . . All my Windows apps work on all versions of Windows and not just the newer ones, hmmmmmmmmmmm

      Wow, I am amazed. Can you possibly be that ignorant of Microsoft's history?

      Here was Microsoft's plan for Java:

      "Strategic Objective [is to] kill cross-platform Java by grow[ing] the polluted Java market."

      Here is what Bill Gates said about Intel's multimedia support for Java:

      "If Intel has a real problem with us supporting [AMD's 3DX technology] then they will have to stop supporting Java Multimedia the way they are. I would gladly give up supporting this if they would back off from their work on JAVA..."

      Here is Microsoft's strategy to stop Open Source:

      OSS projects have been able to gain a foothold in many server applications because of the wide utility of highly commoditized, simple protocols. By extending these protocols and developing new protocols, we can deny OSS projects entry into the market.

      I could go on, but you get the point. Microsoft's entire history revolves around sabotaging competitors' products. Some Microsoft officials should probably be in jail. But, hey, if you're happy working with them, then that's your choice.

      > When you show me some code then and only then will I be a little impressed, until then since you posted anonymously I put you at 14? 15? maybe 16

      Not worthy of a response.

  125. The install fails... by leonbrooks · · Score: 1

    ...if it can't "bless" you with .NET on the way in.

    --
    Got time? Spend some of it coding or testing
  126. Aha! So _that's_ where... by leonbrooks · · Score: 4, Funny

    ...Ken Thompson's version of the C compiler went! (-:

    --
    Got time? Spend some of it coding or testing
    1. Re:Aha! So _that's_ where... by TheDarkRogue · · Score: 1
      --
      (Score:0, Interesting)
  127. Re:They're just defending their turf. by mingot · · Score: 1

    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

  128. Wrong. by leonbrooks · · Score: 1

    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
  129. Re:no! by rborek · · Score: 3, Interesting
    Yes, you can use it to develop and distribute commercial software. Section 1.1 of the EULA is for the Toolkit ONLY. It's a standard clause - you'll see something similar in the Master EULA for MSDN Professional/Enterprise/Universal (the only other EULA I can easily find online), and these people pay big dollars for the package.

    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.

  130. Intel has a smilar deal by Animats · · Score: 4, Informative

    Intel's C++ compiler is also free for non-commercial use. It even runs under Linux.

    1. Re:Intel has a smilar deal by Johnno74 · · Score: 3, Informative

      Yes, but MS are now allowing you to download this compiler for free, and use it for COMMERCIAL use as well.

      Quite a big difference, IMO.

    2. Re:Intel has a smilar deal by the_greywolf · · Score: 4, Informative

      last i checked, Intel's non-commercial license is explicitly linux-only. the only download for the Windows compilers are 30-day evaluations only.

      that is, after 30 days, every executable in the Intel directory becomes useless after 30 days.

      --
      grey wolf
      LET FORTRAN DIE!
  131. Not the whole thing by Anonymous+Brave+Guy · · Score: 1

    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.
  132. Does that mean: NO GPL-style Licenses??? by koi88 · · Score: 4, Interesting
    From the EULA I found here:
    ***

    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.
    1. Re:Does that mean: NO GPL-style Licenses??? by IO+ERROR · · Score: 4, Insightful
      I ran into this with VS.net 7.1. Upon discussion with the legal types, we determined this:

      In order to release our application under the GPL, we would have to write a "special exception" permitting linking with Microsoft runtime libraries, same as we currently do with linking against OpenSSL and some other BSD-licensed stuff.

      Not too difficult, but it does tend to become annoying to write all those special execptions. I proposed a minor change to the GPL's wording to address this type of situation, but who knows if it'll make it into GPL 3.

      Though there would be no problem compiling existing apps with this toolkit, as long as you didn't distribute the resulting binaries.

      This post is not legal advice. Check with your attorney first before doing anything. The issues raised here are quite complex legal issues and you are going to need a damn good lawyer, especially since you're dealing with Microsoft here.

      --
      How am I supposed to fit a pithy, relevant quote into 120 characters?
    2. Re:Does that mean: NO GPL-style Licenses??? by Chuck_McDevitt · · Score: 2, Interesting

      Wrong. This just covers the redistributables (not the compiler or things you compile with it). The idea is you can't make derivitives of those redistributables that would cause Microsoft's code to be GPL'd.

    3. Re:Does that mean: NO GPL-style Licenses??? by Anthony+Bailey · · Score: 2, Informative

      Assuming that "Redistributables" is defined to be the downloadable software development kit (as it is in licenses for similar MicroSoft SDKs) then I think you should not be worried.

      My reading would be that the GPL is indeed "Excluded" according to the clause above. (Again, the term/clause is not new in MS SDK licenses.) But this just means you can't e.g. redistribute the SDK itself under the GPL.

      The object files produced by a compiler are not considered to be derivative works of the compiler. So, you can distribute binaries compiled with this SDK under any license you desire. The analogy is that you can safely use Word to edit a document without Microsoft having a copyright claim on the resulting document.

    4. Re:Does that mean: NO GPL-style Licenses??? by Anonymous Coward · · Score: 0

      please mod the parent down. that part of the license refers to redistributables which typically mean things like microsoft's c runtime implmentation, sdk libraries like msxml.. etc...

      everyone loves to bash microsoft, but try to be fair about it. don't let someones bad assumption turn into fact.

    5. Re:Does that mean: NO GPL-style Licenses??? by RupW · · Score: 1
      In order to release our application under the GPL, we would have to write a "special exception" permitting linking with Microsoft runtime libraries,

      Doesn't the GPL already include an exception for this?
      However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
      (towards the end of section 3)

      Now granted the set of runtimes has evolved over time and so not all versions shipped with all OSes but they've always been readily availabile as OS updates from Microsoft and they are all bundled with the latest OSes. So I'm not sure what the problem is.
    6. Re:Does that mean: NO GPL-style Licenses??? by IO+ERROR · · Score: 1
      Doesn't the GPL already include an exception for this?
      However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.

      Yes, it does. But the important part is this phrase:

      unless that component itself accompanies the executable.

      In the new version of the compiler, they've changed the C runtime library; they even changed its NAME. It's now MSVCR71.DLL, and it's NOT included with any version of Windows, not even XP SP2 (I checked a fresh installation for it last night, and it was absent).

      So when you go to build your SETUP.EXE of your GPL'd application, you're going to have to distribute MSVCR71.DLL along with it. Unless you write the special exception, then you also have to distribute the source code, which you can't do under the Microsoft EULA. But if you write the special exception, then everything's OK with both licenses.

      --
      How am I supposed to fit a pithy, relevant quote into 120 characters?
    7. Re:Does that mean: NO GPL-style Licenses??? by IO+ERROR · · Score: 1
      So when you go to build your SETUP.EXE of your GPL'd application, you're going to have to distribute MSVCR71.DLL along with it. Unless you write the special exception, then you also have to distribute the source code, which you can't do under the Microsoft EULA. But if you write the special exception, then everything's OK with both licenses.

      Oh, and I forgot another important point: In the free compiler, the C runtime and STL are only available as statically linked libraies. So you know what that means...you HAVE to distribute it because it's part of your .EXE!

      --
      How am I supposed to fit a pithy, relevant quote into 120 characters?
    8. Re:Does that mean: NO GPL-style Licenses??? by RupW · · Score: 1

      From another discussion I've found my way into, it looks like the FSF are happy to consider SFU 3/Interix part of the operating system for GPL purposes (see also this) even though it's supplied separately and, at one time, had an additional cost.

      I'd talk to them - msvcr71 is obviously a runtime library and I'm sure they'd take the same view on that too. Good luck!

    9. Re:Does that mean: NO GPL-style Licenses??? by IO+ERROR · · Score: 1

      Unless rms is actually willing to come testify in court as to what some phrase in the GPL "means" then I'm going to have to stick with what's actually written, at least until GPL3 is out, and hopefully it will address this issue. I am NOT willing to have Microsoft come sue me because I violated their EULA.

      --
      How am I supposed to fit a pithy, relevant quote into 120 characters?
  133. Sounds like a dig at GPL really deep by Gopal.V · · Score: 3, Interesting
    Read excerpt:

    (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

    1. Re:Sounds like a dig at GPL really deep by Anonymous Coward · · Score: 0, Informative

      You guys are paranoid illiterates. It says you can't give out their code to their redistributables because you don't have the right to do that. I.e. the source code to sprintf if you linked in libcmt.lib or something of that nature.

      Redistributables = Microsoft's binaries normally allowed to be given to end-users by YOU directly as part of your application. (C++ runtime DLL's, C runtime DLLs, MFC DLL's etc)

      Did you read section 2.2 where it legally defined redistributable?

  134. It's worth keeping in mind Cringley's column... by intnsred · · Score: 1

    It's worth keeping in mind Cringley's column this week. It's entitled, "The Only Way to Beat Microsoft is by Ignoring Microsoft."

  135. Your .sig by Anonymous Coward · · Score: 0
    You're not understanding modern conservatism. Modern conservatism says that it's ok to kill, just not kill feti. In some ways, a conservative would be absolutely delighted to find, through some form of testing, that a fetus is going to grow up gay because that guarantees they'll have a lynching target with which to please "God".

    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.

  136. Re:They're just defending their turf. by IMSoP · · Score: 1

    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!

  137. Cost distorts the comparison by tepples · · Score: 1

    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.

  138. desperate acts by Doc+Ruby · · Score: 0, Troll

    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

    1. Re:desperate acts by Anonymous Coward · · Score: 0

      A swarm of "mutating global OSS programmers" (wtf?) writing software for Windows is not necessarily an advance.

      The production of quality Free programs for Windows discourages people from switching to Linux.

      On the other hand, when those people eventually do switch, it is easier because they keep using all the same apps.

      If you are a SourceForge developer, you will have noticed in their last monthly newsletter that sourceforge has passed download.com and cnet in bandwidth usage. (This partly because they make you download a 50k flashy graphical page to pick a mirror from which to get a 20k file, but anyway . . .) If you look at SF, you notice a huge number of windows oriented projects.

      Note that recently MS released on SourceForge some of their tools for making wizard style installers. Perhaps they are perfectly ok with the Free Software movement competing with non-Microsoft sofrtware companies, and making Windows a more valuable platform, but just don't want us to compete with Windows itself ?

    2. Re:desperate acts by Doc+Ruby · · Score: 1

      As a strategy to "beat M$", M$ is clearly betting that it's offering a devil's bargain, designed to siphon developers from Linux to Windows. All that is certain is that M$ is desperate enough to try that, risking the armament of a legion of developers working against M$ interests.

      But it looks like M$ threw the wrong dice. The goal is easier work for developers, and better software for users - some of whom are developers, so the cycle is self-reinforcing. Cracks in the M$ vertical/horizontal monopoly are an advance. When developers get an M$ compiler, we can more easily port work to Windows, which competes with M$. That means more diversity for users (including developers), and incentive to M$ to improve their own SW. But M$' strategy for over a decade has been to plug any hole in their competitive dykes. Much of their empire is married to that strategy; changing strategy weakens them. So beyond the implication that M$ is desperate for developer growth, there is implication that a tide has turned, and that M$ will merely cut their losses in their anticompetition battles. As developers in general are in direct conflict with M$ interests of secrecy, monopoly, lock-in, etc, those losses are developer gains. And therefore advances towards the goal of better software, at M$ expense.

      --

      --
      make install -not war

  139. To all speling Natsi's by Anonymous Coward · · Score: 0

    Don't be rediculous. Karl Marx was the founder of communism. The GPL was writen by Carl Marks.

  140. What about headers and libraries? by xant · · Score: 1

    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.
    1. Re:What about headers and libraries? by Anonymous Coward · · Score: 1, Interesting

      Yes, included.

  141. Linking by tepples · · Score: 1

    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.

    1. Re:Linking by Anonymous Coward · · Score: 0

      Microsoft does own the copyrights to their libraries, but unlike GNU, they don't claim they own your program as a 'derived work'.

      > Remember that if linking does not fall under copyright, the GNU GPL copyleft falls apart.

      Hey, tough shit for GNU then. Remember that if linking==dervation, the commercial software world collapses, a fact any judge will have in mind.

  142. Re:.NET is the potential for platform independence by Anonymous Coward · · Score: 0
    True portability is one source code - many OSes and architectures.

    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.

  143. Re:Yes please! Don't increase the cost for the res by Zork+the+Almighty · · Score: 3, Insightful

    I suppose landfills full of cds are "free" as well.

    --

    In Soviet America the banks rob you!
  144. The Trojan Horse by daemonc · · Score: 2, Interesting

    "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.
    1. Re:The Trojan Horse by Anonymous Coward · · Score: 2, Interesting

      Redistributables seem to include what is listed in REDIST.TXT and not what you compile. Can someone please list REDIST.TXT?

    2. Re:The Trojan Horse by Anonymous Coward · · Score: 0

      Here's redist.txt:

      There are no redistributable files (i.e., dll's/cab's, etc.) included with the Visual C++ Toolkit 2003. Object library files included with the Visual C++ Toolkit 2003 (e.g. the C Runtime Library static libraries designated with the suffix ".lib") will be automatically linked to your program when they are compiled by the Visual C++ compiler and linker. Inclusion of these static libraries as compiled into your program is acceptable; you may not, however, redistribute the static libraries standalone - on their own.

    3. Re:The Trojan Horse by maxwell+demon · · Score: 1

      So the complete section of the license deals with stuff not actually present in the product? Nice :-)

      --
      The Tao of math: The numbers you can count are not the real numbers.
  145. Are your eyes closed? by Anonymous Coward · · Score: 0

    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.

  146. Who cares by Anonymous Coward · · Score: 0

    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...

  147. License compatibility? by tepples · · Score: 1

    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:

    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: [...] (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

    Is redistribution of the runtime libraries for C and C++ under these terms compatible with the GNU General Public License?

    6. NO RENTAL/COMMERCIAL HOSTING. You may not rent, lease, lend, or provide commercial hosting services with the Software.

    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?

    1. Re:License compatibility? by arkanes · · Score: 1
      No, the MSVC runtimes redistributable terms wouldn't be GPL-compatable.

      The rental/hosting clause is for the software, not software you make with the software - you can't provide public compile farm services with it, for example.

  148. Microsoft Virus 79 by tepples · · Score: 1

    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.

  149. Get your free Microsoft Debugger right here by kylef · · Score: 4, Informative
    Anyone know where to get a free visual debugger for Win32?

    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.)

    1. Re:Get your free Microsoft Debugger right here by m_pll · · Score: 1
      Of course, you need a second machine to use KD and a serial cable...

      On XP and later you can do "local kernel debugging" (kd -kl). You can't control the target this way (set breakpoints etc) but most commands that work on dumps work in this mode as well.

      This can be quite handy when you need to dive into kernel mode while troubleshooting something on a machne that wasn't setup for kernel debugging.

    2. Re:Get your free Microsoft Debugger right here by Anonymous Coward · · Score: 0

      Linux is open source. Windows is not therefore you need a debugger for Windows because you have to guess what the problem is.

    3. Re:Get your free Microsoft Debugger right here by Anonymous Coward · · Score: 0

      Note that NTSD is installed by Windows XP (I also believe it's true for Windows 2000 and maybe Windows NT). Look for it under %SYSTEM%\System32\ntsd.exe (eg. c:\windows\system32\ntsd.exe)

      Some posts at http://blogs.msdn.com write about Microsoft using ntsd to inspect crashes when testing builds etc, since ntsd can be contacted remotely.

      However "Microsoft Debugging Tools for Windows"(mentioned above) contains an updated version then the one shipping with Windows.

    4. Re:Get your free Microsoft Debugger right here by kylef · · Score: 1
      Linux is open source. Windows is not therefore you need a debugger for Windows because you have to guess what the problem is.

      LOL! Have you ever written a device driver? Ever tried to figure out kernel-mode hangs, crashes, and odd behavior (even with your OWN source code) without a kernel-mode debugger?

      I swear, I think some people here think Open Source software writes itself and magically fixes its own bugs...

  150. Look at a Mac, sometime by Anonymous Coward · · Score: 0

    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.

  151. Code theft? by moosesocks · · Score: 4, Funny

    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
    1. Re:Code theft? by cant_get_a_good_nick · · Score: 1

      You mean the Vigor Project?

  152. MOD PARENT UP by Anonymous Coward · · Score: 0

    Amen!

  153. Wait a minute... by ModernGeek · · Score: 0, Insightful

    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.
    1. Re:Wait a minute... by j-pimp · · Score: 1

      We all know Microsoft wouldn't give dog shit for free, much less a compiler. What about Internet Explorer? Originally it was a seperate download that you added on to Windows 95 and NT. Of course they just did that to kill Netscape and become the One True(tm) web development platform.
      So why give away the compiler? Well of course, as many here have pointed out, to be the One True(tm) development platform.

      --
      --- Justin Dearing http://www.justaprogrammer.net/ We're just programmers.
    2. Re:Wait a minute... by Anonymous Coward · · Score: 0

      > We all know Microsoft wouldn't give dog shit for free, much less a compiler.

      What about Internet Explorer?


      Good point, Microsoft will give dog shit for free. It's still a bit surprising that they're giving away a compiler too.

    3. Re:Wait a minute... by Ilgaz · · Score: 2, Funny

      I am not sure: http://sourceforge.net/projects/wix

      Thats free from MS and... opensource and... hosted at Sourceforge!

      Armageddon is coming, run! :)

  154. Not an IDE by jsoderba · · Score: 2, Informative

    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.

    1. Re:Not an IDE by Billly+Gates · · Score: 1

      So build manager is like a modern version of nmake?

      Thank god they finally got rid of that nasty thing.

      I think MS wants more FOSS programs on Windows. Many have ports already but with things like php, I need VC and cygwin wont cut it because it uses MS specific tie ins.

  155. C99? by tepples · · Score: 1

    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.

  156. Edit with VC6, use Scons to build.. by Anonymous Coward · · Score: 0

    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.

    1. Re:Edit with VC6, use Scons to build.. by baxissimo · · Score: 4, Informative
      There could be switches whose meanings have changed slightly, but I just ran the two versions of "cl.exe /?" and compared the output of the two. Here's the list of differences:

      OPTIONS THAT WERE IN VC6 BUT AREN'T IN VC7 cl.exe:
      /GD optimize for Windows DLL
      /noBool disable "bool" keyword
      NEW VC7 cl.exe OPTIONS:
      /AI<dir> add to assembly search path
      /FU<file> forced using assembly/module
      /Fx merge injected code to file
      /G7 optimize for Pentium 4 or Athlon
      /GH enable _pexit function call
      /GL[-] enable link-time code generation
      /GS enable security checks
      /GT generate fiber-safe TLS accesses
      /QIfist[-] use FIST instead of ftol()
      /RTC1 Enable fast checks (/RTCsu)
      /RTCc Convert to smaller type checks
      /RTCs Stack Frame runtime checking
      /RTCu Uninitialized local usage checks
      /WL enable one line diagnostics
      /Wall enable all warnings
      /Wp64 enable 64 bit porting warnings
      /Y- disable all PCH options
      /Yl[sym] inject .PCH ref for debug lib
      /Zc:arg1[,arg2] C++ language conformance, where arguments can be: forScope - enforce Standard C++ for scoping rules wchar_t - wchar_t is the native type, not a typedef
      /arch:<SSE|SSE2> minimum CPU architecture requirements, one of: SSE - enable use of instructions available with SSE enabled CPUs SSE2 - enable use of instructions available with SSE2 enabled CPUs
      /clr[:noAssembly] compile for the common language runtime noAssembly - do not produce an assembly
      /showIncludes show include file names
      /w<l><n> set warning level 1-4 for n
      /wd<n> disable warning n
      /we<n> treat warning n as an error
      /wo<n> issue warning n once
      @<file> options response file
      So as you see most of the differences are new switches for the VC.7 version of cl.exe. Those shouldn't cause any trouble, as VC6 just won't use them by default. The two options removed I don't think are very interesting to most poeple. Besides, the VC.7 cl.exe is happy to ignore them:
      C:\Program Files\MSVC++2003>cl /nobool
      Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3052 for 80x86
      Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.

      cl : Command line warning D4002 : ignoring unknown option '/nobool'
      cl : Command line error D2003 : missing source filename
      So as another poster has said, it looks like it should just work if you put the new directories first in the MSVC6 bin/lib/include paths.

      Cool! All the updates I care about for VC 6 without having to switch to a new IDE!
  157. What about building GUIs ? by RGRistroph · · Score: 2, Interesting

    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 ?

    1. Re:What about building GUIs ? by Dr.+Sp0ng · · Score: 1

      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 ?

      You can develop GUIs without using the GUI layout tool. It can all be done in code if you'd like.

    2. Re:What about building GUIs ? by RGRistroph · · Score: 1

      Yes, that is how I have usually done it.

      Also, modifying one of the existing GUI builders (xforms, etc) to produce code for MS would not be that hard.

      Still, I'm interested to know if there is one already available . . . searching on the usual places (freshmeat, sourceforge, google) it seems that most often GUI builders are associated with a specific alternative widget set, not the generic windows one.

    3. Re:What about building GUIs ? by multipartmixed · · Score: 1

      Actually, the GUI wizards just generate code for you anyhow -- so at least you can freely build programs built with the GUIs with just the command-line compiler.

      At least, that's how I understand it works. I let Other People handle the Windows GUI programming. I like to keep my hands clean.

      --

      Do daemons dream of electric sleep()?
    4. Re:What about building GUIs ? by John+Starks · · Score: 1

      The GUI wizards generate skeleton code. Everything else resides in a resource file. This is highly preferred to creating dialogs in code since it makes coding much more flexible -- you only have to relink to make changes to dialogs, strings, etc., and you can easily include different languages. Of course, you can create resource files without the GUI wizard too; they can be compiled from text files IIRC from my Windows coding days.

  158. Re:They're just defending their turf. by Slayk · · Score: 1

    *cough*college students*cough*

  159. Coexistence with Visual C++ .net 2003 standard ed? by Anonymous Coward · · Score: 0

    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.

  160. For the record by tepples · · Score: 1

    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."

  161. mod parent insightful by enosys · · Score: 1

    I wish I could use my mod points here. If you want cross-platform compatibility you do not want to use the Microsoft compiler!!

  162. Re:STL would be proof by tepples · · Score: 1

    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.

  163. Use -Os by tepples · · Score: 1

    To make GCC do everything in its power to minimise generated code size at the expense of speed, use -Os.

  164. Re:Compatability does not seem so much of a proble by Cuthalion · · Score: 3, Insightful

    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!
  165. Dial-up by tepples · · Score: 1

    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.

  166. Wow, dude, you made his joke by Anonymous Coward · · Score: 0

    even less funny. And managed to get modded up! Congrats!

    1. Re:Wow, dude, you made his joke by andalay · · Score: 1

      I dont respond to trolls.

      Oh wait. I just did.

  167. How about the debugger by bonch · · Score: 1

    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.

  168. Re:platform SDK --- Yep by Anonymous Coward · · Score: 0

    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.

  169. Sorry, but... by bonch · · Score: 2, Insightful

    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?

    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 .NET Framework SDK is free.

    1. Re:Sorry, but... by blugu64 · · Score: 1

      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.

      Man you should come over to my place...setup.exe BSOD'd on me, and after it's installed it craters (BSOD) every two weeks on the dot. Not just a normal restart fixes it though, normally it takes the partition down with it....no fun at all...Linux runs fine on the same hardware.

      --
      "Personal ownership is a hallmark of conservative capitalism. And I don't believe I am entitled to anything that I did n
    2. Re:Sorry, but... by Master+of+Transhuman · · Score: 1


      The other day Opera dropped Windows 2000 TO THE FLOOR - hard crash. (Actually it probably wasn't Opera but some stupid Java or something from a site.) Opera itself seems to crash more often on 2000 than 98, amazingly.

      I've only been using 2000 for the last couple of months. So far it IS far more stable than Windows 98 - on that, you are correct.

      But it's not invulnerable.

      --
      Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
    3. Re:Sorry, but... by kennyj449 · · Score: 1

      I've had Win2k crash on an almost daily basis.

      It's vastly improved, but it still has serious security ussues and the HAL is simply *horrid.* I can't even count the number of issues I've had with it... The hotpluggable driver handling is simply inexcusable.

    4. Re:Sorry, but... by Anonymous Coward · · Score: 0

      ...then I see that a lot of people here still haven't gotten off the 9x line like most everyone else has

      I may be mistaken, but I think the opposite is true. Most windows users have in fact not moved off the 9x line. My understanding is that Microsoft is desperately trying to figure out how to convince customers to upgrade. Remember what happened when they tried to end-of-life 98 support?

    5. Re:Sorry, but... by Chris+Hodges · · Score: 1
      If you're still using something less than Windows 2000, you should spend the $100 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? 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.

      The only times have a BSOD on my 98 machine (built just over a year ago) is when the northbridge gets too hot (I took the noisy fan off and haven't got round to fitting a decent one). That's about 4 times in a year.

      If I put 2000 on it I would still want 98 for games, so I would end up with 98/2000/Linux on there - guess which one I wouldn't use.

  170. MASM didn't produce the correct binary sometimes. by Futurepower(R) · · Score: 1

    He's right. MASM didn't produce the correct binary sometimes. Amazing. Amazingly abusive. Borland had no problem producing an assembler that worked well.

  171. Except by Anonymous Coward · · Score: 0

    Except that he wants a compiler that doesn't produce crap code.

  172. Question by bonch · · Score: 1

    Does anyone know what Microsoft uses to develop Internet Explorer and Office for OS X?

  173. That was stupid by Anonymous Coward · · Score: 0

    No surprise it frantically got modded up +5 Funny.

  174. Gates' Law; dial-up by tepples · · Score: 0, Offtopic

    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.

    1. Re:Gates' Law; dial-up by Foolhardy · · Score: 1
      How much does it cost to bring an older machine's RAM up to spec for Windows XP?
      The parent was talking about 2000, not XP; it's usable with 64M of memory, once you stop unneeded service. 64M is more than enough for the command-line compiler.
      Remember Gates' Law: Microsoft operating system and office productivity software becomes half as efficient every 18 months or so.
      Yeah, the exponentially increasing size of Windows is bad, but it's memory footprint isn't too bad once you turn off the extra stuff. Other modern operating systems aren't much better, though. Open Office.org 1.1.0 uses about the same amount of memory as Office2000 on my machine.
      The CD costs money for users that don't have high-speed Internet access.
      Then it doesn't cost any more than Linux (popular distros are 3+ CDs), or any other large Free/Open software product.
    2. Re:Gates' Law; dial-up by tepples · · Score: 1

      The parent was talking about 2000, not XP

      I didn't know Microsoft was still selling copies of Windows 2000 Professional. I thought it had ceased those sales when Windows XP came out.

      it's usable with 64M of memory, once you stop unneeded service.

      And then watch the .NET framework complain when it can't find services that you previously thought were "unneeded."

      Then it doesn't cost any more than Linux (popular distros are 3+ CDs)

      Sure, the .NET SDK CD doesn't, but the Windows license does, which was my primary point.

    3. Re:Gates' Law; dial-up by Foolhardy · · Score: 1
      I didn't know Microsoft was still selling copies of Windows 2000 Professional. I thought it had ceased those sales when Windows XP came out.
      Here.
      And then watch the .NET framework complain when it can't find services that you previously thought were "unneeded."
      Like what? My WS2k3 server runs fine with 46MB of services and it uses .NET extensively; a 2000 workstation should be half of that. Even less if you aren't on a LAN. Besides, if you aren't using something, it gets paged out.
    4. Re:Gates' Law; dial-up by IceFreak2000 · · Score: 1
      The CD costs money for users that don't have high-speed Internet access.

      And how is that any different to using services like this for those people without broadband access who want to get hold of their favourite Linux distribution?

      --
      Life is like a sewer; what you get out of it depends on what you put into it...
    5. Re:Gates' Law; dial-up by FxChiP · · Score: 1
      Then it doesn't cost any more than Linux (popular distros are 3+ CDs), or any other large Free/Open software product
      Yeah, but there's a difference here: the CD Microsoft's selling contains only a component for development, while Linux distros are giving away entire OSes. If you're getting an entire operating system for the price of a Microsoft component, you're getting a lot of bang for your buck (that is, if you can run the thing, of course ;))
  175. Uh...what a ridiculous post by bonch · · Score: 3, Insightful

    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."

    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 .NET apps"--.NET has been a free download since the very beginning.

    Come on, guys, let's stay rational here.

    1. Re:Uh...what a ridiculous post by Anonymous Coward · · Score: 0

      Windows is 95% of the market out there.

      So that's what Windows 95 was referring to. I guess Windows 2000 is a multiplication error then...

  176. Re:They're just defending their turf. by mingot · · Score: 2, Insightful

    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.

  177. No, here's why by bonch · · Score: 1

    There's no "change of heart" because the SDK/compiler was always a free download.

    C'mon, people.

  178. Re:Yes please! Don't increase the cost for the res by Kalak · · Score: 2, Informative

    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 .hack)
  179. Re:I suppose Electric Fence and Valgrind don't cou by wbtotb · · Score: 2, Informative

    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.

  180. Re:Yes please! Don't increase the cost for the res by Anonymous Coward · · Score: 0

    Not everyone has broadband. Downloading the developer tools takes a long time on a dial-up connection.

  181. The hosting bottleneck on code size by tepples · · Score: 1

    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.

  182. Re:They're just defending their turf. by Too+Much+Noise · · Score: 1

    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.

  183. No time for that now. by Anonymous Coward · · Score: 0

    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.

    1. Re:No time for that now. by Master+of+Transhuman · · Score: 1

      > old Z80 64KB system from the mid-80's, came with
      > BASIC in ROM

      Mid-80's?

      You mean after the IBM PC was out?

      Why?

      I worked on TRS-80 Model II's in 1983 and they were obsolete then since the IBM PC was out. (My client couldn't afford to buy IBM PC's since he'd pissed away $50K on a minicomputer which was overkill for his purpose - and the TRS-80's were too small for his purpose.)

      --
      Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
    2. Re:No time for that now. by Ilgaz · · Score: 1

      Maybe he references Sinclair Spectrum models? I remember they run on Z80 yet come with 48 kb. Could be Amstrad too...

      Those was at home everywhere here around Europe these times. Of course, C64 was the nr1 (6502) but those were real elite machines imho.

    3. Re:No time for that now. by MegatronUK · · Score: 1

      Indeed, the Spectrum was alive until the early 90's and came with ever increasing amounts of ram (8kb, 32kb, 48kb, 128kb), despite the Z80 remaining constant.

  184. Re:Yes please! Don't increase the cost for the res by Anonymous Coward · · Score: 0

    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.

  185. I don't use Windows because it lacks a free compil by SuperFrink · · Score: 1

    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.)

    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 ... Oh I see where this is going.

    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.

  186. test take 2 :-) by Too+Much+Noise · · Score: 1
    oklame second reply. here's another test (mind you, this is cpu-specidic and all) to show a difference made by fast-math:
    #include <stdio.h>
    #include <math.h>
    #include <stdlib.h>
    int main(int argc, char **argv)
    {
    double x;
    if(argc >= 2) x = strtod(argv[1], NULL);
    else x = HUGE_VAL;
    printf("%s\n", (x == x)?"equal":"not equal");
    }
    Compiling with gcc -O3 -ffast-math asm produces (the relevant part is the comparison):
    main:
    .L4:
    movl $.LC1, %edi
    addq $8, %rsp
    jmp puts
    With gcc -O3 -fno-fast-math, the output is:
    .L4:
    ucomisd %xmm0, %xmm0
    movl $.LC1, %edi
    movl $.LC2, %edx
    cmovp %rdx, %rdi
    addq $8, %rsp
    jmp puts
  187. Um, huh? by devphil · · Score: 2, Informative
    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.

    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.

    There used to be a barrier to getting *nix stuff to Windows.

    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)
    1. Re:Um, huh? by Anonymous Coward · · Score: 0

      Installing Cygwin is hardly a chore. I click setup.exe, tell it what to get, and walk away.

      Cygwin is great for developers, but Joe User can't be expected to install it. And the cygwin1.dll itself causes problems unrelated to the GPL - if you want to distribute binaries, you gotta include cygwin1.dll, but if your users already have another cygwin1.dll from another Cygwin app, that can make Bad Things happen.

      MinGW is just unusable. The environment isn't powerful enough as a Unix-a-like *or* a Windows-a-like.

    2. Re:Um, huh? by the_greywolf · · Score: 1
      If you don't like the restrictions that come with the POSIX-layer DLL, then install MinGW instead.

      or just continue to use Cygwin but add the -mno-cygwin switch to every call to GCC. but you knew that.... right?

      --
      grey wolf
      LET FORTRAN DIE!
  188. EULA section 3 by the_greywolf · · Score: 4, Interesting

    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!
    1. Re:EULA section 3 by Anonymous Coward · · Score: 0

      Are you sure section 3 doesn't refer to the compiler itself, and have nothing to do with programs produced by the compiler ?

    2. Re:EULA section 3 by the_greywolf · · Score: 2, Interesting

      that's what i want to know. it reads as if it applies to anything linked to the redistributables.

      --
      grey wolf
      LET FORTRAN DIE!
    3. Re:EULA section 3 by RupW · · Score: 1

      As at the very top of section 3, these are your rights in terms of *redistributing "the Redistributables"* as defined in section 2.2, i.e. Microsoft binary runtime libraries. (You may wish to bundle the version of the runtimes you developed and tested against with your app in case the end user doesn't have them.) If you aren't redistributing MS runtimes libraries then you can probably ignore section 3.

      I (IANAL, etc.) read 3.1iii and 3.2 as 'permission to redistrubute our binaries does not confer permission to change the licence on our binaries' and they explicitly spell out the GPL because they're scared of it.

      Your assessment of 3.1ii sounds correct to me, i.e. 'you can't use our runtimes in ReactOS or Wine - you'll have to reimplement them yourselves'.

  189. The Full EULA per request (sans francais) by the_greywolf · · Score: 2, Informative

    END-USER LICENSE AGREEMENT FOR MICROSOFT SOFTWARE

    MICROSOFT VISUAL C++ TOOLKIT 2003

    IMPORTANT-READ CAREFULLY: This End-User License Agreement (&#147;EULA&#148;) is a legal agreement between you (either an individual or a single entity) and Microsoft Corporation (&#147;Microsoft&#148;) 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, &#147;online&#148; or electronic documentation, and Internet-based services (&#147;Software&#148;). 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 &#147;Samples&#148; in REDIST.TXT or elsewhere in the Software (&#147;Sample Code&#148;) 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 (&#147;Redistributable Code&#148;). 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 &#147;Redistributables&#148;) 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 (&#147;Licensee Software&#148;); (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 &#147;break-the-seal&#148;, &#147;click-wrap&#148; or signed), with terms no less protective than those contained in this EULA; (iv) not to use Microsoft&#146;s name, logo, or trademarks to market the Licensee S

    --
    grey wolf
    LET FORTRAN DIE!
  190. Thrashing; which services? by tepples · · Score: 1

    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?

    1. Re:Thrashing; which services? by Foolhardy · · Score: 1
      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.
      That wouldn't happen if you never use something that gets paged out, because there is no reason to page it back in.
      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?
      Each service has a clear list of the other services it depends on. Check the 'Dependencies' tab. Well written apps will start services they need that are set to 'manual' startup; not all 3rd party apps do this but most MS ones do, and besides: it's rare for an app to depend on anything besides the print spooler and the workstation service (for client SMB), plus the DNS client for web browsers.
      You don't have to restart to stop or start a service.
      Each service also has a description, and the help file lists common ones. As a minimum, I suggest:
      Event log
      Plug and play
      Remote procedure call
      Security accounts manager
      Shell hardware detection (shows new hardware messages to the user)
      Task scheduler

      If you are on a WAN:
      DHCP client if you are using DHCP
      DNS client
      Network connections (it's a control panel helper)

      And if you are on a LAN:
      Network connections
      Workstation
      Server
      Computer browser
      NetBIOS helper
      NTLM security provider

      Print spooler if you plan to print anything
      Secondary logon if you want RunAs
      Windows audio if you want sound

      Set everything else to manual startup, and it should be fine (for a workstation).
      To implement this, use the services control panel, or sc.exe(see help).
      Expierence is the only way to really learn which services are needed for what.
  191. 6502 by Anonymous Coward · · Score: 2, Interesting

    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.

    1. Re:6502 by biobogonics · · Score: 1

      [off topic]
      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.

      I certainly do. The instruction set was so simple that I could (long ago) assemble code in my head and patch programs without recourse to the mini-assembler.

      One of my favorite WOZisms was his short but sweet routine to convert binary to decimal. It put the processor into DECIMAL mode. In that mode addition and subtraction work with packed BCD. (The 6502 has no DAA or DAS type instructins.) At each step it shifted the binary number left into carry, then added the sum to itself with carry.
      [back on topic]

      Here's a rhetorical question. Why do some slashdoters heap scorn on Microsoft but not Borland when both have handed out free developer tools (command line C++ compilers and tools) that are not open source?

      Does it have something to do with the more reasonable prices that Borland charged for its products?

    2. Re:6502 by Krach42 · · Score: 1

      The Woz scares me...

      --

      I am unamerican, and proud of it!
  192. oh the irony by samjam · · Score: 1
    Jesus Christ people, don't be lazy.

    Quite Ironic. The respectful upper-case J and C combined with the disrespectful use of the name.
    1. Re:oh the irony by brsmith4 · · Score: 1

      Hey, I'm using the Lord's name in a sentence telling people not to be lazy. I think the Good News, the Man Upstairs, and JC himself would approve.

      Had I said, "Jesus Fucking Christ people, don't be so God damned lazy!" I would gladly agree with your point.

      Also note, my respect for anything "religious" is on par with my respect for the man/woman who walks their dog, leaving its' shit lying around for me to step in. So capping the J and the C is pretty good for me, especially on a bad day.

    2. Re:oh the irony by samjam · · Score: 1

      Hey,

      notice I restricted my comments to the irony and didn't try to impose anyone alses religious system, or respect for othes deitys, upon you.

      Your extended excuse indicates some guilt though.

      Sam

    3. Re:oh the irony by brsmith4 · · Score: 1

      Remember one thing when you point out irony:

      Typically, when one points out the irony, in the sense in which you did, it is an attempt to encapsulate another motive, e.g. telling me to "Watch it, bud. You're being offensive."

      Don't pretend to be so innocent, because it really doesn't bother me ;)

      Guilt? What have I to be guilty about?

  193. Example of case in point by samjam · · Score: 1

    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

    1. Re:Example of case in point by Progman3K · · Score: 1

      OK Sam,

      You've documented a good reason for undocumented APIs.

      The thing is, Microsoft has used just about all those undocumented APIs in flagship products that are competing with other vendors.

      So of course, you shouldn't call secret APIs, because they could change, but when your name is Microsoft and you have sold a few million licenses using these secret APIs, then I expect the APIs won't be going away...

      --
      I don't know the meaning of the word 'don't' - J
  194. Well, I say _no_ by http · · Score: 1

    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
    1. Re:Well, I say _no_ by mirabilos · · Score: 1

      Look two, three postings above. There are no
      redistributables inside.

      --
      My Karma isn't excellent, damn it! (And /. still does not get UTF-8 right in 2012. Wow.)
  195. Back door in compiler by Anonymous Coward · · Score: 0

    Source code review will not help you to detect back door introduced by compiler.

  196. Cool, a command line tool from MS by exp(pi*sqrt(163)) · · Score: 1

    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.
    1. Re:Cool, a command line tool from MS by Anonymous Coward · · Score: 0
      Don't tell me about CMD.EXE with its horribly confused history and 'rectangular' cut-and-paste so bad it must be deliberately bad.

      F7 displays a popup history. PageUp recalls first command. PageDown recalls last command. F9 allows you to call a command by number (look at the popup history for the numbers). Type a letter, then hit F8 to recall a command starting with that letter. F5 or Up to go backwards. Down to go forwards. If you have the resource kit, a nice clipboard tool, clip.exe can be used to do some nifty things. winclip.exe is a suitable replacement. For example, search commands by regex and then execute the results in a subshell:

      doskey /h | findstr ".*\.exe" | winclip -c && for /f "tokens=*" %H in ('winclip -p') do @cmd /c "%H"
    2. Re:Cool, a command line tool from MS by exp(pi*sqrt(163)) · · Score: 1

      Just cursor-up to bring back the last command I typed would be useful. Under Unix I'll work something like

      repeat:
      cursor-up, cursor-up, enter (makes project)
      cursor-up, cursor-up, enter (launches project)

      Under Windows the behavior is quite different as it remembers where it was in the history so repeated cursor ups like above eventually take you off the top of your history.
      I don't want to scan up or down a little subwindow to find my last command!

      I don't want to scan up or down a little subwindow to find my last command! The tricky thing is that it seems the console is actually linked right into your application so it's very hard to replace - though I keep hoping one day someone will write a replacement for the console API that can be dropped in as a replacement DLL.

      And winclip looks useful, but it doesn't help with the problem tha doing a copy of a multiline command from a console has to be carried out in rectangular pieces. Unfortunately multiline commands are the ones you're most likely to need to copy.

      --
      Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
    3. Re:Cool, a command line tool from MS by Anonymous Coward · · Score: 0
      Under Windows the behavior is quite different as it remembers where it was in the history so repeated cursor ups like above eventually take you off the top of your history. I don't want to scan up or down a little subwindow to find my last command!

      My post mentions PageDown to recall your last command. Perhaps I should've said "recall the top of the history stack." Read the doskey reference for everything you wanted to know about cmd's history facilities. If you're on XP, you can quickly see the reference with

      hh ms-its:%SystemRoot%\Help\ntcmds.chm::/ntcmds.htm

      The tricky thing is that it seems the console is actually linked right into your application so it's very hard to replace
      Any program that starts with main() will automatically pop a console. Try creating a program with WinMain() instead.
    4. Re:Cool, a command line tool from MS by Russellkhan · · Score: 1

      I just recently (last night) discovered syn, an editor that, among other things, can function as a console window. Like I said, I just discovered it and I have barely started trying it out, so I can't tell you yet how well it works. Try it out for yourself - it sounds to me like what you were looking for.

      Russ

      --
      Information doesn't want to be anthropomorphized anymore.
  197. ASCII paperclip? by Bilange · · Score: 1

    It looks like this: @

    --
    "...a generation of kids has grown up thinking Trance is the shittiest music since country and western." - Paul van Dyk
  198. Parent is not a flame - I know, I wrote it! by ickoonite · · Score: 0, Flamebait

    Dear Moderators,

    You suck.

    This is flamebait.

    iqu :s

    1. Re:Parent is not a flame - I know, I wrote it! by Anonymous Coward · · Score: 0

      Why thank you

      You got me moderated as a troll as well.

  199. Re:STL would be proof by Anonymous+Brave+Guy · · Score: 1
    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.

    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.
  200. already adopted for Perl by goon · · Score: 1

    found someone already using MS VC to build perl (miniperl) for windows at perlmonks.

    --
    peterrenshaw ~ Another Scrappy Startup
  201. Obligartory SNL ref by Rick+and+Roll · · Score: 2, Funny
    When I was a kid, if we were lucky enough to have a modem, we would have to wait a full minute for it to connect, and then another minute for each page of text, AND WE LIKED IT!

    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!

    1. Re:Obligartory SNL ref by billcopc · · Score: 1

      Amen brother!

      --
      -Billco, Fnarg.com
  202. Comparing C++ compilers by Anonymous Coward · · Score: 0

    Comparing C++ compilers

    This paper compares C++ compilers to see which ones follow the ISO standards.

  203. Nothing new - This has been available for years by Anonymous Coward · · Score: 0

    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.

    1. Re:Nothing new - This has been available for years by Anonymous Coward · · Score: 2, Interesting

      But not the optimizing one. They didn't offer a free developement toolkit suitable for the Free Software hobbiest or someone writing shareware programs that they expected to generate little money. Essentially, to begin writing code they had a barrier to entry ($200 or so) that made people use mingw, cygwin, or switch entirely to linux.

  204. Re:no! by Anonymous Coward · · Score: 0

    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

  205. Too little, Too late. by Maljin+Jolt · · Score: 1

    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.
  206. remember: SSA, Single Static Assignment!!! by Anonymous Coward · · Score: 0
    There is a good optimizing-compiler with SSA technique: gcc-3.5-ssa
    gcc -O2 -fomit-frame-pointer -fssa -march=athlon-xp -c foo.c
    g++ -O2 -fomit-frame-pointer -fssa -march=athlon-xp -c foo.cc

    open4free
  207. Integration with Sharp #Develop IDE? by darnok · · Score: 1

    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.

    If it works, the combination of both would make an excellent "poor man's" Visual Studio. #Develop already supports C# via the .NET framework, but having it also support C++ using the optimising compiler would be a big plus.

  208. Re:Yes please! Don't increase the cost for the res by Anonymous Coward · · Score: 0

    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...

  209. Re:They're just defending their turf. by Anonymous Coward · · Score: 0

    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.

  210. True by nycsubway · · Score: 1

    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.

  211. TCO? by nyet · · Score: 1

    hrm musta used a bigendian machine

    1. Re:TCO? by exp(pi*sqrt(163)) · · Score: 1

      No, x86. Not quite sure why you'd think it was big-endian.

      --
      Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
    2. Re:TCO? by stanmann · · Score: 1

      Well because the output "t o" isn't particularly funny.

      --
      Food not Bombs is a nice platitude but it breaks down when you notice that the Bombees are usually well fed
  212. Re:Yes please! Don't increase the cost for the res by Fangboner · · Score: 1

    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.

  213. Re:They're just defending their turf. by HuguesT · · Score: 1

    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.

  214. Re:.NET is the potential for platform independence by the_greywolf · · Score: 1
    True portability is one source code - many OSes and architectures.

    you mean like this?

    --
    grey wolf
    LET FORTRAN DIE!
  215. They gave it away because it no longer matters by laing · · Score: 1

    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.

  216. In a commodity market like software... by leonbrooks · · Score: 1

    ...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
  217. Where does the hate vb thing comes from? by Prodigy+Savant · · Score: 1

    I find it weird that you note down so many benefits of using vb and at the same time proclaim your hate for it.
    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 ... 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?
    On a related note, R.P. Feynman only knew one computer prog. language --yes, that's right, BASIC (yea i know, not vb :)). 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.

    --
    Dont make a better sig, you insensitive clod!
  218. Re:.NET is the potential for platform independence by Anonymous Coward · · Score: 0

    REBOL/core is not Open Source, so it cannot replace Mono.

  219. Using the optimizing compiler in Visual Studio? by david_christie · · Score: 2, Interesting

    Has anyone managed to apply this download to a Visual Studio .NET 2003 Standard installation, to get the benefits of an optimizing compiler?

    Standard edition disables the optimizing compiler. You have to pay for Professional edition to get the optimizer. Being cheap, and not needing all the .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?

    --
    "The Internet is a sphere whose center is wherever there is intelligence." (Apologies to HDT.)
    1. Re:Using the optimizing compiler in Visual Studio? by robnauta · · Score: 1
      "Has anyone managed to apply this download to a Visual Studio .NET 2003 Standard installation, to get the benefits of an optimizing compiler?"

      I've seen several articles at www.gamedev.net that said someone did this and it worked.

  220. In that case... by bonch · · Score: 1

    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...

    1. Re:In that case... by tepples · · Score: 1

      Granted. I admit having made a mistake in my argument.

  221. Re:They're just defending their turf. by mingot · · Score: 1

    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.

  222. Re:They're just defending their turf. by Bastian · · Score: 1

    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.

  223. Re:They're just defending their turf. by HuguesT · · Score: 1

    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.

  224. Re:They're just defending their turf. by Anonymous Coward · · Score: 0

    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.

    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 .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.

    -AC

  225. MSFT and the C++ committee. by ron_ivi · · Score: 1
    Parent wrote: ""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.""

    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.

  226. bashing MS? by koi88 · · Score: 1

    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.
  227. Well, gee... Wonder what this will look like... by hkmwbz · · Score: 1

    Use the Preview button, Luke!

    --
    Clever signature text goes here.
  228. Re:STL would be proof by Anonymous Coward · · Score: 0

    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.

  229. Compiling on old hardware by SgtChaireBourne · · Score: 1
    Half right. Windows 2000 is better than Windows 95/98 and, according to the majority of my Windows-using contacts, even better than Windows XP.

    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.
  230. Stop confusing the OS with the entire system! by CGameProgrammer · · Score: 1

    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( );
  231. Re:Yes please! Don't increase the cost for the res by Bert64 · · Score: 1

    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!
  232. Re:They're just defending their turf. by IMSoP · · Score: 1

    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".

  233. Re:.NET is the potential for platform independence by HuguesT · · Score: 1

    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?

  234. Ahh... by Anonymous Coward · · Score: 0

    But can I build my own IDE?

  235. Re:.NET is the potential for platform independence by the_greywolf · · Score: 1

    then r# maybe?

    --
    grey wolf
    LET FORTRAN DIE!
  236. Yes, you CAN compile GPL with this Compiler by nelbert · · Score: 1
    I'm no lawyer but, several have quoted this section of the EULA and say this compiler can't be used with GPL software. I believe this to be false.
    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.
    However, Section 3 makes it clear this only applies to "redistributables", or
    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.
    This refers to the included microsoft supplied sample code and the actual library files themselves--not what *you* build into an executable. Even if you link with a microsoft library (that falls under this license) you can distribute your exe freely--only the library files themselves are protected from distirbution. Redist.txt (included with the install) further clarifies this point:
    There are no redistributable files (i.e., dll's/cab's, etc.) included with the Visual C++ Toolkit 2003. Object library files included with the Visual C++ Toolkit 2003 (e.g. the C Runtime Library static libraries designated with the suffix ".lib") will be automatically linked to your program when they are compiled by the Visual C++ compiler and linker. Inclusion of these static libraries as compiled into your program is acceptable; you may not, however, redistribute the static libraries standalone - on their own.
  237. Re:Yes please! Don't increase the cost for the res by geminidomino · · Score: 1

    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?

  238. Hand-typed assembler by leonbrooks · · Score: 1

    Stick to Python or Ruby, the results are both more predictable and safer.

    --
    Got time? Spend some of it coding or testing
  239. bigendian by nyet · · Score: 1

    forTuneCooOkie

    1. Re:bigendian by spectras · · Score: 1

      Well, if the compiler just mistaked the size of the char, the endianness has nothing to do with it.
      I mean, it just reads a single char at current location, then increments the pointer by the size of an int.

  240. Re:Compatability does not seem so much of a proble by spitzak · · Score: 1

    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.

  241. At least they didn't get any source... by leonbrooks · · Score: 1

    ...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