다양한 CPU, 다양한 운영체제의 홍수 속에서 자바와 .Net과 같은 플랫폼 독립성을 가진 체계가 점점 더 힘을 얻어가고 있는 형국이다. 운영체제나 CPU의 종류에 제한받지 않는 응용 프로그램의 개발 및 배포는 생산성뿐만 아니라 여러 가지 장점을 제공한다. 더구나 끊임없는 하드웨어 성능의 발전은 플랫폼 독립성 때문에 희생해야 하는 성능적인 단점조차도 문제가 되지 않게 해주고 있다. C언어로 작성한 프로그램을 C/C++ 컴파일러로 빌드하게 되면 윈도나 리눅스와 같은 특정 운영체제에서만 수행할 수 있는 기계어 코드가 만들어 진다. 이 기계어 코드는 특정 운영체제에서만 사용할 수 있을 뿐만 아니라 CPU의 제약도 받을 수밖에 없다. 그만큼 개발자의 입장에서는 다양한 플랫폼 환경을 감안해야만 한다. 그렇지만 자..
자바(Java) 언어는 객체지향형 프로그래밍 언어로 문법의 많은 부분을 C/C++에서 가져왔기 때문에 C/C++에 익숙한 개발자라면 어렵지 않게 익힐수 있는 언어입니다. 자바 컴파일러로 컴파일한 응용 프로그램은 특정 CPU를 목적으로하는 코드가 아니라 바이트 코드라 불리는 중간 언어로 만들어지고 바이트 코드 형태로 만들어진 자바 응용은 각 운영체제/CPU별 JVM(Java Virtual Machine, 자바 가상 머신)에 의해 실행됩니다. 개발자는 어떤 플랫폼에서든지 한번만 컴파일하면 동일한 바이트 코드를 윈도우에서도 리눅스나 맥에서도 별도의 변경이나 변형 없이 실행시킬 수 있는 것입니다. 닷넷 프레임워크와 비교한다면 C#.Net, VB.Net, C++/CLI 등으로 작성한 프로그램은 CPU별 목적 코드..