സി++

വിക്കിപീഡിയ, ഒരു സ്വതന്ത്ര വിജ്ഞാനകോശം.
Jump to navigation Jump to search
സി++
ISO C++ Logo.svg
രൂപകൽപ്പന ചെയ്തത്: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

സി++(/ˌsiːˌplʌsˈplʌs/) എന്നത് സി പ്രോഗ്രാമിംഗ് ഭാഷയുടെ അല്ലെങ്കിൽ "സി വിത്ത് ക്ലാസെസ്സ്" എന്നതിന്റെ ഒരു വിപുലീകരണമായി ബ്യാൻ സ്ട്രൗസ്ട്രെപ് സൃഷ്ടിച്ച ഒരു പൊതു-ഉദ്ദേശ്യ പ്രോഗ്രാമിംഗ് ഭാഷയാണ്. കാലക്രമേണ ഭാഷ ഗണ്യമായി വികസിച്ചു, ആധുനിക സി++ന് ഇപ്പോൾ ഒബ്ജക്റ്റ്-ഓറിയന്റഡ്, ജെനറിക്, ഫങ്ഷണൽ ഫീച്ചറുകൾ ഉണ്ട്, കൂടാതെ ലോ-ലെവൽ മെമ്മറി മാനിപ്പുലേഷനുള്ള സൗകര്യങ്ങളും ഉണ്ട്. ഇത് മിക്കവാറും എല്ലായ്‌പ്പോഴും കംപൈൽ ചെയ്‌ത ഭാഷയായാണ് നടപ്പിലാക്കുന്നത്, കൂടാതെ സ്വതന്ത്ര സോഫ്‌റ്റ്‌വെയർ സമിതി, എൽഎൽവിഎം(LLVM), മൈക്രോസോഫ്റ്റ്, ഇന്റൽ, ഒറാക്കിൾ, ഐബിഎം എന്നിവയുൾപ്പെടെ പല വെണ്ടർമാരും സി++ കമ്പൈലറുകൾ നൽകുന്നു, അതിനാൽ ഇത് പല പ്ലാറ്റ്‌ഫോമുകളിലും ലഭ്യമാണ്.

ചരിത്രം[തിരുത്തുക]

1983-1985 കാലത്ത് ബ്യാൻ സ്ട്രൗസ്ട്രെപ് ആണ് ഇത് വികസിപ്പിച്ചെടുത്തത്. 1983 ന് മുൻപ്, അദ്ദേഹം സി പ്രോഗ്രാമിങ് ഭാഷ പുതുക്കി ചേർത്ത് അതിനെ സി വിത് ക്ലാസ്സെസ് എന്ന് വിളിച്ചു. ഇതിനു വേണ്ടി അദ്ദേഹം പ്രോഗ്രാമിങ്ങിൽ 'ഒബ്ജക്റ്റ്’ എന്ന ആശയം സിമുല എന്ന കമ്പ്യൂട്ടർ ഭാഷയിൽ നിന്ന് കടമെടുത്തു, കൂടെ സിയുടെ ശക്തിയും ലാളിത്യവും. 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. 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. 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. Check date values in: |year= (help)
  • 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 പതിപ്പ്.). Geneva: ISO/IEC. 14882:2003(E). Check date values in: |date= (help); |edition= has extra text (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. Unknown parameter |coauthors= ignored (|author= suggested) (help)
  • Lippman, Stanley B. (2005). C++ Primer. Addison-Wesley. ISBN 0-201-72148-1. 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 പതിപ്പ്.). Addison-Wesley. ISBN 0-201-70073-5. |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. Unknown parameter |coauthors= ignored (|author= suggested) (help)
  • Scott Meyers (2005). Effective C++. Third Edition. Addison-Wesley. ISBN 0-321-33487-6

പുറത്തേക്കുള്ള കണ്ണികൾ[തിരുത്തുക]

വിക്കിപാഠശാല
വിക്കിമീഡിയ വിക്കിപാഠശാലയിൽ ഈ ലേഖനവുമായി ബന്ധപ്പെട്ട

പരിശീലനക്കുറിപ്പുകൾ en:C++ എന്ന താളിൽ ലഭ്യമാണ്

അവലംബം[തിരുത്തുക]

  1. Naugler, David (May 2007). "C# 2.0 for C++ and Java programmer: conference workshop". Journal of Computing Sciences in Colleges. 22 (5). Although C# has been strongly influenced by Java it has also been strongly influenced by C++ and is best viewed as a descendant of both C++ and Java.
  2. "Chapel spec (Acknowledgements)" (PDF). Cray Inc. 1 October 2015. മൂലതാളിൽ നിന്നും 24 June 2018-ന് ആർക്കൈവ് ചെയ്തത് (PDF). ശേഖരിച്ചത് 14 January 2016.
  3. "Rich Hickey Q&A by Michael Fogus". മൂലതാളിൽ നിന്നും 2017-01-11-ന് ആർക്കൈവ് ചെയ്തത്. ശേഖരിച്ചത് 2017-01-11.
  4. Harry. H. Chaudhary (28 July 2014). "Cracking The Java Programming Interview :: 2000+ Java Interview Que/Ans". മൂലതാളിൽ നിന്നും 27 May 2021-ന് ആർക്കൈവ് ചെയ്തത്. ശേഖരിച്ചത് 29 May 2016.
  5. Roger Poon (1 May 2017). "Scaling JS++: Abstraction, Performance, and Readability". മൂലതാളിൽ നിന്നും 11 May 2020-ന് ആർക്കൈവ് ചെയ്തത്. ശേഖരിച്ചത് 21 April 2020.
  6. "FAQ Nim Programming Language". മൂലതാളിൽ നിന്നും 11 July 2017-ന് ആർക്കൈവ് ചെയ്തത്. ശേഖരിച്ചത് 2020-04-21.
  7. "9. Classes — Python 3.6.4 documentation". docs.python.org. മൂലതാളിൽ നിന്നും 23 October 2012-ന് ആർക്കൈവ് ചെയ്തത്. ശേഖരിച്ചത് 2018-01-09.
  8. Stroustrup, Bjarne (2000). The C++ Programming Language (Special Edition പതിപ്പ്.). Addison-Wesley. പുറം. 46. ISBN 0-201-70073-5. |edition= has extra text (help)
  9. Open issues for The C++ Programming Language (3rd Edition) - This code is copied directly from Bjarne Stroustrup's errata page (p. 633). He addresses the std::endl issue. Also see www.research.att.com and www.delorie.com/djgpp/ for detail on the valid implicit return value of main. The implicit return of zero is not available for other functions.
"https://ml.wikipedia.org/w/index.php?title=സി%2B%2B&oldid=3704861" എന്ന താളിൽനിന്ന് ശേഖരിച്ചത്