Perl은 여전히 ​​유용하고 실행 가능한 언어입니까? [닫은]


77

나는 그것이 이전에 요청되었을 수도 있다는 것을 알고 있지만 여기에는 아무것도 없습니다 ...

Perl은 여전히 ​​유용한 것으로 간주됩니까? 누군가가 새로운 프로그래머라면 (프로그래밍에 완전히 새로운 경험이 있거나 몇 개월 / 몇 년의 경험이 있다면) Perl은 배울 가치가있는 것으로 생각 될 것입니까?

Perl은 여전히 ​​주파수와 함께 사용됩니까? 아직도 인기가 있습니까?

아니면 Perl이 Python, Ruby, PHP, ASP.NET 등과 같은 언어에 비해 죽어 가고 있습니까?

기본적으로 다음과 같이 요약됩니다.

  • 여전히 사용하고 있습니까 / 여전히 자주 사용됩니까? 그렇다면 죽어 가고 있습니까? 그렇지 않다면 다시 돌아올 것인가?
  • 배울 가치가있는 것입니까?
  • 인기와 유용성 / 생존 성면에서 파이썬과 같은 언어와 수요를 어떻게 비교합니까? Python이나 Ruby와 같은 언어가 Perl의 대체물로 간주 될 수 있습니까?

또한 최신 버전의 Perl은 실제로 Perl 커뮤니티를 크게 개선하고 다른 언어에 비해 Perl을 다시 중앙 무대로 가져올 것입니까?

편집하다:

좋아, 나는 여기에 더 나은 질문이 있다고 가정합니다.

펄은 여전히 ​​자라고 있습니까, 아니면 "죽고"있습니까? 아직도 배우고 사용할 가치가있는 언어입니까? 다른 언어에 비해 어떤 프로젝트가 실제로 "빛나고"있습니까? Perl을 선택하는 언어는 무엇입니까? 본질적으로 : Perl은 다른 언어에 비해 쓸모 없게됩니까? 그렇다면 언어가 바뀌거나 계속 될 것으로 예상하십니까?

그리고 지금까지 답변 한 모든 사람들에게 감사합니다. 토론은 정말 흥미 롭습니다!


12
TIOBE 에 따르면 루비와 심지어 JavaScript보다 여전히 상위 10 위 안에 든다 .
Daniel

답변:


60

우선, 명확성명확하게하는 것이 좋습니다 .

기업들은 Perl과 대화 할 때 Perl 5 에 대해 이야기하지만 깊이 생각하는 섬을 넘어 먼 땅 에서 설계위원회 부족은 여전히 Perl 6 의 거대한 석판을 요리하고 있습니다 . 하스켈과 신의 눈물에 의해 구동 )

그래, 오늘, Perl 5 는 무엇에 사용됩니까?

  • 레거시 웹 시스템 / 인트라 웹 -일부는 죽지 않습니다

  • 데이터 마이닝 / 통계 분석 -Perl 정규식 엔진은 약간 구식 이더라도 ( PCRE스핀 오프 라이브러리, 가능한 방법으로 그것을 채우고 기본 PHP엔진입니다) 여전히 간단한 분석에 좋습니다

  • UNIX 시스템 관리 -Perl은 항상 UNIX에 설치해야합니다.
    Mac OS X에서도 쉽게 사용할 수 있습니다.

  • 네트워크 프로토 타이핑 -많은 핵심 네트워크 전문가들이 펄이 모든 분노 일 때를 배웠습니다. 그들은 여전히 개념 증명 을합니다.

  • 보안 -많은 보안 전문가들도 빠른 프로토 타이핑이 필요합니다 . (그리고 빠른 자동 수정) Perl은이를 처리 할 수 ​​있습니다.

광범위한 CPAN 컬렉션은 프로토 타입을 다룰 때 매우 편리합니다 .
(배터리는 포함되어 있지 않을 수 있지만 여전히 선반에 있습니다 )

그러나 단점을 기억하십시오 .

  • Perl의 객체 지원은 어려워서 참조를 축복하고 객체 이름으로 거룩하지 않은 것을 한 다음 왜 모든 문제를 처음에 겪었는지 궁금합니다.
  • 다른 사람들의 Perl을 읽는 것은 공예 그 이상이며 과학 이며 고통스러운 것입니다.
  • 펄은 근사하다, 당신은 근사하다고 생각하게하고, 너는 근사하다고 느끼게하고, 프로그래밍 록 스타가된다 . 자, 일어나서 락스타들로 가득 찬 사무실 에서 일하는 것에 대해 생각해보십시오 . 그것은 "흔들리는 배" 입니다. 큰 변동이 예상됩니다.

19
@WorldEngineer는 동의했지만 최악의 사실은 펄에서 나온 루비는 전혀 멋진 느낌이 들지 않는다는 것 입니다.
ZJR

12
거기에는 단 하나의 단점 만 있습니다. 개인적으로, 나는 참고 문헌을 축복하는 것을 좋아하지만, 그렇지 않은 사람들을 위해 다른 언어가 그것을 복사하는 데 충분한 객체 시스템 인 Moose (CPAN)가 있습니다. 그리고, 나는 공허함을 좋아하지만 펄 세계에서 그 자체로 집착 한 많은 록 스타들을 만나지 못했습니다. Perl 커뮤니티에는 록 스타보다 훨씬 더 심각하고 훈련 된 개발자 (자유 시간에 락 아웃을 좋아하는 사람)가 있습니다. (코드를 작성하는 동안 여성이 팬티를 던지기 시작할 때까지는 록 스타 프로그래머가되는 것을 명시 적으로 거부합니다.)
Dave Sherohman

3
@johannes는 여전히 Van Rossum 법을 다루어야합니다. 법률 "Whenever you find a python executable preinstalled, it's the wrong version":"sometimes the right version is available, but it has the wrong name"
ZJR

2
Perl은 여전히 ​​생물 정보학 분야에서 상당히 크다.
dietbuddha

3
시스템 관리 +1 나는 유닉스 기반 OS가 perl을 포함하지 않는 것을 본 적이 없다. 심지어 사용자 영역에 Busybox를 사용하는 일부 임베디드 리눅스 OS에서도 보았습니다
Earlz

23

내 생각에, 거의 몇 년 동안 그것을 사용하지 않고 Perl과 다시 작업 한 후에는 그 어느 때보 다 낫습니다. Perl 5는 CPAN에서 굉장히 놀랍습니다. 심지어 OO조차도 할 수 있습니다. ( 현대 펄 살펴보기 )

펄 5는 죽지 않았다. Perl 웹 사이트와 CPAN을 살펴보면 Perl 6이라는 완전히 새로운 언어가 있습니다.

웹, 블로그 및 프레젠테이션에는 그것이 좋지 않은 이유와 그것이 가치가없는 평판이 나쁜 이유에 대한 많은 리소스가 있습니다. 이해하기 위해 사람들을 살펴보십시오.


7
내 생각에 CPAN은 어떤 모양의 바퀴가 필요하면 훌륭하지만 자동차 공장이 필요하면 덜 좋습니다.

@ ThorbjørnRavnAndersen CPAN은 어떤 모양의 바퀴가 필요하다면 훌륭합니다. 문제는 shape($wheel) == 'round' ? available_in_cpan($wheel) : false;유효한 필터가 아니라는 것입니다.
Jason Lewis

OO에 OO가 있다고해서 실제로 좋은 것은 아닙니다.
kirbyfan64sos

22

Perl이 여전히 진행하고있는 가장 중요한 것은 CPAN입니다. 미리 작성된 모듈이 너무 많아서 필요한 것을 쉽게 찾을 수 있습니다.

나는 펄을 배우지 않을 것이라고 말했다. 펄은 (나처럼) 이미 알고있는 사람들에게는 훌륭한 언어이지만, 파이썬 은 (외부인의 관점에서 볼 때) 펄이 " 이동 "언어입니다.


그리고 그것이 다른 언어에 비해 우월하다고 생각합니까? 아니면 다른 언어와 동등하게 만들 수 있습니까? 예를 들어 .NET 프레임 워크에는 다양한 유용한 메서드와 클래스가 포함되어 있습니다.
Bob

6
@Paul Tomblin-그것을 넣는 것은 다소 거친 방법입니다. "펄이 여전히 중요한 것은 ..."<-C / C ++의 주요 장점은 많은 소프트웨어가 여전히 작성되어 있다는 것입니다. 게다가, 그들은 쓰레기입니다.
Rook

Java가 많은 패키지를 가지고 있다는 것에 대해 똑같이 말할 수 있기 때문에 Idigas와 합의했습니다.
Izkata

1
문제는 "C ++ 또는 Java가 좋은 언어입니까?"가 아닙니다. 문제는 Perl이 여전히 실행 가능한지 여부였습니다. 그리고 여전히 Perl에서 웹 앱을 작성하는 데는 두 가지 이유가 있습니다. CPAN과 이미 작성한 수많은 코드가 있습니다.
Paul Tomblin

7
지금 시작한다면 아마도 파이썬을 사용했을 것입니다. 그러나 나는 Perl을 잘 사용하기 때문에 Perl을 사용합니다.
Paul Tomblin

19

몇 년 전에 Perl을 제 1 언어로 배우기로 결심했을 때, 여러 가지 요인이 결정에 도움이되었습니다.

  • 언어에 대한 좋은 참고 자료가 많이 있습니까?
  • 질문에 대한 도움을 쉽게 찾을 수 있습니까?
  • 다양한 인구가 언어를 적극적으로 사용하고 있습니까?
  • 목표 달성에 도움이되는 활동적인 프로젝트가 있습니까?

나에게 대답은 '예'였습니다. 저는 그래픽 디자이너입니다. 몇 년 전에 HTML과 CSS를 배웠지 만 고객이 웹 사이트에서 더 많은 것을 원한 후에 기술을 업그레이드해야했습니다. 나는 다양한 PHP 프레임 워크를 사용하여 실제로 프로그램을 배우는 버그를 주었다. 나는 많은 연구를 수행하고 템플릿 툴킷과 같은 잘 지원되는 프로젝트뿐만 아니라 Perl Dancer 및 Mojolicious와 같은 새로운 프로젝트를 발견했습니다. Perl과 함께 제공되는 문서는 출판물 라이브러리뿐만 아니라 매우 유용했습니다.

나는 펄 메일리스트가 초보자에게 매우 친숙하고 활동적인 것을 발견했다. PerlMonks에서는 전 세계 사람들이 다양한 응용 분야에 대한 질문과 답변을받습니다. 몇 가지 활성 Perl 뉴스 사이트, 블로그 및 스트림이 있습니다. 이 자료들은 Perl과 프로그래밍에 관해 많은 것을 가르쳐주었습니다.

물론, 그것은 나의 경험이다. 이 사이트에 얼마나 많은 사람들이 로그온했는지, 메일 목록에 가입하거나, 웹 애플리케이션을 구축하는 방법 (예 : Perl)을 정확히 알지 못합니다. 또한 처음에 다른 언어를 선택했을 때 경험이 얼마나 좋았거나 나빠 졌는지에 대해서는 언급 할 수 없습니다. 다른 언어의 공동체에서 동일한 긍정적 인 측면을 많이 찾을 수있을 것입니다. 나는 내가 한 선택에 여전히 만족한다고 말할 수있다.


필자는 기본 OS를 위해 Windows에서 Linux로 방금 전환했기 때문에 1996 년 Perl을 제 1 언어로 배웠습니다. Perl은 훌륭한 웹 언어는 아니었지만 (PHP는 Perl이 제공하는 모든 악의 순수한 증류이지만) bash 스크립트를 대체하는 것으로 환상적입니다. 사람들이은 총알 같은 것을 가장하려고 할 때 문제가 발생합니다.
Jason Lewis

16

언어의 인기는 그 실용성 또는 유용성과는 거의 관련이 없습니다. 펄은 여전히 ​​매우 유용한 언어입니다. 초보자에게 비우호적이라는 명성이나 가치가있는 다른 사람의 명성은 결국 아무도 그것을 도울 수 있다면 그것을 배우지 않을 것이라는 것을 의미했습니다. 더 이상 사용하지 않는 유일한 이유는 내가 아는 사람이 더 이상 사용하지 않기 때문입니다.


5
따라서 "더 이상 그것을 사용하지 않는 유일한 이유는 더 이상 내가 아는 사람이 더 이상 사용하지 않기 때문"이라고 말하지 않는 것입니다. 어쨌든, 그것은 내 질문의 요점이 아니며, 내가 정말로 알고 싶은 것은 Perl이 여전히 유용합니까? 언제 다른 언어보다 선택합니까?
Bob

1
Lanuages는 다른 사람들에게 표현의 수단으로 존재하며, 언어가 제공하는 가치에 얼마나 인기가 있는지는 제 생각에는 근거가 없습니다.
blunders December

4
이것은 매우 환경 기반입니다 ... * nix 시스템 관리자 인 경우 일반적인 작업을 수행하기 위해 선택하는 것은 Perl 대 sed + awk + grep + bash ...로 요약되며 Perl은 일반적으로 4 가지 구문을 기억하는 것보다 쉽습니다 일회성 스크립트.
Jason Lewis

12

기록을 위해, 나는 약 15 년 동안 Perl 5에서 프로그래밍을 해왔 기 때문에 약간 편향되어 있습니다. 나는 펄을 정말 좋아한다. naysayers의 말을 듣지 말고, 나이가 어떻게 든 선반 생활의 지표라고 생각하지 마십시오. Perl을 보는 가장 좋은 방법은 다른 언어와 비교하여 보는 것입니다.

  • PHP -PHP는 꽤 좋은 웹 프로그래밍 언어입니다. 나를 잘못 이해하지 마십시오. 그러나 웹 프로그래밍 언어 일뿐 입니다. 웹 애플리케이션조차도 프로세스를 정리하기 위해 cronjob이 필요하며,이를 위해서는 이상한 일을해야합니다. UNIX 관리자 용 빠른 스크립트를 작성하거나 텍스트 파일을 구문 분석하지 않아도됩니다. 또한 PHP에는 CPAN이 없습니다.

  • Ruby- 언어가 너무 새롭고 내 취향에 맞는 "스크립트 키디"입니다. Ruby에 대해 듣는 유일한 것은 Ruby on Rails입니다. Perl은 MVC 프레임 워크 인 Catalyst와 Dancer를 가지고 있지만이 언어의 초석은 아닙니다. 구직 요구 사항으로 "루비"를 곧 찾지 못할 것입니다. 또한 Ruby에는 CPAN이 없습니다.

  • 파이썬 -래리 월의 말에 따르면, 파이썬은 단지 뱀 오일입니다. 파이썬은 공백에 관심이 있으며 공백에 관심이있는 마지막 언어는 기본이었습니다. 또한 BASIC과 마찬가지로 기본적으로 사용하기 쉬운 초보자 언어로 설계되었습니다. 마지막으로 여기에는 CPAN이 없습니다.

  • Java -Java는 문제가있는 하위 언어입니다. 개념은 모든 플랫폼에서 실행되는이 가상 머신을 갖도록하는 것이었지만 대학 과정에서 언어의 인기가 높기 때문에 Java 응용 프로그램을 사용하지 말아야 할 곳마다 볼 수 있습니다. 예를 들어 사내 서버 기반 웹 응용 프로그램이 존재하지 않아야합니다. 사양 정의 된 단일 서버이며 메모리 사용량이 제한된 별도의 VM에 래핑됩니다. Java가 부풀어 오르고 CPAN이 없습니다.

  • C # -저는 실제로이 언어를 꽤 많이 사용하고 있으며, 그 언어와 사랑 / 증오 관계를 형성 한 것 같습니다. 다른 매개 변수로 메서드를 오버로드 할 수 있다는 것은 멋지고 재미 있습니다. 그러나 유형 캐스팅에 대한 모든 코드 줄에서 나쁜 언어를 원한다면 C #이 적합합니다. 세상에, 당신은 어디에서나 명시 적 캐스팅을하기를 원합니다! 수업은 재미 있지만, 실제로 실제 코드를 작성하는 것보다 제대로 된 언어를 작동시키기 위해 수업을 만드는 데 더 많은 시간을 소비한다는 것을 갑자기 깨닫게됩니다.

    또한 C #에는 .NET이 없습니다. .NET은 정말 훌륭하고 광범위합니다. 그러나 나는 여전히 자신의 모듈을 작성하고 저자에게 버그 또는 디자인 결함에 대해 불평 할 수 있기 때문에 CPAN을 더 좋아합니다. 그리고 그들은 모두 무료입니다. 또한 Perl은 앞으로 Perl.NET을 향해 노력하고 있으므로 오래 전에 Windows 응용 프로그램을 설계 할 수 있습니다.

펄은 훌륭한 언어입니다 :

  • 정규 표현식 -Perl이 잘 할 수있는 일이라면 텍스트 조작입니다. 그렇습니다. 많은 언어에는 정규 표현식이 있지만 Perl은 그 언어를 거의 발명했습니다. grep에 "Perl Regular Expression"모드가 있거나 Oracle에 "Oracle Regular Expressions의 Perl 영향을받는 확장"섹션이있는 이유가 있습니다. 내장되어 있으며 모듈이 필요하지 않습니다.

  • 유연성 -스칼라, 배열 및 해시의 세 가지 기본 변수 유형이 있습니다. 그게 다야. 그게 당신이 필요한 전부입니다. int, byte, string 또는 그 쓰레기가 없습니다. 펄은 그것을 잘 알아냅니다. 또한 메모리 누수에 대한 두려움없이 원하는 모든 참조를 사용하거나 전체 PC가 충돌 할 수 있습니다. 언어는 잘 작동합니다.

  • 이식성-Perl 은 웹에서 훌륭하게 작동합니다. UNIX에서 잘 작동합니다. 심지어 Windows에서도 잘 작동합니다. 단일 기능에 비둘기를 꽂아 두지 않았습니다. 그것은 모든 거래의 잭이지만 (대부분) 모든 것의 주인이기도합니다.

  • 작은 코드로 많은 작업을 수행하는 것이 쉽습니다 . 1K 빈 파일을 제공하면 해당 공간으로 모든 종류의 것을 쓸 수 있습니다. 펄 원 라이너조차도 커맨드 라인 파이프에 추가하는 것이 좋습니다.

  • CPAN- 나는 당신이 무엇이든 필요한 것을 찾는 것이 얼마나 좋은지 강조 할 수 없습니다. "무엇"이란 무엇입니까? Oracle, iPod, CSV, Adabas, Yaswi에 이르기까지 상상할 수있는 모든 데이터베이스 또는 사물에 대한 DB 모듈은 어떻습니까? 모든 기능을 갖춘 웹 서버는 어떻습니까? Excel 파일 리더, SNMP 모듈 또는 디버그 라인에 대한 주석을 읽는 모듈 또는 프로그래밍 속도를 높이는 모듈은 어떻습니까? 내가 지금하고있는 프로젝트는 동적 Terraria 맵 생성기를 작성하여 Games :: RolePlay :: MapGen이라는 기존 모듈에서 기능을 보강하고 있습니다. .NET은 결코 그런 것을 갖지 못할 것입니다.

    또한 CPAN을 통해 모든 모듈을 쉽게 설치할 수 있습니다. 데비안에서 가져 오십시오. CPAN에서 직접 설치하십시오. 의존성을 해결하는 데있어 apt-get만큼 좋은 일을합니다. CPAN에서 X 모듈을 설치하도록 sysadmin에 알리는 데 아무런 문제가 없습니다. 단순한 한 줄 명령이기 때문입니다.

그렇습니다. 결함이 있습니다. 그렇습니다. 편향되어 있지만 이미 부정적인 점을 너무 많이 들었을 것입니다. 그들은 오래 걸리지 않고 긍정적 인 것보다 중요하지 않습니다.


14
-1 주로 다른 언어가 CPAN보다 좋지 않은 도구를 가지고 있음을 인식하지 못합니다. 예를 들어 Maven Central for Java? CPAN보다 더 많은 아티팩트가 있으며 프로젝트 오브젝트 모델의 종속성 분석을 통해 자동으로 식별되므로 Maven 아티팩트를 설치하는 것은 라이너가 아닙니다. 또한 Ruby Gems에 대해서는 경험이 적지 만 CPAN과 거의 동일하다고 생각합니다.
mikera

8
PHP에는 PEAR가 있습니다. 웹 프로그래밍 언어 만이 아닙니다.
MattBianco

25
나는 당신이 약간 편향되어 있다고 말하지 않을 것입니다. 당신은 분명히 편견입니다. 나는 파이썬에 약간의 공백이 있고 Larry (여기서는 객관적인 소스가 아님)가 뱀 오일 표현을 사용했기 때문에 약간의 Python을 할 수 있다고 믿을 수 없습니다. 그리고 루비에 대한 직업 제안이 전혀 없습니까? 직업 시장은 언제 마지막으로 보셨습니까? 최소한 Perl의 자격 증명을 설정하려고 노력하십시오.
무하마드 알카로 우리

6
다른 언어에 대한 명백한 편견과 연구되지 않은 관점을 위해 -1. 나는 파이썬이 뱀 기름이라는 것에 동의하지만 Ruby == "script kiddie"는 터무니 없습니다. 내가 관리하는 서버에서 루비 기반 침입 시도를 본 적이 없습니다. 주로 파이썬입니다. PHP는 어떤 의미에서 허용되는 프로그래밍 언어입니까? 샤나 니건. C #에 대한 귀하의 의견은 타이핑 및 / 또는 객체 지향에 관한 놀라운 순진을 보여줍니다. 펄에게 붙어, 친구 진심으로, 나는 항상 첫 번째 '실제'프로그래밍 언어 였고 sysadmin 작업에는 훌륭하기 때문에 Perl을 좋아할 것입니다. 그러나이 대답은 나쁘지 않습니다.
Jason Lewis

8
+1 물론 Perl을 제외하고는 내가 사랑하거나 싫어했던 모든 언어를 없애기 위해. :-)
jpaugh

12

성능은 펄을 선택하는 주요 이유 중 하나입니다. Python, Ruby 또는 JVM 기반 스크립팅 언어와 비교할 때 번개가 빠릅니다.

이것이 데이터 마이닝 공간에서 대체되지 않은 이유입니다. 다른 모든 (공짜) 언어는 대량의 데이터를 처리 할 때 속도가 느립니다.


6
이 어설 션에 대한 지원 / 벤치 마크를 제공 할 수 있습니까? IT는 내가 Perl과 Ruby / Python에 대해 본 마지막 벤치 마크를 선호합니다. 후자의 대안적인 구현을 포함 할 때.
Jason Lewis

2
특정 릴리스 및 환경을 인용하지 않는 한 성능에 대한 언급은 일반화해야합니다. 많은 벤치 마크가 있습니다 -hentenaar.com/serendipity/index.php?/archives/… onlyjob.blogspot.com/2011/03/… 는 꽤 일반적입니다. 최신 버전의 루비는 매우 빠르지 만, 펄은 정기적 인 "성능 향상"릴리스를 제공하므로 문제가 없습니다. LUA가 모든 것을 능가합니다.
James Anderson

루아는 꽤 타 오르고 있습니다.
Jason Lewis

12

펄은 그 자리에 있습니다. "나쁜 평판"은 일반적으로 다른 도구로 수행해야하는 작업을 유연하게 수행 할 수 있기 때문입니다.

"무엇을 달성하려고합니까?이를 전달하기위한 적절한 도구가 있습니까?"라는 질문을 스스로에게 묻는다면 그때 당신은 그 길의 일부입니다.

빠른 스크립트를 작성하는 경우 스크립팅 언어를 사용하는 것이 좋습니다. 복잡한 응용 프로그램을 만들려면 Perl로 "작성"할 수 있지만 그렇게해서는 안됩니다.

그러나 귀하의 질문이 새로운 프로그래머와 관련이 있으므로 지금 당장 Perl을 떠나는 것이 좋습니다. 덜 유연한 언어에서 나쁜 습관을 덜 배우기 때문입니다.


3
그러나 Python은 빠른 스크립트를 만드는데도 완벽하게 사용할 수있는 옵션이지만 더 큰 프로그램을 만들기 위해 확장 할 수도 있습니다. Perl도 마찬가지입니까? 펄보다 파이썬을 더 좋게 만드는가?
Bob

@ 밥 : 나는 그것이 당신이 쓰는 데 주로 사용되는 것과 취향이라고 생각합니다. 때로는 파이썬에는없고 그 반대의 편리한 펄 라이브러리도 있습니다.
dagnelies

1
@ 밥 : 나는 그에게 파이썬을 먼저 시도하는 것이 좋습니다. 더 멍청한 친화적입니다. 그런 다음 Scheme과 같이 완전히 다른 언어를 제 2 언어로 선택하도록 지시합니다.
dagnelies

1
@Bob : 전체 .NET 프레임 워크는 Windows에서만 사용할 수 있습니다. 유닉스 / 리눅스 공간에서 Perl은 쉘 스크립트를 대체하고, 시스템 관리를 수행하며, 많은 텍스트 처리를 포함하고 다른 많은 것을 처리하는 데 사용되는 훌륭한 언어입니다. 파이썬은 약간의 구조가 필요하다는 것을 직접 수행합니다. 이것은 일반적으로 Perl을 더 일반적인 프로그래밍 언어로 만들지 만보다 전문화 된 응용 프로그램에는 더 좋습니다.
David Thornley

1
@Bob 사실, 그것은 흥미로운 포인트입니다. Perl은 bash의 한계에 영향을 미치는 쉘 스크립트가 있다면 정말 유용합니다. Perl은 대부분의 명령에 백틱을 넣을 수 있으며 여전히 작동하기 때문에 매우 쉽게 수용 할 수 있습니다.
Stephen Gross

12

나는 그 레이아웃에 의해 파이썬에 매료되었습니다-블록 구조는 "당신이 보는 것"입니다-그리고 왜 이것에 의해 벗어난 사람들이 있는지 이해하지 못합니다. 나는 그것이 좋은 생각이라고 생각합니다.

그래도 나는 펄로 돌아갔다. 실용적인 도구로 생각하는 것이 더 좋습니다. 컴퓨터 과학 이론에서 파이썬과 루비는 더 낫습니다. 그러나 나는 실제 세계에서 일합니다.

루비와 파이썬은 대학을 졸업 한 아이들에게 더 유행입니다. Facebook에있는 대부분의 프로그래머는 현재 유행에 따라 Ruby 또는 Python을 사용합니다. 원래 게시물은 이것을 보여줍니다. "가치가 있습니까?"와 "아직 인기가 있습니까?"

나는 페이스 북 세계에서 펄이 "인기"인지 알지도 신경 쓰지 않는다. 아마도 많은 것을 성취하는 사람들 사이에서 가장 널리 사용되는 스크립트 언어 일 것입니다. 자신이 좋아하는 언어에 CPAN과 비슷한 리소스가 있다고 생각하는 일부 의견 제시자는 CPAN의 규모와 깊이에 대해 전혀 모릅니다.


5
중요한 공백은 끔찍한 아이디어입니다. 항상 그렇습니다. 즉, 루비를 사용하는 것이 합리적이지만 루비로 다시 쓸 이유가없는 sysadmin 작업을위한 몇 가지 Perl 스크립트가 여전히 있습니다. 왜? 그들은 잘 작동하고 Perl의 달콤한 자리에 있습니다. 더 많은 작품을 만드는 이유는 무엇입니까?
Jason Lewis

1
언어에 관계없이 사람들이 올바르게 들여 쓰기하도록하는 것이 좋습니다. 파이썬과 같은 더 나은 언어는 더 많은 힘을 가할뿐입니다.
Brendan

10

Perl은 일회용 도구를 작성하는 언어입니다. Perl이 다소 지속적이고 유용한 다양한 응용 프로그램이 있지만 이상한 일을 수행하는 쉘 명령이없는 경우 이상한 소켓에서 일부 데이터를 가져 오기 위해 스텁이 필요한 경우 로그 파일이 있거나 서버에서 몇 개의 이미지를 가져와야하거나 웹 페이지 템플릿에 모두 같은 유형의 실수가 있고 모든 문제를 해결하려는 경우 SQL 이외의 방법으로 일부 콘텐츠를 추출해야합니다. 10 분 펄 스크립트가 나옵니다.

쉘에서 같은 것을 작성하는 것이 가능할 수도 있지만, 쉘 구문의 이상한 경고로 인해 시간이 오래 걸리고 훨씬 어려울 수 있습니다. C ++, C #, Java 등과 같은 "전문적인"언어로 이것을 작성하는 데는 약 1 시간이 걸립니다. Python, Ruby 또는 PHP와 같은 경쟁 스크립팅 언어로 이것을 작성하는 것은 실행 가능한 대안이며 작성하는 데 최대 20 % 더 오래 걸릴 것입니다.

예, 다른 언어로 된 프로그램은 유지 관리가 쉽고 읽기 쉽습니다. 그러나 지금 솔루션이 필요하다면 Perl을 사용하십시오.


8

"CPAN에 최근 업로드"- 페이지를 확인하십시오 . 매일 20 개 이상의 새로운 모듈 또는 업데이트 된 모듈이 업로드되고 있습니다. 평균 일일 업로드 수는 느리지 만 꾸준히 증가하고 있다고 생각합니다. 이 활동은 죽어가는 언어의 표시입니까? 아니!

웹 프로그래밍과 같은 중요한 모듈 (예 : RDBMS 드라이버와의 인터페이스)이 몇 년 동안 유지되고 개선 된 방식에 항상 인상적입니다. 종종 원저자 또는 새로운 관리자에 의해. 종종 이것은 매우 성숙한 코드를 만들었습니다.

모듈을 CPAN으로 가져 오려면 플랫폼 독립성뿐만 아니라 이전 버전의 perl 5 버전과의 호환성을 유지하는 데 먼 길을 가야합니다. 예를 들어 http://matrix.cpantesters.org/?dist=DBI를 참조 하십시오 (DBI = 데이터베이스 인터페이스, 추상화 계층)

또한 언어 자체 : 5.10, 5,12., 5.14 이후 언어에 포함 된 모든 새로운 기능에 약간 당황합니다. 새로운 기능을 활용하는 법을 배웠습니다. 펄은 나에게 너무 빨리 진화했다!


7

90 년대에 시스템 관리를하면서 Perl 4와 5를 배웠습니다. 현재는 Java 프로그래밍을하고 있는데 (Perl을 호출하는 것이 바람직하지 않은 경우), 개발 컴퓨터에서 Perl을 가끔씩 사용합니다. 이것은 일반적으로 Perl의 정규식과 Perl의 텍스트 구문 분석 oneliners에 대한 스캐 폴딩으로 인해 명령 행에서 매우 쉽게 수행 할 수있는 로그 파일에 대한 데이터 마이닝을 수행하기위한 것입니다.

본질적으로 나는 스테로이드에 awk로 오늘 그것을 사용합니다. 이를 위해 그것은 훌륭합니다.

Perl의 특징 중 하나는 거의 모든 것을 할 수있는 여러 가지 방법이 있다는 것입니다. 이것은 당신이 당신의 사고 방식에 맞는 것을 선택할 수있게 해줍니다-이것은 단지 하나의 라이너를 두 개를 해킹 할 때 훌륭하지만 다른 사람들의 Perl 코드를 이해해야 할 때 그리 좋지 않습니다. 그들의 사고 방식에 맞습니다 .

나는 Perl이 텍스트 파일을 탐색하는 데 도움이되는 정규 표현식이 할 수있는 것에 집중하면 배우고 싶을 매우 유용한 도구라고 생각합니다. 물체와 관련이있는 물건을 피하십시오.


따라서 빠른 스크립트가 텍스트를 처리하는 데 가장 유용하다고 말할 수 있습니까?
Bob

제 생각에는 그렇습니다. 정말 좋습니다. 그것은 다른 일도 할 수 있지만 잘 구워지지는 않습니다.

1
Perl은 정규 표현식을 통해 텍스트를 처리하는 데 능숙하지만 Python 또는 Ruby (또는 PHP)를 알고 있으면 텍스트를 처리 할 필요가 없습니다. 정규 표현식에도 매우 우수하기 때문에 말할 것입니다. 파이썬은 좀 더 장황하지만 확실히 더 깨끗합니다.
Eric O Lebigot

@EOL이지만 Python이나 Ruby 또는 PHP는 텍스트 구문 분석 oneliners의 비계를 넘어서는 안됩니다. 예를 들어 "-i"옵션을 참조하십시오.

@ ThorbjørnRavnAndersen : 한 라이너에 대해 동의 : Python의 oneliners (-c 옵션)는 실제로 더 길다. :)
Eric O Lebigot

7

잠시 동안 Perl5에 대한 초점 때문에 Perl5 개발이 정체되어 5.8과 5.10 릴리스 사이에 오랜 지연이 발생했습니다. 그 이후로 커뮤니티는 실제로 Perl5와 Perl6이 다른 언어이며 최근에 매우 정기적 인 새로운 릴리스가 있음을 깨닫기 시작했습니다.

Perl은 최근 Catalyst ( Mojolicious를 선호하지만)를 사용하여 웹 앱 경쟁에서 우승 했으며 새로운 Modern Perl 사례 중 일부는 Moose와 같은 것들로 Perl에 더 깔끔한 OO 아이디어를 제공합니다.

제 생각에 Perl 개발자로서 Perl은 회사 네트워크를 하나로 묶는 덕트 테이프 일뿐만 아니라 웹 애플리케이션의 새로운 인기를 누릴 수있는 장소이기도합니다.


3

저는 전문가가 아닙니다. 그러나 나는 Perl이 배우기 쉽고 (낙타 책을 사용했다) 항상 즐거움을 느꼈으 며 PerlMonks는 프로그래밍 분야에서 가장 친근한 도움 커뮤니티였습니다. Perl은 Ruby 및 Python을 채용하는 측면에서 성적인 호소력을 잃은 것으로 보이지만 특정 산업 (특히 웹)에서만 가능합니다.


3

펄을 알고 있다면 Microsoft의 Powershell을 배우는 것이 더 쉽습니다. powershell의 구문에 관해서는 perl root 가 없지만 Powershell은 Perl 언어에서 많은 기능과 개념을 취했습니다. 모듈의 이름을 지정하고 저장하기위한 파일 규칙, 그리고 어떤면에서는 자동 로딩을 예로들 수 있습니다.

따라서 Perl을 알고 있다면 유용 할 것입니다. Powershell을 배우거나 Powershell의 사고 방식을 파악하거나 Powershell 관용구를 장기 기억에 유지하는 것이 조금 더 쉽습니다. 펄 배경이없는 Powershell을 만나는 것은 조금 이상 할 것입니다. 그냥 말하면

물론 Powershell 언어는 새로운 기능, 특히 .NET 친화적 인 기능을 추가했으며 유닉스 명령 행 도구와 "뒤로 호환성"을 제공하는 펄의 기능 / 운영자는 계속하지 않았습니다.


2

Grant McLeanmapofcpan.org의 진화를 기반으로 짧은 영화 를 업로드 하여 CPAN이 시간이 지남에 따라지도 스타일의 시각적 방식으로 진화하는 방식을 보여줍니다. 지역 사회의 생존에 대해서는 매우 자명합니다. 죽지 않아

Perl은 많은 전설로 인해 커뮤니티의 평판이 나쁘고 커뮤니티가 세계 최고의 힙합 프로그래밍 언어로 만들고 싶지 않기 때문에 노력하고 있습니다. 왜 그렇게 많은 사람들이 그것이 끔찍한 언어라고 확신하는지 이해하기는 매우 어렵습니다. 어떤 언어로도 소름 끼치는 코드를 작성할 수 있습니다. Perl은 다른 언어와 마찬가지로 모범 사례를 얻었 으므로 기본 철학 을 수행하는 여러 가지 방법으로 int를 구현하면 됩니다.

이 나쁜 평판에 대한 매우 슬픈 이유를 알 수 있습니다. 오랫동안 Perl 커뮤니티 웹 사이트는 매우 못생긴 UI 디자인을 얻었 습니다 (예 : perlmonks.org ). 개인적으로, 나는 이것대해 정말로 신경 쓰지 않을 것입니다. 아마도 유행하는 웹 사이트 UI가 많지 않기 때문에 Perl에 왔을 수도 있습니다. 그것보다 더 아름답다. 그러나 양질의 도구가 외모에 집중해서는 안된다는 의미는 아니며 결국 외관을 관리하지 않는 것은 일종의 실수입니다.

예를 들어, 저의 친구 (보다 세련된 언어를 좋아하는)는 현재 Perl6 로고 가 끔찍하며 어린 육체를 Perl에 끌어들이는 것이 문제가 될 것이라고 말했습니다. 밝은 돌 이나 다른 잘 디자인 된 로고 보다 훨씬 더 많은 문제가 있습니다.

나는 그것이 인기가없는 매우 슬픈 이유라고 생각하지만 그것이 세상을 지배하는 이유입니다.


로고의 세부 사항에주의를 기울이지 않는다면 왜 언어의 세부 사항에 세부 사항에주의를 기울여야한다고 가정해야합니까? 이 로고는 나쁜 로고는 일이되게하는 방법을 소중히하지 않는 문화의 증상을 느끼는이다, 나쁜 보인다되지 않은 단지, 그 모든 농담 "유일한 언어를 쓰기"뒤에 고정 관념 강화
Racheet

사람들이 나쁜 평판을 받고 있다고 들었습니다. 이 사람들은 현대 펄과 테스트 주도 개발을 옹호합니다. builtinperl.com , questub.io 와 같은 웹 사이트 는 Perl 사례를 고려해야하는 방식을 바꾸고 있습니다. Duck Duck Go는 또한 큰 성공을 거두었습니다. metacpan.org 조차도 멋진 UI로 코드, 문서 및 검색 모듈을 표시함으로써 CPAN 사용자 (주된 Perl 강도)에게 새로운 경험을 제공하는 방법이었습니다. 나는 언어 로고를 믿지 않습니다 : C에는 로고가 있습니까? 언어는 브랜드가 아닙니다.
smonff

1

펄은 확실히 죽지 않습니다. 다른 언어들처럼 결코 과장된 적이 없습니다.

사실 Perl 자체는 오래된 언어이지만 활기차고 생산적인 커뮤니티가 있으며 그 가치는 CPAN 라이브러리에 있습니다. CPAN만큼 광범위하고 포괄적 인 라이브러리를 가진 언어는 없다고 생각합니다. 아무것도 가까이 오지 않습니다. CPAN에는 상상할 수있는 모든 작업을 수행하는 수천 개의 모듈과 프레임 워크가 있습니다. 웹 서버가 필요하십니까? HTTP :: Server가 있습니다. 독립형 데이터베이스가 필요하십니까? Muldis :: DB가 있습니다. 요구 사항이 무엇이든, 일반적으로 요구 사항을 충족하는 여러 모듈을 찾을 수 있으므로 앱에 가장 적합한 모듈을 선택하기 만하면됩니다.

루비, 파이썬 및 기타 경쟁사에 관해서는 건전한 경쟁이 Perl에게 엄청난 이익이라고 생각합니다. Perl 커뮤니티는 다른 언어로 얻은 모든 것을 Perl로 다시 썼습니다. 예를 들어, Ruby가 Rails의 성공을 이끌었을 때 Perl은 Dancer를 얻었습니다.

펄은 확실히 죽지 않았고 죽지도 않았다. 주변에는 화려한 일이 없으며, Perl을 과장하여 이익을 얻을 수있는 회사가 없기 때문에 많은 언론의 관심을받지 못하며 모든 어린이가 Perl을 알지 못하므로 그것에 대한 이야기는 적습니다.

원래 게시물 이후 6 개월이 지났습니다. 여전히 결정하지 않은 경우, 호의를 베풀고 Perl을 배우십시오.


0

90 년대부터 웹 게임 개발에 펄을 사용하고 있으며 3 년의 휴식을 취한 후 이전 포스터에 동의합니다. 나는 돌아와서 내가 떠난 곳 이상으로 진화 한 것을 발견했습니다.

죽어? 기회가 없습니다.

유용합니까? 그것 없이는 길을 잃었을 것이다. 어쩌면 그것은 단지 나일지도 모르지만 다른 반응에서 나는 그것이 매우 활동적인 생물이라고 말할 것입니다.


-6

PHP에 대한 전문적인 웹 경험을 대부분 얻었지만 개발자로서 성장하면서 일이 조금 더 어려워졌으며, PHP가 할 수 없었거나 심하게 비효율적으로 수행하는 많은 작업이있었습니다. 나는 내 손을 던질 수 있었지만 대신 (구글 덕분에) libreoffice, ffmpeg, imagemagick을 사용하여 PHP의 포스트 프로세스 함수를 작성하는 ssh 세션에서 나 자신을 발견했다. 내가 PERL을 위해 바로 가기 전에 그것을 사용하지 마십시오. 대부분 Perl이 LAMP 스택 아래에 완벽하게 위치하기 때문입니다.

(1) 모든 LAMP 서버에 사전 설치되어 있거나 최소한 새로운 rpm을 갖습니다. (2) 많은 시간을 절약 할 수있는 멋진 CPAN 저장소가 있습니다. (3) 아파치에서 실행되는 PHP가 실패하는 작업을 수행하기 위해 더 빠르고 안전 (4) PHP와 매우 유사하고 배우기 쉽다.

PHP와 아이디어를 혼합하고, 원하는대로 BASH를 사용하여 PERL로 굽고, MySQL에 따라 뒤집은 다음 HTML5와 대시 jQuery를 제공하십시오. 훌륭한 레시피입니다.


1
이 진술을 뒷받침 할 것이 있습니까?
오스틴 헨리
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.