[2020 정보처리기사 실기 - 프로그래밍 언어 활용] 2. 언어 특성 활용...
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
[2020 정보처리기사 실기 - 프로그래밍 언어 활용] 2. 언어 특성 활용...
* 프로그래밍 언어의 발전 과정
- 1960년 이전 : ASSEMBLY, FORTRAN, LISP
- 1960년대 : COBOL, PL/I, BASIC
- 1970년대 : PASCAL, C, SMALLTALK, PROLOG
- 1980년대 : ADA, C++, PERL, PYTHON
- 1990년대 : RUBY, JAVA, JAVASCRIPT, PHP, VISUAL BASIC
- 2000년대 이후 : C#, SCALA, GO, CLOJURE, CEYLON, KOTLIN, DART 등
*프로그래밍 언어 유형
1) 개발 편의성
-저급 언어 : 기계가 이해할 수 있도록 만든 언어
추상화 수준이 낮고 프로그램 작성이 어려움
저급 언어에 능숙한 개발자는 매우 효율적으로 프로그램을 작성할 수 있음
기계어, 어셈블리어
-고급 언어 : 개발자가 소스코드를 작성할 때 쉽게 이해할 수 있도록 작성된 언어
번역하는 과정이 필요하며, 컴파일러 또는 인터프리터로 이용
C, C++, C#, JAVA, PYTHON
2) 구현방식
- 절차지향 언어 : 기계가 이해할 수 있도록 만들어진 언어/ 추상화 수준이 낮고 프로그래밍이 어려움
- 객체지향 언어 : 개발자가 소스코드를 작성할 때 쉽게 이해할 수 있도록 작성된 언어/ 번역 필요, 컴파일러와 인터프리터 사용
- 함수형 언어 : 수학적 수식과 같은 함수들로 프로그램을 구성하여 호출하는 방식의 언어 / Lisp, Scalar, Clojure, haskell
- 논리형 언어 : 규칙에 대한 활성화 조건이 만족되면 연관된 규칙이 실행하는 구조
이론과 관계 규칙에 의해 원하는 결과를 얻음 PROLOG
3) 실행방식
- 컴파일 방식 : 고급 언어를 기계어로 변환, 실행에 필요한 정보가 컴파일 시간에 계산되어 실행 속도가 높음
C, C++, PASCAL, FORTRAN
- 인터프리터 방식 : 고급언어를 명령어 단위로 하나씩 번역하고 실행, 프로그램 실행 시 계산
JAVASCRIPT, PROLOG, LISP, PYTHON
- 혼합형 : 고급 언어를 컴파일하영 중간 언어로 변환 후 인터프리터에 의해 번역 실행
JAVA
* 절차적 프로그래밍 언어
장점 : 코드의 재사용, 프로그램 흐름 파악, 모듈화 및 구조화
1) 프로시저와 모듈성
크고 복잡한 프로그램을 작성할 때 모듈성은 필요, 모듈성은 프로시저에 어떤 형태의 입출력이 이뤄지는지 명확한 규칙을 정해서 구현
- 매개변수 반환값 : 입력은 주로 인수의 형태로 문법적으로 지정하고, 출력은 결과값으로 지정
- 유효범위 : 프로시저가 모듈성을 잘 지킬 수 있게 해줌. 프로시저가 다른 프로시저의 변수에 접근하거나 그 반대의 경우를 막아줌
서로다른 장소에서 같은 이름의 변수를 사용하여 혼동되는 것을 막아주고, 다른 프로시저의 영역을 침해하는 것을 막음
- 명시적 허가 : 명시적인 허가 없이는 방금전의 자기 자신의 변수에도 접근할 수 없음
- 약 결합 : 변수가 프로그램의 부분들 사이에서 독립적 관계에 있다면 모듈성을 강학함
2) 절차적 프로그래밍 언어 사례
- C : 정규화된 표준 C라이브러리를 이용한 프로그래밍 언어로, 유닉스 시스템의 바탕 프로그램은 모두 C로 작성됨
- 포트린 : 주로 과학적인 계산을 하기 위해 시작된 프로그램 언어
- 알골 : 알고리즘 연구개발에 이용하기 위한 목적으로 만들어진 알골계 언어의 총칭
- 베이직 : 교육용으로 개발되어 언어 문법이 쉬운 절차적 언어
3) 절차적 프로그래밍 언어와 객체지향 프로그래밍 언어의 비교
프로시저 단위가 아닌, 객체 단위로 재사용이 가능한 객체지향 언어의 장점을 부각시키기 위해 자주 비교
- 절차적 프로그래밍
데이터 기능 : 기능과 데이터가 분리
변경 용이성 : 프로그램 변경이 어려움
개발 용이성 : 프로그램의 구성요소가 실세계를 추상화. 프로그램 어려움
재사용 단위 : 프로시저
-객체지향 프로그래밍
데이터 기능 : 하나의 객체에 데이터, 기능 통합
변경 용이성 : 용이함
개발 용이성 : 프로그램 구성 요소가 실세계와 일치
재사용 단위 : 객체
(이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받을 수 있습니다.)
from http://snnchallenge.tistory.com/71 by ccl(A) rewrite - 2020-03-25 09:20:09
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
댓글
Why You Should Play Baccarat At My Las Vegas Casino
답글삭제Baccarat is one of the most popular poker and baccarat 메리트카지노 variations 인카지노 in the casino. The game is hands down the best game of poker in 바카라 사이트 terms of