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

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

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

답변1

래리 월스에서는원본 Perl v1.0 릴리스도착하다comp.sources.기타1987년 12월 18일 뉴스그룹 메시지에서 그는 이렇게 말했습니다.

일반적으로 sed, awk 또는 sh를 사용하지만 해당 기능을 벗어나거나 조금 더 빠르게 실행해야 하는 문제가 있고 C에서 어리석은 내용을 작성하고 싶지 않다면 Perl이 적합할 수 있습니다.

안에훨씬 나중에 박람회, 그는 조금 자세히 설명했습니다.

그러나 Unix 쉘 프로그래밍에 대한 좌절감은 Perl의 탄생으로 직접 이어졌기 때문에 이에 대해 말할 시간이 없습니다. 그러나 본질적으로 쉘 스크립팅은 대부분의 동사가 제어 범위를 벗어나서 서로 크게 일치하지 않는다는 사실로 인해 본질적으로 제한됩니다. 그리고 명사도 문자열과 파일로 제한되어 매우 열악합니다. 어떤 유형인지는 알 수 없습니다.

훨씬 더 해로운 것은 그것이 1차원 우주라는 사고방식입니다. C로 프로그래밍하거나 셸에서 프로그래밍합니다. 왜냐하면 둘은 분명히 진정한 연속체의 반대쪽 끝에 있기 때문입니다. Perl은 스크립팅이 항상 프로그래밍과 반대되는 것으로 간주되지는 않지만 단일 언어가 두 가지 모두에 매우 유익하다는 것을 깨달았을 때 탄생했습니다. 이것은 거대한 생태학적 틈새 시장을 열어줍니다. 많은 분들이 조작적 차원과 채찍질 차원을 모두 포함하는 나의 오래된 플립 차트를 보셨을 것입니다.

오늘날 Perl은 쉘 스크립팅 및 텍스트 구문 분석 요구에 대한 표준 대체 도구가 되었으며 기존 도구보다 더 많은 기능을 갖추고 있습니다. Perl의 극단적인(어떤 사람들은 우아하지 않다고 말할 수도 있는) 유연성으로 인해 Perl은 다음과 같이 설명되었습니다.스크립팅 언어의 스위스군 전기톱". Perl을 사용하여 해결하면 작업이 훨씬 더 짧고, 더 쉽고, 확장성이 더 높아지는 경우가 많습니다. 많은 시스템 도구, 스크립트 및 대규모 프로그램이 Perl로 작성되는 경우가 많습니다. 따라서 현대 Linux 환경에서 Perl은 이제 또 다른 표준 Unix 도구이자 정말 없어서는 안될.

답변2

대답이 섹시한지 아닌지는 관점에 따라 다릅니다.

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

몇 년 전, FreeBSD가 이런 일을 겪었습니다.많은열심히 일했어Perl을 종속성으로 제거기본 시스템용. 이것은 쉬운 일이 아닙니다.

답변3

  1. Perl은 도구가 충분히 강력하지 않았기 때문에 Unix용으로 개발되었습니다. 스포츠의 경우 거기에서 awk및 (Perl) 을 찾을 수 있습니다.sed
  2. Perl은 무엇보다도 Unix 셸(그리고 Unix에 매우 중요한 C 또는 그 반대의 경우)에서 영감을 받았습니다.
  3. 반품,Perl은 GNU 라이센스에 따라 배포될 수 있습니다.. 어떤 사람들은 이것이 기술적인 관점에서는 중요하지 않다고 주장할 것입니다. 그러나 이는 혼성성을 보여줍니다.
  4. 마지막으로 생각할 수 있는 것은 네트워킹 "패키지"인 LAMP입니다. (Wikipedia에서 찾아보세요. P는 Perl이거나 최소한 Perl입니다. L은 Linux입니다.) (그러나 마지막 부분은 약간 닭고기와 계란이 필요한 문제입니다.)

답변4

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

역사적으로 볼 때 Perl은 우아한 언어입니다. Python보다 더 우아합니다(PHP는 물론이고). "더 나은" 것이 무엇인지는 모르겠습니다(만약 어떤 식으로든 공식적으로 분석할 수 있다면 의심스럽습니다). Perl을 사용하고 있거나 사용한 적이 있는 좋은 사람들이 Linux 배포판에 무엇이 포함되어야 하는지 결정하는 사람들인 경우가 많습니다.

실용성 측면에서는 Perl운영 체제와 네트워킹(역시 LAMP, Python이나 PHP를 잊지 마세요) 등 많은 것들에 대한 접착제입니다. 그렇다면 여러 목적에 유용한 것을 포함시키면 어떨까요? 게다가 왜?제거하다거기에 뭐든지 (해를 끼치 지 않을 것입니다)그리고그게 유용한가요?

그러나 공교롭게도 Linux Magazine 최신호(2013년 6월 151호)에 이에 대한 메모가 있습니다. 분명히 Linux 커널을 컴파일하기 위해 몇 가지 짧은 Perl 스크립트가 사용됩니다. (다시 말하지만, 운영 체제에서 Perl의 "접착제" 역할입니다.) 이제 커널 개발자는 이러한 스크립트를 다시 작성하기 위한 패치를 제출했습니다. 이번에는 Perl이 아니라 "Unix 쉘 스크립트"(이러한 것임)에서였습니다 sh. ). 이렇게 하면 커널을 컴파일하는 사람이 Perl을 설치할 필요가 없습니다. 그러나 여러 번 제출된 패치는 아직 채택되지 않았습니다. 한 가지 이유는 일단 무시되면 Perl이 수용될 가능성이 적기 때문입니다. 사람들은 Perl을 사랑하며 그것을 포기하고 싶어하지 않습니다.

이제 이는 이 문제의 가장자리에 불과합니다. 커널을 컴파일할 가능성이 있는 Linux 사용자의 수가 매우 적기 때문입니다. 그러나 그것은 퍼즐의 또 다른 조각입니다(그리고 더 많은 것이 있을 것으로 생각됩니다).

관련 정보