Thread: C++ newbie

  1. #1
    Registered User
    Join Date
    Jan 2006
    Posts
    14

    Red face C++ newbie

    Hi folks,

    Pardon my ignorance, I'm very new to C, C++ and I have some simple questions here for 'ya, I hope u could clear up things for me a bit, in turn I would be very thankful,
    so here we go:

    1. I'm currently using no IDE, using just borland cpp compiler (that comes for free), so I'm wondering is this the same compiler that come when u use C++ builder ? or perhaps IDE has got better compiler ?

    2. Shall I use borland or VS? and why one would be better than the other please explain?

    3. I'm a java programmer, therefore I have some knowledge of C#, why would one use C++ programing language? therefore if I can program in C# should I use C++? I've picked up C++ cuz I need to do some assignments that are given in university, therefore I want to solve some algorithms in C++, but other than that y would I use C++?

    4. Where can I find API for C++? for java its easy when I want to lookup a method, I simply browse API, how about C++ where do I get API for C++? I need it so much !!!!

    5. Again products..., this is more likely extension of question #1, which is better borland IDE or Microsoft one ? (I'm interested in these two) or I should stick to my commandline tool, using simple text editor (this is what I like to do), if there is a need to use an IDE explain why?

    thanx in prior
    Fiska
    Last edited by fiska; 01-03-2006 at 03:31 AM.

  2. #2
    Registered User
    Join Date
    Dec 2005
    Location
    Colchester, Essex, United Kingdom.
    Posts
    31
    There is no need to be using an IDE, but you will likely find that they are widely used in industry. If you have the money, I recommend VS over the Borland compiler, mainly because you will find that it is far more widely used, and therefore has better support.

    As for a C++ API: The latest implementation comes with VS. Or, you could download the GCC compiler (command line), which also comes with the latest version.

  3. #3
    Registered User
    Join Date
    Jan 2006
    Posts
    14
    but I want to use borland (freecommandlinetool) where do I get and API for C++?
    I'm so ........ed of with Internet Explorer, so I avoid as much as possible the microsoft products....

  4. #4
    Registered User
    Join Date
    Dec 2005
    Location
    Colchester, Essex, United Kingdom.
    Posts
    31
    I think you must be mis-understanding things. If you have the Borland command line compiler and its working (ie. you can compile code), then you will already have everything you need on your machine. I still recommend that you find an alternative to Borland though. Have you tried Dev-Cpp? Go here, download the latest version and give it a whirl. It is free...

  5. #5
    Registered User
    Join Date
    Jan 2006
    Posts
    14
    well there is a misunderstanding, I know that everything will work just fine, but the thing is that I wanna see the classes, see the methods avaliable that C++ offers, like a schema, I have the same on JAVA, and we call it API, I can go there and browse everything classes etc, so where can I find API for C++?
    I dont have problems with compiling and linking, therefore everything is running just fine!

  6. #6
    Cat without Hat CornedBee's Avatar
    Join Date
    Apr 2003
    Posts
    8,895
    Borland's compiler has some rather peculiar standards-related problems. This means it won't compile some legal C++ code. The newer versions of Microsoft's compiler are better in this regard. (You can get the command line version of Microsoft's compiler for free, too.)

    API ... C++ doesn't have anything called the API. C++ has a standard library, but it's not as extensive as Java's or C#'s by far. C++'s standard library covers containers and algorithms on them, File I/O, locale-dependent operations, complex numbers, string handling, and memory handling. Beyond that, you have to go elsewhere.
    One place to go is the Boost libraries. They are a large set of libraries for many great things, including, but not limited to, file system traversal, more containers, more algorithms, more string handling, higher-order programming, metaprogramming, regular expressions, parser building, threading, advanced math, serialization, memory pooling, date/time handling, and soon networking. Boost is free for use, and some of its libraries are on their way of making it into the C++ stnadard; others already have.
    If Boost doesn't cover what you want (e.g. GUIs), you can often find 3rd-party libraries somewhere. A popular networking library is ACE. Portable GUI libraries are wxWidgets, Qt, or GTK--.
    If all else fails (or some other reason), you have to turn to OS-level APIs. The Win32 API is Windows' primary programming interface. The POSIX standard describes that of Linux and other Unix-like systems.

    So, faced with all these complications, why would you still want to use C++?
    Several reasons. First, in Java it's rather tricky to go beyond the provided libraries. System-specific services? Daemons? C++ provides direct access to all features an OS offers. If it's even possible with this OS and computer, C++ can do it.
    Second, C++ is simply more powerful. There are things you can do in C++, programming tricks to apply, that make Java look pretty stupid.
    Third, C++ is fun. At least I think so. Programming in general is fun, but C++ stands out. If you happen to write a piece of code that nobody ever needs to understand again, you can exploit the full fun of C++: two levels of metaprogramming creating generic compositions of higher-level functions applied to three levels of exotic iterators ... I just love this language.
    Fourth, and probably most heavily disputed, C++ is still somewhat faster than Java. That's because it's compiled to native code, which is then simply run, while Java's bytecode must be interpreted or compiled to native while the app is running. Aside from the time required for that alone, it also takes away chances for optimization. On the other hand, Java makes up for a lot of that by constantly monitoring the application's behaviour and dynamically improving it: the longer a Java application runs, the faster it will be.


    I haven't actually found a complete AND comprehensive documentation for the C++ standard library. www.cppreference.com has a partial one, as does www.sgitech.com (though that's rather hard to find). Dinkumware provides a complete, but rather unreadable reference to their library, and pretty much the same goes for the GNU library.
    I still think the best documentation is the one in MSDN, although best is relative. You can find it at http://msdn.microsoft.com/library/ , and an offline version comes with Visual C++ if you buy it. The online version is rather slow and unpleasant to navigate (especially when you're not using IE), so buying it is good.

    The best thing here would probably be to buy a god book. The C++ Standard Library, I forgot by whom, is the most commonly recommended one.
    Last edited by CornedBee; 01-03-2006 at 08:18 AM.
    All the buzzt!
    CornedBee

    "There is not now, nor has there ever been, nor will there ever be, any programming language in which it is the least bit difficult to write bad code."
    - Flon's Law

  7. #7
    Registered User
    Join Date
    Jan 2006
    Posts
    14
    thanx very very much, you just provided a great explanation... I gotta learn C++
    well I need to learn C++ for the mechatronics too, cuz we can't program robots in other language other than C, C++.

    Again thanx a lot, I found this very usefull.
    Fiska

  8. #8
    Registered User
    Join Date
    Jan 2006
    Posts
    14
    ah another thing, very quickly:
    do you recommend using an IDE? I just watched the demo for Borland C++Builder 2006 it looks pretty good...

  9. #9
    Cat without Hat CornedBee's Avatar
    Join Date
    Apr 2003
    Posts
    8,895
    I use Visual Studio.Net 2003. IDEs can save you quite a bit of typing, and they make debugging a lot easier. So yes, I recommend one.
    All the buzzt!
    CornedBee

    "There is not now, nor has there ever been, nor will there ever be, any programming language in which it is the least bit difficult to write bad code."
    - Flon's Law

  10. #10
    Registered User
    Join Date
    Sep 2005
    Posts
    34
    If your going to get an IDE go with either Dev if your cheep like me or VS if you have some cash to spend. Since your starting out I suggest you give Dev a try and see how you like it.

  11. #11
    Registered User
    Join Date
    Jan 2006
    Posts
    14
    I would go with dev but being honest I don't like their compiler. Since I work with C# as well, then I'll try out VS 2005, or Borland 2006 I'm not sure which one yet...
    As it concerns VS 2005 I'm not sure if their compiler converts code into native or some kind of intermediate level (like C#)? somehow I think that borland 2006 is a good product eventhough never used their IDE.

  12. #12
    Cat without Hat CornedBee's Avatar
    Join Date
    Apr 2003
    Posts
    8,895
    What's wrong with GCC?

    Anyway, VC++2005 compiles to native code unless you enabled Managed Extensions.
    All the buzzt!
    CornedBee

    "There is not now, nor has there ever been, nor will there ever be, any programming language in which it is the least bit difficult to write bad code."
    - Flon's Law

  13. #13
    Registered User
    Join Date
    Jan 2006
    Posts
    14
    Quote Originally Posted by CornedBee
    The best thing here would probably be to buy a god book.
    C++ Primer Plus (5th edition) by Stephen Prata

    do you think this is a good book? I was thinking to order this book

  14. #14
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    It may or may not be a good book, but there's a sticky thread here with a selection of 'god books'
    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

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. newbie: array question :(
    By cstudent in forum C Programming
    Replies: 2
    Last Post: 04-09-2008, 06:46 AM
  2. getting to grips with allegro and ms vc++ (newbie)
    By jimjamjahaa in forum C++ Programming
    Replies: 4
    Last Post: 11-18-2005, 07:49 PM
  3. Newbie in problem with looping
    By nrain in forum C Programming
    Replies: 6
    Last Post: 11-05-2005, 12:53 PM
  4. Some help for a newbie?
    By Ilmater in forum C++ Programming
    Replies: 23
    Last Post: 04-19-2004, 07:44 PM
  5. Newbie Game Develpoers Unite!
    By Telenosis in forum Game Programming
    Replies: 10
    Last Post: 06-22-2002, 02:02 PM