728x90
반응형

✅ 프로그래밍 언어

: 컴퓨터가 수행할 수 있고 사람이 읽을 수 있는 형태로 계산을 나타내는 표기 체계

출처: 한국방송통신대학교

 

 

 

🔸 프로그래밍 언어의 기본 기능

  • 작성력: 프로그래머의 의도를 나타낼 수 있도록 하는 기능
  • 가독성: 프로그램을 쉽게 해독할 수 있도록 하는 기능
  • 실행 가능성: 컴퓨터에서 실행될 수 있도록 하는 기능




🔸 프로그래밍 언어의 부가 기능

  • 추상화: 어떤 대상을 간략하게 추려 나타내는 방법
  • 모듈화: 복잡한 대상을 나누어 구성할 수 있는 방법




🔸 프로그래밍 언어의 특성

  • 기계적: 기계적으로 처리할 수 있어야 함 => 엄밀한 규칙에 따라 정의
  • 구조적: 복잡한 구조를 나타낼 수 있어야 함 예) 자료 구조, 제어 구조
  • 가변적: 시대의 필요에 따라 바뀔 수 있음 예) Python: 명령형 언어 → 객체지향 개념 탑재




🔸 프로그래밍 언어 스트럼

  • 저급 언어: 기계에 종속적인 언어 예) 기계어, 어셈블리어
  • 고급 언어: 기계 독립적으로 정의되고 실행될 수 있는 언어 예) C, Java, Python 등




🔸 프로그래밍 언어의 구성 요소

  1. 데이터: 자료를 프로그램이 처리할 수 있는 형태로 나타낸 것 예) 수, 문자, 문자열, 멀티미디어 등
  2. 연산: 데이터 처리 방법으로 연산 적용 후 새로운 데이터를 결과로 얻음
    • 원시연산: 언어가 기본적으로 제공하고 있는 연산
    • 사용자정의연산: 프로그래머가 추가로 정의한 연산
    • 라이브러리: 사용자가 자주 사용할 만한 연산을 미리 정의해둔 것
  3. 명령어: 특정 작업을 지시하는 단어 예) if, while 등
  4. 서브프로그램(=서브루틴): 전체 프로그램을 이루는 작은 코드 블록에 이름을 붙인 것
    • 함수: 연산 수행 결과 값을 반환하는 서브프로그램
    • 프로시저: 결과 값을 반환하지 않는 서브프로그램
  5. 타입: 데이터의 집합과 연산 집합을 합친 개념으로 연산의 안전성 보장을 위해 필요
    • 타입 안정성: 함수 f의 타입이 f(x):A→B라면 모든 aA 에 대해 f(a)B 여야 함
    • 강타입 언어: 타입 오류를 모두 검출하는 언어
    • 약타입 언어: 일부 타입 오류를 허용하는 언어 예)
    • 무타입 언어: 타입 선언문도 없고 어떤 대상의 타입이 계속 변경될 수 있는 언어
  6. 모듈
    • 독립적인 프로그램 구성단위로 서브프로그램도 모듈의 일종
    • 내부와 외부를 구별하며 독자적인 이름 공간을 차지
    • 변수, 함수, 타입 등 프로그래밍 언어에서 제공하는 거의 모든 것을 포함하는 단위

 

728x90
반응형

+ Recent posts