ಸಿ++

thumb|c++

ಕಂಪ್ಯೂಟರ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳಲ್ಲಿ “ಸಿ ಪ್ಲಸ್ ಪ್ಲಸ್” (ಅಥವಾ “ಸೀ ಪ್ಲಸ್ ಪ್ಲಸ್”) ಕೂಡಾ ಒಂದು. ಇಂಗ್ಲಿಷ್ ಅಕ್ಷರಮಾಲೆಯ “ಸಿ” ಅಕ್ಷರವನ್ನು ಬಳಸಿಕೊಂಡ “ಸಿ” ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯ ವಿಸ್ತೀರ್ಣ ಎಂದು “ಸಿ ಪ್ಲಸ್ ಪ್ಲಸ್” ಭಾಷೆಯನ್ನು ಪರಿಗಣಿಸಬಹುದು. ಈ ಎರಡೂ ಭಾಷೆಗಳನ್ನು  ಯಾವುದೇ ಬಗೆಯ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಕೆಲಸಕ್ಕೆ ಬಳಸಿಕೊಳ್ಳಬಹುದು; ಆದ್ದರಿಂದ ಇವುಗಳನ್ನು ಜೆನೆರಲ್ ಪರ್ಪಸ್ ಎಂದು ಕರೆಯುವುದು ರೂಢಿ. “ಇದನ್ನು ಮಾಡು,” ಎಂದು ನಿರ್ದೇಶಿಸುವ ಕ್ರಿಯಾವಾಚಕಗಳನ್ನು ಬಳಸುವ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳನ್ನು “ಆಜ್ಞಾವಾಚಕ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಎನ್ನುತ್ತಾರೆ. ಸೀ ಪ್ಲಸ್ ಪ್ಲಸ್ ಒಂದು ಆಜ್ಞಾವಾಚಕ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯಾಗುವುದರ ಜೊತೆಗೇ ವಿಭಿನ್ನವಾದ ಒಂದು ಪ್ರೋಗ್ರಾಮಿಂಗ್ ರೀತಿಯನ್ನೂ ಒಳಗೊಂಡಿದೆ; ಇದು “ಆಬ್ಜೆಕ್ಟ್ ಓರಿಯೆಂಟೆಡ್” ಅಥವಾ “ವಸ್ತು ಕೇಂದ್ರೀಕೃತ” ಎಂಬ ವಿಧಾನ.

ಸೀ ಪ್ಲಸ್ ಪ್ಲಸ್ ಭಾಷೆಯನ್ನು ಸೃಷ್ಟಿಸಿದ ಉದ್ದೇಶಗಳು ಹಲವು – (1) ಸಿಸ್ಟಂ ಪ್ರೋಗ್ರಾಮಿಂಗ್, (2) ಅಡಕ ಗಣಕಗಳ  ಪ್ರೋಗ್ರಾಮಿಂಗ್ (3) ಬೃಹತ್ ಗಾತ್ರದ ತಂತ್ರಾಂಶಗಳ ಸೃಷ್ಟಿ, (4) ತಂತ್ರಾಂಶ ಭಾಗಗಳ ಮರುಬಳಕೆ, (5) ಸೃಷ್ಟಿಸಲಾದ ತಂತ್ರಾಂಶಗಳ ಕಾರ್ಯಕ್ಷಮತೆ ಹೆಚ್ಚಿರಬೇಕೆಂಬ ಆಶಯ. ಸೀ ಪ್ಲಸ್ ಪ್ಲಸ್ ಭಾಷೆಯನ್ನು ಅನೇಕ ಕಡೆ ಬಳಸಲಾಗುತ್ತದೆ, ಉದಾಹರಣೆಗೆ  ಈ-ಕಾಮರ್ಸ್, ವೆಬ್ ಶೋಧನಾ ಯಂತ್ರ, SQL ಡೇಟಾಬೇಸ್, ಟೆಲಿಫೋನ್ ಸ್ವಿಚ್ ಗಳಲ್ಲಿ ಬಳಕೆಯಾಗುವ ತಂತ್ರಾಂಶ, ಇತ್ಯಾದಿ.

ಸೀ ಪ್ಲಸ್ ಪ್ಲಸ್ ಭಾಷೆಯನ್ನು ಬೆಲ್ ಲ್ಯಾಬ್ಸ್ ಎಂಬ ಪ್ರಯೋಗಾಲಯದಲ್ಲಿ 1979ರಲ್ಲಿ ಅಭಿವೃದ್ಧಿ ಪಡಿಸಲು ಪ್ರಾರಂಭಿಸಿದವನು  ಜಾರ್ನ್ ಸ್ಟ್ರೌಸ್ಟ್ರಪ್ ಎಂಬ ಕಂಪ್ಯೂಟರ್ ವಿಜ್ಞಾನಿ.  ಇದೇ ಪ್ರಯೋಗಾಲಯದಲ್ಲಿ “ಸಿ” ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯನ್ನು ಕೂಡಾ ಅನ್ವೇಷಿಸಲಾಗಿತ್ತು ಮತ್ತು ಅದು ಈಗಾಗಲೇ ಸಾಕಷ್ಟು ಜನಪ್ರಿಯತೆ ಪಡೆದಿತ್ತು.  “ಸಿ” ಭಾಷೆಯನ್ನು ಹೋಲುವ ಆದರೆ ಅದಕ್ಕಿಂತಲೂ ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿಯಾದ ಭಾಷೆಯ ಸೃಷ್ಟಿ ಆತನ ಉದ್ದೇಶವಾಗಿತ್ತು. “ಸಿ” ಭಾಷೆಯಲ್ಲಿ “ಎ” ಎಂಬ ಒಂದು ಅಂಕಿಯನ್ನು ಹೆಚ್ಚಿಸಬೇಕಾದರೆ “ಎ++” ಎಂಬ ಸರಳವಾದ ನಿರ್ದೇಶವಿದೆ. “ಸಿ” ಭಾಷೆಯನ್ನು ಇನ್ನಷ್ಟು ಬೆಳೆಸುವ ಉದ್ದೇಶ ಹೊಂದಿದ್ದರಿಂದ ಈ ಭಾಷೆಗೆ “ಸಿ++” ಎಂಬ ಹೆಸರನ್ನು ಸೂಕ್ತವೆಂದು ಅನ್ವೇಷಕನಿಗೆ ತೋರಿತು.   ಅಂತರರಾಷ್ಟ್ರೀಯ ಮಾನಕ ಸಂಸ್ಥೆಯು ಸೀ ಪ್ಲಸ್ ಪ್ಲಸ್ ಭಾಷೆಗೆ ಮಾನ್ಯತೆ ನೀಡಿದೆ. ಮೊದಲು 1998ರಲ್ಲಿ ಸೀ ಪ್ಲಸ್ ಪ್ಲಸ್ ಭಾಷೆಗೆ ಇಂಥ ಮಾನ್ಯತೆ ಸಿಕ್ಕಿತು (*ISO/IEC 14882:1998).  ಡಿಸೆಂಬರ್ 2014ರಲ್ಲಿ ಇತ್ತೀಚಿನ ಬದಲಾವಣೆಗಳಿಗೆ ಮಾನ್ಯತೆ ನೀಡಲಾಗಿದೆ (ISO/IEC 14882:2014). 
 
ಸೀ ಪ್ಲಸ್ ಪ್ಲಸ್ ಭಾಷೆಯ ಪ್ರಭಾವ ಅನೇಕ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳ ಮೇಲೆ ಆಗಿದೆ. ಸೀ ಶಾರ್ಪ್, ಡಿ, ಜಾವಾ, ಮತ್ತು “ಸಿ” ಭಾಷೆಯ ಹೊಸ ಅವತರಣಿಕೆಗಳ ಮೇಲೆ ಸೀ ಪ್ಲಸ್ ಪ್ಲಸ್ ಭಾಷೆಯ ಪ್ರಭಾವ ಗುರುತಿಸಬಹುದು.

## ಇತಿಹಾಸ  
ಜಾರ್ನ್ ಸ್ಟ್ರೌಸ್ಟ್ರಪ್ ಎಂಬ ಡೆನ್ಮಾರ್ಕ್ ಮೂಲದ ಕಂಪ್ಯೂಟರ್ ವಿಜ್ಞಾನಿ 1979ರಲ್ಲಿ “ಕ್ಲಾಸ್ ಉಳ್ಳ ಸಿ” (“ಸಿ” ವಿತ್ ಕ್ಲಾಸಸ್) ಎಂಬ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯನ್ನು ರೂಪಿಸಲು ಪ್ರಾರಂಭಿಸಿದ. ಇದೇ ಮುಂದೆ ಸೀ ಪ್ಲಸ್ ಪ್ಲಸ್ ಭಾಷೆಯ ಅಡಿಗಲ್ಲಾಯಿತು. ಹೊಸ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗೆ ಹುಡುಕಾಟ ಪ್ರಾರಂಭಿಸಿದ್ದು ಏಕೆಂದು ಸ್ಟ್ರೌಸ್ಟ್ರಪ್ ವಿವರಿಸಿದ್ದಾನೆ – “ನಾನು ಪಿಎಚ್.ಡಿ. ಸಂಶೋಧನೆಯಲ್ಲಿ ತೊಡಗಿದ್ದಾಗ “ಸಿಮ್ಯುಲಾ” (Simula) ಎಂಬ ಭಾಷೆಯ ಅಂಶಗಳು “ಸಿ” ಭಾಷೆಯಲ್ಲಿ ಇದ್ದಿದ್ದರೆ ದೊಡ್ಡ ಗಾತ್ರದ ತಂತ್ರಾಂಶಗಳನ್ನು ಕಟ್ಟಲು ಸುಲಭವಾಗುತ್ತಿತ್ತಲ್ಲವೇ ಎಂದು ಯೋಚಿಸುತ್ತಿದ್ದೆ.  ಅಂಥದೊಂದು ಭಾಷೆಯನ್ನು ಪ್ರಯೋಗಕ್ಕೆ ತಂದಾಗ ತಂತ್ರಾಂಶಗಳ ಓಟದ ವೇಗ ತೀರಾ ಕಡಿಮೆಯಾಗಿದ್ದನ್ನು ಗಮನಿಸಿದೆ. ಇದಕ್ಕೆ ತದ್ವಿರುದ್ಧವಾಗಿ BCPL ಎಂಬ ಭಾಷೆಯಲ್ಲಿ ಕಟ್ಟಿದ ತಂತ್ರಾಂಶಗಳು ವೇಗದಲ್ಲಿ ಮುಂದಿದ್ದರೂ ಆ ಭಾಷೆ ತೀರಾ ಸರಳವಾಗಿದ್ದು ದೊಡ್ಡ ಗಾತ್ರದ ತಂತ್ರಾಂಶಗಳನ್ನು ನಿರ್ಮಿಸಲು ಸೂಕ್ತವಾಗಿರಲಿಲ್ಲ.” ಪಿಎಚ್.ಡಿ. ಅಧ್ಯಯನದ ನಂತರ ಏಟಿ ಅಂಡ್ ಟಿ ಬೆಲ್ ಲ್ಯಾಬ್ಸ್ ಎಂಬ ಪ್ರಯೋಗಾಲಯದಲ್ಲಿ ಉದ್ಯೋಗದಲ್ಲಿ ತೊಡಗಿದ ಸ್ಟ್ರೌಸ್ಟ್ರಪ್ ಯೂನಿಕ್ಸ್ ನಿರ್ವಹಣಾ ವ್ಯವಸ್ಥೆಯ (ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಂ) ತಿರುಳನ್ನು (kernel) ಅಧ್ಯಯನ ಮಾಡುವುದರಲ್ಲಿ ನಿರತನಾದ. ತನ್ನ ಪಿಎಚ್.ಡಿ. ಅನುಭವದ ಆಧಾರದ ಮೇಲೆ ಅವನು “ಸಿಮ್ಯುಲಾ” ಭಾಷೆಯಲ್ಲಿದ್ದ Class ಅಥವಾ “ವರ್ಗ” ಎಂಬ ಪರಿಕಲ್ಪನೆಯನ್ನು ಅಳವಡಿಸಿಕೊಂಡು  ಹೊಸದೊಂದು ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯನ್ನು   ಅನ್ವೇಷಿಸಿದ. ಇದಕ್ಕೆ “ಸಿ ವಿತ್ ಕ್ಲಾಸಸ್” ಅಥವಾ “ವರ್ಗಗಳುಳ್ಳ ಸಿ” ಎಂದು ಕರೆದ. ಮುಂದೆ ಇದೇ “ಸೀ ಪ್ಲಸ್ ಪ್ಲಸ್” ಭಾಷೆಯಾಗಿ ರೂಪುಗೊಂಡಿತು. ತನ್ನ ಹೊಸ ಭಾಷೆಯ ಅಡಿಗಲ್ಲಾಗಿ “ಸಿ” ಭಾಷೆಯನ್ನು ಆಯ್ದುಕೊಳ್ಳಲು ಕಾರಣ ಅದರ ಜನಪ್ರಿಯತೆ, ವೇಗ ಮತ್ತು ಎಲ್ಲಾ ಸಂದರ್ಭಗಳಲ್ಲೂ ಬಳಸಬಹುದಾದುದು ಎಂಬ ಗುಣಗಳು. ಆದರೆ ಏಡಾ (Ada), ALGOL68, ಮತ್ತು ML ಭಾಷೆಗಳಿಂದಲೂ ಸ್ಟ್ರೌಸ್ಟ್ರಪ್ ಅನೇಕ ಅಂಶಗಳನ್ನು ಸ್ವೀಕರಿಸಿದ್ದಾನೆ.

, ಸೀ ಪ್ಲಸ್ ಪ್ಲಸ್ ಭಾಷೆಯ ಜನಕ]]

1983ರಲ್ಲಿ “ಸಿ ವಿತ್ ಕ್ಲಾಸಸ್” ಭಾಷೆಗೆ “ಸಿ  ಪ್ಲಸ್ ಪ್ಲಸ್” ಎಂದು ಮರುನಾಮಕರಣ ಮಾಡಲಾಯಿತು. ಅನೇಕ ಹೊಸ ಅಂಶಗಳನ್ನು “ಸಿ ಪ್ಲಸ್ ಪ್ಲಸ್” ಒಳಗೊಂಡಿತ್ತು. 
* ವರ್ಚುಯಲ್ ಫಂಕ್ಷನ್ ಅಥವಾ ಮಿಥ್ಯಾ ನಿಯೋಗಗಳು virtual function
* ನಿಯೋಗಗಳ ಹೆಸರುಗಳ ಪುನರ್ಬಳಕೆ ಮತ್ತು ಗಣಿತ ಚಿಹ್ನೆಗಳ ಪುನರ್-ನಿರೂಪಣೆ   operator overloading
* ರೆಫರೆನ್ಸ್ (reference)
* ಕಾನ್ಸ್ಟಂಟ್ಸ್ 
* ಕಾಮೆಂಟ್ಸ್ ಹಾಕಲು  `//`  ಬಳಕೆ  
* ಪ್ರೋಗ್ರಾಮ್ ಚಾಲ್ತಿಯಲ್ಲಿರುವಾಗ ಬೇಕಾದಷ್ಟು ಸ್ಮೃತಿಯನ್ನು ಕಂಪ್ಯೂಟರ್ ನಿರ್ವಹಣಾ ವ್ಯವಸ್ಥೆಯಿಂದ ಪಡೆಕುಕೊಳ್ಳಲು/ಹಿಂತಿರುಗಿಸಲು ನ್ಯೂ ಮತ್ತು ಡಿಲೀಟ್ ಎಂಬ ಹೊಸ ನಿಯೋಗಗಳು 
* ಹೊಸ “ಟೈಪ್” ಪರೀಕ್ಷಣಾ ವ್ಯವಸ್ಥೆ

1985ರಲ್ಲಿ “ದ ಸಿ ಪ್ಲಸ್ ಪ್ಲಸ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಲ್ಯಾಗ್ವೇಜ್” (*The C++ Programming Language*) ಎಂಬ ಪುಸ್ತಕವನ್ನು ಜಾನ್ ಸ್ಟ್ರೌಸ್ಟ್ರಪ್ ಪ್ರಕಟಿಸಿದ.  ಅದೇ ವರ್ಷ “ಸಿ ಪ್ಲಸ್ ಪ್ಲಸ್” ಭಾಷೆಯ ವಾಣಿಜ್ಯ ಆವೃತ್ತಿ ಕೂಡಾ ಬಿಡುಗಡೆಯಾಯಿತು. ಈ ಪುಸ್ತಕದ ಮೂರನೇ ಆವೃತ್ತಿ 2010ರಲ್ಲಿ ಪ್ರಕಟವಾಯಿತು.

## ಭಾಷೆ 
ಸಾಧಾರಣವಾಗಿ ಹೊಸ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯನ್ನು ಕಲಿಯುವಾಗ ವಿದ್ಯಾರ್ಥಿಗಳು ಮೊದಲು ಬರೆಯುವ ತಂತ್ರಾಂಶ “ಹೆಲೋ ವರ್ಲ್ಡ್” ಅಥವಾ “Hello World” ಎಂದು ತೆರೆಯ ಮೇಲೆ ಮುದ್ರಿಸುವ ಒಂದು ಸರಳ ಪ್ರೋಗ್ರಾಂ. ಇದರ “ಸಿ ಪ್ಲಸ್ ಪ್ಲಸ್” ಅವತರಣಿಕೆ ಕೆಳಗೆ ಕೊಟ್ಟಿದೆ.

```cpp
#include 

int main()
{
	std::cout 
**ಲಿನ್ಕರ್ ಸೆಕ್ಷನ್**- ಸಿ++(C++)ನಲ್ಲಿ ಮೊದಲು ಎಕ್ಸಿಕ್ಯೂಟ್ ಆಗುವ ಡೆಫಿನಿಷನ್‍ಗಳನ್ನು ಲಿನ್ಕರ್ ಸೆಕ್ಷನ್ ಎಂದು ಕರೆಯುತ್ತೆವೆ ಉದಾಹರಣೆಗೆ(#include, #include, #include, #include). 
**ಗ್ಲೋಬಲ್ ಡಿಕ್ಲೆರೇಷನ್ ಸೆಕ್ಷನ್**-ಸಾಮಾನ್ಯವಾಗಿ ಈ ಭಾಗದಲ್ಲಿ ವೇರಿಯಬಲ್ ಡಿಕ್ಲೆರೇಷನ್ ಮಾಡಬಹುದು.
**ಮೇನ್() ಫಂಕ್ಷನ್**-ಪ್ರಮುಖವಾಗಿರುವ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಲಾಜಿಕ್ ಈ ಭಾಗದಲ್ಲಿ ಬರೆಯಬಹುದು.
**ಬ್ರೆಸ್ಸ್("{}")**-ಪ್ರೋಗ್ರಾಮ್‍ನ ಆರಂಭ ಮತ್ತು ಕೊನೆಯನ್ನು ಸೂಚಿಸುತ್ತದೆ.
**ವೇರಿಯೇಬಲ್ ಡಿಕ್ಲೆರೇಷನ್ ಸೆಕ್ಷನ್**- ಈ ಭಾಗದಲ್ಲಿ ವೇರಿಯಬಲ್ ಡಿಕ್ಲೆರೇಷನ್ ಮಾಡಬಹುದು.
**ಎಸ್ಎಕ್ಯೂಟಬಲ್ ಸೆಕ್ಷನ್**-ಇನ್‍ಪುಟ್ ಔಟ್‍ಪುಟ್ ಫಂಕ್ಷನ್, ಕಂಡೀಷನ್ ಸ್ಟೇಟ್‍ಮೆಂಟ್ಸ್, ಲೂಪಿಂಗ್ ಸ್ಟೇಟ್‍ಮೆಂಟ್ಸ್, ಮುಂತಾದ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಅಂಶಗಳನ್ನು ಇಲ್ಲಿ ಬರೆಯಬಹುದು.

## ಲೈಬ್ರರಿ 
ಸಿ++ ಸ್ಟಾಂಡರ್ಡ್ ಲೈಬ್ರರಿಯಲ್ಲಿ ಎರಡು ಭಾಗಗಳಿವೆ – (1) ಮೂಲ ಸಿ++ ಭಾಷೆಗೆ ಸಂಬಂಧಿಸಿದ ತಂತ್ರಾಂಶ ಮತ್ತು (2) ಸ್ಟಾಂಡರ್ಡ್ ಲೈಬ್ರರಿ, ಸ್ಟಾಂಡರ್ಡ್ ಲೈಬ್ರರಿಯಲ್ಲಿ ಸಾಧಾರಣವಾಗಿ ಉಪಯೋಗಿಸಲ್ಪಡುವ ಅನೇಕ ತಂತ್ರಾಂಶಗಳನ್ನು ನೀಡಲಾಗಿದೆ – ಉದಾ. ವೆಕ್ಟರ್, ಲಿಸ್ಟ್, ಮ್ಯಾಪ್, ಸೆಟ್, ಕ್ಯೂ, ಸ್ಟಾಕ್, ಟಪಲ್ ಮೊದಲಾದ  ಡೇಟಾ ಸ್ಟ್ರಕ್ಚರ್ಗಳು, ಫೈಂಡ್, ಫಾರ್ ಈಚ್, ಬೈನರಿ ಸರ್ಚ್, ರಾಂಡಮ್ ಷಫಲ್ ಮೊದಲಾದ ನಿಯೋಗಗಳು.  iostream ಎಂಬ ನಿಯೋಗ ಸಮುಚ್ಚಯದಲ್ಲಿ ಕಡತಗಳನ್ನು ಓದುವ/ಬರೆಯುವ ನಿಯೋಗಗಳಿವೆ. ಕಂಪ್ಯೂಟರ್ ಸ್ಮೃತಿಯ ನಿರ್ವಹಣೆಗಾಗಿ ಸ್ಮಾರ್ಟ್ ಪಾಯಿಂಟರ್ ಎಂಬ ವ್ಯವಸ್ಥೆ ಲಭ್ಯವಾಗಿದೆ. ಪದಗಳನ್ನು ಹುಡುಕಲು ಉಪಯೋಗವಾಗುವ ರೆಗ್ಯುಲರ್ ಎಕ್ಸ್ಪ್ರೆಷನ್ ಎಂಬ ನಿಯೋಗವಿದೆ. ತಂತ್ರಾಂಶವು ಓದುವ ವೇಗವನ್ನು ಹೆಚ್ಚಿಸಲು ಬಳಕೆಯಾಗುವ ಮಲ್ಟಿ ಥ್ರೆಡಿಂಗ್ ಎಂಬ ಲೈಬ್ರರಿ ಇದೆ. ಒಮ್ಮೆಗೆ ಒಂದು ಸ್ಮೃತಿಯನ್ನು ಒಂದೇ ನಿಯೋಗವು ಬಳಸಲು ಅನುಕೂಲವಾಗುವ “ಅಟಾಮಿಕ್ಸ್” ಲೈಬ್ರರಿ ಲಭ್ಯವಾಗಿದೆ. ಸಮಯದ ಮಾಪನಕ್ಕೆ ಅನುಕೂಲವಾದ ಲೈಬ್ರರಿ ನಿಯೋಗಗಳಿವೆ.

## ವಿಮರ್ಶೆ 
ಸಿ++ ಭಾಷೆಯು ಸಾಕಷ್ಟು ಜನಪ್ರಿಯವಾದ ಭಾಷೆಯಾದರೂ ಅದನ್ನು ಕುರಿತು ಕೆಲವು ಟೀಕೆಗಳೂ ಇವೆ. ಲಿನಕ್ಸ್ ನಿರ್ವಹಣಾ ವ್ಯವಸ್ಥೆಯನ್ನು ರೂಪಿಸಿದ ಲೈನಸ್ ಟೋರ್ವಾಲ್ಡ್ಸ್, “ಓಪನ್ ಸೋರ್ಸ್” ಪ್ರತಿಪಾದಕ ರಿಚರ್ಡ್ ಸ್ಟಾಲ್ಮನ್  ಮತ್ತು “ಸಿ” ಹಾಗೂ “ಯೂನಿಕ್ಸ್” ಅಧ್ವರ್ಯುಗಳಲ್ಲಿ ಒಬ್ಬನಾದ ಕೆನ್ ಥಾಮ್ಸನ್ ಇವರೆಲ್ಲರೂ ಬೇರೆ ಬೇರೆ ಕಾರಣಗಳಿಗಾಗಿ ಸಿ++ ಭಾಷೆಯನ್ನು ಟೀಕಿಸಿದ್ದಾರೆ.  ಸಿ++ ಭಾಷೆಯಲ್ಲಿ ರಚಿತವಾದ ತಂತ್ರಾಂಶಗಳ ವೇಗ ಕಡಿಮೆ ಎಂಬುದು ಒಂದು ಟೀಕೆ. ಕಂಪ್ಯೂಟರ್ ಸ್ಮೃತಿಯನ್ನು ಬಳಸುವಾಗ ಬೇಕಾದ ಗಾರ್ಬೇಜ್ ಕಲೆಕ್ಷನ್ ಎಂಬ ತಂತ್ರಾಂಶ ಇಲ್ಲದೇ ಇರುವುದು ಇನ್ನೊಂದು ಟೀಕೆ.

ಸಿ++ ಭಾಷೆಯಲ್ಲಿರುವ ತೊಡಕುಗಳಿಂದ ಪಾರಾಗಲು D, Go Rust, Vala ಮೊದಲಾದ ಭಾಷೆಗಳನ್ನು ಹುಟ್ಟುಹಾಕಲಾಗಿದೆ. some people suggest alternative languages newer than C++, such as D, Go, Rust and Vala.

## ಉಲ್ಲೇಖಗಳು 
ವರ್ಗ:ಮಾಹಿತಿ ತಂತ್ರಜ್ಞಾನ