아직 공부를 시작한 지 얼마 되지 않은 학생으로, 정확하지 않은 정보가 포함되어 있을 수도 있습니다 :(
혼자 공부하고 기록하기 위해 이 글을 작성하였으며, 시중에서 판매하는 책과 여러 블로그의 글, 유튜브 영상, 학원 수업 내용 등을 참고하였습니다!
국비과정으로 웹개발을 배우는 비전공자이다 보니 기초과정을 생략하는 경우가 많다. (아쉽...)
실무에 바로 투입될 수 있는 인력을 양성해야 하니까 그럴 수밖에ㅠㅠ
하지만 기초를 모르니 이해가 더딘 한계가 나타난다.
지금도... Java에 대해 기본개념을 찾아보니 JVM이 나오고, JVM을 찾아보니 바이트코드가 나오고, 바이트코드를 찾아보니 저급언어와 고급언어가 나오는... (끝이 없다ㅋ.ㅋ)
음... 일단 저급언어와 고급언어가 무엇인지 알려면 프로그래밍 언어를 알아야 한다!
[프로그래밍 언어]
: 컴퓨터 언어는 0과 1로 이루어진 2진 코드(binary) 기계어이다.
인간은 컴퓨터의 언어를 이해할 수 없고, 컴퓨터는 인간의 언어를 이해할 수 없다.
하지만 인간은 컴퓨터와 소통하여 프로그램을 만들어야 하기 때문에 '프로그래밍 언어'가 존재한다.
프로그래밍 언어는 프로그램을 만들기 위한 수단으로 인간과 컴퓨터의 소통의 수단이다.
3천 여개 이상이 존재하지만 대부분 도태되었다고 한다.
정리하면, 프로그래밍 언어는 인간 언어와 기계 언어의 연결 다리(bridge)라고 할 수 있다!
그리고 이러한 프로그래밍 언어는 ★저급언어★와 ★고급언어★로 나뉜다.
[저급언어]
: 기계어에 가까운 언어이다. 대표적으로 어셈블리어 (assembly language)가 있다.
- 장점 : 저급언어는 컴퓨터에 가깝기 때문에 (컴퓨터 입장에서) 번역이 필요없어서 효율성이 높다.
- 단점 : 하지만 개발 속도 및 생산력은 떨어지는 언어이다. 사람이 배우기엔 배우 까다롭다는 단점도 있다.
[고급언어]
: 일반적으로 프로그래밍 언어라고 하면 고급언어를 의미한다. 고급언어는 컴퓨터와 대화할 수 있도록 만든 언어(프로그래밍 언어) 중에서 사람이 쉽게 이해할 수 있는 언어이다. 고급언어로 작성된 소스는 컴파일(compile) 과정을 통해서 컴퓨터가 이해할 수 있는 기계어로 변환된다.
- 장점 : 고급언어는 사람의 언어에 가깝기 때문에 생산력이 높다.
- 단점 : 하지만 효율성이 떨어지며, 번역 과정에서 놓치는 부분이나 과장된 부분이 생길 수 있다는 단점이 있다.
고급언어에는 대표적으로 C, C++, Java 등이 있다.
고급언어는 다시 절차지향과 객체지향으로 분류할 수 있는데, C언어는 대표적인 절차지향 언어이고 Java가 대표적인 객체지향 언어이다.
절차지향, 객체지향은 조만간 또 공부해야지 :)
'개발자되기' 카테고리의 다른 글
[eclipse] 이클립스 로그를 파일로 출력 (0) | 2020.10.13 |
---|---|
190429_ (0) | 2019.04.29 |