Solved

C / C++ Limitations

Posted on 2008-06-18
15
4,477 Views
Last Modified: 2011-09-20
Which are major limitations of C and C++ ?
One i hope is the areas in which it cant be used like AI programming.
Another one is they dont have a GUI IDE like VC++.
C++ not having Garbage Collection.

what Else ?
0
Comment
Question by:astudent
  • 4
  • 4
  • 3
  • +3
15 Comments
 
LVL 53

Expert Comment

by:Infinity08
ID: 21811371
>> One i hope is the areas in which it cant be used like AI programming.

Why wouldn't it ? C and C++ are used in pretty much all areas.


>> Another one is they dont have a GUI IDE like VC++.

C and C++ are programming languages. IDE's are not part of the language. They are tools used to develop applications in the language. There are several IDE's available for a wide range of platforms for both C and C++.


>> C++ not having Garbage Collection.

Not in the standard C++, no. You can however add it if you want.



>>  Which are major limitations of C and C++ ?

Can you explain why you're asking this question ? Knowing the context will allow us to help you better ...
0
 
LVL 40

Expert Comment

by:evilrix
ID: 21811388
>> C++ not having Garbage Collection

Just to augment I8's already very good answer...

That is not a limitation, it is by design. Garbage collection comes with overheads that affect performance. C/C++ are designed to write code that is not impeded by unnecessary house-keeping. You can use smart pointers to (look at autp_ptr, which comes with the C++ langauge) in C++ to provide automatic garbage collection semantics without the overhead of a garbage collection process. Also, trying to write code that relies on deterministic finalization (knowing exactly when an object is destroyed) is not generally possible in garbage collected langauges, this makes them unsuitable for real-time programming, unlike C/C++, which excels in such areas.
0
 
LVL 17

Accepted Solution

by:
rstaveley earned 25 total points
ID: 21813237
>>  Which are major limitations of C and C++ ?

The standard libraries are lean. To implement a GUI you have to work with non-standard libraries. That's a good limitation IMHO, but it is nevertheless a major limitation.

Closures would be nice.

Otherwise, see http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2034.htm for the wishlist for the next C++ standard. You'll see just how lean the standard library is!
0
 
LVL 17

Expert Comment

by:rstaveley
ID: 21813253
s/standard libraries/standard library/

Don't know why I pluralised that. Thankfully there is only one standard :-)
0
 
LVL 40

Expert Comment

by:evilrix
ID: 21813254
>> Closures would be nice.
Regex support also, although that looks like it's coming in C++09 with boost::regex :)
0
 
LVL 1

Expert Comment

by:sleep_pilot
ID: 21814336
to evilrix:

regex support is part of C++ TR1 library update (which was published couple years ago).  Some C++ compilers have already implemented it.

And like you said, boost also feature regex support.

There wouldn't be a C++09.  The next standard will not be coming quite that fast. :)  Last week C++ Standard meeting just voted to slip the schedule (hopefully) a bit.
0
 
LVL 40

Expert Comment

by:evilrix
ID: 21814453
>> regex support is part of C++ TR1 library update (which was published couple years ago).  Some C++ compilers have already implemented it.
I know, TR1 isn't part of the ratified standard.

>> The next standard will not be coming quite that fast
Fast? Muhahaha. Last I checked it was due 09. Thanks for the heads up though.
http://www.devsource.com/c/a/Languages/C09-A-Glimpse-into-the-Future/
http://www.devsource.com/c/a/Languages/Grok-The-New-Features-in-Standard-C/
0
How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

 
LVL 17

Expert Comment

by:rstaveley
ID: 21814769
Should we now start calling C++0X "C++1X" to avoid disappointment? There is a lot to look forward to in all this, but I wonder how long it will be before we're debugging an EE question about an rvalue reference on a non-compliant compiler?
0
 
LVL 1

Expert Comment

by:sleep_pilot
ID: 21815875
to rstaveley:

No, it's still 0X, just that X's base is not 10 anymore. :)
0
 
LVL 40

Expert Comment

by:evilrix
ID: 21815907
Maybe just C++0When?
0
 

Author Comment

by:astudent
ID: 21818746
>> Can you explain why you're asking this question ? Knowing the context will allow us to help you better ..

Just for learning purpose.
and, going to face an interview very soon.
so please..
0
 
LVL 53

Assisted Solution

by:Infinity08
Infinity08 earned 25 total points
ID: 21820115
I guess one of the "downsides" of C and C++ are their steep learning curves, and the fact that you have to actually know what you're doing when writing code ;)
0
 
LVL 28

Expert Comment

by:pepr
ID: 21825482
>> you have to actually know what you're doing when writing code ;)

:))

This is one of the reasons why C++ is called "too complicated". It may be difficult to get the correct result fast when you start from "zero knowledge".

People do not read the good texts like Thinking in C++ by Bruce Eckel (also the free electronic version at http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html) and they try to bend their experience with another language. People often want to to use Object Oriented Programming but they want the compiler to tell them what they are doing wrongly... and the bloody C++ compiler talks to them so strangely. :)
0
 
LVL 17

Expert Comment

by:rstaveley
ID: 21829520
I was going to chip in that you won't find a "C++ for Dummies" book, but I see I was wrong. It was written by the author of... "C++ Weekend Crash Course"!?!

I wonder if there's a market for "A complete C++ foundation at breakfast for busy parents".
0
 
LVL 53

Expert Comment

by:Infinity08
ID: 21840028
May I ask why you gave a B grade ? That usually means that something was missing in the answers and/or that something is still unclear. If so, remember that you can always ask for clarification before accepting an answer.
0

Featured Post

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

This article will show you some of the more useful Standard Template Library (STL) algorithms through the use of working examples.  You will learn about how these algorithms fit into the STL architecture, how they work with STL containers, and why t…
This tutorial is posted by Aaron Wojnowski, administrator at SDKExpert.net.  To view more iPhone tutorials, visit www.sdkexpert.net. This is a very simple tutorial on finding the user's current location easily. In this tutorial, you will learn ho…
The goal of this video is to provide viewers with basic examples to understand and use switch statements in the C programming language.
The viewer will be introduced to the member functions push_back and pop_back of the vector class. The video will teach the difference between the two as well as how to use each one along with its functionality.

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now