728x90
반응형
1. 프로그래밍 언어란?
✅ 정의
- 프로그래밍 언어는 계산 과정을 기계가 읽을 수 있고 사람이 이해할 수 있도록 표현하는 표기법이다.
- 기계를 제어하는 수단이며, 사람이 프로그램을 작성하여 실행시키기 위한 도구이다.
✅ 프로그래밍 언어의 역할
- 새로운 아이디어를 표현하는 능력 향상
- 적절한 언어 선택 능력 배양
- 새로운 언어 학습 능력 향상
- 프로그램 구현의 효율성 개선
- 소프트웨어 및 컴퓨팅 기술 발전
2. 프로그래밍 언어를 배우는 이유
✅ 프로그래밍 언어 학습의 필요성
- 언어의 구조와 개념 이해
- 이론을 기반으로 다양한 언어를 깊이 이해할 수 있음.
- 새로운 프로그래밍 언어를 학습하고 설계하는 능력 배양.
- 적절한 프로그래밍 언어를 선택하여 문제 해결 가능.
- 언어 처리 기술의 이해
- 컴파일러, 인터프리터 등의 언어 처리 기술을 이해할 수 있음.
- 자연어 처리, 프로그래밍 언어 이해, 프로그램 분석 등에 활용.
- 컴퓨팅 기술의 발전과 연관
- 객체지향 프로그래밍, 엣지 컴퓨팅, 인공지능과 같은 최신 기술과 밀접한 연관.
3. 프로그래밍 언어의 주요 패러다임
✅ 프로그래밍 언어의 종류와 특징
- 명령형(Imperative) / 절차형(Procedural) 언어
- 예: C, Pascal, Fortran
- 명령어를 순차적으로 실행하는 방식.
- 변수, 반복문, 조건문 등을 이용한 전통적인 프로그래밍 방식.
- 함수형(Functional) 언어
- 예: LISP, Scheme, ML, Haskell
- 수학적 함수 개념을 기반으로 상태 변화 없이 프로그램을 실행.
- 논리형(Logic) 언어
- 예: Prolog
- 논리 규칙을 기반으로 질의(Query)에 대한 답을 도출하는 방식.
- 객체지향(Object-Oriented) 언어
- 예: C++, Java, Python, Smalltalk
- 데이터와 해당 데이터를 조작하는 메서드를 하나의 객체로 묶어서 설계하는 방식.
✅ 언어에 따른 사고 방식 차이
- 사용 언어에 따라 프로그래머의 사고 방식이 달라질 수 있음.
- 예를 들어, 객체지향 언어는 객체 단위의 사고를, 함수형 언어는 함수 조합을 중심으로 사고하도록 유도함.
4. 프로그래밍 언어의 역사
📌 1950년대: 고급 프로그래밍 언어의 시작
✅ FORTRAN (Formula Translation)
- 최초의 고급 프로그래밍 언어, 과학 및 공학 계산을 위해 개발됨.
- 주요 기능: 배열, FOR 반복문, IF 조건문 지원.
✅ COBOL (Common Business-Oriented Language)
- 비즈니스 및 금융 애플리케이션을 위한 프로그래밍 언어.
- 사람이 읽기 쉬운 문법을 강조.
✅ LISP (LISt Processor)
- 리스트 기반 프로그래밍 언어로 인공지능 연구에서 많이 사용됨.
- 재귀호출을 기본적으로 지원.
📌 1960년대: 프로그래밍 언어의 다양성
✅ Algol60
- 알고리즘을 기술하기 위한 강력한 범용 언어.
- Pascal, C, Modula-2 등의 현대적인 명령형 언어에 영향을 줌.
- begin-end 블록 구조 도입.
✅ PL/I
- FORTRAN, COBOL, Algol60의 장점을 결합한 범용 언어.
- 하지만 복잡성이 높아 오류 발생이 많음.
✅ Simula-67
- 최초의 객체지향 프로그래밍 언어.
- 시뮬레이션을 위해 개발되었으며, 객체와 클래스 개념을 처음 도입.
✅ BASIC
- 교육용 언어로 설계됨.
- 이후 Microsoft의 Visual Basic으로 발전.
📌 1970년대: 단순성과 새로운 언어의 추구
✅ Pascal
- 교육용 프로그래밍 언어로 개발됨.
- 블록 구조와 구조적 프로그래밍 개념을 강조.
✅ C 언어
- 유닉스 운영체제 개발을 위해 만들어진 시스템 프로그래밍 언어.
- 하드웨어와 밀접하게 동작하면서도 고급 기능 제공.
✅ Prolog
- 논리형 프로그래밍 언어로, 인공지능 및 자연어 처리에 사용됨.
✅ ML
- 함수형 프로그래밍 언어로, Pascal과 유사한 문법을 가짐.
- 강력한 타입 시스템을 제공.
📌 1980년대: 객체지향 프로그래밍의 등장
✅ Ada
- 미국 국방부(DoD)에서 개발한 강력한 프로그래밍 언어.
- 추상 자료형, 병행 프로그래밍, 예외 처리 기능 포함.
✅ Smalltalk
- 순수 객체지향 프로그래밍 언어.
- Ruby, Objective-C, Java 등에 영향을 줌.
- 최초로 **GUI(Graphical User Interface)**를 지원.
✅ C++
- C 언어를 확장하여 객체지향 프로그래밍(OOP) 기능 추가.
- 기존 C의 효율성을 유지하면서 클래스, 상속, 다형성 등을 제공.
📌 1990년대: 인터넷과 웹 프로그래밍 언어
✅ Python
- 인터프리터 방식의 언어로, 문법이 간결하고 가독성이 높음.
- 빅데이터, 인공지능, 교육용 프로그래밍 등에 널리 사용됨.
✅ Java
- 인터넷 환경을 위해 설계된 객체지향 프로그래밍 언어.
- 플랫폼 독립성 (JVM 사용).
- 웹, 모바일 애플리케이션 개발에서 널리 사용됨.
✅ JavaScript
- 웹 애플리케이션의 클라이언트-사이드 프로그래밍을 위해 개발됨.
- Node.js 등장 후 서버 프로그래밍에도 활용.
📌 2000년대 이후: 최신 프로그래밍 언어
✅ C#
- 마이크로소프트에서 Java를 모방하여 개발한 닷넷( .NET ) 기반 언어.
✅ Scala
- 객체지향과 함수형 프로그래밍을 결합한 다중 패러다임 언어.
✅ Swift
- Apple이 개발한 언어로, 기존 Objective-C를 대체하기 위해 설계됨.
5. 결론
- 프로그래밍 언어의 발전은 소프트웨어 개발 패러다임 변화와 밀접하게 연관됨.
- 객체지향, 함수형, 논리형 언어가 발전하면서 더 효율적이고 직관적인 코드 작성 가능.
- 앞으로도 인공지능, 빅데이터, 클라우드 컴퓨팅 환경에 맞춘 새로운 언어들이 지속적으로 등장할 것.
728x90
반응형
'프로그래밍 언어(PL)' 카테고리의 다른 글
프언 ch5) Concepts of Programming Languages (0) | 2025.04.10 |
---|---|
프언 ch3) 프로그래밍 언어의 구문 및 의미론 (0) | 2025.03.24 |
프언 ch2) 프로그래밍 언어 개념 및 평가 기준 (0) | 2025.03.24 |