대부분의 Linux 프로그램이 C로 작성된 이유는 무엇입니까?

대부분의 Linux 프로그램이 C로 작성된 이유는 무엇입니까?

대부분의 Linux 프로그램이 C로 작성된 이유는 무엇입니까? 최신 C++로 작성되지 않은 이유는 무엇입니까?

답변1

이에 대해 많은 논의가 있었습니다. 주로 철학적인 이유 때문입니다. C는 애플리케이션 개발이 아닌 시스템 개발을 위한 간단한 언어로 개발되었습니다. C++ 사용에 대한 많은 인수가 있지만 C++ 사용에 대한 인수도 많습니다.아니요C++를 사용하고 C를 고수하세요.

결국 이것은 역사적인 질문이다. 대부분의 커널 항목이 C로 작성되었기 때문에 대부분의 애플리케이션 항목은 C로 작성되었습니다. 그 이후로 대부분의 내용은 C로 작성되었으며 사람들은 원래 언어를 사용하는 경향이 있습니다.

이때 누군가가 이렇게 묻습니다."알았어, 그럼 왜?핵심C++로 포팅하지 않고 C로 작성되었나요? ". 이 논의되었습니다커널 트랩에전자. 이 스레드에서 인용할 수 있는 좋은 설명은 다음과 같습니다.요시314에서(직접 인용):

이는 거의 모든 C++ 애플리케이션을 실행하려면 별도의 C++ 표준 라이브러리가 필요하기 때문입니다. 그래서 그들은 그것을 커널로 포팅해야 하고 모든 곳에서 추가 오버헤드를 예상해야 합니다.

C++는 더 복잡한 언어입니다. 즉, 컴파일러는 C++에서 더 복잡한 코드를 생성합니다. 이 때문에 C에서는 코드 오류보다는 컴파일러 오류로 인해 문제가 발생한다는 사실을 더 쉽게 찾을 수 있습니다.

C 언어는 또한 더욱 기본적이며 어셈블리 표현을 따르기가 더 쉽습니다. 이는 종종 매우 예측 가능합니다.

c++가 더 일반적이지만, 낮은 수준이나 임베디드 작업에는 c가 더 좋습니다.


반면에 "대부분의 Linux 프로그램"은 상당히 오해의 소지가 있습니다. 그래픽 애플리케이션을 살펴보세요. Python은 특히 Linux의 GUI 환경에서 점점 인기를 얻고 있습니다. Windows와 .NET에서도 같은 일이 발생합니다.

답변2

Linux 제작자 Linus Torvalds의 다음 이메일을 읽은 후. 위의 답변이 틀렸다고 생각하지 않을 수 없습니다. 그는 C++ 프로그래머가 좋지 않다고 생각하는 것 같습니다.체계프로그램 제작자. 또한 C++의 추가 기능은 단기적으로 발생하는 것보다 장기적으로 더 많은 문제를 일으키는 경향이 있습니다. 일부는 그의 견해에 동의하지 않을 수도 있지만 그가 Linux 운영 체제에 미친 영향은 아무리 강조해도 지나치지 않습니다.

http://harmful.cat-v.org/software/c++/linus

답변3

C 사용에 관한 기술적인 주제 다음에는 Linux 시스템의 분산화, Windows는 엄격하게 중앙 집중화되어 있다는 것(AD 등)이 있다고 생각합니다. Linux는 전 세계 많은 사람들에 의해 만들어졌으며 AD와 같은 도구는 없습니다. OpenLdap이 있지만 Linux에서는 모든 프로그램이 독립 실행형 응용 프로그램으로 실행됩니다. 물론 역사적 이유가 가장 중요하다. Linux가 Object C++로 작성되었다면 누가 객체 애플리케이션의 보안에 관심을 가질지 상상할 수 없습니다.

관련 정보