728x90
반응형
SMALL

과학 및 공학 분야에서 널리 사용되는 프로그래밍 언어 "Formula Translation"의 줄임말로, 초기에는 수치 계산과 과학적인 계산을 위해 개발되었다. 현재까지도 과학 및 엔지니어링 분야에서 널리 사용되고 있다. 포트란은 고성능과 수치 계산에 특화되어 있다.

수학적인 식과 알고리즘을 효과적으로 표현할 수 있는 기능을 제공한다. 과학적인 연구, 기상학, 우주 과학, 물리학, 엔지니어링 등 다양한 분야에서 포트란을 사용하여 복잡한 계산과 모델링을 수행할 수 있다.

포트란은 강력한 수치 연산 기능을 제공하며, 배열(array)과 행렬(matrix)을 다루는 기능도 내장되어 있다. 이를 통해 대량의 데이터를 처리하고 계산할 수 있습니다. 또한, 포트란은 고성능 컴퓨터 시스템과의 연동이 용이하며, 병렬 처리 및 벡터 연산을 지원하는 기능도 갖추고 있다.

포트란 언어의 문법은 비교적 단순하고 명확하며, 코드의 가독성을 높이는 데 중점을 두었다. 또한, 다양한 라이브러리와 툴킷이 존재하여 포트란을 활용한 프로젝트 개발이 용이하다.

최신의 포트란 언어인 포트란 90, 95, 2003, 2008, 2018 등은 이전 버전과 비교하여 다양한 기능과 향상된 문법을 포함하고 있다. 이는 프로그래밍의 편의성과 성능을 향상시키는 데 도움을 준다.

요약하면, 포트란은 과학과 엔지니어링 분야에서 사용되는 고성능의 수치 계산과 과학적인 모델링을 위한 프로그래밍 언어이다. 강력한 수치 연산 기능과 컴퓨터 시스템과의 연동성을 제공하며, 코드의 가독성과 효율성을 추구한다.

728x90
반응형
LIST

'CS > 프로그래밍 언어' 카테고리의 다른 글

베이직(BASIC)  (0) 2023.05.29
코볼(COBOL)  (0) 2023.05.29
고수준 언어와 어셈블리 언어의 차이점  (0) 2023.05.26
컴파일러  (0) 2023.05.26
고수준 프로그래밍 언어(high-level programming language)  (0) 2023.05.26
728x90
반응형
SMALL

고수준 언어와 어셈블리 언어의 차이점

모두 프로그래밍 언어이지만, 그들의 추상화 수준, 사용 용이성, 이식성 등 여러 측면에서 중요한 차이점이 있다.

  1. 추상화 수준: 고수준 언어는 많은 수준의 추상화를 제공한. 이는 개발자가 프로그래밍 할 때 더 복잡한 작업을 단순한 명령문으로 수행할 수 있게 해준다. 반면에 어셈블리 언어는 저수준 언어로, 하드웨어에 가까운 명령을 사용한다. 이는 더 세밀한 제어를 가능하게 하지만, 동시에 코드를 작성하고 이해하는 것을 더 복잡하게 만든다.
  2. 사용 용이성: 고수준 언어는 일반적으로 코드를 작성하고 이해하는 것이 더 쉽다. 이는 고수준 언어가 일반적으로 사람이 이해하기 쉬운 형식과 문법을 사용하기 때문이다. 반면에 어셈블리 언어는 특정 CPU 아키텍처에 대한 깊은 이해를 요구하며, 문법이 사람이 이해하기 어렵다.
  3. 이식성: 고수준 언어로 작성된 프로그램은 일반적으로 여러 플랫폼에서 실행될 수 있다. 이는 고수준 언어가 특정 하드웨어나 운영 체제에 의존하지 않도록 설계되었기 때문이다. 반면에 어셈블리 언어로 작성된 프로그램은 특정 CPU 아키텍처에 맞게 작성되므로, 다른 아키텍처에서는 실행되지 않을 수 있다.
  4. 효율성: 어셈블리 언어는 저수준에서 동작하기 때문에, 필요한 경우 최적화를 위해 사용될 수 있다. 하지만, 이는 프로그래머가 하드웨어에 대한 매우 깊은 이해를 가져야 한다는 것을 의미한다. 반면에 고수준 언어는 자동화된 메모리 관리, 오류 검사 등의 기능을 제공함으로써 프로그래머의 작업을 단순화하지만, 이러한 편의성은 때때로 성능에 부정적인 영향을 미칠 수 있다.

요약하면, 고수준 언어는 개발자의 편의성과 코드의 이식성에 중점을 두고 있으며, 어셈블리 언어는 효율성과 세밀한 제어에 중점을 두고 있다. 그러나 최신 고수준 언어의 컴파일러는 상당히 효율적인 기계 코드를 생성할 수 있으므로, 대부분의 경우에는 어셈블리 언어를 직접 사용할 필요는 없다.

728x90
반응형
LIST

'CS > 프로그래밍 언어' 카테고리의 다른 글

베이직(BASIC)  (0) 2023.05.29
코볼(COBOL)  (0) 2023.05.29
포트란(Fortran)  (0) 2023.05.29
컴파일러  (0) 2023.05.26
고수준 프로그래밍 언어(high-level programming language)  (0) 2023.05.26
728x90
반응형
SMALL

컴파일러

  • 고수준 프로그래밍 언어로 작성된 소스 코드를 컴퓨터가 이해할 수 있는 저수준 언어(일반적으로 기계어 또는 바이트 코드)로 변환하는 소프트웨어 도구이다. 이 변환 과정을 "컴파일"이라고 한다.

컴파일러는 일반적으로 다음과 같은 두 단계로 작동한다:

  1. 전처리 및 구문 분석 단계: 이 단계에서 컴파일러는 소스 코드를 읽고, 구문을 분석하여 추상 구문 트리(Abstract Syntax Tree, AST)라는 내부 표현을 생성한다. AST는 소스 코드의 구조와 의미를 반영하며, 이 단계에서 문법 오류가 발견되면 컴파일러는 오류 메시지를 출력한다.
  2. 코드 생성 및 최적화 단계: 컴파일러는 AST를 기계어나 바이트 코드와 같은 저수준 코드로 변환한다. 이 과정에서 컴파일러는 다양한 최적화를 수행하여 생성된 코드가 가능한 효율적으로 실행될 수 있도록 한다.

컴파일러의 주요 장점 중 하나는 소스 코드를 한 번 컴파일하면, 결과로 생성된 실행 파일은 별도의 컴파일 과정 없이 바로 실행할 수 있다는 것이다. 이는 인터프리터와 대조적인 점으로, 인터프리터는 소스 코드를 라인별로 해석하고 실행하기 때문에 실행 시마다 해석 과정이 필요하다.

또한, 컴파일러는 코드 최적화를 통해 프로그램의 실행 속도를 높이는 데 중요한 역할을 한다. 하지만 반대편으로는 컴파일 과정이 인터프리터에 비해 시간이 더 걸릴 수 있다.

컴파일러의 예로는 C의 GCC, Java의 javac, Python의 PyPy 등이 있다.

728x90
반응형
LIST

'CS > 프로그래밍 언어' 카테고리의 다른 글

베이직(BASIC)  (0) 2023.05.29
코볼(COBOL)  (0) 2023.05.29
포트란(Fortran)  (0) 2023.05.29
고수준 언어와 어셈블리 언어의 차이점  (0) 2023.05.26
고수준 프로그래밍 언어(high-level programming language)  (0) 2023.05.26

+ Recent posts