Applied Microsoft .NET Framework Programming
이 책에보면 중간단계의 컴파일과정을 거치는 언어들이 바로 native code를 생성하는 언어보다 더 빠를 수도 있는 이유를 몇가지 들었는데요. 두가지 정도가 있습니다.
첫번째로 현재 프로그램이 수행되는 CPU를 인식해서 해당 CPU에 가장 최적화된 native code를 실행시간에 만들 수 있라는 것입니다. 같은 인텔 CPU라도 기종에 따라 좀 더 최적화된 코드를 만들 수 있다고 하네요.
두번째는 해석이 잘 안되서..ㅡㅡ;;
The CLR could profile the code's execution and recompile the IL into native code while the application runs. The recomplied code could be reorganized to reduce incorrect branch redictions depending on the observed executed patterns.
즉, 클라이언트의 OS에 맞추어서 컴파일된는 정도를 넘어서 CPU에 맞추어진 코드를 생산할 수 있다면 C++보다 더 빨라질수도 있다라는 얘기같습니다.
질문
1. 위 내용에 대해 어떻게 생각하세요? (그럴리가 없다든지..^^;;)
2. 보통 C++가 C#이나 자바보다 우월한 점이 속도라고 알고 있습니다. 그리고 low level의 메모리 핸들링과 Generic Programming.. 이정도 생각이 나는데요. 어제 기사를 읽으니까 미국의 대학들이 필수프로그래밍 언어를 C++에서 자바로 변경하고 있다고 하네요. (MIT도 있던데요.)
C++만이 가능한 다른 언어가 절대 넘볼수 없는 그런 영역이 있을까요? C++로 윈도애플리케이션 개발하는 것은 이제 점점 없어지지 않을까요? 어려운 C++ 공부하면서 자바나 C#도 할 수 있는 그런거 만드는 것 보다 C++만이 가능한 그런 영역을 집중적으로 파고 싶습니다. (low level 영역은 제외하구요. 하드웨어는 넘 어려워서..^^;;)
|