위로 아래

컴파일 언어

컴파일 언어(Compile language)

  1. 특징
    1. 컴파일 단계에서 소스 코드 전체를 한 번에 기계어로 변환 후, 런타임 단계에서 한 번에 실행.
    2. 실행 파일을 생성. (컴파일된 후 독립적으로 작동하는 하나의 완전한 응용프로그램)
    3. 대규모 프로젝트의 경우 컴파일은 오래 걸리지만, 런타임은 빠르다.
  2. 컴파일 언어의 종류
    1. C
    2. C++
    3. C#
    4. Java (하이브리드 언어. 컴파일 + 인터프리터 방식)

 

인터프리터 언어

스크립트 언어(script language), 인터프리터 언어 (Interpreter language)

  1. 특징
    1. 인터프리터가 더 큰 개념 
    2. 기존에 이미 존재하는 응용 소프트웨어를 제어하기 위한 언어
    3. 독자적으로는 못 쓰이고, 다른 응용프로그램 안에 삽입되어 사용
    4. 인터프리터 방식의 언어 (수정이 용이 but 속도가 느림)
    5. 실행 파일 따로 없이, 작성하는 대로 한 줄씩 VM(가상 머신)에서 바로 실행된다. (컴파일이 없다)
    6. 사용 이유 : 수정을 많이 해야하는 대규모 작업은 컴파일이 너무 오래 걸리기 때문에, 소스 코드를 바로 실행하고 디버깅하면서 개발하기 위해
  2. 스크립트 언어의 종류
    1. 서버 사이드 스크립트 언어 (Server-side script language) : 클라이언트로 보낼 웹 페이지를 만드는 언어.
      1. ASP (Active Server Pages) : 마이크로소프트가 window에서 동적인 웹 페이지를 사용하기 위해 만든 스크립트 언어. 리눅스 같은 OS에서는 사용이 불가. (최근 객체 지향 패러다임이 들어간 ASP.NET이 대체하는 추세) 언어가 아니라 기술이다. 확장자 .asp
      2. PHP (Hypertext preprocessor 하이퍼텍스트 전처리기, Personal Home Page) : 웹 개발에서 동적 웹페이지를 빠르게 개발하기 위해 설계된 언어. 설치와 학습이 쉽다. 다른 언어에 비해 개발 기간도 적어 웹사이트 구축시 속도가 빠르다. HTML 소스 문서 안에 PHP로 작성된 코드를 넣어서 구현. 문법이 C, Java, Perl과 비슷하다. 자체 인터프리터를 제공해 그래픽 애플리케이션 등 다양한 분야에 범용 프로그래밍 언어로 사용된다. 자바스크립트와 비교되는 점은, PHP 소스 코드는 서버에서 실행되어 HTML을 프론트에 전송하기 때문에 클라이언트는 PHP 소스 코드를 전혀 볼 수 없다. 확장자 .php
      3. JSP (Java Server Pages) : 오라클이 인수. Java 기반 웹 환경에 맞게 개발. 자바답게, 운영체제를 가리지 않고 사용이 가능. HTML 페이지 안에 자바 코드를 직접 삽입해 웹서버에서 동적으로 웹페이지를 생성. <% ... %> 기호 사용. 언어가 아니라 기술이다. PHP와 ASP등과 같이 HTML 코드 내에 직접 비즈니스 로직을 삽입할 수 있도록 개발된 기술이다.
      4. Node.js : 자바스크립트 언어를 활용. 내장 HTTP 서버 라이브러리를 포함하고 있어, 아파치 등의 소프트웨어 없이 웹서버 동작이 가능하다. 간단한 로직, 빠른 응답 시간 요구, 빠른 개발 요구, 대용량(동시에 여러 리퀘스트를 처리), 비동기방식 서비스 등에 적합하다.
      5. 파이썬(Python) : 객체 지향 스크립트 언어. 컴파일 과정이 없어 개발 기간이 단축된다. 리눅스, 윈도우 등 운영체제 플랫폼에 의존적이지 않고 독립적이다.
      6. 루비(Ruby) : 객체 지향 스크립트 언어.
      7. 펄(Perl, Preactical Extraction and Report Laguage) : 유닉스 계열의 운영체제에서 사용하는 스크립트 언어.
      8. Java (하이브리드 언어. 컴파일 + 인터프리터 방식)
    2. 클라이언트 사이드 스크립트 언어 (Client-side script language)
      1. 자바스크립트(JavaScipt) : 넷스케이프(Netscape)가 개발. 표준 HTML 문서 내에 삽입되어 사용. 인터랙티브한 웹페이지 제작 가능.
      2. 비베스크립트 VBScript(Visual Basic Scripting Edition) : 마이크로소프트 Visual Basic 기반의 스크립트 언어. 확장자 .vns

 

 

 


하이브리드 언어 (Hybrid language)

  1. 특징 : 컴파일 언어 + 인터프리터 언어
  2. 종류 : Java
    1. Javac (자바 컴파일러) : .java 파일(소스코드)을 바이트 코드(기계어와 고급 언어의 사이)로 쓰인 .class 파일로 변환.
    2. JVM (Java Virtual Machine, 자바 가상 머신) : javac가 바이트 코드로 변환한 .class 파일을 실행시키는 가상 머신.
    3. Java Interpreter (자바 인터프리터) : 바이트 코드를 운영체제(OS)에 상관 없이 JVM에서 읽을 수 있도록 한 줄씩 기계어로 번역한다.
    4. 총합 : Java는 하이브리드 언어라서, 어느 운영체제에서나 개발환경을 새로 맞추지 않고도 실행 가능.

 

 


모바일 앱 프로그래밍 언어

모바일 앱 프로그래밍 언어

  1. 안드로이드
    1. 코틀린
    2. Java
  2. iOS
    1. 스위프트
    2. 오브젝티브-C
  3. 안드로이드 + iOS 동시 개발 가능한 프레임워크
    1. Dart 언어의 프레임워크 flutter
    2. JavaScript의 프레임워크 React native
     

 


주로 사용하는 언어