View Poll Results: Your most used C/C++ compiler?

Voters
40. You may not vote on this poll
  • MS Visual Studio

    22 55.00%
  • Borland

    2 5.00%
  • GCC

    25 62.50%
  • Other paid (Please post)

    1 2.50%
  • Other free (Please post)

    3 7.50%
  • Other open-source (Please post)

    3 7.50%
Multiple Choice Poll.

Thread: Your most used compiler

  1. #16
    Guest Sebastiani's Avatar
    Join Date
    Aug 2001
    Location
    Waterloo, Texas
    Posts
    5,708
    >> cl.exe is just an executable name. Could be rocksolid.exe and should still say the truth. Meanwhile Visual C++ is the generic name given to the C/C++ component of the Visual Studio, including the IDE, compiler, linker, and libraries.

    You mean the package, right?

    I'm just being an ass. Ignore me.
    Code:
    #include <cmath>
    #include <complex>
    bool euler_flip(bool value)
    {
        return std::pow
        (
            std::complex<float>(std::exp(1.0)), 
            std::complex<float>(0, 1) 
            * std::complex<float>(std::atan(1.0)
            *(1 << (value + 2)))
        ).real() < 0;
    }

  2. #17
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    Quote Originally Posted by Elysia View Post
    But in all seriousness, those are not exactly easy things to do. They require vast amounts of knowledge and things. Not exactly what the average programmer would touch or think about.
    Gee, but why not?

    Maybe except for the web, but then again, that might be a special area too... but then again, I don't think you need to know command-lines nevertheless, even for that. I have done PHP programming and I didn't need to know a lot of command-line stuff. Mostly just about variables.
    The more involved with server side programming you get, the more unix you will have to tread. Unless you pick a way that avoids it, which may not be advantageous to the rest of your goals.

    In all seriousness, that comes from the eyes of a Linux user.
    What all operating systems have in common in the kernel.
    The layer on top, the GUI layer changes from each operating system.
    In Windows, it's all about UI, and in Linux, the focus is on command lines.
    I definitely would not call command lines basics for an OS.
    Neither would I. And your average contemporary linux user probably does not use the command line much either. I would call it basic to the process of programming.

    It's all about abstraction. Considering what a filesystem and directory structure is, the GUI filebrowsers of linux are just as abstract as in windows. A GUI IDE deploys a similiar layer of abstraction , and it is very important to keep in mind that a GUI application in *any* OS makes use of files and other applications thru system calls that are identical to CLI invocations. So even if all you want to do is program GUI apps, you still must have some knowledge of this layer. Like, that it exists and how it works independent of the GUI you are adding on top. You can have a fully functional OS without any GUI, but good luck without a filesystem, etc, and all the other text based things that make it possible. Such as computer code.

    Neither approach is more right, and that means learning about Unix-like environments is not a prerequisite for a programmer IMO.
    Well, as long as you understand that you will be tying your hands with that one, because I've already said, Windows is the exception, not the rule. Again, you are trying to make it sound like a Mac vs. Windows thing, which is a totally different issue. *nix is not "the competition" or just another OS amongst many. It is the industrial and historical base of the entire enterprise.

    Take a casual user, make him/her learn Linux. Can he/she use Windows later? I doubt it. Seriously.
    The short answer is yes. It's like learning to ride a tricycle, you won't forget.
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

  3. #18
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    Quote Originally Posted by MK27
    The short answer is yes. It's like learning to ride a tricycle, you won't forget.
    I think Elysia meant a casual user who has no working knowledge of both Linux and Windows, since this is in response to "it is about windows users who can't use linux". You did not write "it is about Windows users who were Linux users but now can't use Linux". Plus, there should be a qualification of "without learning anew" (or something like that).
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  4. #19
    The Right Honourable psychopath's Avatar
    Join Date
    Mar 2004
    Location
    Where circles begin.
    Posts
    1,071
    GCC via XCode for me. Not a fan of command-line compiling, personally. I always use MSVS if I happen to be using Windows.
    M.Eng Computer Engineering Candidate
    B.Sc Computer Science

    Robotics and graphics enthusiast.

  5. #20
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Quote Originally Posted by MK27 View Post
    Gee, but why not?
    I don't know. Too advanced?

    The more involved with server side programming you get, the more unix you will have to tread. Unless you pick a way that avoids it, which may not be advantageous to the rest of your goals.
    If we split programming into casual vs expert, I would think that any casual programmer needs no CLI knowledge. Certainly I have never needed much when coding PHP.
    Neither would I. And your average contemporary linux user probably does not use the command line much either. I would call it basic to the process of programming.

    It's all about abstraction. Considering what a filesystem and directory structure is, the GUI filebrowsers of linux are just as abstract as in windows. A GUI IDE deploys a similiar layer of abstraction , and it is very important to keep in mind that a GUI application in *any* OS makes use of files and other applications thru system calls that are identical to CLI invocations. So even if all you want to do is program GUI apps, you still must have some knowledge of this layer. Like, that it exists and how it works independent of the GUI you are adding on top. You can have a fully functional OS without any GUI, but good luck without a filesystem, etc, and all the other text based things that make it possible. Such as computer code.
    I get your point, kind of.
    Filesystems may indeed be a necessity for many things. Yet, I wouldn't say that many programs call other programs, oh no. That's not something that is a pre-requisite, I would say.
    Still, even learning a little of filesystem doesn't make you an expert of CLI. Half a step, maybe? I don't know.
    Meh. Suppose I'll rest my case on that one.

    Well, as long as you understand that you will be tying your hands with that one, because I've already said, Windows is the exception, not the rule. Again, you are trying to make it sound like a Mac vs. Windows thing, which is a totally different issue. *nix is not "the competition" or just another OS amongst many. It is the industrial and historical base of the entire enterprise.
    Again, where it is used or how much it is used doesn't matter.
    Linux is not special, nor is Windows.
    Learning parts of Unix/Linux is not necessary to become a programmer, nor is it necessary to learn parts of Windows.
    I just wish you'd stop putting labels on the operating systems. It looks like you're trying to label Linux at THE OS™ and Windows as the irregular, something deformed.

    The short answer is yes. It's like learning to ride a tricycle, you won't forget.
    I honestly don't think so.
    Laserlight pointed out pretty well what I meant with that.
    The Linux demographic is usually just a smarter category of people who would have little trouble learning Windows. It's not that Linux is superior of better in some way.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  6. #21
    * Death to Visual Basic * Devil Panther's Avatar
    Join Date
    Aug 2001
    Posts
    768
    Quote Originally Posted by Sebastiani View Post
    >> Yes, the executable name is cl.exe. But the compiler's actual name is Visual C++ or Visual C.

    No, the name of the *package* is Visual C++. The name of the compiler is cl. Just ask the command prompt.
    90% of VS users don't know it, so why bother
    "I don't suffer from insanity but enjoy every minute of it" - Edgar Allen Poe

    http://www.Bloodware.net - Developing free software for the community.

  7. #22
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Quote Originally Posted by Sebastiani View Post
    You mean the package, right?

    I'm just being an ass. Ignore me.
    Nope. I mean the VSPackage.

    Do I have a bigger ass? I want to hear you say I have a bigger ass!
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  8. #23
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    Quote Originally Posted by Elysia View Post
    If we split programming into casual vs expert, I would think that any casual programmer needs no CLI knowledge.
    If you mean a more expert programmer has more knowledge than a less expert one I suppose I will have to agree. If I mean that there are probably lots of highly skilled programmers around who never use an IDE, but *none* who do not use the command line, then I suppose you will still disagree...

    Learning parts of Unix/Linux is not necessary to become a programmer, nor is it necessary to learn parts of Windows.
    Sure. The first programming I ever did was in BASIC on a Vic 20. Maybe I should have stuck with that...

    I just wish you'd stop putting labels on the operating systems. It looks like you're trying to label Linux at THE OS™ and Windows as the irregular, something deformed.


    I just meant that Linux is really a very close variation of Unix. The reason it gained popularity in the first place is because people who wanted to use unix at home (generally programmers I guess) now had some choice beside paying $1500 for a commercial *nix, and being bound by the terms of such ownership.

    And like it or not, the entire internet, institutional super-computing of all sorts such as scientific research, design, the military, etc. etc. -- all the big tasks most people associate with "computers" besides spreadsheets and video games could not exist without UNIX, and they are still 95% *nix based.

    On the other hand, if Windows disappeared overnight the most significant consequence would be that some businesses would have to pull their old typewriters out. Or call Apple.

    Quote Originally Posted by Mario F.
    Do I have a bigger ass? I want to hear you say I have a bigger ass!
    Last edited by MK27; 07-15-2009 at 12:11 PM.
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

  9. #24
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Quote Originally Posted by MK27 View Post
    Sure. The first programming I ever did was in BASIC on a Vic 20. Maybe I should have stuck with that...
    I mean they are not pre-requisite.
    Obviously, if you want to code on Windows, learning Windows first would be a very good idea. But learning Linux before is not needed.
    If you wanted to code on Linux, then learning Linux would be a very good idea. But learning Windows is not needed.



    I just meant that Linux is really a very close variation of Unix. The reason it gained popularity in the first place is because people who wanted to use unix at home (generally programmers I guess) now had some choice beside paying $1500 for a commercial *nix.

    And like it or not, the entire internet, institutional super-computing of all sorts such as scientific research, design, the military, etc. etc. -- all the big tasks most people associate with "computers" besides spreadsheets and video games could not exist without UNIX, and they are still 95% *nix based.

    On the other hand, if Windows disappeared overnight the most significant consequence would be that some businesses would have to pull their old typewriters out. Or call Apple.
    This may be so... but it still doesn't make Linux or unix THE OS™, and I don't see what it has to do with this discussion in the first place...
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  10. #25
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    Quote Originally Posted by Elysia View Post
    This may be so... but it still doesn't make Linux or unix THE OS™, and I don't see what it has to do with this discussion in the first place...
    Which was actually about me saying that I think IDE's are bad for beginner's because they are intended for professionals who already know the fundamentals, and implying that it could simply be because of MS VS that anyone would ever end up thinking anything else. I still think it is like wanting to learn to play guitar and so you buy an effects rack and thirteen pedals, because that is what everyone does, right?

    Of course, that is not what everyone does, except in maybe in some "peculiar places".
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

  11. #26
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Quote Originally Posted by MK27 View Post
    I still think it is like wanting to learn to play guitar and so you buy an effects rack and thirteen pedals, because that is what everyone does, right?
    I wouldn't know, since I don't play guitar.
    Nevertheless, I don't see command line aimed at beginners. I see IDEs aimed at beginners. All functionality is there with some points and clicks.
    And they don't have to worry about specific compiler options and makefiles and compiling all files separately and finally linking them.

    Visual Studio isn't just aimed at professionals, you know. It's also aimed at hobbyists.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  12. #27
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    Quote Originally Posted by Elysia View Post
    Nevertheless, I don't see command line aimed at beginners. I see IDEs aimed at beginners. All functionality is there with some points and clicks.
    And they don't have to worry about specific compiler options and makefiles and compiling all files separately and finally linking them.
    Hmm. I guess a big part of the reason I see them not aimed at beginners is because, at least in C, if you are a beginner writing projects less than 1000 lines that really only you are going to compile, you don't need any "makefiles" at all!

    Of course, if you were using the command line you would just do the simplest thing:

    gcc myprog.c

    Hardly intimidating, and I bet it happened faster than you can say "deiconify". However, the last time I glanced at (eg) Eclipse, it wanted to produce an entire directory of object files, etc., which then need to be linked, etc. etc. in order to achieve "hello world!" -- no joke, no exaggeration. That implies to me the IDE is really geared toward much bigger things and that the priority in their design was giving pros what they want, not complete newbies what they may or may not need.

    I'm not recommending a text editor and the command line because I think it's harder and they must learn it now. I'm recommending it because I think it is all you need and it *should* seem simpler and more intuitive to an intelligent, literate person unless something very strange happened to their mouse wielding minds. Forget the IDE, focus on the code.

    I also never recommend linux to normal, casual users, just to be clear, so I am not trying to do away with Windows. But if you are serious about computer programming, I don't understand how you cannot regard a free, open source unix clone as a virtual godsend (because that's what it is!).

    So my point is not to make claims about what is ultimately the *best*. I'm just giving a word of positive encouragement to other fledgling programmers out there who might be interested in exploring alternatives and in the history and science of computers sans business and brand names.
    Last edited by MK27; 07-15-2009 at 12:49 PM.
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

  13. #28
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Quote Originally Posted by MK27 View Post
    Hmm. I guess a big part of the reason I see them not aimed at beginners is because, at least in C, if you are a beginner writing projects less than 1000 lines that really only you are going to compile, you don't need any "makefiles" at all!

    Of course, if you were using the command line you would just do the simplest thing:

    gcc myprog.c

    Hardly intimidating, and I bet it happened faster than you can say "deiconify". However, the last time I glanced at (eg) Eclipse, it wanted to produce an entire directory of object files, etc., which then need to be linked, etc. etc. in order to achieve "hello world!" -- no joke, no exaggeration. That implies to me the IDE is really geared toward much bigger things and that the priority in their design was giving pros what they want, not complete newbies what they may or may not need.
    Actually, we can divide both compilers and IDEs into two categories: professional and casual.
    Eclipse seems to be an IDE aimed solely at professional users.
    Visual Studio is an all-around IDE aimed at hobbyists and professionals (with its many editions, as well).
    And just to make it clear: while that command line may compile, it doesn't enable all warning messages, for example, which is a bad thing™, so it isn't optimal at all. I would never compile with that.
    So your argument doesn't hold there IMO. IDEs do not need to be more difficult than command line compilers.

    I'm not recommending a text editor and the command line because I think it's harder and they must learn it now. I'm recommending it because I think it is all you need and it *should* seem simpler and more intuitive to an intelligent, literate person unless something very strange happened to their mouse wielding minds. Forget the IDE, focus on the code.
    Subjective, I say.
    I find IDEs because they are simpler and more intuitive than command line compilers.

    I also never recommend linux to normal, casual users, just to be clear, so I am not trying to do away with Windows. But if you are a serious computer programmer, I don't understand how you cannot regard a free, open source unix clone as a virtual godsend (because that's what it is!).
    Firstly, to me, open source has no meaning. I don't care if it's closed or open.
    I don't want to break apart those programs and go scourging in the source code 99.9% of the time. I only need to be able to use the application. So that would apply to others too, right?
    And secondly, while Linux is free, it is totally different from Windows.
    They are two different markets which makes this difficult. If there was a free Windows-like clone, too, then it would be a godsend to all programmers, me think. Unfortunately, not everyone likes the approach of Linux, so albeit being free, they stick to Windows.

    So my point is not to make claims about what is ultimately the *best*. I'm just giving a word of positive encouragement to other fledgling programmers out there who might be interested in exploring alternatives and in the history and science of computers sans business and brand names.
    Now this I agree with.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  14. #29
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    Quote Originally Posted by Elysia View Post
    Eclipse seems to be an IDE aimed solely at professional users.
    Visual Studio is an all-around IDE aimed at hobbyists and professionals (with its many editions, as well).
    To be fair, I have never looked at VS so perhaps I am judging IDE's by a few bad apples. The whole concept still seems like a monstrous hassle to me tho. Generally, my belief about *all* software is that a number of small, discrete components is always better than one megalithic "integrated" anything. Like, I don't use my browser for email, either. But clearly the exact opposite approach has a lot of adherents too.

    And just to make it clear: while that command line may compile, it doesn't enable all warning messages, for example, which is a bad thing™, so it isn't optimal at all. I would never compile with that.
    Oh come on. Let's not be silly. And besides, I did say "if you want (even more) warnings, just add -Wall", didn't I?

    Sometimes, Elysia, I think you would make a great comic "devil's advocate" type person No offence.

    IDEs do not need to be more difficult than command line compilers.
    Since the command line would seem to be have been about as easy as it could possibly get, I'm still gonna assert that the purpose of an IDE is *not* to make simple things simpler or easier. It's so your boss can feel justified in not giving you a choice about it, 'cause "that thing does it all!"

    Subjective, I say.
    You -- and the devil!

    My favourite aspect of the VS newbie is they all seem to require "getch()" at the end of main().
    Last edited by MK27; 07-15-2009 at 01:20 PM.
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

  15. #30
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Quote Originally Posted by MK27 View Post
    To be fair, I have never looked at VS so perhaps I am judging IDE's by a few bad apples. The whole concept still seems like a monstrous hassle to me tho. Generally, my belief about *all* software is that a number of small, discrete components is always better than one megalithic "integrated" anything. Like, I don't use my browser for email, either. But clearly the exact opposite approach has a lot of adherents too.
    I agree that usually smaller software does things better than one gigantic one.
    Although when it comes to IDEs, I have found Visual Studio to be the best I've used so far (although to be fair, I haven't used SlickEdit).

    Oh come on. Let's not be silly. And besides, I did say "if you want (even more) warnings, just add -Wall", didn't I?
    And -wextra and the standard (C99, etc) parameters and pedantic?
    It seems to me that just hitting a button (ie F7 in case of visual studio) would be faster...

    Sometimes, Elysia, I think you would make a great comic "devil's advocate" type person No offence.


    Since the command line would seem to be have been about as easy as it could possibly get, I'm still gonna assert that the purpose of an IDE is *not* to make simple things simpler or easier. It's so your boss can feel justified in not giving you a choice about it, 'cause "that thing does it all!"
    Unless you feel like clicking options instead of typing it out is faster and better.
    I never seem to be able to remember command-line arguments for things, yet I can always remember and find myself around GUIs.

    My favourite aspect of the VS newbie is they all seem to require "getch()" at the end of main().
    I suspect it's because they use Run With Debug (F5), which makes the console disappear when the program is finished.
    Yet, using Run Without Debug (Ctrl+F5) makes the console window stay after the program is finished.
    I don't really know why Microsoft chose to do it that way...

    But mostly it's just ignorance. A breakpoint in debug mode or run without debug is all that's needed. No need for getch() or anything else, really...
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Compiler Paths...
    By Cobra in forum C++ Programming
    Replies: 5
    Last Post: 09-26-2006, 04:04 AM
  2. C Compiler and stuff
    By pal1ndr0me in forum C Programming
    Replies: 10
    Last Post: 07-21-2006, 11:07 AM
  3. I can't get this new compiler to work.
    By Loduwijk in forum C++ Programming
    Replies: 7
    Last Post: 03-29-2006, 06:42 AM
  4. how to call a compiler?
    By castlelight in forum C Programming
    Replies: 3
    Last Post: 11-22-2005, 11:28 AM
  5. Bad code or bad compiler?
    By musayume in forum C Programming
    Replies: 3
    Last Post: 10-22-2001, 09:08 PM

Tags for this Thread