Solved

C / C++ Limitations

Posted on 2008-06-18
15
4,613 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
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
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

[Live Webinar] The Cloud Skills Gap

As Cloud technologies come of age, business leaders grapple with the impact it has on their team's skills and the gap associated with the use of a cloud platform.

Join experts from 451 Research and Concerto Cloud Services on July 27th where we will examine fact and fiction.

Question has a verified solution.

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

Introduction This article is the first in a series of articles about the C/C++ Visual Studio Express debugger.  It provides a quick start guide in using the debugger. Part 2 focuses on additional topics in breakpoints.  Lastly, Part 3 focuses on th…
Introduction This article is a continuation of the C/C++ Visual Studio Express debugger series. Part 1 provided a quick start guide in using the debugger. Part 2 focused on additional topics in breakpoints. As your assignments become a little more …
Video by: Grant
The goal of this video is to provide viewers with basic examples to understand and use while-loops in the C programming language.
The viewer will learn how to clear a vector as well as how to detect empty vectors in C++.

624 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