본문 바로가기

CS/프로그래밍언어론14

방송통신대학교 프로그래밍 언어론 요약 정리 및 연습 문제 1. 프로그래밍 언어 소개 프로그램이란 컴퓨터가 수행할 명령어를 순서대로 나열해 둔 것이며, 프로그래밍 언어는 프로그램 작성에 사용되는 언어이다. 프로그래밍 언어는 컴퓨터가 수행할 수 있고 사람이 읽을 수 있는 형태로 계산을 나타내는 표기체계이다. 프로그래밍 언어는 말이 아닌 글 형태로 사용되고, 엄밀한 규칙에 따라 정의되며, 주로 기계에 명령을 전달하는 단방향 언어이다. 언어는 우리의 사고 능력과 밀접한 관련이 있으며 프로그래밍은 우리에게 체계적으로 생각하는 방법을 가르쳐 준다. 프로그래밍 언어의 기본적인 기능은 작성력과 가독성, 실행 가능성으로 요약할 수 있다. 프로그래밍 언어는 추상화, 모듈화를 지원한다. 프로그래밍 언어는 기계적, 구조적, 가변적이라는 특성을 지닌다. 프로그래밍 언어는 추상화 수준.. 2023. 12. 5.
프로그래밍 언어 패러다임 1. 프로그래밍 패러다임 패러다임이란? 한 시대의 견해나 사고를 규정하는 양식, 규범, 체계 등을 통칭하는 말 토머스 쿤은 과학 분야의 발전에 따라 이전의 믿음과 체계가 흔들리고 새로운 체계로 대체되는 과정에 주목 패러다임의 전환 천동설 -> 지동설 프로그래밍 패러다임 프로그램을 작성하는 전형적인 방식 특정 언어에 종속적인 것이 아닌 프로그래머가 추구하는 프로그램 작성 방식 프로그래밍 패러다임의 변화 주어진 데이터에 어떤 연산을 어떤 순서로 할지 결정하는 것이 중요 -> 명령형 프로그래밍 패러다임 등장 복잡한 데이터 처리를 위해 데이터 처리 방식 자체를 잘 정리하는 것이 중요 -> 절차형 프로그래밍 패러다임 등장 데이터가 저장된 메모리를 관리하는 것이 어려운 문제로 대두 -> 함수형 프로그래밍 패러다임 .. 2023. 10. 9.
프로그래밍 언어의 평가 기준 요구사항 표현 풍부성 -> 프로그래머의 아이디어를 표현할 수 있어야 한다. -> 원하는 것을 작성할 수 있어야 한다. 유지 보수성 -> 어떤 변화가 생겼을 때 대처가 필요하다. 요구사항이 바뀌는 경우 대응해야 살아남을 수 있다. 실행 가능성 -> 컴퓨터에서 실행할 수 있어야 함 설계 원칙 규칙성 -> 언어의 기능이 잘 조합될 수 있어야 한다. -> 일반성, 직교성, 일관성 추상화 지원 -> 실세계의 대상을 추상화하여 나타낼 수 있고 이를 대상으로 어떤 연산을 수행할 수 있어야 함 -> 데이터 추상화, 제어 추상화, 추상 데이터 타입 정의 복잡도 제어 -> 복잡한 대상 및 처리 방법을 제어할 수 있어야 한다. -> 캡슐화, 모듈화 평가 기준 1 작성력 가독성 신뢰성 직교성 일관성 평가 기준 2 확장성 효율.. 2023. 10. 9.
메모리에 적재된 프로그램의 기계어 명령어 하나를 컴퓨터의 CPU가 수행하는 과정 컴퓨터 구조 cpu와 메모리, 저장장치 등이 BUS로 연결 다양한 입출력 장치도 BUS에 연결될 수 있음 기본적으로 컴퓨터에는 cpu, mem, hdd 등의 저장장치 등이 있다. 그 외의 부가 적인 저장장치등이 있다. 내부에 BUS라는 것이 존재해서, BUS를 통해서 데이터를 주고 받을 수 있다. 데이터들이 BUS를 통해서 메모리로 올라오고 CPU가 메모리의 내용을 작업 한다. 컴퓨터 동작 원리 전원: 운영체제 적재(저장장치 -> 메모리) -> 수행 CPU는 인출-해석-실행 주기를 반복하여 메모리의 명령어를 실행 컴퓨터를 켰을 때 -> 제일 먼저 저장장치에 있던 운영체제가 메모리에 올라온다. 사용자가 컴퓨터를 쓸 수 있는 환경을 만들어줌. 그 명령어들을 cpu가 처리하는데 세 가지 단계로 처리한다. ->.. 2023. 10. 9.