Czy nowicjusz Perla powinien nauczyć się Perla 5 i 6? [Zamknięte]


21

Ostatnio zacząłem grać z Perlem 5 i wydaje się to bardzo interesujące. Chciałbym poświęcić trochę czasu na naukę tego bardziej dogłębnie, kiedy będę mógł.

Moje pytanie, ponieważ Perl 6 ma miejsce powoli (wierzę ...) i mówi się, że łamie wsteczną kompatybilność, brzmi: czy lepiej uczę się Perla 5, a potem Perla 6, czy uczę się Perla 6 bezpośrednio, inwestując lepiej w czas do Ciebie?

Jeśli zmiany z Perla 5 na 6 utrudniają zrozumienie Perla 5, z pewnością powinienem zacząć od Perla 5, aby móc czytać „stare” skrypty, następnie sprawdź Perla 6. Jest też, że „Perl 6 nie jest jeszcze całkowicie wydany ”problem. Wiem, że istnieje implementacja wczesnego wdrożenia dla Perla 6, ale jeśli Perl 6 nie zostanie oficjalnie wydany przed kilkoma latami, na razie pozostanę przy wersji 5.

Z pewnością chciałbym mieć wgląd w to. Zapraszam do dyskusji na podobne tematy. Moje zainteresowanie językami skryptowymi jest dość nowe.

Dzięki!


3
Perl 6 nie został jeszcze wydany. Jeśli potrzebujesz tego do „prawdziwej pracy”, skoncentruj się na Perlu 5.

Idzie z głosami, po tym wszystkim, ale wiele ciekawych odpowiedzi IMO. Podoba mi się, że wpadłeś na pomysł, że Perl 5 i 6 powinny uwzględniać różne języki. Dzięki!
Joanis

Odpowiedzi:


21

Perl 5 i Perl 6 to różne języki, a nie dwie wersje tego samego. Perl 6 jest mocno zainspirowany Perlem 5, ale nie wyłącznie. Sugeruję na razie skupienie się na Perlu 5. Jeśli obejrzysz społeczność (sugerowałbym agregator Planet Perl Iron Man , zobaczysz również posty i treści ze społeczności Perl 6 i będziesz mieć na nią oko. Wiele funkcji Perla 6 powoli wraca do Perl 5.

Ponadto: pomimo nienawiści niektórych ludzi do Perla, jest rok 2010, a nie 1995, a Perl ogromnie posunął się naprzód i nadal to robi.


13

Tak dla Perla 5

Jasne, idź nauczyć się Ruby, a nawet Pythona, ale Perl jest inny. I inteligentny poza rozumem. Perl jest jednym z tych języków, w którym możesz uczyć się rzeczy, których nigdy nie chciałeś, i cieszę się, że to zrobiłeś, a jednak będziesz musiał ponownie czytać książkę o wielbłądach co kilka lat, abyś nie w pełni oczyścił mentalnie swoje perlizmy.

Perl ma obcą składnię, nawet dla najbardziej doświadczonych profesjonalistów. Osobiście uważam, że poszerzysz swoje horyzonty dzięki Perlowi.

Perl 5 jest tym, co uważam za Perl 1.5. Perl 6 jest tym, co uważam za Perla 2.0, może nawet powinien być nazwany czymś zupełnie innym, więc tak zarówno 5, jak i 6 warto uczyć się same z siebie i ze względu na swoje zalety. Oświadczenie = sam wciąż walczę z Perl6 ...


4

W odpowiedzi na pytanie w nagłówku: tak!

Jak zauważyłeś, skupienie się na Perlu 5 nie jest stratą czasu, ponieważ ogromna większość przykładów, samouczków i aplikacji w Perlu będzie pochodzić z gałęzi 5.

To powiedziawszy, na pewno powinieneś nadążyć za projektem Perl 6 i jego postępem. Poświęciłem trochę czasu na naukę języka Python 3 przed jego pierwszym wydaniem, tak więc zrozumiałem, jakie zmiany są wprowadzane i dlaczego. Pomogło mi to podczas migracji z bazy kodu 2.x do wersji 3.x.

Nie zainwestowałbym zbyt wiele czasu w naukę tajników Perla 6; głębokie zrozumienie Perla 5 na razie będzie ci lepiej służyć. Ale kiedy zostanie wydany (kiedykolwiek ta cholerna jest), podstawowa znajomość Perla 6 pomoże ci iść naprzód.


3

Perl 5 to stabilna linia, która prawdopodobnie rozwinie się na innej linii niż Perl 6. Perl 6 prawdopodobnie będzie musiał wymyślić nową nazwę niż Perl.

Perl 6 jest, szczerze mówiąc, niesamowity . Ale nie jest jeszcze wystarczająco stabilny, aby można go było wykorzystywać w produkcji (przynajmniej z tego, co rozumiem). Oczywiście stabilny w przedsiębiorstwie oznacza Perl 5.8 z mojego doświadczenia ...


1

Nie ucz się Perla 6.

CPAN nawet tego nie obsługuje. (Podejrzewam, że zostanie dostarczony z modułem, który pozwala na grę Duke Nukem Forever w całości za pomocą wyrażeń regularnych ...)


Hehe ... vtwourware ftw!
Simon Whitaker,

1
Perl 6 nie używa wyrażeń regularnych, używa reguł (i są niesamowite!): En.wikipedia.org/wiki/Perl_6_rules
Gaurav

Potrzebny nowy żart.
Sean McMillan,

@SeanMcMillan Żart, który zrobiłem w zeszłym roku, jest stary? : P (nic na to nie poradzę, jeśli w tym czasie wydano Duke Nukem Forever ...)
Kevin Cantu,

1

Perl 5 jest teraz stabilny i myślę, że najpierw należy nauczyć się najnowszej stabilnej wersji. Uaktualnienie do innej wersji byłoby wówczas łatwiejsze.


1

Najlepsza rada: nie, nie, nie! Perl 5 jest teraz najlepszy, ponieważ Perl 6 nie jest w pełni rozwinięty.


0

Jeśli interesują Cię języki skryptowe, sugerowałbym zamiast tego naukę języka Python i / lub Ruby. Perla nauczyłem się kilka lat temu. Najważniejsze, czego się nauczyłem, to wyrażenia regularne. Większość innych języków, które mają wbudowane wyrażenia regularne, są pochodnymi implementacji Perla. Ale poza tym nie używałem Perla aż tyle. Główną krytyką Perla jest to, że niektórzy uważają go za język „tylko do zapisu”. Bardzo trudno jest wrócić do starego kodu i łatwo zrozumieć, co zostało zrobione.

Uważam, że w Pythonie i Ruby (jak Railsach) postęp jest większy niż w Perlu. Zawsze dobrze jest rozciągnąć swój mózg i nauczyć się nowego języka, ale Perl prawdopodobnie nie byłby najlepszą sugestią.


1
W rzeczywistości javascript jest królem skryptów.
Daniel Little

Dzięki za wkład. Najwyraźniej Perl nie byłby dzisiaj dobrym wyborem. Ciekawe, ale ... Czy tak proste jest pisanie niesamowicie zwięzłych jedno-liniowych wierszy poleceń w języku Python, Ruby i JavaScript?
Joanis,

3
Perl bardzo się zmienił od dawnych czasów. I jest wiele osób, które wybierają to i się tego uczą. Testy, dokumentacja, interoperacyjność, kompatybilność wsteczna, stabilność i koncentracja na dobrym łańcuchu narzędzi to bardziej nowoczesne atrybuty Perla.
phaylon,

Z mojego doświadczenia wynika, że ​​nauka języka Perl pomaga w nauce języka Ruby, ponieważ wiele koncepcji jest wspólnych.
justkt

Perl regexps MOŻE
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.