티스토리 뷰

728x90
반응형

코드잇 컴퓨터개론 강의를 듣고 참고하여 정리한 글입니다🙂


프로그래밍 언어 살펴보기

컴퓨터란? 

- 사람의 일을 대신해주는 기계

정보를 처리하는 전자 장치 

 

프로그램이란?

- 컴퓨터가 어떤 일을 해야할 지 알려주는 설명서같은 존재

- 컴퓨터에게 내리는 명령어의 모음

 

프로그래밍이란?

- 컴퓨터에게 명령을 내리는 것

- 프로그램을 만드는 작업

 

프로그래밍 언어란?

- 프로그램을 작성하기 위해 사용하는 언어를 프로그래밍 언어

 

 

프로그래밍 언어 분류

프로그래밍 언어가 많은 이유

- 용도,상황, 프로젝트등 사람들의 필요에 따라 언어가 많아지기 때문

- 컴퓨터 시스템의 역사와 함께하고 있기에 언어가 개발된 시대적인 패러다임에 따라 유사한 특성이 있음

- 프로그래밍 언어가 어떻게 제작되는지 궁금하다면 아래 책 참고

마츠모토 유키히로의 프로그래밍 언어 만들기 (마츠모토 유키히로 지음 | 김성준 옮김 | 에이콘출판 | 2019년 06월 04일 출간) 참고!

 

 

개발 편의성(추상화 정도)에 따라 분류하기

 

- 저급 언어(저수준 언어) : 기계가 이해할 수 있도록 만들어진 언어 (기계에게 친숙하기 때문에 추상화가 낮음) / 기계어, 어셈블리어

- 고급 언어(고수준 언어) : 개발자가 소스 코드를 작성할 때 쉽게 이해할 수 있도록 작성된 언어 (사람에게 친숙하기 때문에 추상화가 낮음) / C, C++, Java, Python 등

 

 

실행하는 방식에 따라 분류하기 

-객체지향언어 : Java, C++

  1) 장점

  ·유지보수 용이 

  ·가독성 높음

  ·재사용 좋음

  ·테스트 쉬움 

 

  2) 단점

  ·설계 어려움 

  ·작은 규모에서는 시간이 더 오래 걸릴 수 있음

  ·실행속도가 절차지향언어보다 느림

  ·저장공간을 많이 차지함

 

  3) 객체지향 언어가 적합한 곳

  ·규모가 큰 프로젝트 

  ·많은 데이터를 다루는 프로그램 개발

 

  4) 객체지향 언어가 적합하지 않은 곳 

  ·극도로 빠른 실행속도가 필요한 분야

  ·저장 장치나 성능이 제한적인 기기 개발 (임베디드 분야)

 

-절차지향언어(명령형 언어) : 컴퓨터에 저장된 명령어들이 순차적으로 실행되는 프로그래밍 방식 / FORTRAN, COBOL, PASCAL, C

 

-함수형언어 : 수학적 수식과 같은 함수들로 프로그램을 구성하여 호출 / LISP

 

-논리형언어 : 논리학의 관계식과 같은 형태로 프로그램을 기술하는 언어 / PROLOG

 

자료형을 정해주는지에 따라 분류하기

-Dynamic typing : 자료형을 정해주지 않음 / Python, Ruby, JavaScript, PHP, Perl

-Static typing : 자료형을 정해 줌 / C, C++, Java, Kotlin

 

 

프로그래밍 언어 흐름

728x90
반응형
댓글