대부분의 Linux 배포판에서 Perl이 기본적으로 설치되는 이유는 무엇입니까? 배포판에서 Perl이 기본적으로 설치되는

대부분의 Linux 배포판에서 Perl이 기본적으로 설치되는 이유는 무엇입니까?



답변

당신의 관점에 따라 대답은 섹시하지 않습니다.

펄은 매우 유용합니다. 많은 시스템 유틸리티가 perl로 작성되었거나 perl에 의존합니다. Perl을 제거하면 대부분의 시스템이 제대로 작동하지 않습니다.

몇 년 전 FreeBSD는 Perl을 기본 시스템 의 종속성 으로 제거 하기 위해 많은 노력을 기울였습니다 . 쉬운 일이 아니었다.


답변

래리 벽의에서 원래 펄 v1.0을 게시 받는 comp.sources.misc의의 1987년 12월 18일에 뉴스 그룹, 그는 말했다 :

일반적으로 sed 또는 awk 또는 sh를 사용하는 문제가 있지만 그 기능을 초과하거나 약간 더 빨리 실행해야하고 C로 바보 같은 것을 쓰지 않으려면 perl이 적합 할 수 있습니다.

A의 훨씬 나중에 박람회 , 그는 더 조금 정교 :

그러나 유닉스 셸 프로그래밍의 좌절로 인해 Perl을 직접 만들었습니다. 그러나 본질적으로 쉘 스크립팅은 대부분의 동사가 제어하지 않으므로 서로 거의 일치하지 않는다는 사실에 의해 본질적으로 제한됩니다. 그리고 명사는 빈곤하고 문자열과 파일로 제한되어 있으며 누가 알았 을까요?

1 차원 유니버스라는 사고 방식이 더 파괴적이었습니다. C로 프로그래밍했거나 셸로 프로그래밍 한 것입니다. One Continuum의 반대쪽 끝에 있기 때문입니다. Perl은 스크립팅이 항상 프로그래밍의 반대라고 생각할 필요는 없지만 단일 언어는 두 가지 모두에 매우 유용 할 수 있음을 깨달았습니다. 그것은 거대한 생태 학적 틈새 시장을 열었습니다. 많은 사람들이 조작과 위축의 2 차원을 가진 나의 오래된 조개 껍질 도표를 보았습니다.

오늘날 Perl은 쉘 스크립팅 및 텍스트 구문 분석 요구에 대한 표준 대안 / 대체이며 기존 도구보다 훨씬 강력합니다. 펄은 극도의 유연성 (일부에서는 우아하지 않음)으로 인해 ” 스위스 스크립트 언어의 스위스 군용 전기 톱 “으로 묘사되었습니다 . Perl로 해결할 때 작업이 상당히 짧거나 쉬워 지거나 확장 가능할 수 있습니다. 많은 시스템 도구, 스크립트 및 더 큰 프로그램이 일상적으로 Perl로 작성됩니다. 따라서 현대 Linux 환경에서 Perl은 이제 또 다른 표준 Unix 도구이며 진정으로 없어서는 안될 도구입니다.


답변

  1. Perl은 도구가 충분히 강력하지 않기 때문에 Unix를 위해 개발되었습니다. 스포츠의 경우도 찾아보실 수 있습니다 awksed(펄) 거기에.
  2. Perl은 (다른 것들 중에서도) 유닉스 쉘에서 영감을 받았으며 C는 유닉스에 매우 중요합니다.
  3. 또한 Perl은 GNU 라이센스에 따라 배포 할 수 있습니다 . 어떤 사람들은 기술적 인 관점과 관련이 없다고 생각하지만 그것은 혼합을 보여줍니다.
  4. 내가 생각할 수있는 마지막 것은 네트워킹 “소프트웨어 번들”인 LAMP입니다. (Wkipedia에서 확인하십시오 : P는 Perl이거나 L은 Linux입니다. L은 Linux입니다.) (그러나이 마지막 지점은 약간 “치킨 또는 계란”입니다.)

답변

이 질문에 대한 답은 부분적으로 역사적이며 일부 실용적이라고 생각합니다.

역사에 관해서는 Perl은 고급 언어입니다. “더 나은”것이 무엇인지 알지 못하지만 (PHP는 말할 것도없이) Python보다 더 고급 스럽습니다. 그리고 Perl을 사용하거나 사용하는 고급스러운 사람들은 일반적으로 Linux 배포판의 일부를 결정하는 사람들입니다.

실용적인 점에 관해서는 Perl 여전히 OS와 웹 (Python 또는 PHP를 잊지 않는 LAMP)과 같은 많은 것들의 접착제입니다. 그렇다면 많은 목적에 유용한 것을 포함시키지 않는 이유는 무엇입니까? 그리고 더욱 더, 왜 제거 아무것도 있다는 것을 (그리고 어떤 해가 발생하지 않습니다), 그리고 유용하다?

그러나 최근에 The Linux Magazine (2013 년 6 월 151 호)의 최신호에 이에 대한 메모가 있습니다. 분명히 리눅스 커널을 컴파일하기 위해 몇 개의 짧고 간단한 Perl 스크립트가 사용된다. (다시 말해서, OS에서 Perl의 “접착제”역할) 커널 개발자 중 한 명이 이번에는 Perl이 아니라 “Unix shell scripts”라는 스크립트를 다시 작성하는 패치를 제출했습니다. sh?). 그렇게하면 커널을 컴파일하는 사람을 위해 Perl을 설치할 필요가 없습니다. 그러나 해당 패치 (여러 번 제출 됨)는 선택되지 않았습니다. 그리고 이것에 대한 한 가지 이유는 추위에 빠져 나간 Perl은 들어오지 않을 것입니다. Perl을 좋아하는 사람들은 그들과 헤어지기를 원하지 않습니다.

아주 적은 수의 Linux 사용자가 커널을 컴파일 할 가능성이 높기 때문에이 문제에 직면하게됩니다. 그러나 그것은 퍼즐의 또 다른 조각입니다 (그리고 나는 많은 것이 의심됩니다).