프로그래밍 언어

이은택·2021년 8월 26일
0

개발공부

목록 보기
1/13

컴퓨터

  • 사람대신 계산을 해주는 기계

프로그램

  • 컴퓨터에게 일을 시키기 위해 필요한 명령

프로그래밍 언어

  • 컴퓨터가 사람이 의도한 명령을 알아 들을 수 있게 쓰는 언어

프로그래밍 언어 분류

  • ❗객체지향 유무, ❗자료형 유무, 고수준 저수준

객체

  • 하나의 객체에 함수와 데이터로 코드를 묶을 수 있음

'❗top-down

  • 하나의 프로젝트를 만들때 만들어야 되는 기능들을 팀원과 분할후 다시 합칠때 하나의 코드만 문제가 되도 프로그램이 돌아 가지 않음? 이건 다시 공부해야될듯 객채지향 프로그램언어가 아닐 경우 이런 식으로 한다는 건가?

❗bottom-up

  • 객채지향 프로그램 언어일 경우 데이터와 함수를 한 코드 블록으로 묶어서 만들기 때문에 한 기능이 문제가 생겨도 다른 객채에 영향을 주지 않는 그런식?

언어에 자료형이 있는 이유?

  • 자료형이 있는 언어라면 자료형이 없는 언어보다 코드가 정밀 해지기 때무에 안정적이다? 자료형이 없는 python 같은 경우에는 런타임때 datatype이 지정이 되기 때문에 이부분에서 에러가 발생하면 찾기 힘들다.

dynamic typing

  • 자료형 유무
    • no
  • 장점
    • 로직 가독성, 초간단,
  • 단점
    • 실행시간이 static typing보다 상대적으로 오래걸림, 런타임시 데이터 타입으로 인한 오류가 생기면 해당 데이터가 어떤 데이터 타입인지를 볼 수 없기 때문에 에러를 고치는데 오래 걸림,

static typing

  • 자료형 유무
    • yes
  • 장점
    • 자료구조로 인한 런타임시 에러 발생 방지, 프로그램 실행 속도 상대적으로 빠름, IOT에 사용되는 열악한 컴퓨터 부품의 한계를 최고의 성능으로 끌어 올릴 수 있음
  • 단점
    • 컴퓨터가 더 알아 먹기 쉽게 쓰는 언어인 만큼 하나하나 지정해 주어야 할 것이 많아 개발자로서 프로그램을 만드는 생산성이 떨어질 수도 있음. 한마디로 컴퓨터보다 개발자가 할 일이 더 많아 진다.

high level language and low level language

  • 인간 친화적 아님 컴퓨터 친화적
  • 인간이 고생 컴퓨터가 고생 차이라고봄
  • 퀀텀컴퓨터 나오면 저수준 언어 안쓰려나?
profile
도전!

0개의 댓글