സി++(/ˌsiːˌplʌsˈplʌs/) എന്നത് സി പ്രോഗ്രാമിംഗ് ഭാഷയുടെ അല്ലെങ്കിൽ "സി വിത്ത് ക്ലാസെസ്സ്" എന്നതിന്റെ ഒരു വിപുലീകരണമായി ബ്യാൻ സ്ട്രൗസ്ട്രെപ് സൃഷ്ടിച്ച ഒരു പൊതു-ഉദ്ദേശ്യ പ്രോഗ്രാമിംഗ് ഭാഷയാണ്. കാലക്രമേണ ഭാഷ ഗണ്യമായി വികസിച്ചു, ആധുനിക സി++ന് ഇപ്പോൾ ഒബ്ജക്റ്റ്-ഓറിയന്റഡ്, ജെനറിക്, ഫങ്ഷണൽ ഫീച്ചറുകൾ ഉണ്ട്, കൂടാതെ ലോ-ലെവൽ മെമ്മറി മാനിപ്പുലേഷനുള്ള സൗകര്യങ്ങളും ഉണ്ട്. ഇത് മിക്കവാറും എല്ലായ്പ്പോഴും കംപൈൽ ചെയ്ത ഭാഷയായാണ് നടപ്പിലാക്കുന്നത്, കൂടാതെ സ്വതന്ത്ര സോഫ്റ്റ്വെയർ സമിതി, എൽഎൽവിഎം(LLVM), മൈക്രോസോഫ്റ്റ്, ഇന്റൽ, ഒറാക്കിൾ, ഐബിഎം എന്നിവയുൾപ്പെടെ പല വെണ്ടർമാരും സി++ കമ്പൈലറുകൾ നൽകുന്നു, അതിനാൽ ഇത് പല പ്ലാറ്റ്ഫോമുകളിലും ലഭ്യമാണ്.
രൂപകൽപ്പന ചെയ്തത്: | Bjarne Stroustrup |
---|---|
വികസിപ്പിച്ചത്: | ISO/IEC JTC1 (Joint Technical Committee 1) / SC22 (Subcommittee 22) / WG21 (Working Group 21) |
ഡാറ്റാടൈപ്പ് ചിട്ട: | Static, nominative, partially inferred |
പ്രധാന രൂപങ്ങൾ: | GCC, LLVM Clang, Microsoft Visual C++, Embarcadero C++Builder, Intel C++ Compiler, IBM XL C++, EDG |
സ്വാധീനിച്ചത്: | Ada 95, C#,[1] C99, Chapel,[2] Clojure,[3] D, Java,[4] JS++,[5] Lua, Nim,[6] Objective-C++, Perl, PHP, Python,[7] Rust, Seed7 |
ചരിത്രം
1983-1985 കാലത്ത് ബ്യാൻ സ്ട്രൗസ്ട്രെപ് ആണ് ഇത് വികസിപ്പിച്ചെടുത്തത്. 1983 ന് മുൻപ്, അദ്ദേഹം സി പ്രോഗ്രാമിങ് ഭാഷ പുതുക്കി ചേർത്ത് അതിനെ സി വിത് ക്ലാസ്സെസ് എന്ന് വിളിച്ചു. ഇതിനു വേണ്ടി അദ്ദേഹം പ്രോഗ്രാമിങ്ങിൽ 'ഒബ്ജക്റ്റ്’ എന്ന ആശയം സിമുല എന്ന കമ്പ്യൂട്ടർ ഭാഷയിൽ നിന്ന് കടമെടുത്തു (എന്നാൽ പ്രായോഗിക ഉപയോഗത്തിന് ഭാഷ വളരെ മന്ദഗതിയിലായിരുന്നു, അതേസമയം ബിസിപിഎൽ(BCPL) വേഗതയേറിയതാണെങ്കിലും വലിയ സോഫ്റ്റ്വെയർ വികസനത്തിന് അനുയോജ്യമല്ലാത്ത നിമ്ന്ന(low level) തലത്തിലുള്ളതായിരുന്നു), കൂടെ സിയുടെ ശക്തിയും ലാളിത്യവും. 1983 ലാണ് സി++ എന്ന പേര് ഇതിന് നൽകിയത്. ഒരു പുതിയ ഭാഷ സൃഷ്ടിക്കുന്നതിനുള്ള പ്രചോദനം അദ്ദേഹത്തിൻ്റെ പിഎച്ച്ഡി തീസിസിനായുള്ള പ്രോഗ്രാമിംഗിലെ സ്ട്രോസ്ട്രപ്പിൻ്റെ പ്രവർത്തി പരിചയത്തിൽ നിന്നാണ്.
സവിശേഷതകൾ
- ഒബ്ജക്റ്റ് ഓറിയന്റഡ് കമ്പ്യൂട്ടർ പ്രോഗ്രാമിങ് (object oriented)- അത്യധികം സങ്കീർണങ്ങളായ കമ്പ്യൂട്ടർ പ്രോഗ്രാമുകൾ ഇതുപയോഗിച്ച് വികസിപ്പിച്ചെടുക്കുവാൻ കഴിയും.
- ഇൻഹെറിറ്റൻസ് ( Inheritance) - സമാനസ്വഭാവമുള്ള പ്രോഗ്രാം ഭാഗങ്ങൾ ഒന്നിലധികം പ്രാവശ്യം ഒന്നിലധികം പ്രാവശ്യം എഴുതുന്നതൊഴിവാക്കാൻ സാധിക്കുന്നതു മൂലം പ്രോഗ്രാമ്മിങ്ങ് സമയം ലാഭിക്കാൻ സാധിക്കുന്നു.
- എൻക്യാപ്സുലേഷൻ (Encapsulation)- ക്ലാസ്സുകളുടെ ഉപയോഗം ദത്തങ്ങളൂടെയും നിർദ്ദേശങ്ങളുടെയും സുരക്ഷിതത്വം ഉറപ്പാക്കുന്നു.
- പോളിമോർഫിസം (Polimorphism) - സങ്കീർണ്ണമായ പ്രോഗ്രാമ്മിങ്ങ് നിർദ്ദേശങ്ങങ്ങൾക്ക് ലളിതമായ ഒരു കവചം സൃഷ്ടിക്കുന്നു
ഹലോ വേൾഡ് പ്രോഗ്രാം
താഴെ സി++ൽ ഉള്ള ഒരു ഹലോ വേൾഡ് പ്രോഗ്രാം മാനകരൂപത്തിലും, ഏറെ പ്രചാരത്തിലുള്ള ടർബോ സി++ കമ്പൈലർ രീതിയിലും കൊടുത്തിരിക്കുന്നു. [8][9]
മാനക രൂപം | ടർബോ സി++ രൂപം |
---|---|
#include <iostream>
int main()
{
std::cout << "Hello, world!"<< std::endl;
return 0;
}
|
#include <iostream.h>
void main()
{
cout<<"Hello, world!\n";
}
|
ഈ പ്രോഗ്രാം തരുന്ന ഫലം (ഔട്ട്പുട്ട്) താഴെ പറയും പ്രകാരമായിരിക്കും.
''Hello, world!'' |
വിവിധ കംപൈലറുകൾക്കനുസരിച്ച് സി ++ പ്രോഗ്രാമ്മിന്റെ സ്ട്രക്ട്ച്ചറുകൾ ചെറുതായി വത്യാസപ്പെട്ടുകൊണ്ടിരിക്കും.
ഇവയും കാണുക
അടിക്കുറിപ്പുകൾ
പ്രകൃതി ദൃശ്യങ്ങൾ
അവലംബം
- Abrahams, David. C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond. Addison-Wesley. ISBN 0-321-22725-5.
{{cite book}}
: Unknown parameter|coauthors=
ignored (|author=
suggested) (help) - Alexandrescu, Andrei (2001). Modern C++ Design: Generic Programming and Design Patterns Applied. Addison-Wesley. ISBN 0-201-70431-5.
- Becker, Pete (2006). The C++ Standard Library Extensions : A Tutorial and Reference. Addison-Wesley. ISBN 0-321-41299-0.
- Alexandrescu, Andrei (2004). C++ Design and Coding Standards: Rules and Guidelines for Writing Programs. Addison-Wesley. ISBN 0-321-11358-6.
{{cite book}}
: Unknown parameter|coauthors=
ignored (|author=
suggested) (help) - Coplien, James O. (1992, reprinted with corrections 1994). Advanced C++: Programming Styles and Idioms. ISBN 0-201-54855-0.
{{cite book}}
: Check date values in:|year=
(help)CS1 maint: year (link) - Dewhurst, Stephen C. (2005). C++ Common Knowledge: Essential Intermediate Programming. Addison-Wesley. ISBN 0-321-32192-8.
- Information Technology Industry Council (2003-10-15). Programming languages — C++ (Second edition ed.). Geneva: ISO/IEC. 14882:2003(E).
{{cite book}}
:|edition=
has extra text (help); Check date values in:|date=
(help) - Josuttis, Nicolai M. The C++ Standard Library. Addison-Wesley. ISBN 0-201-37926-0.
- Koenig, Andrew (2000). Accelerated C++ - Practical Programming by Example. Addison-Wesley. ISBN 0-201-70353-X.
{{cite book}}
: Unknown parameter|coauthors=
ignored (|author=
suggested) (help) - Lippman, Stanley B. (2005). C++ Primer. Addison-Wesley. ISBN 0-201-72148-1.
{{cite book}}
: Unknown parameter|coauthors=
ignored (|author=
suggested) (help) - Lippman, Stanley B. (1996). Inside the C++ Object Model. Addison-Wesley. ISBN 0-201-83454-5.
- Stroustrup, Bjarne (2000). The C++ Programming Language (Special Edition ed.). Addison-Wesley. ISBN 0-201-70073-5.
{{cite book}}
:|edition=
has extra text (help) - Stroustrup, Bjarne (1994). The Design and Evolution of C++. Addison-Wesley. ISBN 0-201-54330-3.
- Sutter, Herb (2001). More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and Solutions. Addison-Wesley. ISBN 0-201-70434-X.
- Sutter, Herb (2004). Exceptional C++ Style. Addison-Wesley. ISBN 0-201-76042-8.
- Vandevoorde, David (2003). C++ Templates: The complete Guide. Addison-Wesley. ISBN 0-201-73484-2.
{{cite book}}
: Unknown parameter|coauthors=
ignored (|author=
suggested) (help) - Scott Meyers (2005). Effective C++. Third Edition. Addison-Wesley. ISBN 0-321-33487-6
പുറത്തേക്കുള്ള കണ്ണികൾ
പരിശീലനക്കുറിപ്പുകൾ en:C++ എന്ന താളിൽ ലഭ്യമാണ്
- Introduction to C++
- C++ Annotations - A thorough and detailed C++ reference
- A paper by Stroustrup showing the timeline of C++ evolution (1979-1991)
- Apache C++ Standard Library Documentation
- Standards Committee Page: JTC1/SC22/WG21 - C++
- C++ FAQ Lite by Marshall Cline
- Boost C++ Libraries
- C++ വിക്കിപാഠഷാല
- Computer World interview with Bjarne Stroustrup
- CrazyEngineers.com interview with Bjarne Stroustrup Archived 2008-12-10 at the Wayback Machine
- Interactive web-based version of Comeau C++ compiler Archived 2008-10-16 at the Wayback Machine
- The State of the Language: An Interview with Bjarne Stroustrup (August 15, 2008) Archived 2009-01-31 at the Wayback Machine
അവലംബം
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.