프로그래밍 언어(기계어, 어셈블리어, 고급 언어, 그리고 다양한 언어 종류)
프로그래밍 언어는 사람이 컴퓨터에게 원하는 작업을 전달하기 위한 표기하는 방법입니다. 이 표기법은 기계어, 어셈블리어, 고급 언어로 발전해왔으며, 각각의 발전 단계에서 다양한 언어들이 개발되었습니다. 이번 글에서는 기계어, 어셈블리어, 고급 언어 및 몇 가지 주요 언어 종류에 대해 알아보겠습니다. 이를 통해 프로그래밍 언어의 역사와 다양성을 이해할 수 있을 것입니다.(즉, 사람이 컴퓨터에게 원하는 내용을 표현하기 위한 방법으로 그 발전 단계에 따라 기계어, 어셈블리어, 고급언어로 구분 할 수 있음)
기계어
기계어는 컴퓨터의 CPU가 이해할 수 있는 이진수 코드로 표현됩니다. CPU 종류마다 고유한 기계어를 가지며, 예를 들어 “1001 0001 0001” 위치의 값을 누산기에 저장하라는 명령을 기계어로 표현할 수 있습니다. 기계어는 컴퓨터의 하드웨어와 직접적으로 상호작용하며, 사람이 이해하고 작성하기 어려운 언어입니다.
어셈블리어
어셈블리어는 기계어를 기호화 코드(mnemonics)로 대치한 언어입니다. 기계어의 이진수 코드를 읽기 쉽고 이해하기 쉬운 기호로 표현함으로써 프로그래머의 작업을 간편하게 만들어줍니다. 예를 들어 “LOAD Y”는 Y의 값을 누산기에 저장하라는 어셈블리어 코드입니다. 어셈블리어는 기계어에 비해 상대적으로 이해하기 쉽지만, 여전히 하드웨어와 밀접한 관련이 있습니다.
(예시 > ADD Z 누산기에 Z의 값을 더하라/ STORE X 누산기의 값을 X에 저장하라 )
고급 언어(다양한 언어들)
고급 언어는 사람이 읽고 쓰기가 쉬운 영어와 비슷한 구문을 사용하여 프로그램을 작성할 수 있는 언어입니다. 프로그래머가 기계의 세부사항을 몰라도 프로그램을 개발할 수 있게 도와줍니다. 예를 들어 “X = Y + Z”는 고급 언어로 표현된 덧셈 연산입니다. 고급 언어는 컴퓨터의 추상화를 제공하며, 프로그래밍 작업을 보다 편리하게 만들어줍니다. 주요 고급 언어로는 FORTRAN, COBOL, BASIC, C, C++, Java 등이 있습니다.
FORTRAN (FORmula TRANslation): 1957년에 IBM사에서 개발한 최초의 고급 언어입니다. 과학계산을 위한 언어로, 프로그램을 단순화된 영어 단어와 수학 공식으로 표현할 수 있습니다.
COBOL (COmmon Business Oriented Language): 1960년대 초에 개발된 언어로, 사무 작업을 위한 프로그램을 개발하기 위해 사용됩니다. 많은 급여, 회계 및 기타 업무용 소프트웨어는 여전히 COBOL로 작성되어 사용되고 있습니다.
BASIC (Beginner’s All-purpose Symbolic Instruction Code): 초보자가 배우기 쉬운 프로그래밍 언어로 개발되었습니다. 원래는 학생들에게 프로그래밍 언어를 가르치기 위해 만들어졌으며, 컴퓨터 업계에 소개된 후 중요한 프로그래밍 언어로 자리잡았습니다.
C 언어: AT&T 벨 연구소에서 개발된 시스템 프로그래밍용 언어입니다. 1970년대 UNIX 운영 체제 개발을 위해 만들어졌으며, 고급 언어이면서도 저급 언어의 특성을 가지고 있어 하드웨어에 가까운 프로그래밍이 가능합니다.
C++: AT&T 벨 연구소에서 C 언어의 기능을 확장하여 개발된 객체 지향 프로그래밍 언어입니다. C 언어의 기능에 객체 지향 프로그래밍 개념을 추가하여 보다 강력한 프로그래밍 기능을 제공합니다.
자바(Java): 1990년대에 선 마이크로시스템즈에서 개발된 객체 지향 언어입니다. 초기에는 인터넷 환경을 위해 개발되었으며, 이동 코드 실행을 지원합니다. Java 프로그램은 한 번 작성하면 어느 플랫폼에서나 실행될 수 있는 장점을 가지고 있습니다. (자바의 역사), (자바의 프로그램 개발 6단계), (소프트웨어 개발과정 5단계)
마치며
프로그래밍 언어는 기계어, 어셈블리어, 고급 언어로 발전해왔습니다. 기계어는 컴퓨터가 직접 이해하는 이진수 코드로 표현되며, 어셈블리어는 기계어를 읽기 쉽고 이해하기 쉬운 기호로 대치
되어 프로그래머의 작업을 편리하게 합니다. 고급 언어는 사람이 읽고 쓰기 쉬운 구문을 사용하여 프로그램을 작성할 수 있는 언어입니다. 이를 통해 프로그래머는 기계의 세부사항을 몰라도 프로그램을 개발할 수 있습니다.(요즘은 AI프로그램들을 활용한 코딩도 쉽게 가능하여 프로그램이 뚝딱 만들어지기도 합니다)
부록 – 스프링(spring)프레임워크 와 자바(Java)
이전 글 – Spring 프레임워크(경량, IoC, AOP를 통한 애플리케이션 개발의 혁신)
이전글 – 자바(Java) 프로그램 개발 6단계에 대해서 이해하기 쉽게 알아보자
이전글 – 자바(Java)의 다양한 버전에 대해 알아보자
이전글 – 자바(Java)의 역사
이전글 – 프로그래밍 언어의 종류
이전 글 – Spring, Hibernate(영속 객체 관리, Hibernate API, Session API)
3 thoughts on “프로그래밍 언어(기계어, 어셈블리어, 고급 언어, 그리고 다양한 언어 종류)”