왜 리눅스 커널은 C언어 작성되었는가?

|

  리눅스의 커널이 C언어로 작성되었다는 사실은 IT를 하는사람이라면 누구나 알고 있는 상식입니다.

그렇다면 왜 그럴까요? 저 같은 경우 IT를 처음 배울 때 C언어를 사용하여 커널을 작성하는것이 기술적으로 이득을 보는 점이 많기 때문이라고 배웠습니다. 이를테면 호환성이 좋기 때문이라거나, OS를 어셈블리로만 작성하기에는 양이 방대하며, 그렇다고 Java와 같이 VM을 이용하는 언어를 사용하기에는 오버헤드가 크기 때문에 그 중간단계에 해당하는 C언어가 적당하다는 얘기도 들었지요.


그래서 구글링을 해보았습니다.


글의 제목은 다음과 같았습니다.




굳이 왜 C++로 안했는지 궁금했던 것은 아니지만, 어쨋든 왜 C인지에 대한 답이기 때문에 답변을 쭉 읽어봤습니다.



[답변 1]


 기본적으로 리눅스 개발자인 "리누스 토발즈"가 C++을 싫어하기 때문이라고 합니다.

다른 글들도 읽어보니, 결론은 C++만 싫어하는게 아니라, C를 제외한 모든 언어를 싫어한다고 봐도 무방합니다...

리눅스의 아버지이기에 그의 C에대한 고집이 괴팍해보이기 보다 애정으로 느껴지는군요...


 혹시 다른의견이 있는지 궁금해서 계속 읽어봤습니다.



[답변 2]



 아니...?! ㅋㅋㅋㅋ

다른 의견은 개뿔이나. 심지어 더 심각한 답변 발견...ㅋㅋㅋㅋㅋ

It's made more horrible by the fact that a lot of substandard programmers use it.

일단 이 문맥에서 숨이한번 턱! 막혔습니다 ㅋㅋㅋㅋㅋ.

C++을 사용하는 사용자가 얼마나 많은데, 그 모두를 싸잡아서 통째로 비난을 하다니...

심지어 말뿐인 키보드 파이터가 아니라, 무려 리눅스의 아버지가!!ㅋㅋㅋ

바로 다음 문장은 거의 킬링파트 ㅋㅋㅋㅋ

to the point where it's much much easier to generate total and utter crap with it.

총체적(total)이고 utter(완벽한) 쓰레기를 C++로는 더욱 생산하기 쉽다...ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

그의 언어구사 능력에 무릎을 탁~치고 말았습니다...... 프로그램 언어만 잘하는게 아니군요?! ㅋㅋ 일반적인 언어능력도 대단하신듯 합니다..


 아 물론 답변2에 해당하는 이글은 질문자가 리눅스 커널을 왜 C언어로 작성했는지 물은것이 아니라, 리누스 토발즈의 또 다른 작품인 Git의 코드가 왜 C언어로 작성돼있는지 질문한 글입니다. 하지만 문맥은 일맥상통하지요...

결론은 리누스가 C언어 말고 다른언어는 지독하게 싫어하는 것 이였습니다....ㅋㅋ


앞으로 누군가에게 리눅스 커널을 설명할 때, 구차하게 효율성이니 성능이니 하는 설명은 더이상 안해도 돼서 매우 행복합니다~ ㅋㅋ

그냥 "리누스가 싫어함 ㅇㅇ ㅅㄱ" 이 한마디면 모든것이 만사형통~


그럼 이만 글 마치겠습니다.

아~ 참고로 번역이 잘못된 부분이 분명 있을텐데, 의미는 통하게 번역했으니 애교로 넘어가주세요 ^^!~~




And