Criticism of C++

Criticism of C++

Criticism of the C++ programming language refers to critical commentary directed at the C++ programming language, an evolution of the C programming language. Some of the criticism of the C programming language is relevant to C++ as well.

Legacy C support

It is widely thoughtwho that “Every C program is a valid C++ program”, and while in recent times, with standardization of C++, this is no longer true, many C constructs are still valid in C++. Even though C++ has managed to overcome many of the alleged defects of C, a novice can still use dangerous features of C while coding in C++, and this can lead to disastrous results.

Learning curve

C++ provides a vast array of features and paradigms for programming. Hence, a newcomer to the language will have to spend considerable time to learn the syntax and features. It is often statedWho|date=September 2008 that a developer needs years to master the feature set of C++.Fact|date=September 2008

Multi-paradigm programming

C++ provides the ability to code using different programming styles. It supports procedural, Modular, object-oriented and generic programming. It also supports event-driven programming to a lesser extent. It moreover allows one to mix and match amongst these styles. This apparent flexibility, though a great boon, often leads to hordes of confusing styles (though this can be mitigated by enforcing project wide coding standards, the onus is on the developers themselves). Some proponents of C++ state this as an advantage, claiming that a programmer who has knowledge of any of the programming paradigms can easily switch over to C++. But the downside is programmers given a choice, code in their preferred styles than in the natural style of a language.

A C++ programmer can often confine himself to knowing only one of the paradigms thereby not having knowledge of many other potentially useful shortcuts provided by the language. This leads to programmers with limited knowledge (knowledge pools) within the language community.

Absent features

Since the language has been used in almost every conceivable area of hardware, the standardization committees’ support for libraries are often minimalistic. Though many open source libraries like Boost and Loki overcome the problems mentioned below, the features are mentioned because they are not part of the language standard.

* No automatic garbage collection (but it is possible to use an external GCh, such as the Boehm garbage collector)
* No requirement for bounds checking of arrays (the std::vector class can be used to avoid this problem)
* No operations on whole arrays (this can be achieved with template classes)
* No nested function definitions (C++0x may feature nested functions)
* No formal closures or functions as parameters (only function and variable pointers). (C++0x will probably feature closures).
* No native support for multithreading and networking (C++0x will provide thread-local storage, but threading classes will not become standard until later)
* No (native) support for reflection

ee also

*C
*C++
*Comparison of programming languages
*Criticism of Java
*Comparison of Java and C++
*Comparison of Pascal and C

References

External links

* [http://www.yosefk.com/c++fqa/index.html C++ FQA Lite questions the answers given by C++ FAQ Lite]
* [http://www.isi.edu/~faber/cs402/nachos_doc/c++/node1.html#SECTION00010000000000000000 Introduction] of [http://www.isi.edu/~faber/cs402/nachos_doc/c++/c++.html A Quick Introduction to C++]
* http://www.boost.org/


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Look at other dictionaries:

  • Criticism — is the judgement of the merits and faults of the work or actions of an individual or group by another (the critic). To criticize does not necessarily imply to find fault, but the word is often taken to mean the simple expression of an objection… …   Wikipedia

  • criticism — criticism, critique, review, blurb, puff are comparable when meaning a discourse (as an essay or report) presenting one s conçlusions after examining a work of art and especially of literature. None of these terms has a clearly established and… …   New Dictionary of Synonyms

  • Criticism — Crit i*cism (kr?t ? s?z m), n. 1. The rules and principles which regulate the practice of the critic; the art of judging with knowledge and propriety of the beauties and faults of a literary performance, or of a production in the fine arts; as,… …   The Collaborative International Dictionary of English

  • criticism — CRITICÍSM s.n. 1. Denumire dată de Kant şi de adepţii săi propriei lor doctrine filozofice, care considera că orice filozofie şi orice cunoaştere trebuie precedată de o critică a capacităţii de cunoaştere însăşi. 2. Tendinţă exagerată de a… …   Dicționar Român

  • criticism — in everyday use means ‘finding fault’, although strictly criticism can be favourable as well as unfavourable. The sense is more neutral in terms such as literary criticism and textual criticism …   Modern English usage

  • criticism — I noun abuse, accusation, admonition, adverse comment, analysis, animadversion, aspersion, blame, carping, caviling, censure, charge, chiding, commentary, complaining, complaint, condemnation, contravention, critical examination, critical remarks …   Law dictionary

  • criticism — [n1] interpretation, analysis appraisal, appreciation, assessment, comment, commentary, critique, elucidation, essay, estimate, evaluation, examination, exposition, judgment, notice, observation, opinion, pan*, rating, rave*, review, reviewal,… …   New thesaurus

  • criticism — c.1600, action of criticizing, from CRITIC (Cf. critic) + ISM (Cf. ism). Meaning art of estimating literary worth is from 1670s …   Etymology dictionary

  • criticism — ► NOUN 1) expression of disapproval; finding fault. 2) the critical assessment of literary or artistic works …   English terms dictionary

  • criticism — [krit′ə siz΄əm] n. 1. the act of making judgments; analysis of qualities and evaluation of comparative worth; esp., the critical consideration and judgment of literary or artistic work 2. a comment, review, article, etc. expressing such analysis… …   English World dictionary

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”