Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

C / C++ Limitations

Posted on 2008-06-18
15
Medium Priority
?
4,696 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 75 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
Technology Partners: 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 75 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

Technology Partners: 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

When writing generic code, using template meta-programming techniques, it is sometimes useful to know if a type is convertible to another type. A good example of when this might be is if you are writing diagnostic instrumentation for code to generat…
Container Orchestration platforms empower organizations to scale their apps at an exceptional rate. This is the reason numerous innovation-driven companies are moving apps to an appropriated datacenter wide platform that empowers them to scale at a …
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…
The goal of the video will be to teach the user the difference and consequence of passing data by value vs passing data by reference in C++. An example of passing data by value as well as an example of passing data by reference will be be given. Bot…

670 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