• 프로그래밍 언어 활용 part 2 - 프로그래밍 언어별 특성

    2021. 8. 8.

    by. 고구마달랭이

    프로그래밍 언어별 특성

    학습내용 학습목표
    ▪ 컴퓨터 언어 개요
    ▪ 컴퓨터 언어 종류
    ▪ 컴퓨터 언어를 각각의 기준에 따라 분류하고 특징을 설명할 수 있다.
    ▪ 다양한 언어의 특징과 주 사용 분야를 알고 작업에 맞게 선택할 수 있다.

    컴퓨터 언어 개요

     

    1. 프로그래밍 개요

    컴퓨터 언어(Computer Language)란?

    ☞ 컴퓨터를 이용하여 특정 작업을 수행하고자 할 때 컴퓨터에 전달하는 작업 지시서

    ☞ 명령어들의 집합

     

     

    2. 프로그래밍 언어 분류

    [1] 사용자 측면에서의 종류

     

     

    [2] 실행 측면에서의 종류

    ▪ 컴퓨터가 직접 실행하거나 매개체를 이용하여 실행

    (1) 컴파일러 언어(Compiled Language)

    ☞ 기계어로 컴파일되는 언어

    ☞ 소스코드가 일괄적으로 번역된 후 실행되는 방식

    ☞ 작고 빠른 코드로 변환된 후 시스템에서 실행 가능한 파일로 생성하고 실행

    장점 단점
    ▪ 재컴파일을 통해 이식성 향상
    ▪ 빠른 실행
    ▪ 시스템마다 코딩과 컴파일 별도로 수행
    ▪ 번역으로 인한 많은 코드 생성으로 메모리 사용 증가

     

    (2) 인터프리터 언어(Interpreted Language)

    ☞ 기계어로 미리 변환되는 것이 아니고 실행 중에 ‘Interpreted’

    ☞ 속도가 느림

    ☞ 스크립트 언어(Scripting Languages)    //ASP, PHP, Java Script,VB Script 등

    장점 단점
    ▪ 한 줄씩 바로 실행되므로 추가적 메모리가 많이 필요하지 않음
    ▪ 플랫폼에 덜 의존적임
    ▪ 자료형과 범위가 유연함
    ▪ 처리 속도가 느림
    ▪ 처리 가능 작업의 한계

     

     

    [3] 용도 측면에서의 종류

     


     

    컴퓨터 언어 종류

     

    1. C

    [1] 소개

    ☞ 어셈블리어와 고급 언어의 장점을 가지고 있음

    ☞ 작고 빠른 프로그램

    ☞ 뛰어난 이식성

    ☞ 컴파일러 언어

     

    [2] 역사

    ☞ 1972년 벨 연구소의 데니스 리치에 의해 개발

    ☞ 1972년 UNIX 개발을 위해 개발

    ☞ 1989년 ANSI C 발표

     

    [3] 특징과 주사용 분야

    특징 주사용 분야
    ▪ 하드웨어 제어
    ▪ 범용 프로그래밍
    ▪ 효율적 자료 관리 및 메모리 관리

    ▪ 시스템프로그램(운영체제, 디버깅S/W, 미들웨어) : 비트조작, 메모리접근, 형 변환
    ▪ 컴파일러, 유틸리티
    ▪ 응용 프로그램 (게임, 워드프로세서, 오라클)
    ▪ 임베디드 프로그래밍

     

     

    2. C++

    [1] 소개

    ☞ 객체지향 언어로 C언어의 확장판

    ☞ 다중 상속, 오버로드

    ☞ 컴파일러 언어

     

    [2] 역사

    ☞ 1983년 벨 연구소의 비야네 스트롭스트룹이 발표

    ☞ 1984년 C with Classes에서 C++로 이름 변경

    ☞ 1989년 ANSI C 발표

     

    [3] 특징과 주사용 분야

    특징 주사용 분야
     하드웨어 제어 + 객체지향 프로그래밍
    C언어 라이브러리를 상당수 사용 가능
     효율적 자료 관리 및 메모리 관리
    게임프로그램
    빠른처리가 필요한 응용프로그램
    하드웨어제어프로그램

     

     

    3. C#

    [1] 소개

    객체지향 언어 (C언어의 기본문법 + C++의 객체 지향개념 + UI 컴포넌트)

    .NET프레임워크에서 개발

    이 기종 간에 인터넷을 통한 자료 교환을 위해 개발

     

    [2] 역사

    2000년 Microsoft에서 발표

     

    [3] 특징과 주사용 분야

    특징 주사용 분야
    .NET프레임워크에서 동작하므로 운영체제에 독립적
    CRL(Common Runtime Library)을 지원
    뛰어난 생산성
    웹 응용프로그램
    네트워크프로그램

     

     

    4. JAVA

    [1] 소개

    C++와 유사하나 모호하거나 복잡한 기능(공용체, 구조체, 포인터, 다중상속)을 제거한 객체지향 프로그램

    모든 데이터는 객체를 통하여 처리

    바이트 코드로 컴파일되기 때문에 자바를 지원하는 어떠한 플랫폼에서도 실행

     

    [2] 역사

    1995년 제임스 고슬링(썬 마이크로시스템즈)

     

    [3] 특징과 주사용 분야

    특징 주사용 분야
    가상머신에서 동작하므로 운영체제에 독립적
    다중 쓰레드 프로그램이 가능
    뛰어난 호환성
     웹 응용프로그램
    분산환경에적합한 언어
    ▪ 휴대기기용프로그램

     

     

    5. Pathon

    [1] 소개

    인간 친화적 언어로 익히기 쉬운 언어

     다른 언어와 혼합하여 개발 가능

     

    [2] 역사

    1991년 프로그래머인 귀도 반 로섬(Guido van Rossum)이 설계한 인터프리터식 언어

     

    [3] 특징과 주사용 분야

    특징 주사용 분야
    개발 속도가 빠르고 간결
    무료 소프트웨어
    C/C++과의 결합
    웹 프로그래밍
    GUI 프로그래밍

     

     


     

     

    학습정리

     

     

    1. 컴퓨터 언어 개요

    ▪ 프로그래밍이란 컴퓨터를 이용하여 특정한 작업을 할 수 있도록 명령서를 기술하는 작업

    ▪ 컴퓨터 언어를 실행방식의 측면에서 구분하면 크게 컴파일러 방식과 인터프리터 방식으로 구분됨

    ▪ 인간 중심과 기계 중심에 따라 고급과 저급언어로 구분됨

     

    2. 컴퓨터 언어 종류

    ▪ C 언어는 절차지향 언어로 시스템 프로그램 개발에 용이한 언어

    ▪ C++는 C언어의 확장으로 객체지향 언어

    ▪ C#은 인터넷과 같은 분산 환경 프로그래밍에 적합한 언어

    ▪ JAVA는 더욱 더 완벽한 객체지향 프로그램으로 웹 응용 프로그램 개발에 용이한 언어

    ▪ Python은 익히기 쉽고 다른 언어와 혼합하여 사용할 수 있는 언어

    댓글