개인적으로 프로그램의 에러(Error) 에 대해서 Java, Spring Framework 등등의 API 언어에 대해서는 너무 호출 Class 가 에러 메세지로 많다고 생각을 했음.


그런데, 운영체제(OS) 가 프로그램이라는 것에 대해서 Low Level 에 대해 Linker 로써 의미가 있다고 생각을 하니까 조금 납득이 갔음.. 

 



프로그램 수준에서 컴퓨터(Computer) 의 Operation 을 생각하면 거의 C 언어처럼 동작을 하기는 할텐데, 


Memory 또는 캐시(Cache) 가 CPU or GPU 와 맞물려서 


Dispatcher 로써 Program 들을 Running 시키는데, 여기에서도 관리가 필요로 하고 


그렇다면 기본적으로 호환성에 대해서 Linker 가 필요로 하기는 함.. ㅇㅅㅇ.. 




그렇다면 Java, Python, C#, Javascript 등등의 Language 에 대해서 


Python 은 모르겠고, Java 는 JVM(자바 버추얼 머신), C# 은 CLR(공통 언어 런타임), Javascript 는 브라우저 엔진(V8 등등) 에서, 


링커(Linker) 가 Memory or Cache 단위로 Program 을 객체지향방식(OOP) 으로, 


메모리(Memory) 단위로 공통 Linker 를 지원을 해야하고, 


그 외의 Method 들도 동작(Operation) 에 대해서 공통 Linker 를 지원을 해야하고, 그 위에 


일반 API 에 대해서도 OOP 형식으로 Interface, Class, Method 등등의 다형성으로 Linker 를 지원을 해야하니까 공통성에 대해서 일부러 추상화를 


시켜야 하는 것이, 


장기적인 호환성 및 표준화가 가능한 공학물에 대해서는 필수인 것같음.. 




그래서 보통 프로그래밍을 배운다고 했을 때 말하던 언어를 무엇으로 선택하느냐? 를 제외한다면 나머지의 영역에 대해서는, 


공통 Linker 인 것이고 추상적일 수 밖에 없는 것같음.. 




수 많은 이러한 Linker 에 대해서는 구현은 어렵지가 않을 것같은 Set 임.. 그런데 Runtime CODE 가 기술적으로 되어서 받아들이기에 


기술적으로 많이 까다로운 듯.. Method 를 중심으로 역으로 예시를 들어서 어떻게 동작을 하는지? 를 살펴볼 것이, 


Runtime CODE 라서 앞서말한 것처럼 개인적으로 너무 난해하게 많은 것이 기타등등의 많은 CODE 들인 것같다... 


ㅇㅅㅇ..