Solved

C / C++ Limitations

Posted on 2008-06-18
15
4,497 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
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

An Outlet in Cocoa is a persistent reference to a GUI control; it connects a property (a variable) to a control.  For example, it is common to create an Outlet for the text field GUI control and change the text that appears in this field via that Ou…
This is a short and sweet, but (hopefully) to the point article. There seems to be some fundamental misunderstanding about the function prototype for the "main" function in C and C++, more specifically what type this function should return. I see so…
The goal of this video is to provide viewers with basic examples to understand opening and reading files in the C programming language.
The goal of the tutorial is to teach the user how to use functions in C++. The video will cover how to define functions, how to call functions and how to create functions prototypes. Microsoft Visual C++ 2010 Express will be used as a text editor an…

896 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

12 Experts available now in Live!

Get 1:1 Help Now