C++ 은 가장 널리 쓰이는 언어이고, 앞으론 자바의 등장과는 상관없이 오랜 기간동안 쓰일 것이다. C++ 은 매우 빠르게 실제로 자바보다 20내지 30배 더 빨리 실행된다. 자바는 "virtual engine"위에서 작동되는 번역 (interpreted)어이기때문에 매우 느리게 실행된다. 자바에서 메모리 관리는 자동이라서 프로그래머들은 메모리 얼로케이션 (allocation) 을 직접 다루지 않는다. 이 문서는 C++ 사용을 더욱 편하게 하기 위해 C++ 에서의 메모리 관리를 자동화하는 것을 시도한다. 자바의 좋은 점 메모리 얼로케이션이 자동적으로 처리된다는 것이다. 이 howto는 "C++"이 메모리 관리면에서 자바 언어와(를) "경쟁/모방"하는 것을 가능하게 할 것이다.
C++ 프로그래머들은 수동 메모리 얼로케이션때문에 많은 시간을 소비한다. 이 문서에 있는 정보는 여러분에게 디버깅하는 시간을 줄일 수 있는 더 나은 아이디어와 팁들을 제공할 것이다.
C++ 은 C의 super-set 인 관계로 "C" 언어의 모든 안좋은 점들을 갖고 있다. 예를 들어, "C" 프로그래밍에서는 메모리 유출과 메모리 오버플로우가 흔하다. 왜냐면 다음과 같은 용례때문에
Datatype char * and char[]
String functions like strcpy, strcat, strncpy, strncat, etc..
Memory functions like malloc, realloc, strdup, etc..
그래서 다음의 기술들이 "C" 언어의 약점을 극복하기 위해 다음의 기술들을 제안하는 것이다.
C++ 컴파일러들은 프로그래머들이 "char *" , "char[]" 데이터 타입과 strcpy, strcat, strncpy, strncat과 같은 함수들을 사용하는 것을 막아야한다고 제안한다. char *, char[] 와 같은 데이터타입들과 strcpy, strcat 같은 함수들은 C++의 사용에 있어서 반드시 완전히 금지되어야만 하는 해로운 것들이다!!
모든 C++ 프로그래머들은 char * and char[] 를 사용하는 대신에 이 문서에 나오는 'mychar class'와 STDLIB에 포함된 'string class' 를 반드시 사용해야 한다. 'mychar class' 는 생성자와 소멸자를 이용해서 메모리 관리를 자동화하고 ltrim, substring등등의 여러 함수들을 제공한다.
C++ 컴파일러에 있는 'string class' 도 또한 보자. string class 는 standard GNU C++ library 의 일부분이고 많은 string조작함수 제공한다. string class' 와 'mychar class' 를 쓰면 char * datatype을 쓸 필요가 없어진다. 또한, C++ 프로그래머들은 'malloc' 이나 'free'를 쓰는 대신 'new'와 'delete' 을 쓰도록 권장되어야 한다. 'mychar class' 는 char * 나 char [] 가 하는 모든 것들을 한다. 'mychar class' 는 완벽하게 char datatype을 대신해 쓰일 수 있다. 더구나 프로그래머들은 메모리 문제와 메모리 얼로케이션에 대해서 전혀 걱정할 필요가 없으니 얼마나 이로운 것인가.
GNU C++ 컴파일러는 char *, char[] datatypes 의 지원을 반드시 중지해야하며, char datatype을 이용한 구프로그램을 컴파일하기 해서 컴파일러는 "-fchar-datatype" 라 불리는 옵션을 g++ 명령어에 더 추가로 제공해줘야 한다. 앞으로 2년안에 모든 C++ 프로그램들은 'mychar class' and 'string class' 를 쓰게 될것이고 char * and char[] 는 사라지게 될 것이다. 컴파일러는 안좋은 프로그래 습관을 방지하도록 노력해야한다.
모든 응용프로그램이나 일반 목적의 프로그래밍을 위해서는 객체지향적인 언어인 "C++"을 이용해서 프로그래밍을 하는것이 추천된다. "C++"의 객체지향 기능을 충분히 유용할 수 있다. 하지만 -0이나 -03과 같은 컴파일러 optimizer옵션들은 C++의 속도를 증가시킬 수 있다.
요즘엔 "C" 언어가 운영체제, 디바이스 드라이버등을 개발하기위한 "시스템 프로그래밍"에 주로 쓰인다.
자바는 웹 브라우저내에서 실행되는 GUI을 개발하는데 더욱 적합한 플랫폼에 독립된 언어이지만 매우 느리게 실행된다. C++ and HTML, DHTML 과 더불어 Fast-CGI를 사용하는게 더 나은 성능을 발휘하기위해서는 C++ and HTML, DHTML 과 더불어 Fast-CGI를 사용하는게 바람직하다.