프로그래밍언어론

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
>
최초 생성일 2024.10.11
15,200원
AI자료를 구입 시 아래 자료도 다운로드 가능 합니다.
새로운 AI자료
생성
다운로드

상세정보

소개글

"프로그래밍언어론"에 대한 내용입니다.

목차

1. 프로그래밍 언어의 발전
1.1. 1950년대 프로그래밍 언어: ALGOL
1.2. 1970년대 프로그래밍 언어: PASCAL
1.3. 1990년대 이후 프로그래밍 언어: JAVA

2. 프로그래밍 언어 문법 표현
2.1. BNF 표현
2.2. EBNF 표현
2.3. 구문 도표

3. 프로그래밍 언어 평가 기준
3.1. 작성력
3.2. 가독성
3.3. 확장성

4. 프로그래밍 언어 평가 사례: Python

5. 모호한 문법
5.1. 모호한 문법의 의미
5.2. 예시

6. 변수 정의 표기법: 배런의 표기법

7. 비지역변수와 자유변수
7.1. 공통점
7.2. 차이점

8. 추상화
8.1. 추상화의 의미
8.2. 제어 추상화
8.3. 자료 추상화

9. 참고 문헌

본문내용

1. 프로그래밍 언어의 발전
1.1. 1950년대 프로그래밍 언어: ALGOL

1950년대 프로그래밍 언어 ALGOL은 당시 기계에 종속되지 않는 프로그래밍 언어의 필요성이 증가하면서 등장하였다. 미국과 유럽의 공동 위원회가 International Algorithmic Language(IAL)를 개발하였고, 이후 ALGOL이라는 이름으로 변경되었다. 1958년 ALGOL58이 발표되면서 많은 사람들이 이를 이용하여 번역기를 만들어내는 성과를 거두었다. 그러나 FORTRAN의 IBM 투자로 완벽하고 에러 없는 언어가 개발되면서 ALGOL은 초안 형태에 그쳤다. 이후 1960년 ALGOL60이 개발되었다.

ALGOL은 과학기술 계산용 프로그래밍 언어로 산법을 나타내기 위한 알고리즘 언어이며, 문법 구조가 Backus-Naur Form(BNF)에 의해 기술되었다. BEGIN으로 시작해서 END로 끝나는 하나의 블록으로 구성되어 있고, 각 블록들은 선언부와 실행부로 나뉘어 구성된다. 블록 안에 여러 개의 블록을 작성할 수 있으며, 변수선언으로 이루어지는 BEGIN 블록과 서브프로그램 블록의 두 가지 유형이 있다. 단점은 어셈블리어처럼 데이터 처리의 다양한 융통성을 가지고 있지 않다는 것이다.


1.2. 1970년대 프로그래밍 언어: PASCAL

다른 프로그래밍 언어와 같이 약자로 된 이름이 아닌 수학자 파스칼의 이름을 따른 파스칼 언어는 컴퓨터 과학자인 니클라우스 위스(버트) 교수에 의해 제안 및 개발되었고 1971년에 작동되었다. 이는 전산학 교육용 언어로 유용하게 활용되며 자연어에 가깝게 설계되어있다.

파스칼 언어의 특징은 다음과 같다. 데이터 구성은 데이터 길이의 제약이 없고 다양한 형식 및 구조를 사용할 수 있다. if, then, else과 같은 조건문, do, while 같은 반복문 등 많은 제어구조를 가지고 있어 구조화 프로그램의 개념을 쉽게 적용 가능하다. 프로그램 헤더부분은 생략이 가능하고 사용하는 주변의 장치를 기술할 수 있다. 실행부에서 프로그램이 실행되는데, 프로그램의 논리적인 흐름을 제어하고 BEGIN에서 END까지 작성한다. 선언부 부분은 프로시져와 함수를 작성한다. 프로시져는 결과값을 리턴해주지않고, 반면 함수는 결과값을 리턴해준다. 다만 어셈블리어와 같이 데이터 처리의 다양한 융통성을 가지고 있지는 않다.


1.3. 1990년대 이후 프로그래밍 언어: JAVA

1990년대 이후 프로그래밍 언어인 JAVA는 1991년 미국 선마이크로시스템즈 사의 James Gosling에 의해 개발되었다. 처음에는 Oak라는 이름으로 탄생되었으나 1994년에는 커피의 속어인 JAVA로 이름을 바꾸었다. 초기에는 가전제품의 기능을 프로그램으로 제공 및 네트워크화 할 수 있도록 설계되었으며, 이후 자바애플릿을 이용해서 자료 검색 또는 멀티미디어를 통한 인트라넷, 게임, 광고, MIS, 교육 등 다양한 분야에서 응용되어 사용되고 있다.

JAVA는 작고 단순하며 효율적인 형태로 번역하여 실행되는 언어이다. C++의 에러가 되는 포인터와 GOTO문을 배제하고 예상치 못한 에러 등을 처리하는 방법을 제공한다. 비교적 타 언어에 비해 코딩을 간단하게 작성할 수 있고, 모든 것이 객체지향적이라 행동과 상태를 지닌다. 또한, 네트워크 분산환경도 지원하는 것이 TCP/IP 라이브러리가 기본적으로 들어가 있어서 분산환경에서도 자바를 실행할 수 있다는 장점이 있다.

실행에 있어서는 인터프리터 언어인데, 컴파일 과정을 기존 Basic 언어와 같이 한 라인씩 처리하는 인터프리터 방식을 사용한다. 컴파일 방식은 텍스트를 2진으로 만들면 런타임이 클래스 파일을 인터프리트하면서 실행되는 것이다. 이로 인해 2진 파일로 시스템에 무관하도록 하여 컴파일에 가까운 속도와 시스템 독립성의 장점을 가지게 된다. 언어 자체가 정말 강한데, 컴파일 할 때 에러를 막고 도구들이 명확하게 유형 선언을 할 수 있도록 하는 강력한 언어이다.

종...


참고 자료

https://gorm.tistory.com/
프로그래밍 언어론 교재 참조

주의사항

저작권 EasyAI로 생성된 자료입니다.
EasyAI 자료는 참고 자료로 활용하시고, 추가 검증을 권장 드립니다. 결과물 사용에 대한 책임은 사용자에게 있습니다.
AI자료의 경우 별도의 저작권이 없으므로 구매하신 회원님에게도 저작권이 없습니다.
다른 해피캠퍼스 판매 자료와 마찬가지로 개인적 용도로만 이용해 주셔야 하며, 수정 후 재판매 하시는 등의 상업적인 용도로는 활용 불가합니다.
환불정책

해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.

파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우