Windows보다 Linux를 사용하면 이점이 있나요?

Windows보다 Linux를 사용하면 이점이 있나요?

저는 Linux를 더 많이 사용하고 싶습니다. 모든 프로그래밍과 개발은 모두 Windows에서 이루어졌습니다. 하지만 Windows보다 Linux를 사용하는 것의 핵심 이점이 무엇인지 궁금합니다. Windows에서는 할 수 없지만 Linux에서는 무엇을 할 수 있나요?

답변1

다음 사항 중 상당수는 모든 POSIX 운영 체제와 기타 여러 대체 OS에 동일하게 적용됩니다.

  • 파이핑, 리디렉션 및 백그라운드 프로세스를 갖춘 강력한 터미널 에뮬레이터입니다. 기본 쉘인 bash는 일상적인 시스템 관리에 사용할 수 있는 프로그래밍 언어입니다. 많은 사람들이 IDE 대신 터미널과 텍스트 편집기를 사용하기로 선택했을 정도로 DOS보다 훨씬 더 강력합니다.
  • Linux는 다양한 유형의 프로세스 간 통신을 제공합니다. 소켓, 공유 메모리, 파이프, FIFO 등
  • Linux의 포크 실행 모델을 사용하면 동시 프로그램을 더 쉽게 작성할 수 있습니다.
  • distro마다 조금씩 다르지만 자동화된 설치 스크립트를 생성할 수 있는 표준화된 파일 시스템 레이아웃입니다.
  • 위의 이유 때문에 새로운 라이브러리와 프로그램 및 해당 종속성을 자동으로 설치하는 패키지 관리자입니다. Windows에서는 대부분의 라이브러리를 수동으로 설치해야 합니다.그리고컴파일러를 구성하십시오. Linux에서는 "apt-get install" 또는 "yum install" 또는 "emerge "(각각 Debian/Ubuntu, Fedora 및 Gentoo의 경우)를 입력합니다. 이는 대량 소비가 가능한 소프트웨어를 배포하는 좋은 방법이기도 합니다.
  • 무료로 지속적인 업데이트가 가능합니다. OS 업그레이드 비용을 지불하지 마십시오.
  • 더 나은 커뮤니티 및 커뮤니티 지식. Linux 프로그래머는 A) 소스를 읽고, B) 훨씬 더 가까이에서 작업하고, C) 내부 작동에 대한 더 많은 참조 자료를 찾을 수 있기 때문에 OS가 수행하는 작업에 대해 더 많이 알고 있습니다. 그들은 또한 메일링 리스트, 포럼, 이와 같은 웹사이트를 통해 더 많은 의사소통을 합니다. 오픈 소스 소프트웨어는 Linux에서 명백해지며 우리는 코드를 공유하는 것을 좋아합니다.
  • 더 나은 문서화. 특정 프로그램을 실행하는 방법을 모르시나요? "남자"를 입력하세요. C 함수의 동작을 알고 싶으십니까? "man" 또는 때로는 "man 3".
  • 맞춤화. 커널을 포함하여 무엇이든 사용자 정의할 수 있습니다. 데스크탑 GUI를 변경할 수 있으며 타일링 창 관리자를 사용해 볼 수도 있습니다. 대부분의 배포판에서는 ext4, XFS, JFS, Reiser 등을 포함한 여러 가지 파일 시스템 중에서 선택할 수 있습니다. 이는 또한 Linux 사용자가 OS에 대해 더 많이 알 수 있도록 도와줍니다.

답변2

가장 큰 장점은 특정 공급업체에 얽매이지 않는다는 점이라고 생각합니다. 예를 들어 GNU C가 마음에 들지 않으면 Clang을 사용할 수 있습니다. Apache가 마음에 들지 않으면 lighttpd, Nginx, cherokee 등을 사용하십시오. 특정 기술 스택 중 극소수의 부분만이 대안을 허용하지 않습니다.

벤더에 얽매이지 않는 것의 단점은 표준, 서면 표준이 거의 모든 것에 대해 존재한다는 것입니다. 이는 "독점 세계"에서 온 사람이 상상할 수 있는 것보다 더 큰 이점입니다. 사람들은 서면 표준을 사용하여 문서를 작성합니다. 사람들은 (적어도 대부분) 작성된 표준을 준수하는 코드를 작성합니다. 대형 소프트웨어 공급업체는 *기침*BEA*기침*을 하는 경향이 있으므로 아무도 당신 밑에서 카펫을 꺼내지 않습니다. 버그 수정을 거부하는 프로젝트는 결국 "포크"되고 대체되므로 립서비스 *기침*OOXML*기침*을 제공하기보다는 실제로 표준을 준수하는 경향이 있습니다.

답변3

나는 항상 내 친구에게 Linux가 개발자를 자식처럼 대한다고 말합니다. 프로그램을 라이브러리와 연결하는 것은 정말 쉽습니다. 사용할 수 있는 훌륭한 편집기가 많이 있고(vi, emacs, Code::Blocks, Geany...), bash는 놀라울 정도로 유연합니다(처음에는 사용하지 않을 것입니다) 하지만 시작하면 몇 가지 작업이 얼마나 더 쉬운지 알게 될 것입니다.) 원할 경우 기본적으로 모든 코드를 편집할 수 있습니다.

하지만 나에게 가장 중요한 것은 패키지 관리자입니다(Fedora의 경우 yum, ubuntu의 경우 apt, Arch의 경우 pacman). 패키지 관리자는 설치하고 설치하려는 모든 소프트웨어 및 라이브러리의 모든 종속성을 확인합니다. 모든 업데이트에 대해 업데이트를 확인합니다. 그것은... 일반적으로 당신의 삶을 더 쉽게 만듭니다.

Windows에는 기본적으로 그런 것이 없습니다.

또한 Linux는 POSIX와 호환됩니다. 이는 다른 POSIX 호환 OS(FreeBSD, OpenBSD, OpenSolaris, Mac OS/X 등)용 크로스 플랫폼 소프트웨어를 만드는 것이 더 쉬워야 함을 의미합니다. 거의 모든 Linux 라이브러리는 표준입니다(Windows에는 MFC 또는 DirectX와 같이 Linux에서만 작동하는 매우 구체적인 구현이 많이 있습니다). 따라서 Windows용 소프트웨어 버전을 만드는 것도 그리 어렵지 않습니다.

관련 정보