2009-01-27 10 views
5

Uważam się za dość biegły w PHP i jestem dość obeznany z prawie wszystkimi ważnymi aspektami i zastosowaniami, a także z jego opowieściami. Biorąc to pod uwagę, myślę, że głównym problemem w przyjęciu Perla będzie składnia. Poza tym (drobne utrudnienie, tak naprawdę, ponieważ jestem raczej sprzedawany na tym, że Perl jest dużo bardziej czytelny), jakie są kluczowe różnice, o których twoim zdaniem powinienem się uświadomić przed przystąpieniem do tego języka?Jako programista PHP myśląc o tym, aby Perl był drugorzędnym silnym kombinezonem, co muszę wiedzieć?

+0

Wszystkie rzeczy równe, sugeruję, abyście zanurzyli się w coś nieco bardziej odmiennego niż PHP. Oczywiście są to różne języki i różne, ale dlaczego nie spróbować czegoś takiego jak Python lub RoR? –

+0

(Mogę być stronniczy, ponieważ mam tło Perl/PHP i wziąłem w zeszłym tygodniu książkę Pythona i piję kool-aid) –

+0

Tak, zamierzałem zasugerować to samo, ale ja ' m bardzo anty Perl i bardzo pro Python. To powiedziawszy, Hexagon zdaje się mówić, że nie przeszkadza mu czytelność Perla, więc równie dobrze mógłby z tym pogodzić, jeśli jest tak skłonny. –

Odpowiedz

18

kilka różnych rzeczy warto czytać o:

  • pakietów
  • zakresy leksykalne
  • składnia wyrażeń regularnych
  • hashe, macierze i listy (wszystko jedno w PHP, wszystko inne w Perl)
  • CPAN
+0

Polecam również zapoznanie się z tym, co reprezentują różne znaki, chociaż jest to łatwe do zapamiętania i zapamiętania. Jeśli dobrze pamiętam, PHP ma tylko "$", a perl ma wiele znaczników oprócz "$". – gpojd

+0

dobry punkt! $ a vs @a vs a [1] vs% a vs $ a {foo} – Cal

3

Perl jest wielki dla plików PRO cessing, ekstrakcje, regex. Jest to pierwsze narzędzie, które wybrałbym do dowolnego przetwarzania tekstu.

Mimo że lapidarna składnia sprawia, że ​​Perl jest dość trudny do odczytania, moc wbudowanego wyrażenia regularnego i przetwarzania plików sprawia, że ​​doskonale nadaje się do małych programów, które byłyby znacznie większe w tradycyjnych językach.

+1

Nie jest to lapidarna składnia, która może utrudniać czytanie, jest to składnia języka naturalnego, na przykład, która to robi. – singingfish

+1

To jego lapidarność i składnia języka naturalnego, na przykład, sprawia, że ​​jest potężny. To, co sprawia, że ​​kod Perla jest trudny do odczytania, to programista, który go napisał, tak jak w jakimkolwiek języku. – MkV

4

Używałem Perla przez bardzo długi czas przed wykonaniem jakiegokolwiek PHP i uznałem przejście dość proste.

Składnia jest bardzo podobna w PHP i Perlu. Oczywiście są różnice i musisz nauczyć się nowego zestawu bibliotek (CPAN ma moduły do ​​większości zastosowań, więc zanim zaimplementujesz jakiekolwiek nowe narzędzia spójrz na CPAN).

Regeksy są mniej szczegółowe i im łatwiejsze w użyciu w Perlu. Z drugiej strony klasy w PHP wyglądają bardziej jak te, których można się spodziewać, jeśli znasz inne języki OO. Dla mnie OO w Perlu wydaje się być trochę przyczepione.

+0

Klasy są bardziej elastyczne w Perlu, a jeśli chcesz pójść na całego OO, Łoś/Mysz jest bardziej OO niż większość języków OO. – MkV

10

Po zapoznaniu się z podstawami Perla, bardzo polecam książkę "Perl Best Practices" Damiana Conwaya.

To naprawdę zmienia twój styl pisania i sposób myślenia o programowaniu, a w szczególności sprawia, że ​​twoje programy w Perlu są znacznie czytelniejsze i łatwiejsze w utrzymaniu.

+0

+1 - Ta książka zmieniła moje życie. – cowgod

+0

z drugiej strony około 1/2 najlepszych praktyk Perla jest najlepiej ignorowane. Zostało to ćwiczeniu dla czytelnika, która część jest.(ale użyj Łosia i zignoruj ​​rozdział o Inside Out Objects jest użytecznym pro-tipem) – singingfish

+0

Bardzo prawdziwe. W tej książce jest wiele dobrych rad, dobra brzmiąca rada i rzeczy, których prawdopodobnie powinieneś unikać. Ich lista znajduje się tutaj: http://www.perlfoundation.org/perl5/index.cgi?pbp_module_recommendation_commentary –

0

W tym momencie gry Perl nadal oferuje doskonałe, szybkie i brudne aplikacje do analizowania składni. W przypadku każdego języka nie powinieneś martwić się czystością składni, chyba że używasz języka znacznie poza zakresem tego, do czego był przeznaczony. Perl otrzymał złą reputację ze względu na znany syndrom wykałaczek. Większość z nich polega na tym, że kidiści skryptu l33t lubią kondensować 5 linii kodu Perla na 1 linii.

marginesie C + Perl = ~ m/php/

+1

"Dla każdego języka nie powinieneś naprawdę martwić się czystością składni, chyba że używasz języka znacznie wykraczającego poza zakres o tym, co było przeznaczone dla "<- co masz na myśli, nie ma dla mnie większego sensu. – singingfish

3
  • stosowanie ścisłej wykorzystywały ostrzegania;

  • Perl :: Critic, perltidy (w przyszłości)

  • CPAN (użyj CPAN powłokę je zainstalować)

  • Aby użyć bardziej nowoczesny system OO niż prąd Python oparte na jednym, trzeba zainstaluj system OO z CPAN. Spróbuj łosia (lub myszy, jeśli łoś jest zbyt potężny dla ciebie).

  • Unicode różne (zintegrowany języka)

  • 'równoważnik' i "== zamiast ==/===/strval/intval (ważny)

  • położeniu testowym (początek z testu :: Więcej)

zobaczyć również Perl programming wiki - tutoriale i inne przydatne linki.

0

Cóż, jeśli chodzi o tematykę internetową, spójrz na numer Catalyst. Aby zobaczyć OO, spójrz na numer Moose. Aby uzyskać najlepsze praktyki, postępuj zgodnie z zaleceniami w innym miejscu wątku. To powinno wystarczyć, aby zacząć.

+0

Po prostu aktualizacja, że ​​istnieją obecnie dwie inne, bardziej lekkie frameworki internetowe dla Perla: Mojolicious and Dancer. –

+0

tak, oba są dobre. Może używaj katalizatora do rzeczy na skalę przemysłową i lżejszych rzeczy na mniejsze rzeczy. Chociaż katalizator jest nadal w porządku dla małych rzeczy. – singingfish

Powiązane problemy