Windows용 ActivePerl 또는 StrawberryPerl 중 어느 것을 선택해야 합니까?
저는 펄이 완전히 생소하지만, 한번 써보고 싶습니다.Windows 플랫폼에서 사용할 수 있는 두 개의 경쟁 배포판에 대해 읽었습니다(다른 OS에는 Perl만 있는 것 같습니다:)
위키피디아에 따르면 스트로베리 펄에는 CPAN 모듈을 컴파일할 수 있는 추가 개발 도구가 포함되어 있습니다.꽤 괜찮은 것 같아요.
또한 ActivePerl에는 PPM으로 설치하기 쉬운 사전 패키지 모듈이 많이 있다고 합니다.그것도 좋은 것 같아요!
그 둘 사이에는 분명한 절충점이 있습니다.그리고 궁금해요:시작하려면 무엇을 선택해야 합니까?제가 어느 쪽을 얼마나 힘들게 선택하면 다른 쪽으로 이주하는 것입니다.
저는 두 배포판을 몇 주 동안 실행했습니다.저는 사실 좋은 점인 두 가지 모두를 좋아했습니다!이것들 중 어느 것도 잘못될 수 없습니다.ActivePerl을 사용하게 된 것은 오프라인 설명서가(in HTML) 함께 제공되기 때문입니다. 이동 중이거나 항상 연결되어 있지 않은 사람들에게 훌륭한 생명의 은인입니다.항상 온라인 상태가 아닐 때 휴가 중에 Perl 언어를 시작하는 것은 매우 쉬웠습니다.
Strawberry Perl은 적어도 그 이상은 아닙니다.그래서 저도 완전 추천해드릴 수 있어요.그리고 펄은 정말 아름다운 언어입니다. 그것은 매우 아름다운 언어입니다.한 번 해보세요!
Strawberry Perl은 CPAN을 사용합니다. 즉, 모듈에 관한 한 최신 상태입니다.CPAN에 항목이 추가되면 즉시 액세스할 수 있습니다.또한 딸기 펄은 MinGW와 함께 제공되므로 딸기 펄은 수정 없이 CPAN에서 직접 꽤 많은 XS 모듈을 사용할 수 있습니다.은 MinGW와 함께 됩니다.gcc
,make
,ld
모듈을 구축하는 데 도움이 되는 기타 도구.Strawberry Perl은 PPM(Perl Package Manager 파일)을 설치할 수 있는 몇 가지 모듈도 함께 제공된다고 생각합니다.
ActivePerl은 PPM(Perl Package Manager)이라는 자체 형식을 사용하여 모듈을 설치합니다.공식 리포지토리는 ActiveState에서 호스팅합니다.대부분의 인기 있는 모듈에 대한 PPM을 찾을 수 있으므로 모호하거나 정말 새로운 패키지를 찾는 경우가 아니면 문제가 없을 것입니다(따라서 PPM은 일반적으로 CPAN보다 뒤처지기 때문에 최첨단 패키지는 작동하지 않습니다).CPAN 모듈보다 설치하기 쉽지만 PPM은 Windows용으로 특별히 생성되므로 일부 CPAN 모듈은 Unix 관련 작업을 수행하기 때문에 작동하지 않습니다.
저는 전에 두 가지를 모두 사용해 보았는데 대부분의 경우에 효과가 있는 것 같습니다.하지만 저는 환경이 유닉스에 가까워서 비호환성이 많지 않기 때문에 딸기 펄을 선호합니다.반면에 ActivePerl은 Windows용으로 만들어져 Windows와 매우 잘 작동합니다.
또 다른 옵션은 Cygwin과 함께 제공되는 Cygwin 및 Perl을 설치하는 것입니다.저는 그것을 전에 해본 적이 있고 그것은 상당히 잘 작동합니다.CPAN에 액세스할 수도 있습니다.
당신에게 가장 적합하다고 생각하는 것을 고르세요.
Vivin Paliath의 유용한 답변에 대해 조금만 더 자세히 설명합니다.
활성 Perl / PPM 전문가:사용자 버전에 대한 PPM이 있으면 간단히 작동합니다.
활성 Perl / PPM 제한:항상 PPM이 있거나 적어도 항상 최신 PPM이 있는 것은 아닙니다.
딸기 펄 / CPAN 전문가:저장소는 CPAN이며, 타사에서 관리하는 바이너리가 아닙니다.작성자가 새 모듈을 릴리스하면 작성자가 의도한 빌드 시스템을 사용하게 됩니다.
딸기 펄 / CPAN 단점:Windows 도구로 모든 것이 완벽하게 구축되는 것은 아닙니다.
딸기 펄/CPAN 완화 요인:Strawberry 개발자들은 모든 것이 순조롭게 진행되고 가능한 한 많은 CPAN을 사용할 수 있도록 정말 열심히 노력합니다. 그리고 모듈이 문제 지점(Windows에서 빌드하기는 어렵지만 다른 인기 있는 모듈/애플리케이션에 필요함)으로 확인되면,모든 사용자가 설치할 수 있도록 작성자와 함께 모듈을 수정하거나 예외적인 경우에는 자신만의 수정 프로그램을 적용하여 모듈을 Strawberry Perl 또는 Strawberry Perl Professional과 함께 번들합니다.
저는 딸기 펄을 선호합니다.ActivePerl이 하려고 하는 것은 감사하지만 개발 과정에서 병목 현상이 발생하고 있다고 생각합니다.커뮤니티가 모여 Strawberry Perl을 구축하여 Windows를 Perl 생태계의 "첫 번째 세계"로 만들기 전에는 이러한 기능이 필요했지만 이제는 필요하지 않습니다.
몇 년 동안 둘 다 사용해 본 결과, 적어도 저에게는 ActivePerl이 훨씬 편리한 선택이라고 생각합니다.ActivePerl에 포함된 PPM 설치 관리자를 사용하면 CPAN에서 사용할 수 있지만 Windows용으로 준비 및 테스트된 거의 모든 유용한 Perl 모듈에 액세스할 수 있는 대체 PPM 저장소를 추가할 수 있습니다.이것은 결국 저에게 훨씬 더 나은 (그리고 더 강력한) 선택이었습니다.Windows 버전의 Apache HTTP 서버의 경우에도 사전 컴파일된 mod_perl(2.0.4) ppm을 사용할 수 있으므로 ActivePerl 5.12.1 및 Apache 2.2.15에서 즉시 사용할 수 있습니다.
Windows 7(ActivePerl에서는 브레인이 아니며, ppm을 클릭하고 설치를 선택)에 DBI + DBD:: mysql을 설치하려고 시도한 후 딸기 펄을 떨어뜨린 것 같습니다.
하지만 지금쯤이면 해결될지도 모릅니다.그리고 딸기 펄이 설치되는 디렉토리를 선택할 수도 있습니다(저는 선택하지 못했습니다).
BTW: Inline 또는 XS 자료를 직접 컴파일하려면 MinGW 컴파일러를 ppm 단위로 설치하면 됩니다(그렇게 하지는 않았지만 흥미로워 보입니다).
부록: 아래 설명을 읽은 후 Strawberry Perl을 다시 확인했는데 5.12.0 릴리스(실제 버전)의 표시된 기능인 설치 디렉터리를 변경할 수 있습니다.이를 통해 액티브 펄과 비교한 스트로베리 펄의 한 가지 중요한 단점(IMHO)을 해결될 것입니다.
Strawberry Perl은 접근 방식에서 더 Unixy하며, 저는 항상 그것과 함께 일할 때 매우 행복했습니다.
그러나 ActivePerl은 맞춤형 패키지 관리 시스템 때문에 제가 작업할 때 엄청난 고통을 겪었습니다.엔터프라이즈 환경에서는 이 문제가 중요합니다.
그냥 장난치는 거라면, IMO, 딸기 펄이 더 낫습니다./주관적
둘 다 훌륭하고 똑같이 일합니다.Strawberry Perl은 XS 모듈을 빌드할 수 있는 것으로 알려져 있지만, Visual Studio SDK(또는 무료 Express 버전)를 설치하기만 하면 ActivePerl로도 빌드할 수 있습니다.
따라서 Visual Studio에 액세스할 수 있는 경우 소스에서 Perl을 빌드하고 동일한 컴파일러로 모듈을 계속 빌드하는 것이 최선입니다.그것은 사실 컴파일러/모듈을 혼합하는 것보다 더 나은 생각입니다.
ActiveState를 사용하는 경우 한 가지 고려해야 할 사항:인터넷을 사용하는 서버에 설치하는 경우 비즈니스 라이센스(Ron Warshawsky가 명시한 대로 서버당 $1000)를 구입해야 합니다.이는 작동하지 않는다는 것을 의미하는 것이 아니라 EULA의 요구사항일 뿐입니다.많은 사람들이 이 사실을 모르고 해당 라이센스를 구입하지 않고 인터넷을 사용하는 서버에 설치합니다.
ActivePerl은 Community Edition에서 수많은 모듈을 제외하고 있으며 Windows 환경에서 모듈을 구축하는 것은 매우 어려운 일입니다.
또한 최신 버전만 무료로 다운로드하여 사용할 수 있습니다.5.8.8 또는 이전 버전의 모듈에 대한 액세스와 같은 기타 모든 것은 비즈니스($1000/년/서버) 또는 엔터프라이즈 에디션(견적당)입니다.
완벽한 세상에서, 저는 가장 많은 POSIX/UNIX 유사 시스템(Cygwin의 Windows 포크 에뮬레이션이 아닌 실제 Copy-on-Write 포크 포함)을 제공하기 때문에 데비안-interix 또는 pkgsrc-interix Perl(Interix/SFUA와 함께 제공되는 고대 Perl이 아님)을 선택할 것입니다.
과거에 설치한 적이 있지만(여기 Windows 컴퓨터에 설치되어 있음) 모든 사람이 Perl용 SFU/SUA를 설치할 수 있는 것은 아닙니다.이러한 경우 주로 Windows 사용자에게 친숙한 인터페이스(PPM 그래픽 셸 대 CPAN)와 Perl Dev Kit(PerlExe, PerlNET, PerlSvc 및 친구)를 위해 ActivePerl을 권장합니다.
또한 다른 사람들이 답변한 것과는 달리 필요한 경우 CPAN(및 CPAN 쉘)을 ActivePerl과 함께 사용할 수 있습니다(PPM을 통해 필요한 개발 도구를 먼저 설치해야 함).
Larry Wall이 Strawberry Perl을 사용한다면 당신도 사용해야 합니다.;)
응용프로그램을 올바르게 설계하면 어떤 것을 선택하든 상관이 없습니다.
중요한 점은 각 모듈이 제공할 수 있거나 제공하지 않는 다양한 모듈의 버전일 수 있습니다.PPM 패키지는 CPAN 릴리스보다 뒤처질 수 있지만 주의하지 않으면 최신 CPAN 릴리스가 이전 버전과의 호환성을 손상시킬 수 있습니다.또한 때때로 Strawberry Perl에서 제대로 빌드되지 않는 것에 대한 PPM 패키지가 있을 수 있습니다(모듈이 종종 잘못 설계되었음을 의미하지만).
사용하는 모듈의 버전만 알고 있으면 어떤 모듈을 선택하든 상관없이 문제가 없을 것입니다.
box.com 클라이언트를 사용하여 파일을 동기화하는 경우에는 (적어도 지금은) Strawberry Perl과 함께 사용하기를 원할 수 있습니다.그ppm
실행 파일이 Box.com DLL 파일 중 하나와 충돌합니다.GUI가 전혀 시작되지 않습니다("perl..."이라는 Windows 메시지가 표시됨)인터프리터가 작동을 중지했습니다.")또한 Box.com 클라이언트를 설치할 때 명령줄 버전의 ppm을 사용하는 데 간헐적인 문제가 있었습니다.
언급URL : https://stackoverflow.com/questions/3365518/should-i-choose-activeperl-or-strawberry-perl-for-windows
'programing' 카테고리의 다른 글
Meteor가 실행되는 동안 다른 클라이언트에서 Meteor의 MongoDB에 액세스하려면 어떻게 해야 합니까? (0) | 2023.05.06 |
---|---|
목표-C: id와 void의 차이 * (0) | 2023.05.06 |
PHP 스프레드시트로 매우 큰 스프레드시트 구축 (0) | 2023.05.06 |
고유 사용자 ID의 시퀀스를 저장하기 위한 MongoDB의 자동 증분 (0) | 2023.05.06 |
ASP의 컨트롤러에서 이진 파일을 반환하는 중입니다.NET 웹 API (0) | 2023.05.06 |