본문 바로가기

자바기초

프로그래밍 언어

프로그래밍 언어가 존재하는 이유 : 기계에게 일을 시키기 위해서.

 

기계에게 일을 시키려면 기계한테 말을 해야함. (기계어. 1세대 언어)
기계어 어려움. (오직 0과 1)
그래서 나온게 어셈블리어. (컴파일하면 기계어로 변환. 2세대 언어)
그러나 여전히 어려움.
이때 나온게 c언어. (컴파일하면 어셈블리어로 변환. 3세대 언어)

 

+

본래 컴퓨터는 계산을 위함이었는데 점점 관리까지 영역 확장.
관리의 핵심은? 모듈화(=객체화)
c언어는 객체화가 가능하긴 해도 이걸 도와주는 문법적 장치가 없음.(왜냐하면 단순히 어셈블리어가 어려워서 나온 것이기에.)
그래서 나온게 c++(=c언어+객체지향 문법(ex)class))

 

+

"메모리 관리"를 수동으로 해야할까?
하드 디스크 용량이 아무리 커도 렘이 맞춰주지 않으면 속도가 느린 것처럼,
메모리는 한정되어 있고 개발자는 이걸 잘 관리해야함. 근데 이걸 수동으로 하니까 메모리 누수가 발생.
이거때문에 가비지 컬렉터가 생김. 더이상 필요 없는건 알아서 빼줌
이걸 가지고 있는게 자바, c#
자바 = c++ + 가비지 컬렉터 - 메모리 다루는 기능(왜냐하면 메모리 정리 알아서 해주니까.)

 

+

여전히 기계 친화적인 언어. 이를 더 쉽게 한 것이,

4세대 언어 : 파이썬, 자바스크립트, PHP
(PHP는 범용언어가 아니라 웹개발을 위한 것.)

 

*
아직도 이전 세대의 언어를 사용하는 이유 : 속도.
컴 성능이 좋아지면 4세대 언어가 뜰 것.(언어의 속도를 고려하지 않을 수준으로 좋아진다면)

'자바기초' 카테고리의 다른 글

JVM  (0) 2020.04.23
컴파일  (0) 2020.04.23
bit & Byte  (0) 2020.04.23
Git(+Github)  (0) 2020.04.14
System.out.println  (0) 2020.04.14