네이티브 프로그래밍 기술은 어떤것인가요?

매니지드 코드 (Managed Code)매니지드 코드는 프로그램이 실행될 때 특정 환경의 도움을 받는 코드를 말합니다.대표적인 예로 Java, C#, VB.NET, Python으로 짜여진 코드가 매니지드 코드라고 할 수 있습니다.Java의 경우 프로그래머가 작성한 코드는 바이트코드로 컴파일되는데 이는 JVM의 도움을 받아야만 실행시킬 수 있습니다.C#과 VB.NET의 경우 CLR의 도움을 받아야 하며, Python의 경우 파이썬 인터프리터가 필요합니다.매니지드 코드의 가장 큰 특징은 런타임 중에 JVM이나 CLR같은 가상 머신(Virtual Machine)의 각종 도움을 받을 수 있다는 것입니다.가비지 컬렉션(Garbage Collection)같은 고급 메모리 관리나 멀티 스레딩(Multi Threading)등을 직접 하지 않아도 됩니다.즉 매니지드 코드를 실행할 경우 가상 머신에게서 메모리 관리, 보안, 스레드 운용 등의 도움을 받을 수 있다고 요약할 수 있겠습니다.

언매니지드 코드 (Unmanaged Code)언매니지드 코드는 매니지드 코드와 반대되는 개념입니다.프로그램이 실행될 때 특정 환경의 도움을 받지 않는 코드를 말합니다.가장 대표적인 예는 C입니다. 가상 머신을 필요로 하지 않는 언어로써 프로그램만 독립적으로 실행시킬 수 있죠.환경의 도움이 필요한 가비지 컬렉터가 지원되지 않아 프로그래머가 직접 메모리를 할당하고 해제해 줘야 합니다.그렇다고 해도 언매니지드 코드가 환경으로부터 아무런 도움을 받지 않는 것은 아닙니다.기본적인 메모리 할당 등은 OS의 도움을 받을 수 있습니다. 하지만 매니지드 코드에 비해 지원되는 기능이 얼마 없죠.

중학교나 초등학교에서 sw코딩영역을 필수로한다는 기사를보았는데 , 네이티브 프로그래밍 기술은 어떤것인가요 ? 휴대폰어플리케이션을 말하는건가요? 구글링에 여러가지가나오는데 좀쉽게 설명좀부탁드립니다!!
그리고 어디에활용할수있는지도..요^^;;

    1개의 답변이 있어요!

    • 네이티브(Native)를 언매니지드(Unmanaged)와 같은 뜻으로 쓰기도 합니다.
      그 단어가 그 외에도 매ㅡ우 많은 뜻이 있지만, 문맥상 그런 뜻이 맞는 것 같네요.

      모바일 앱의 경우에는... iOS는 어떤지 모르겠지만 안드로이드에는 C/C++로 개발할 수 있습니다. (네이티브액티비티)
      그런데 거의 대부분이, 아마도 99.9% 이상이 그렇게 개발하지 않습니다. (예시 말고는 단 한 번도 본 적이 없습니다.)
      아무래도 휴대폰 어플리케이션을 말하는 건 아닌 것 같네요... -_-::

      매니지드 코드와 언매니지드 코드에 대해 잘 정리해서 올려주셨는데요,
      그냥 거기서 언매니지드만 네이티브로 바꾸면...

      언매니지드 프로그래밍!

      파이썬, 자바스크립트같은 매니지드 말고, C/C++같은 네이티브 언어를 쓰는 프로그래밍... 정도로 생각하면 될 것 같네요