Perl-Kurs oder Mentor / Coach gesucht

Mankind75

Aktives Mitglied
Thread Starter
Dabei seit
28.06.2005
Beiträge
2.770
Reaktionspunkte
829
Hallo zusammen,

ich bin Hobbyprogrammierer und möchte gerne mehr über die Programmiersprache "Perl5" (unter UNIX/Linux) erfahren und lernen. Ich weiß, dass die Sprache nicht mehr eine tragende Rolle spielt aber dennoch finde ich die Sprache sehr interessant.

Ich suche jemand, der gerne in Perl programmiert, Zeitressourcen frei hat und mir hin und wieder ein Coaching per Screensharing und Telefon/Skype gibt. Hierfür kann ich mit der Software "AnyDesk" helfen.

Folgende Themen interessieren mich insbesondere
  • Lernziele wie sie im CIW Perl Specialist Curriculum drin sind.
  • Datenbankanbindung an Postgres-Datenbank über DBI
  • Objektorientierte Programmierung
  • Evtl. Schnittstellenprogrammierung (Anbindung an ebay-Marktplatz)
  • CPAN-Module
Gerne können wir uns auch an einem Buch (Lamabuch, Kamelbuch etc.) orientieren. Einige erste Gehversuche kann man in meinem github-Repository einsehen.
 
Perl 5 war zu seiner Zeit prima und ist auch heute noch ein nettes Helferlein um Textdateien zu verarbeiten oder kleine Skripte zu schreiben. Aber bitte fang heute nicht mehr damit an, Anwendungen in Perl 5 zu schreiben! Selbst wenn man sich Mühe gibt, "use strict" überall verwendet und alles sehr modular aufbaut, wirst Du früher oder später fluchen, dass es z. B. keine richtigen named parameters bietet und Du hashes als workaround benutzen muss, oder dass es keine so gute Unterstützung in Editoren und IDEs gibt wie für Python und Ruby (und ja, es liegt an der Sprache), oder dass man vernünftige Objektorientierung nur über einen riesengroßen Haufen an Modulen bekommt, was die Startzeit auf mehrere Sekunden hochtreibt.
 
  • Gefällt mir
Reaktionen: wegus
Also bei der Wahl zwischen Python (wo man den Datentyp einer Variablen raten muss), Ruby (wo man den Datentyp einer Variablen raten muss) und Perl (wo man den Datentyp einer Variablen am Vorzeichen ablesen kann und vor allem seinen Code frei - und damit sinnvoll - formatieren kann) nehme und empfehle ich Perl. Wenn du ein IDE mit Klickediklick und Buntibunt brauchst, damit deine Sprache dir keine allzu großen Schmerzen bereitet, ist deine Sprache vielleicht eine schlechte Wahl ... ;)

(Und Python als Gegenbeispiel zu nennen und sich dann über die Performance von Perl zu ärgern... sehr subtil!)
 
Wenn du ein IDE mit Klickediklick und Buntibunt brauchst, damit deine Sprache dir keine allzu großen Schmerzen bereitet, ist deine Sprache vielleicht eine schlechte Wahl ... ;)
Danke für die Rückmeldungen.

Für die IDE verwende ich erstmal "geany" was mir persönlich für die ersten Gehversuche reicht. Ansonsten hatte ich mit dem EPIC-Plugin von Eclipse erste Berührungspunkte - habe es zumindest installiert bekommen.
 
Er schreibt doch, dass er darum weiß das Perl nicht mehr wirklich aktuell ist und möchte es nun mal trotzdem lernen. Lasst Ihn doch! Mir fielen auch bessere Alternativen ein, aber es ist nunmal sein Wunsch!
 
  • Gefällt mir
Reaktionen: dodo4ever, dg2rbf und Mankind75
Der Bedarf nach Perl-Kenntnissen kommt ja nicht aus dem nichts, es geht vermutlich um SQL Ledger Anpassungen.
@Mankind75 ich finde es gut :) Den LaTex Learning Trail hast du hinter dir?
Ich drück dir die Daumen, dass sich die Mühe lohnt (auch wenn ich persönlich mich - aus rein wirtschaftlichen Gründen - vermutlich eher zum SAP Customizer ausbilden lassen würde mit ABAP und Java)
 
  • Gefällt mir
Reaktionen: dodo4ever
Ja richtig. Es geht um SQL Ledger und halt auch, die Freude am Programmieren wieder zu finden. Mir hat das Buch "Wissenschaftliche Arbeiten schreiben mit LaTeX" sehr weiter geholfen, erste Schritte zu machen. Bin aber dann später auf Kodierungsprobleme gestoßen, je nachdem ob ich unter Linux oder Windows gearbeitet habe.

Sind aber noch andere Sachen, die mich interessieren: GNU emacs oder der bessere Umgang mit git oder cvs beispielsweise. Richtig Lust hätte ich, SQL Ledger an elektronische Marktplätze anzubinden. Oder halt so Sachen wie Online-Shops - Sourcecodes alter "Carts" zu lesen, da etwas neues einbauen… Aber das wird ein sehr weiter Weg.

Perl finde ich insofern interessant, da ich einen starken Fremdsprachenhintergrund habe und Larry Wall wohl auch aus dem Sprachwissenschaftenbereich kommt.
 
Wenn es nicht darum geht, am bestehenden SQL Ledger Code weiterzuarbeiten, sondern "nur" darum, Erweiterungen zu schreiben, kann man das ja mit jeder Sprache machen. Die Frage ist, wie du auf die Datenquelle zugreifst, d.h. ob es einen WebService etc auf der SQL Ledger Seite gibt, oder ob du ganz altmodisch pragmatisch aus der DB liest und in die DB schreibst. Eine eCommerce-Anbindung z.B. kannst du auch in "cooleren" Sprachen als Perl schreiben, da findest du dann vielleicht auch mehr Support / Mitstreiter. "ERP-seitig" bist du da wie gesagt frei, aber die Anbindung auf der Web Shop Seite sollte immer in der Sprache des Marktplatzes oder Shops (oft PHP) und immer nach den Richtlinien der jeweiligen "anderen Seite" erfolgen, damit es dort auch akzeptiert wird. Wenn du also ein Amazon Plugin schreiben willst, weil das einfach der fetteste Marktplatz ist und das rein über APIs geht und keine Pluginprogrammierung erfordert (soweit ich weiss), musst du dort schauen, wie die das wollen... es wird über Webservices gehen, wie du das machst, ist egal. Mit perl geht das aber auch: https://stackoverflow.com/questions/9072959/building-a-web-service-with-perl
 
Die Frage ist, wie du auf die Datenquelle zugreifst, d.h. ob es einen WebService etc auf der SQL Ledger Seite gibt, oder ob du ganz altmodisch pragmatisch aus der DB liest und in die DB schreibst.
Ja da hat die Community wohl etwas entwickelt: Link. Es ist allerdings für den Community Fork in Verbindung mit RunMyAccounts, die mittlerweile in Köln eine Zweigstelle eröffnet haben.

Bislang habe ich mir auf den Marktplätzen erstmal nur eBay angeschaut und dort ist die Vorgehensweise in Perl auch dokumentiert.
 
Es geht munter voran: Auf YouTube habe ich eine Serie von Perl-Tutorials gefunden, die in kleine "Häppchen" unterteilt ist. Diese kleinen Skripte habe ich dann etwas mit Kommentaren versehen und in meinem github-Repository gespeichert. Ebenso wurde Kontakt mit einer Perlmonger-Gruppe aufgenommen, die sich im September in Halle (Saale) trifft.

Ich glaube, Routine ist beim Lernen von Programmiersprachen enorm wichtig. Ähnlich wie bei Fremdsprachen. "Use it or lose it" scheint das Motto zu sein…
 
  • Gefällt mir
Reaktionen: warnochfrei
Ich glaube, Routine ist beim Lernen von Programmiersprachen enorm wichtig. Ähnlich wie bei Fremdsprachen. "Use it or lose it" scheint das Motto zu sein…

Ich glaube, dass dies nur in der Vergangenheit so war. Schau dir mal den Enterprise Architekt an: https://sparxsystems.com (das ist nur ein Beispiel von vielen).

Mit dem Ding kannst du Datenbanken Modellieren und aus dem Modell heraus dann Code generieren, der auf diese zugreift. Du lernst also nicht SQL, SQL Ledger oder noch was anderes. Du erstellst ein Modell und generierst den Code. Das Tool selbst kann auch aus UML-Diagrammen Rumpfcode generieren usw.

Es ist vielleicht eine gute Idee, mit irgend einem der gängigen SQLs anzufangen, doch der Blick sollte gerichtet sein auf die Generatoren. Warum? Du wirst sehen, dass du mit dem Schreiben von SQL-Code irgendwann gefühlte 150 Codesequenzen auswendig kennst und die mit einem intelligenten Cut und Paste in jeweils neue Dateien hinein kopierst. Das kann dir aber auch ein Codegenerator besser erledigen.

Wenn du das Werkzeug im Griff hast, dann bekommst du diese Schnittstellen schneller hin und dann ist es gleich, welche Schnittstelle letztlich unterliegt. Du kannst fast alle bedienen. Am ende des Tages steigt dein Lohn.

Also: Der Anfang war eine gute Idee, aber überlege dir genau mit welcher Software du den Code, den du jetzt lernst zu schreiben dann automatisch generierst.
 
Diese Ansätze gibt es schon seit Jahrzehnten. Motivation für die extreme Ausprägung: Kaufleute sind billiger als Informatiker, also soll doch der BWLer seine Prozesse gefälligst selbst zusammenklicken. Das Geld verdient dann der Werkzeughersteller...
Du kratzt damit immer auch nur an der Oberfläche. Für spezifische Aufgaben klappt das prima, moderne IDEs nutzen das ja auch, für den Persitence Layer und die GUI zB. Bei Xcode gibt es das ja seit über zehn Jahren(ich habe erst 2006 mit ObjC angefangen und da gab es schon CoreData und den UI Builder, dessen Name mir gerade nicht einfällt), die IBM Werkzeuge hatten das auch spätestens ab 2000... Sobald aber eine Aufgabe komplexer wird, bist du froh, wenn du die technischen Details wirklich verstehst (Sprache, Compiler, Speicher, Debugger, HeapDump) und nicht durch einen Generator in den Lösungsmöglichkeiten eingeschränkt wirst oder auf den Support des Herstellers angewiesen bist.
Lösung: schreibe deine eigenen Generatoren :)
 
Zuletzt bearbeitet:
Ich finde den Ansatz nicht schlecht. Etwas ähnliches wie den Enterprise Architect kenne ich sonst nur aus Russland mit 1:c-Enterprise. Ich gehe davon aus, dass man mit beiden Lösungen sehr leistungsfähige Anwendungen schreiben kann nur wurmt es mich halt doch, dass die Plattformen keine freie Software sind. "They offer convenience rather than freedom" um es mal mit den Worten von Richard Stallman zu sagen.
 
Du kannst nicht einfach irgend ein Tool nehmen. M. E. gibt es die Ansätze (nicht vollständig)

  • Man erstellt eine Liste dieser Tools und geht bei Vermittlern wie Hays oder Gulp durch die Datenbanken und schaut nach der Häufigkeit solcher Projekte und sucht sich die Projekte aus, die gefragt sind.
  • Man erstellt eine Liste der möglichen Codeoutputs und sucht sich das Vielseitigste aus
Wichtig ist an der Stelle auch die Frage, ob man sich ein Wissen aneignen will, dass für eine one-man-show reicht oder ob man auch in ein Team möchte. Im zweiten Fall ist der Aufwand größer, aber auch der mögliche Verdienst.

Und du solltest dir auch mal so Profiler-Tools ansehen. Sehr häufig tut die Software was sie soll aber sehr langsam. Wenn man die dann umbauen und schneller machen kann ...
 
Zurück
Oben Unten