Nächster Schritt nach PHP: Perl oder Python?
Könnte es scheinen, es wurde gefragt, mehrfach, aber in der Tat es nicht. Ich habe meine Forschung, und ich bin nun begierig zu hören die Meinungen anderer.
Ich habe Erfahrung mit PHP 5, sowohl mit der funktionalen und der objektorientierten Programmierung Methoden. Ich erstellte ein paar feature-minimalistische Webseiten.
Profis können vereinbaren, über PHP nicht eine Programmiersprache, fördert die gute Entwicklung der Gewohnheiten. (Ich glaube, es ist nicht die Aufgabe des Tools, aber das ist egal.) Darüber hinaus seine Leistung ist auch umstritten, und oft gesagt, Sie sei schlecht im Vergleich zu Konkurrenten.
In der 42nd podcast auf Stack Overflow blog ein Entwickler aus Polen gefragt, welche Sprache er lernen sollte, um um seine Fähigkeiten zu verbessern. Jeff und Joel schlug vor, dass jeder von Ihnen würde helfen,, obwohl es gibt bestimmte diejenigen, die sind besser in einigen Möglichkeiten.
Obwohl Sie einige große Punkte, es wollte mir nicht helfen, dass viel.
Aus Anfänger Sicht, gibt es nicht man kann nicht sehen (Korrektur vorgeschlagen, die von S. Lott) viele Unterschiede zwischen Perl & Python. Ich möchte Sie betonen, Ihre stärken und Schwächen und ein paar Dienstleistungen, die einzigartig sind.
Natürlich, das wäre nicht fair, da könnte ich auch überprüfen, beide von Ihnen. So, hier ist meine Wunschliste und Anforderungen zu helfen, Sie helfen mir.
Zuerst von allen, würde ich mag zu Folgen OOP-Strukturen und verwenden Sie es grundlegend. Ich teilweise geplant, eine multiuser - CMS mit MySQL und XML verwendet, die größer die Implementierungen sind, desto besser. Aufgrund seiner Natur vorgesehen, string-manipulation intensiv genutzt werden.
Wenn es keine großen Unterschiede, Vergleiche, sollte wohl erwähnen syntax und anderen kleinen details, die nicht wichtig sind in den ersten Platz.
So, hier ist meine Frage: welche soll ich versuchen ersten -- Perl || Python?
Abschluss
Sowohl Perl und Python haben Ihre eigenen fans, das ist toll. Ich würde gerne sagen, ich bin dankbar für alle Teilnahme-es ist keine Spur einer Flamme Krieg.
Nahm ich am meisten geschätzten Antwort, obwohl es viele tolle mini-Artikel unten. Wie vorgeschlagen, mehr oft, ich gehe mit Python-erste. Dann werde ich versuchen, Perl später auf. Lassen Sie mich sehen, welche passt zu meinem Geist besser.
Während der Entwicklung meines speziellen CMS, ich werde mehr Fragen, was die Programmierung Zweifel-denn Entwickler können nun auf die anderen verlassen! Danke.
Edit: gab Es einige Leute, die darauf hindeutet, zu wählen, Ruby oder Java statt. Java hat eigentlich enttäuscht mich. Vielleicht hat es tolle features, vielleicht ist es noch nicht. Ich würde nicht genießen Sie es.
Darüber hinaus mir wurde gesagt, die Verwendung von Ruby. So weit, die meisten von den Entwicklern kommuniziere ich mit, die haben ganz schlechte Meinung über Ruby. Ich werde sehen, es selbst, aber das ist das Letzte element auf meiner Prioritätenliste.
- Syntax spielt keine Rolle? Sagen, dass alle computer-Sprachen, die nicht turing-vollständig durch das fehlen der wichtigsten syntaktischen Konstrukte.
- Duplizieren: stackoverflow.com/questions/269417/which-language-should-i-use, stackoverflow.com/questions/319421/...
- Diese Frage ist spezifischer. Ich glaube, es ist nicht doppelt.
- Ich sagte nur, dass die syntax ist weniger wichtig als die zugrunde liegenden Merkmale einer bestimmten Programmiersprache. Es braucht Zeit, um sich daran zu gewöhnen obwohl.
- Links aus: stackoverflow.com/questions/150043/python-v-perl
- "Von einem Anfänger Sicht, es gibt nicht viele Unterschiede zwischen Perl - & Python." Warum dann Fragen? Nicht sicher, was das bedeutet oder warum es in der Frage.
- S. Lott: ich habe ehrlich gesagt wie eine Unterscheidung zwischen diesen beiden Sprachen, aber ich kann einfach nicht mit niedrigen expereince. Also ich bin interessiert in real life Meinungen. Und Sie werden kommen... 🙂
- Deine Frage sagt: "es gibt nicht viele Unterschiede". Vielleicht sollten Sie nehmen, dass aus Ihrer Frage machen Sie deutlich, dass Sie nicht haben Ihre Meinung bereits gebildet.
- Gibt es einen Grund, Sie beschränken sich auf Perl und Python? Ruby ist in der Regel in einen Topf geworfen mit Python und Perl. Warum lassen Sie es aus? Java ist eine streng typisierte OOP-Sprache. Warum nicht der Ansicht, Java/jsp?
- Warum hält sich jeder und sein Onkel zu schreiben, ein cms in diesen Tagen? Diese Kinder von heute! Wir verwendet, um zu schreiben-Newsreader, den ganzen Tag lang in den good ol' times.
- gehen Sie für ruby statt
Du musst angemeldet sein, um einen Kommentar abzugeben.
Perl ist eine sehr schöne Sprache und CPAN hat eine Tonne von Reifen-Module, die Sie sparen eine Menge Zeit. Darüber hinaus ist Perl wirklich nach vorne heute mit einer Menge von interessanten Projekten (im Gegensatz zu dem, was uninformierte fanboys, wie sich zu verbreiten). Sogar ein Perl-6-Implementierung wird nun durch die Freigabe der Arbeit Perl 6.
Ich Sie möchte zu tun OO ich würde empfehlen,Elch.
Ehrlich, die "Mehrheit" meiner Programmierung in Perl und PHP, die ich vor kurzem beschlossen, mein Aktuelles Projekt in Python, und ich muss zugeben, es ist sehr schön, das Programm mit. Ich zögerte das ganze keine geschweiften Klammern, was als das ist, was ich schon immer getan, aber es ist wirklich sehr sauber. Am Ende des Tages, obwohl, können Sie gute web-Anwendungen mit allen 3, aber wenn Sie tot-set auf fallende PHP, etwas neues auszuprobieren, würde ich empfehlen, Python und dem Django-framework.
Ich würde mich mit Perl. Nicht jeder ist einverstanden mit mir hier, aber es ist eine tolle Sprache, gut geeignet, um die system-administration arbeiten, und es werde setzen Sie auf einige mehr funktionale Programmierung Konstrukte. Es ist eine großartige Sprache für das lernen, wie verwenden Sie die kleinste Menge an code, die für eine bestimmte Aufgabe, wie gut.
Für die Szenarien, die Sie erwähnt, aber ich denke PHP kann Ihre beste Wette, immer noch. Python hat einige große web-frameworks, jedoch, so wenn Sie wollen einfach nur zu versuchen, eine neue Sprache für die Entwicklung von web-Anwendungen, Python könnte Ihre Wette.
Habe ich keine Erfahrung mit Python. Stehe ich stark, um Perl zu lernen, nicht aus der Abreibung, aber da gibt es eine Menge zu lernen in der Plattform. Die wichtigsten Konzepte von Perl sind: Tun Sie, Was ich Meine (DWIM) und Es gibt Mehr Als Einen Weg, Es Zu Tun (TMTOWTDI). Das heißt, theoretisch gibt es oft keine falschen Herangehensweise ein problem, wenn das problem ausreichend gelöst.
Start-mit erlernen der Basis-Sprache Perl, dann verlängern Sie sich um das erlernen der wichtigsten Perl-Module, IO::File, DBI, HTML::Template, XML::LibXML, etc. etc. search.cpan.org werden Ihre Ressourcen. perlmonks.org wird Ihr Führer sein. Nur um alles nützliche zu tun, wird wahrscheinlich ein Modul veröffentlicht.
Beachten Sie, dass Perl ist eine dynamisch und Locker strukturierte Sprache. Perl ist nicht die Plattform um die Durchsetzung der drakonischen OOP-standards, aber aus gutem Grund. Finden Sie die Sprache extrem flexibel.
Wo ist Perl verwendet? System-Admins die es verwenden, sehr stark, wie bereits erwähnt. Sie können immer noch hervorragende web-apps, die entweder durch einfache CGI-oder MVC-framework.
Habe ich noch nicht gearbeitet, mit Python viel, aber ich kann Ihnen sagen, warum ich nicht wie etwa Perl, wenn ich es benutzt habe.
Nachdem alles gesagt, dass ich Aussehen würde in Python. Es sei denn, Sie wollen zu gehen mit etwas schwereres wie C++ oder C#/Java.
Ach ja, bevor ich vergessen habe: ich wollte ein Beispiel setzen für die 4 oben, aber SO nicht, wie wenn man code in nummerierten Listen:
Habe ich vor kurzem den Schritt gemacht von Perl gegenüber Python, nach ein paar Perl-erst Jahre. Bald darauf entdeckte ich, dass ich begonnen hatte zu Lesen, alle Arten von Python-code wie es anderen leicht, den text zu Lesen — etwas, was ich nie getan habe, mit Perl. Dass Tauchen Sie ein in Dritter Perl-code hat immer irgendwie ein Alptraum für mich, so war dies eine sehr sehr schöne überraschung!
Für mich, dies bedeutet, dass Python-code ist wesentlich einfacher zu pflegen, die auf lange Sicht macht Python viel attraktiver als Perl.
Python ist sauber und elegant, und die Tatsache, dass VIELE C-APIs wurden verpackt, erhalten Sie leistungsstarke Haken zu viel. Ich mag auch die "Zen of Python".
tun Sie es.
Als Perl-Programmierer, ich würde normalerweise sagen, Perl. Aber aus PHP, ich glaube Perl ist zu ähnlich, und Sie nicht wirklich erhalten, dass viel aus. (Nicht, weil es nicht eine Menge zu lernen, aber Sie werden wahrscheinlich ein Programm in Perl mit dem gleichen Stil, wie Sie das Programm in PHP.)
Ich würde vorschlagen, etwas ganz anderes: Haskell (vorgeschlagen von Joel), Lisp, Lua, JavaScript oder C. Jede dieser würde Sie einen besseren Programmierer durch die öffnung neuer Möglichkeiten, die Welt zu betrachten.
Aber es gibt keinen Grund zu stoppen, lernen PHP in der Zwischenzeit.
Einen guten Blick auf die dunkle Seite zu diesen Sprachen, die ich wärmstens empfehlen: Was sind fünf Dinge, die Sie hassen, über Ihre Lieblings Sprache?
Ich schlage vor, über ein Anfänger-tutorial jeder für sich selbst entscheiden, was Ihnen besser passt. Sie finden, dass Sie können tun, was Sie tun müssen, entweder:
Python-Tutorial (Python-Klassen)
Perl Tutorial (Perl-Klassen)
(Konnte Sie nicht finden, eine einzige "offizielle" perl tutorial, fühlen Sie sich frei, um Ihnen ein)
Meiner Erfahrung python bietet eine sauberere, mehr straight-forward-Erlebnis.
Meine Probleme mit perl:
'use strict;', Verderben, Warnungen? - Ideal diese sollte nicht erforderlich sein.
Übergeben von Variablen: @; vs. $, vs shift
Scoping meine, lokale, unsere? (Die lokale Definition scheint besonders hinzuweisen einige Verwirrung mit perl, "die Sie wirklich wollen wahrscheinlich mit meiner statt, weil örtliche ist nicht das, was die meisten Leute denken, der als "local".".)
Im Allgemeinen mit meinem perl-Fähigkeiten finde ich immer noch mein selbst verweisen auf die Dokumentation für die integrierten Funktionen. Wo, wie in python finde ich das weniger so. (Ich arbeitete in beiden ungefähr die gleiche Menge von Zeit, aber meine Allgemeine Programmierung expereince gewachsen mit der Zeit. In anderen Worten, ich würde wahrscheinlich eine bessere perl-Programmierer jetzt)
Wenn Ihr ein unix-Kommandozeilen-guru obwohl, perl kann mehr kommen natürlich zu Ihnen. Oder, wenn Ihre Verwendung hauptsächlich als Ersatz oder Erweiterung zu command line admin-Aufgaben, kann es Ihre Bedürfnisse in Ordnung. Meiner Meinung nach ist perl "schneller auf die Auslosung" auf der Kommandozeile als python ist.
Warum gibt es kein Ruby auf Ihrer Liste? Vielleicht sollten Sie es versuchen.
"Ich möchte zu Folgen, OOP Struktur..." Anwälte für Python, oder noch mehr so, wenn Sie offen sind, Ruby. Auf der anderen Seite, in Bezug auf vorhandene Bibliotheken, die Reihenfolge ist wohl Perl - > Python >> Ruby. In Bezug auf Ihre Karriere, Perl auf Ihrem Lebenslauf ist unwahrscheinlich, dass Sie sich, während Python und Ruby können fangen das Auge eines Personalchefs.
Als PHP-Programmierer sind, sind Sie wahrscheinlich gehen, um zu sehen alle 3 ziemlich "belastend", um eine Web-Seite auf. Alle haben gute Lösungen für Web-frameworks, aber keine ist ganz konzentriert auf das Rendern einer Web-Seite wie PHP.
Ich denke, Python ist sehr wahrscheinlich eine bessere Wahl für Sie als Perl. Es hat viele gute Ressourcen, eine große community (wenn auch nicht so groß wie Perl, wahrscheinlich), "sticht" ein wenig auf einen Lebenslauf, und hat einen guten Ruf.
Wenn diese 2 sind Ihre einzige Wahl, die ich wählen würde, Python.
Sonst sollten Sie lernen javascript.
Nein, ich meine wirklich es lernen...
Wenn Sie nicht tun, web-Entwicklung mit dieser Sprache, jeder von Ihnen tun würde. Wenn Sie sind, finden Sie möglicherweise, dass zu tun, web-Entwicklung in perl ist ein wenig komplizierter, da alle Rahmenbedingungen erfordern mehr wissen über die Sprache.
Sie können machen schöne Dinge in beiden, aber meine Meinung ist, dass perl ermöglicht die rasche Entwicklung.
Auch perl-regexes rock!
Jeder dynamischen Sprache aus derselben Familie. Es spielt keine Rolle, Das ist das Werkzeug, mit dem Sie arbeiten, ist es egal, wie Sie tun..
PHP VS PYTHON-OT PERL ODER RUBY? Stoppen
So viele Kommentare erwähnten python-Reiniger ist auch irgendwann deren geschweifte Klammern verwendet werden, voll zu. Sie müssen nur üben.