C++ 편집하기
최신판 | 당신의 편집 | ||
27번째 줄: | 27번째 줄: | ||
== 성능 == | == 성능 == | ||
− | C는 [[유닉스]]라는 OS만들기 위해 어셈블리 대체용으로 만들어진 언어라, 머신 컨트롤의 저수준 작업이 주된 임무 중 하나였다. 그리고 C++은 그 이름에서 알 수 있듯 사실상 C언어를 대체하기 위한 언어였기 때문에 C가 제공하던 머신 컨트롤의 저수준 작업들을 그대로 지원한다. 거기다 그 위에 여러 가지 추상적인 고수준 기능들을 집어넣어 추상적인 시스템 위에서만 노는 게 아니라, 저수준의 기계 제어까지 가능한 추상화라는 요상한 철학을 지지한다. 그래서, 자바 같은 언어들이 OPP 를 구현하면서 동적 바이딩(기상 함수)을 디폴트로 쓰고 [[쓰레기 수집]]을 지원할 때 C++은 정적 바인딩을 디폴트로 하고 수동 메모리 관리를 유지한 것이다 일반적으로 추상화 수준이 높은 언어일수록 프로그래머 머리로 해야할 구체적인 것들을 컴퓨터가 대신 해주며, 이것이 항상 최적화된 방식은 아니기 때문에 프로그램의 실행 속도가 상대적으로 느리기 마련이지만, C++ 프로그램은 위와 같은 이유로 성능 하락이 없다. <ref name="나무위키"></ref> | + | C는 [[유닉스]]라는 OS만들기 위해 어셈블리 대체용으로 만들어진 언어라, 머신 컨트롤의 저수준 작업이 주된 임무 중 하나였다. 그리고 C++은 그 이름에서 알 수 있듯 사실상 C언어를 대체하기 위한 언어였기 때문에 C가 제공하던 머신 컨트롤의 저수준 작업들을 그대로 지원한다. 거기다 그 위에 여러 가지 추상적인 고수준 기능들을 집어넣어 추상적인 시스템 위에서만 노는 게 아니라, 저수준의 기계 제어까지 가능한 추상화라는 요상한 철학을 지지한다. 그래서, [[자바]]같은 언어들이 OPP 를 구현하면서 동적 바이딩(기상 함수)을 디폴트로 쓰고 [[쓰레기 수집]]을 지원할 때 C++은 정적 바인딩을 디폴트로 하고 수동 메모리 관리를 유지한 것이다 일반적으로 추상화 수준이 높은 언어일수록 프로그래머 머리로 해야할 구체적인 것들을 컴퓨터가 대신 해주며, 이것이 항상 최적화된 방식은 아니기 때문에 프로그램의 실행 속도가 상대적으로 느리기 마련이지만, C++ 프로그램은 위와 같은 이유로 성능 하락이 없다. <ref name="나무위키"></ref> |
== 장단점 == | == 장단점 == |