저는 코더이며 네이티브 코드와 관리 코드 모두에 경험이 있습니다. Pascal과 C로 시작한 다음 C ++로, 결국 C #으로 옮겼습니다.
지난 한 해 동안 나는 거의 독점적으로 C #으로 코딩을 해왔으며 C ++ 코더 일 때 자연스럽게 왔던 많은 것을 잃어 버렸습니다.
몇 주 전 네이티브 C ++ 코드를 작성하기 위해 앉았을 때, 나는 복잡성, 단점 및 특질에 천천히 익숙해지면서 스스로 혼란에 빠졌습니다. 크기를 전달하지 않고 동적으로 할당 된 배열을 함수에 전달하면 수신 함수가 배열의 길이를 알 수있는 방법이 없다는 것을 완전히 잊어 버렸다고 거의 당황합니다.
관리되는 코드와 관리되지 않는 코드를 비교하고 대조하는 수많은 기사와 문서가 있습니다. 잘 알고있는 네이티브 코드는 관리 코드보다 훨씬 빠르고 가볍게 실행될 수 있습니다. 반면에 관리 코드에는 가비지 수집기 및 런타임 CPU 관련 및 OS 별 최적화 기능이있어 네이티브 코드에 돈을 줄 수 있습니다.
순전히 기술적 관점에서 볼 때 명확한 승자는 없습니다.
관리 코드가 코딩과 이해가 훨씬 간단하다는 것은 의심의 여지가 없습니다. Win32 C ++와 C #에서 간단한 GUI를 구성하는 데 필요한 줄 수의 차이를 살펴보십시오.
필자의 기본 코딩 시대로 돌아가서 나는 대부분 수퍼 컴퓨터에서 실행되는 수학적 시뮬레이션을 작성했습니다. 그들은 추악한 CLI를 가지고 있었고 주로 알고리즘 중심이었습니다. 요즘 나는 C #으로 작성하고 아름다운 GUI 응용 프로그램을 생산하지만 모국어에서 비슷한 구경을해야한다면 길을 잃을 것입니다. QT와 같은 프레임 워크를 사용하더라도 C ++에서보다 C ++ / QT에서 무언가를 생성하는 데 여전히 두 배의 시간이 걸립니다.
C / C ++로 모든 기능을 갖춘 대규모 GUI 응용 프로그램을 작성한 사람을 볼 때마다 나는 경외감을 느끼고 질투의 힌트를 느낄 수 없습니다.
다른 숙련 된 코더가 관리되는 언어와 관리되지 않는 언어를 어떻게 보는지 궁금합니다. 관리 코드가 아마추어 처럼 보 입니까? 네이티브 코더가 더 하드 코어라고 생각 하십니까?