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ć?
Jako programista PHP myśląc o tym, aby Perl był drugorzędnym silnym kombinezonem, co muszę wiedzieć?
Odpowiedz
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
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.
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
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
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.
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
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.
+1 - Ta książka zmieniła moje życie. – cowgod
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
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 –
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/
"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
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.
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ąć.
Po prostu aktualizacja, że istnieją obecnie dwie inne, bardziej lekkie frameworki internetowe dla Perla: Mojolicious and Dancer. –
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
- 1. Programista PHP-MySQL przechodzący do PostgreSQL. Co muszę wiedzieć?
- 2. Co muszę wiedzieć o podpisach XML, aby uzyskać działanie SAML?
- 3. Co każdy haker Perl powinien wiedzieć o Perl -ne?
- 4. Co muszę wiedzieć, aby przenieść Cyanogenmod na nieobsługiwane telefony/tablety?
- 5. Jako programista, o co muszę się martwić podczas przechodzenia do 64-bitowych okien?
- 6. Czy programista Qt 5 musi wiedzieć o zmiennej qpake DEPENDPATH?
- 7. Jako programista ASP.NET, czy muszę się martwić o ataki typu "email injection"?
- 8. Co to jest programista FE?
- 9. Android developer przechodzi na iOS - co muszę wiedzieć?
- 10. miejsca w .NET Framework 4, że każdy programista powinien wiedzieć
- 11. Muszę wiedzieć dokładnie, jak używać string.maketrans
- 12. Co muszę kodować, aby korzystać z HTTPS?
- 13. Co muszę zrobić, aby Hash.from_xml() zadziałał?
- 14. Znani wzorce projektowe, które programista C++ powinien wiedzieć
- 15. Kto powinien wiedzieć o innym?
- 16. Którą ścieżkę uczenia się muszę wykonać, aby nauczyć się ASP.NET?
- 17. Jako nowy programista Objective-C, z jakimi problemami z pamięcią należy uważać, aby używać ARC?
- 18. Chcę wiedzieć o języku szablonów bloggera
- 19. Pytanie o tym stronę HTML w PHP
- 20. Co muszę zrobić, aby przekonwertować z biblioteki klas do WCF?
- 21. powiedz cmake, aby był cichy
- 22. Co powinienem wiedzieć, przechodząc z MIPS na x86?
- 23. Co = ~ oznacza w Perl
- 24. Co muszę rzucić "U8", aby móc go używać jako indeksu w moim wektorze?
- 25. Perl Wyrażenie regularne - co oznacza modyfikator gc?
- 26. Co muszę zaimportować, aby uzyskać dostęp do moich modeli?
- 27. Co muszę dodać do układu, aby ukryć pasek tytułu?
- 28. numpy's tostring/fromstring --- co muszę określić, aby przywrócić tablicę
- 29. Co muszę zrobić, aby przechowywać obiekty w RavenDB?
- 30. Co muszę zrobić, aby zaktualizować aplikację do najnowszej wersji Rails?
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? –
(Mogę być stronniczy, ponieważ mam tło Perl/PHP i wziąłem w zeszłym tygodniu książkę Pythona i piję kool-aid) –
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. –