반응형

- 저급언어

 기계어 1000 1010 → MOV 어셈블리어

 기계어 1000 1100 → ADD 어셈블리어

 · 어셈블러(assembler) : 어셈블리어를 기계어로 번역하는 프로그램

 

- 고급언어

 · 사람 기준으로 이해하기 쉬운 언어, 현재는 대부분의 언어가 고급 언어임 → C/C++, Java

 

- 영화 히든 피겨스 (2017)

 "포트란은 새로운 프로그램 언어로서 프로그래머가 컴퓨터와 소통할 때 사용한다. 미래의 물결처럼 놀라운 기술이다."

 

- Green project

 · 썬마이크로시스템즈 社에서 1990년초 양방향 TV를 만드는 제어박스의 개발 프로젝트로,

  초기에는 객체지향 먼어로 C++ 언어를 사용하였으나,

  C++의 비효율성으로 인하여 오크(Oak)라는 언어를 직접 개발

 

- Java

 · 1993년 인터넷과 웹이 엄청난 속도로 발전

 · 1995년 발표된 객체 지향 프로그래밍 언어제임스 고슬링(James Gosling)이 개발

 · 인터넷 이용에 적합하도록 만들어져서 현재까지 여러 분야에 사용되는 프로그래밍 언어로 발전

 · 2009년 썬마이크로시스템즈 社는 오라클(Oracle)에 합병

 

- 자바의 특징

 · 단순하다 - 포인터가 없으며 메모리 관리가 용이

 · 객체지향 언어 - 클래스와 객체를 중심으로 프로그램을 개발

 · 시스템에 독립적 - 하나의 플랫폼에서 만든 자바 프로그램을 다른 플랫폼에서 추가 작업 없이 실행 가능

 · 번역 언어 - 자바의 프로그램 소스는 중간 코드인 바이트 코드로 변환되고,

      바이트 코드는 자바 가상 기계에서 인터프리터의 도움을 받아 실행

 

- 자바 가상 머신의 필요성

 · 다른 프로그래밍 언어플랫폼에 종속적임

  - 하드웨어 아키텍처(CPU)에 따라 사용하는 기계어 종료가 상이함

  - OS마다 사용하는 응용 프로그래밍 인터페이스(API)와 실행 형식이 다름

 · 프로그램을 실행하려면 운영체제가 제어하는 메모리를 사용해야 하는데,

  운영체제마다 메모리를 관리하는 방식이 다름

  - 자바는 자바가상머신(JVM)을 사용하기 때문에 플랫폼에 독립적임

 

 · 일반 프로그램 소스코드 → 컴파일러 → 이진코드 → OS/HW

 · 자바 프로그램 소스코드(HelloWorld.java) → 컴파일러 → 바이트코드(HelloWorld.class)

    → API/JVM(자바플랫폼) → OS/HW

 

  - Windows JVM → Windows 실행파일 → Windows PC

  - Linux JVM → Linux 실행파일 → Linux PC

  - Mac JVM → Mac 실행파일 → 맥킨토시

 

 

반응형

+ Recent posts