PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Qual der Wahl - Perl-Buch



55F
02.04.2017, 12:09
Hi, wollte mal fragen welches Buch ihr einem (programmier-) Anfänger für den Einstieg am ehesten empfehlen würdet respektive am besten geeignet ist.

Der Perl-Programmierer (https://www.thalia.de/shop/home/suchartikel/der_perl_programmierer/juergen_plate/EAN9783446416888/ID16477270.html)

Soll relativ viele Fehler enthalten und ehrlich gesagt auch etwas teuer.

Grundwissen Perl (https://www.thalia.de/shop/home/suchartikel/grundwissen_perl/juergen_schroeter/EAN9783486580747/ID14395629.html)

Scheint mir für meine Zwecke gut geeignet zu sein.

Perl (https://www.thalia.de/shop/home/suchartikel/perl/helmut_seidel/EAN9783486258899/ID4150675.html)

Bin ich mir ehrlich gesagt etwas unschlüssig und von 2003

Programmieren lernen mit Perl (https://www.thalia.de/shop/home/suchartikel/programmieren_lernen_mit_perl/joachim_ziegler/EAN9783642627217/ID29411016.html)

Von März 2015

Einführung in Perl (https://www.thalia.de/shop/home/empfehlungsartikel/einfuehrung_in_perl/brian_d_foy/EAN9783868991451/ID29690299.html)

O'Reilly, behandelt Perl 5.14 scheint mir jedoch eher für etwas fortgeschrittenere Programmierer zu sein.


Ein paar Begrifflichkeiten wie Variablen , Konstante, Arrays, Schleifen, Operatoren etc. habe ich schon mal gehört bisher jedoch keine Programme/Scripte geschrieben. (Nichts ernst zunehmendes zumindest)

Wäre nett wenn mir Jemand verraten könnte was davon für mich am sinnvollsten wäre.

Vielen dank und liebe Grüße ^__^

H4x0r007
03.04.2017, 12:41
Hi,


Hi, wollte mal fragen welches Buch ihr einem blutigen (programmier-) Anfänger für den Einstieg am ehesten empfehlen würdet respektive am besten geeignet ist.
Leider kann ich zu Perl wenig sagen, da ich es bisher relativ wenig genutzt habe.


Einem "blutigen Anfänger", wie du es beschreibst, würde ich jedoch generell von Perl abraten. Nicht, weil Perl eine relativ klobige Syntax hat oder weil es als "schwer" gilt, sondern weil man damit quick and dirty programmieren kann. Perl verleitet einfach dazu, schnell unübersichtlichen und wenig wartbaren Code zu schreiben. Wenn dein einziges Ziel ist, schnell kleine Skripte zu bauen, ist Perl sicher eine gute Wahl.
Einem Anfänger würde ich jedoch eher zu Python 3 raten, weil es Einrückungen erzwingt, sich nur auf wenige Konventionen verlässt und jeder Schritt explizit hingeschrieben werden muss, was meiner Meinung nach den Lerneffekt steigert. Ich will dir Perl aber nicht schlecht reden.

Mr.Tr33
03.04.2017, 22:36
Eventuell würde ich Java empfehlen, wenn man wirklich programmieren lernen will.
Einfach weil es "einfach" ist und man nicht später von einer Scriptsprache auf Objekte umdenken muss, wenn man plötzlich Objektorientiert programmieren will :D

Ich selber habe auch mit einer Scriptsprache angefangen, auch mit einer zweiten weiter gemacht. Der Einstieg zu Java war für mich nicht wirklich schwer, aber ich kenne da so Leute den es extrem schwer liegt in Objekten zu denken, wenn die z.B. mit Java programmieren müssen.

Braz
04.04.2017, 10:18
Pssssst.
Hey Kid.
Come here.
Wanna code some python?

55F
04.04.2017, 13:24
Sorry Dudes, sollte absolut keine Grundsatzdiskussion werden, welche Sprache nun die schönere Syntax hat oder womit man nun besser/günstiger lernen kann.
Lediglich welches Buch sich am besten für Jemanden eignet sich eine Scriptsprache aneignen möchte (Bash stand alternativ noch zur Debatte im übrigen).

Was ich damit Vorhabe? Unter Linux kleinere Scripte (schnell) schreiben zu können die mir Aufgaben abnehmen. (Dateien umbenennen und Crawler fallen mir da spontan ein...)
Sicherlich gibt es die jeweiligen Scripte für diese Aufgaben auch schon, bisher liess sich das meiste sowieso super im Terminal bewältigen.

Letztendlich habe ich mich doch entschieden weiterhin meine Kommandoreferenz und Linux zu studieren... fürs erste.
Bevor ich an Perl denke sollte ich mich noch etwas mit grep, awk etc. ausseinander setzen.

Und was ist eigentlich dieses Btrfs? :D

Edit: btw es ging um Bücher die zu empfehlen sind.
Vorhaben: Server Administration unter Linux (Netzwerktechnik eingehender studieren, kleine Webpräsenz, ftp), Firewall härten, Kali rum experimentieren, Backups/RAID/NAS Daten sichern und irgendwann mal kleinere Projekte mit den Pi's (banana m64) realisieren. Und ich hatte mir da dann irgendwie noch Perl als kleine ergänzung eingebildet...
.

SecurityFlaw
05.04.2017, 12:58
Hier wäre noch was für Unix allgemein, beinhaltet auch eine Einleitung zu Shellskripten und Perl soweit ich es gesehen habe.
Dazu ist es noch 4free: http://openbook.rheinwerk-verlag.de/unix_guru/node1.html

sp1nny
05.04.2017, 13:06
Eventuell würde ich Java empfehlen, wenn man wirklich programmieren lernen will.
Einfach weil es "einfach" ist und man nicht später von einer Scriptsprache auf Objekte umdenken muss, wenn man plötzlich Objektorientiert programmieren will https://free-hack.com/images/smilies/biggrin.png

Objektorientierung und Skriptsprache schließen sich nicht gegenseitig aus, es gibt auch Skriptsprachen in denen wirklich alles ein Objekt ist (siehe Ruby) und auch Python unterstützt das objektorientierte Programmierparadigma.

Wenn es einem danach liegt 'richtig' Programmieren zu lernen ist C eine gute Wahl, wie ich finde.
Empfehlen kann ich das Buch 'The C Programming Language' von Brian W. Kernighan und Dennis Ritchie.

Python ist dagegen eher leichte Kost und für absolute Anfänger auch eine gute Wahl.


mfg

55F
06.04.2017, 11:24
Für Hardware nahes coding (Treiber etc.) bedarf es dann später Sprachen wie ASM, C/C++ so wie ich das verstanden habe, bis dahin sollte mir Perl für kleinere Aufgaben/Scripte ausreichen.

zu dem OOP möchte ich kurz eine Passage aus dem O'Reilly Buch (aka. Lama-Buch, für welches ich mich entschieden habe) zitieren:


Objektorientierte Programmierung
Ja, auch in Perl gibt es Objekte. Dadurch ist es modewortkompatibel mit all den anderen Sprachen, die Objekte benutzen. Mithilfe von objektorientierter (OO) Programmierung ist es möglich benutzerdefinierte Datentypen mit assoziierten Fähigkeiten zu benutzen, Eigenschaften zu vererben und Methoden dynamisch nachzuschlagen oder zu überschreiben. Im Gegensatz zu anderen Sprachen zwingt Perl Sie jedoch nicht dazu, Objekte zu benutzen.

Wenn ihr Programm aber einmal länger als N Zeilen ist, kann es für den Programmierer effizienter sein (wenn auch bei der Ausführung ein kleines bisschen langsamer), das Programm objektorientiert anzulegen. Niemand kennt den genauen Wert von N, aber wir schätzen ihn auf ein paar Tausend oder so. Für den Anfang sollten Sie die Dokumentationen zu perlobj und perlboot lesen, und dann mit Damian Conways exzellentem Buch Object-Oriented Perl (erschienen bei Manning Press) weitermachen. Auch das Alpaka Buch behandelt Objekte ausführlich.

Zu der Zeit, als dieses Buch hier geschrieben wurde,erfreute sich das Metaobjektsystem Moose in Perl gerade großer Beliebtheit. Es setzt quasi auf die schlichten Perl-Objekte auf und stellt eine deutlich angenehmere Schnittstelle bereit.
Quelle: Einführung in Perl (Auflage 6) von Randal L. Schwartz, Brian d foy und Tom Phoenix erschienen über den O'Reilly Verlag.

Danke aufjedenfall an SecurityFlaw und Sp1nny für den Input.

s3rb31
08.04.2017, 16:23
Sorry Dudes, sollte absolut keine Grundsatzdiskussion werden, welche Sprache nun die schönere Syntax hat oder womit man nun besser/günstiger lernen kann.

Sorry, aber wenn dir haufenweise Leute sagen dass Perl kaum geeignet ist um einen Einstieg in die Programmierung zu finden, nimm den Ratschlag doch einfach an.


bis dahin sollte mir Perl für kleinere Aufgaben/Scripte ausreichen.

Wie bist du denn darauf gekommen dich so auf Perl zu fixieren? Es gibt haufenweise gute Skriptsprachen. Perl gehört mit Sicherheit nicht zu den Sprachen die man Anfängern empfehlen würde.



Ja, auch in Perl gibt es Objekte.




Object support in Perl sucks hard, you bless references and do unholy stuff in the name of objects, then wonder why you took all the trouble in the first place.


Folgendes hat H4x0r007 schon erwähnt:


Einem "blutigen Anfänger" würde ich jedoch generell von Perl abraten
weil Perl eine relativ klobige Syntax hat
weil es als "schwer" gilt
weil man damit quick and dirty programmiert
Perl verleitet einfach dazu, schnell unübersichtlichen und wenig wartbaren Code zu schreiben


Außerdem kommt dazu, das es recht schwer ist fremden Code zu verstehen.



Ich will dir Perl aber nicht schlecht reden.


Ich auch nicht ... das heißt .. eigentlich schon. xD


Was ich damit Vorhabe? Unter Linux kleinere Scripte (schnell) schreiben zu können die mir Aufgaben abnehmen

Also ich war lange Zeit Windows Nutzer, bin aber 2015 auf Linux umgestiegen. Ich konnte vorher schon minimal Bash und ein bisschen mehr Python. Und ich hab seitdem sehr viel mehr in diesen Sprachen gelernt.

Ich hatte nie das Gefühl das ich irgendwas damit nicht hinbekäme. Mich würde wirklich interessieren wie du auf Perl kommst.

Meine Empfehlung lautet eindeutig: Zuerst Bash, dann weitergucken.

Und wenn du dann Lust auf strukturierte, wartbare, lesbare Programme inkl. schnellem Erfolgserlebnis hast, kann ich nur Python empfehlen.


PS. Reden wir hier eigentlich über Perl 5 oder Perl 6?

SecurityFlaw
08.04.2017, 23:56
Ich finde, wenn man gescheit C / C++ lernt, kann man damit (teils wohl auch genauso einfach, wenn man es dann gerallt halt) genau so viele Anwendungen basteln wie auch mit PERL. Nur dasss dir bei C++ halt unbegrenzte möglichkeiten bleiben, erstrecht in Hinsicht auf Assembler bzw. Inline-Assembler welches bei C / C+++ gern mal genutzt wird um die Hardware effektiver, bzw. schneller anzusprechen.

55F
09.04.2017, 00:12
Ich auch nicht ... das heißt .. eigentlich schon. xD

Scheinbar die einzige Intention deines Beitrages.



Also ich war lange Zeit Windows Nutzer, bin aber 2015 auf Linux umgestiegen. Ich konnte vorher schon minimal Bash und ein bisschen mehr Python. Und ich hab seitdem sehr viel mehr in diesen Sprachen gelernt.

Klicki-klackibunti?
> Dafür muss man nicht mal mit dem Terminal umgehen können... (Ich verstehe wieso du Python gelernt hast.)
> Aber schön für dich dass auch du den umstieg gemeistert hast, umso verständlicher sollte eigentlich sein "warum Perl?!einself". (Vorallem wenn man bedenkt wo Perl seine anfänge hat)



Meine Empfehlung lautet eindeutig: Zuerst Bash, dann weitergucken.

Und wenn du dann Lust auf strukturierte, wartbare, lesbare Programme inkl. schnellem Erfolgserlebnis hast, kann ich nur Python empfehlen.

> Ich werde spätestens zum Contest sehen wie es um die Erfolgserlebnisse (bei mir) bestellt ist, aber danke für die super von dir wiederholten Empfehlungen und Kritiken.



PS. Reden wir hier eigentlich über Perl 5 oder Perl 6?
> Sollte eigentlich aus dem Thread entnehmbar sein aber um deine Frage zu beantworten: Ich werde Perl 5 lernen.(!)

EDIT:
> Wie von SecurityFlaw schon richtig angemerkt wenn ich eine richtige Sprache lerne, würde ich mich an C/C++ orientieren. (Hochsprache)
> Und wenn ich mich jemals mit Reversen und Low-Level programmierung ausseinander setzen muss wird es wohl Assembler bzw. C/C++ werden.

EDIT²:
Ihr habt schon recht mit der lesbarkeit der Syntax bei Python,
hab da vorhin ein klasse Python Beispiel im Git für den MauMau Contest gesehen, denn sogar ich als Anfänger ganz gut verstehen konnte (Ohne mir Python jemals angesehen zu haben) und dem Unterschied dass ich ich den Code für den Contest irgendwann mal als oneliner runterhacken kann. (Weil ich ihn dannach vermutlich sowieso nie wieder lesen muss respektive brauche. Wenn doch werde ich mich um eine schöne Syntax/Struktur und #Kommentare bemühen, Versprochen.)

Notorious
09.04.2017, 00:18
Wenn du etwas sauberes und auf die Tabulator Taste stehst nimm Python. Wenn du wie Gandalf sein willst nimm C++. Wenn du aber Perl nimmst wirst du zum Gollum, weil Perl für mich wie Haskell, Rust etc. nur memelangs sind.

s3rb31
09.04.2017, 02:16
Scheinbar die einzige Intention deines Beitrages.

Deal with it! ;)


Klicki-klackibunti?

Pff. Und? VXen unter Win macht mir halt einfach mehr Spaß als unter *nix. Darum bin ich lange dort geblieben.


> Dafür muss man nicht mal mit dem Terminal umgehen können... (Ich verstehe wieso du Python gelernt hast.)
> Aber schön für dich dass auch du den umstieg gemeistert hast, umso verständlicher sollte eigentlich sein "warum Perl?!einself". (Vorallem wenn man bedenkt wo Perl seine anfänge hat)

Wofür brauch man kein Terminal? Was willst du mir sagen?! Wo Perl seine Anfänge hatte liest man z. B. in der Wikipedia nach ...



> Ich werde spätestens zum Contest sehen wie es um die Erfolgserlebnisse (bei mir) bestellt ist, aber danke für die super von dir wiederholten Empfehlungen und Kritiken.

Na super. Keine Ursache.



> Sollte eigentlich aus dem Thread entnehmbar sein aber um deine Frage zu beantworten: Ich werde Perl 5 lernen.(!)

*facepalm*



EDIT:
> Wie von SecurityFlaw schon richtig angemerkt wenn ich eine richtige Sprache lerne, würde ich mich an C/C++ orientieren. (Hochsprache)


Ja dann viel glück. Ich habe auch mit C++ angefangen. Man muss dazu kein Perl können. ;)



> Und wenn ich mich jemals mit Reversen und Low-Level programmierung ausseinander setzen muss wird es wohl Assembler bzw. C/C++ werden.

wenn

Man redet nicht darüber. Man fängt einfach damit an.



EDIT²:
Ihr habt schon recht mit der lesbarkeit der Syntax bei Python,


Hey cool, danke!