Solved

C / C++ Limitations

Posted on 2008-06-18
15
4,572 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
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
 
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 29

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

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Least Squares Curve Fitting 4 133
Header of docx file 17 145
C++ mouse_event mouse look 7 134
Gaming Software 1 38
Have you thought about creating an iPhone application (app), but didn't even know where to get started? Here's how: ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Important pre-programming comments: I’ve never tri…
Preface I don't like visual development tools that are supposed to write a program for me. Even if it is Xcode and I can use Interface Builder. Yes, it is a perfect tool and has helped me a lot, mainly, in the beginning, when my programs were small…
The goal of this video is to provide viewers with basic examples to understand opening and writing to files in the C programming language.
The goal of the video will be to teach the user the concept of local variables and scope. An example of a locally defined variable will be given as well as an explanation of what scope is in C++. The local variable and concept of scope will be relat…

751 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