Gefühlt habe ich die letzten Monate nur noch Python gemacht. Mit Ausnahme von ein bisschen VBA bei dem Access-Projekt für den Alten Dom zu Mainz. Aber die Woche steht mal wieder eine Schulung in C# an. Das ist eine Maßnahme, die ich für den Kunden schon seit vielen Jahren anbiete. Einige Zeit sogar in Kombination mit einem zusätzlichen Kurs in Cobol, aber die letzte Zeit werden die Endteilnehmer (Azubis, Uniabgänger, Trainees oder umzuschulende Programmierer bei einer Versicherung) wieder nur noch in C# geschult.
Schlagwort: Cobol
Wie lange macht es Cobol noch?
Totgesagte leben länger! Cobol ist Beweis. Schon zu Beginn meines Arbeitslebens unmittelbar nach dem Studium galt Cobol als vollkommen überholt. Mein einziger Kontakt mit Cobol bestand darin, dass ich Cobol-Programme in Turbo Pascal und/oder C/C++ umgestellt bzw. nachprogrammiert habe. Später habe ich dann eine riesige Anzahl an Cobol-Programmieren auf moderne Sprachen wie Java, C#, JavaScript oder Python umgeschult. Aber 2015 etwa habe ich begonnen, erste junge Programmierer wieder in Cobol zu schulen und sowohl bei LinkedIn Learing (LiL) Cobol-Training aufzunehmen als auch Cobol-Bücher zu schreiben . Bei einem Kunden – einer Versicherung – wurden ab der Zeit wieder Fachinformatiker und Uni-Absolventen nicht nur in C#, sondern auch in Cobol ausgebildet, weil die alten Cobol-Programmierer nicht mehr da waren, die alten Cobol-Progamme jedoch immer noch. Corona hat dann interessanter Weise nochmal einen Boom bei Cobol ausgelöst.
Doch die Woche habe ich erfahren, dass in besagter Versicherung die neuen Programmierer von mir nur noch in C# geschult werden sollen. „Wie lange macht es Cobol noch?“ weiterlesen
Fortran-Training bei LiL
Gerade ist mein neues Videotraining bei LinkedIn Learning freigeschaltet worden.
Fortran Grundkurs
Fortran? Echt jetzt? Kommt das Training nicht mindestens 30 Jahre zu spät?
Ich habe halt ein Faible für alte Sachen :-).
Aber natürlich ist es fast zwangsläufig, in modernen Zeiten die Frage nach dem Sinn einer Beschäftigung mit Fortran zu stellen. Das gilt für Fortran wie dem anderen Überbleibsel des alten Zeitalters Cobol.
Für beide Sprachen gibt es immer noch Gründe. Sehr gute Gründe. „Fortran-Training bei LiL“ weiterlesen
Fortran – Schnelleinstieg
Seit einigen Wochen beschäftige ich mich (wieder) mit Fortran und hab jetzt sogar Schulungsunterlagen für den Einstieg dazu erstellt und im Selbstverlag veröffentlicht. Wie bitte?
Da werden sich einige – vor allen Dingen jüngere – Spezies vermutlich die Augen reiben oder auch lachen.
Fortan in Zeiten künstlicher Intelligenz und moderner Objektorientierter Sprachen? Gibt es das echt noch?
Aber sicher! Fortran ist – genauso wie Cobol – immer noch „Still
alive and well!“. Und sogar in aktuellen Medien mit Artikeln vertreten. „Fortran – Schnelleinstieg“ weiterlesen
Linux unter Windows
Vor einigen Tagen habe ich mit Erstaunen mitbekommen, dass Fortran (Formula Translation) durchaus noch eine Bedeutung hat. Ich dachte eigentlich, dass diese Sprache schon seit Jahrzenten verschwunden wäre, aber es geht Fortran wohl so wie Cobol. Es gibt Nischen, in denen diese alten Sprachen überleben und absolut noch eine Berechtigung haben. Denn viele ältere wissenschaftliche und technische Projekte wurden in Fortran geschrieben, Fortran ist immer sehr effizient und leistungsfähig bei numerischen Berechnungen und wissenschaftlichen Simulationen und bietet eine klare und präzise Syntax, die für mathematische Ausdrücke und wissenschaftliche Berechnungen gut geeignet ist. Da ich zu Beginn meines Studiums Fortran gemacht habe, möchte ich mich daher in Zukunft damit mal wieder beschäftigen.
Und damit stellt sich die Frage, wie man Fortran auf einem PC zum Laufen bekommt. Das ´“natürliche“ Habitat von alten Sprachen wie Fortran oder Cobol ist ja der Großrechner. „Linux unter Windows“ weiterlesen
Grenzen von ChatGPT bei der Quellcodegenerierung
Ich in ja derzeit voll beim Hype um künstlichen Intelligenz (KI) dabei. Nicht zuletzt mit Videotraining wie KI-unterstütztes Programmieren mit OpenAI und ChatGPT und einigen anderen bei LiL. Aber jetzt hat mich ChatGPT erneut massiv enttäuscht. Schon die falsche Aussage zu der Anzahl von Tagen zwischen zwei Datumsangaben hat mich ziemlich zweifeln lassen. Aber im Moment lasse ich mir für eine Reihe von Aufgaben Quellcode generieren und der ist teils schlicht und einfach falsch bzw. nicht lauffähig. „Grenzen von ChatGPT bei der Quellcodegenerierung“ weiterlesen
DeppGPT
Bei dem ganzen Hype um künstlichen Intelligenz (KI), an dem ich mich u.a. mit Videotraining wie KI-unterstütztes Programmieren mit OpenAI und ChatGPT oder Python für die Datenanalyse 2: Machine Learning bei LinkedIn Learning sowohl beteilige als auch davon profitiere, ist die recht neue KI DeppGPT vom Postillon eine ziemlich interessante Stilblüte. „DeppGPT“ weiterlesen
Kindlei
Damit ist die „Kindlei“ erst einmal fertig. Nach dem Publizieren elektronischer Ausgaben meiner COBOL-Unterlagen und des Buchs „Reguläre Ausdrücke: Kurz und bündig“ habe ich jetzt auch „XML – Kurz und bündig“ also auch „Aufzucht und Pflege kleiner Webseiten mit HTML – Grundlagen der Webseiten-Erstellung“ als Kindle-Version aufbereitet und veröffentlicht. „Kindlei“ weiterlesen
Gleich nochmal Kindle
Nachdem ich erst vor Kurzem meine COBOL-Unterlagen , die ich dem Selbstverlag vertreibe, zusätzlich als Kindle-Buch veröffentlicht habe (sowohl die deutsche Version als auch die neue englische Version), hatte ich schon angedeutet, dass ich auch weitere Bücher von mir aus dem Selbstverlag für den Kindle aufbereiten möchte. Gesagt, getan.
Hier ist das Buch „Reguläre Ausdrücke: Kurz und bündig“ als Kindle Ausgabe. „Gleich nochmal Kindle“ weiterlesen
COBOL und künstliche Intelligenz
Was hat COBOL mit künstlicher Intelligenz zu tun? Eine uralte Programmiersprache aus der Computersteinzeit auf der einen und das derzeit absolute Hype-Thema auf der anderen Seite scheinen nicht viel Gemeinsamkeiten zu haben. Stimmt wohl auch. Außer Berührung bei (mindestens) zwei Sachen:
- ChatGPT kann ziemlich gut COBOL-Code erzeugen oder aber aus anderen Programmiersprachen konvertieren.
- Ich habe mit Hilfe von KI (DeepL) meine COBOL-Unterlagen, die ich schon geraume Zeit im Selbstverlag herausgebe und die gar nicht so schlecht laufen, aus dem Deutschen ins Englische übersetzt.
Deutsche Datenschützer gegen ChatGPT & KI
Es sieht so aus als würden Deutsche Datenschutzbehörden ein Verwaltungsverfahren gegen OpenAI und ChatGPT einleiten und sogar mit einem Verbot in Deutschland drohen. Wegen möglicher Datenschutzverletzungen beim Training der KI. Ich fasse es einfach nicht. Schon die DSGVO war ein Schuss ins Knie und hat dem Datenschutz m.E. mehr geschadet als alle Spionageaktionen der üblichen US-Unternehmen. Und jetzt wollen die doch glatt Deutschland von der wichtigsten Entwicklung der IT abhängen und den freien Zugang zu Informationen sperren. „Deutsche Datenschützer gegen ChatGPT & KI“ weiterlesen
Wen macht KI wann überflüssig? Versuch als Nostradamus
Im Rahmen des aktuellen Hypes um künstlichen Intelligenz (KI), der für mich erfreulich meine ganzen Onlinetraining bei LinkedIn Learning (LiL) ziemlich befeuert (ganz neue Kurse wie KI-unterstütztes Programmieren mit OpenAI und ChatGPT, aber auch etablierte wie Python für die Datenanalyse 2: Machine Learning, Python: Statistische Auswertungen, Mathematik-Grundbegriffe für Programmierer, Python für die Datenanalyse 1: Grundlagen oder auch Daten aus Tabellenkalkulationsprogrammen mit Python bearbeiten), kommt immer mehr die Diskussion auf, welche Berufsbilder durch KI verschwinden werden, sich grundlegend ändern oder deren Bedarf an Menschen in den Berufen massiv abnehmen wird.
Gerade wurde ich auf einem Vortrag aufmerksam, ob Programmierer in der nächsten Zeit durch KI überflüssig werden. Das steht natürlich in krassem Widerspruch zu dem Gebetsmühlenartig zu hörenden Gejammer, dass so unglaublich viele IT-Fachleute fehlen würden. Denn natürlich steht „Programmierer“ nur als populärer Aufhänger für allgemeine IT-Berufe. „Wen macht KI wann überflüssig? Versuch als Nostradamus“ weiterlesen
GTP-4 API Warteliste
Ich habe mich eben auf die Warteliste für das GTP-4 API gesetzt. Ich glaube zwar nicht, dass die Sperre von ChatGPT in Deutschland wirklich durchkommt und zudem sollte so eine Zensur – falls sie denn doch kommt – keinen Einfluss auf die Zugänglichkeit von dem API haben (denke ich). Aber dennoch will ich rechtzeitig die Version 4 ansehen und schauen, ob ich die Fortschritte gegenüber GPT-3 erkennen kann. Die sollen ja riesig sein, wobei mich schon GTP-3 umgeworfen hat. Auch wenn in manchen Foren gelästert wird, dass die Möglichkeiten der KI eher mau und Ergebnisse oft falsch wären, sehe ich das ganz anders. Insbesondere ich Art der Interaktion ist für mich immer noch beeindruckend – auch wenn ich jetzt schon eine Weile damit experimentiere.
Interessanter Nebeneffekt – oder ehrlich gesagt für mich mehr als Nebeneffekt 😉 – der ständigen Medienpräsenz von KI (engl. Artificial Intelligence oder kurz AI) und wohl unabhängig davon, die Meldungen gut oder schlecht sind:
Die Besucherzahlen meiner Onlinevideos von LinkedIn Learning (LiL), die sich mit Künstlicher Intelligenz im weiteren Sinn oder auch mathematischen Grundlagen davon beschäftigen, haben gut angezogen. „GTP-4 API Warteliste“ weiterlesen
KI-unterstütztes Programmieren mit OpenAI und ChatGPT
Nachdem ich erst vorgestern aus Graz von neuen Videoaufnahmen bei LinkedIn Learning (LiL) zurückgekommen bin, habe ich direkt eine Mail von LiL zu einer internationaler Aktion erhalten, in der Kurse über künstlichen Intelligenz (KI) im Mittelpunkt stehen und auch ein Kurs von mir dabei wäre (Python für die Datenanalyse 2: Machine Learning von Lillian Pierson und Ralph Steyer). LinkedIn Learning hat weltweit etwa 100 LinkedIn Learning-Kursen zum Thema KI (engl. Artificial Intelligence oder kurz AI), die in der Kampange ab sofort bis zum 15. Juni kostenlos angeboten werden. Schon in dem Blogbeitrag zu der Aktion habe ich angekündigt, dass sehr bald von mir ein weiteres Training zum Thema KI folgen wird. Und tatsächlich ist es heute bereits soweit.
Das Videotraining „KI-unterstütztes Programmieren mit OpenAI und ChatGPT“ wurde veröffentlicht.
„KI-unterstütztes Programmieren mit OpenAI und ChatGPT“ weiterlesen
Neuauflage
2023 startet recht ruhig und die Zeit nutze ich (wie meist am Jahresanfang) für alle möglichen Aufgaben, die im normalen beruflichen Stress hintenanstehen. Etwa kümmere ich mich um meine Workstation oder bringe andere IT-Systeme auf Stand. Aber auch die Überarbeitung eines Buchs war fällig, das ich im „Selbstverlag/Eigenverlag“ publiziere. Diese Möglichkeit der Publikation nutze ich seit ein paar Jahren, um da Themen abzudecken, die für große Verlage uninteressant sind, ich aber entweder für eigene Schulungen Materialien brauche und/oder für das Thema immer noch eine Nische sehe bzw. sowieso Stoff paratt habe.
Ich habe so für XML, Reguläre Ausdrücke und Cobol entsprechende Bücher, die bei epubli gedruckt und vertrieben werden. Vor allen Dingen das Buch zu Cobol läuft gar nicht so schlecht und befindet sich mittlerweile in der 2. Auflage. Dann gibt es noch das erste Buch, das ich 2016 auf diese Weise überhaupt vertrieben habe. Dabei geht es vom Thema um HTML und Grundlagen der Webseitenerstellung.
Die Verkaufszahlen dieses Buchs sind – sehr vorsichtig ausgedrückt – ziemlich „überschaubar“. Genaugenommen so gering, dass diese die Arbeit nicht wert waren (niedriger zweistelliger Bereich). Das liegt sicher daran, dass HTML kein Thema ist, das derzeit noch hipp ist, die allgemeinen Verkaufszahlen von IT-Büchern extrem eingebrochen sind und ich im „Selbstverlag“ natürlich nicht die Reichweite von großen Verlagen habe, für die ich normalerweise schreibe.
Warum also überhaupt eine Überarbeitung? Mit dem Buch, das den Titel „Aufzucht und Pflege kleiner Webseiten mit HTML“ hat, gibt es für mich Besonderheiten. „Neuauflage“ weiterlesen
Schulungsjahr 2022 beendet
Gestern habe ich meinen letzten Schulungstag 2022 (falls nicht noch ganz kurzfristig was aufläuft) gehalten (zu Python) und eben habe ich die letzte Rechnung für eine Schulung erstellt und versendet. Damit schließe ich das Schulungsjahr 2022 ab. Allerdings kommt vor Weihnachten noch eine Woche mit Videoaufnahmen bei LinkedIn Learning in Graz, worauf ich mich richtig freue.
Wenn ich die Schulungen dieses Jahr durchgehe, kamen wieder eine ganze Reihe an Themen vor. Wie üblich mit einigen Schwerpunkten, die sich im Vergleich zu den Jahren zuvor aber teils verschoben haben. Andere Themen sind komplett weggebrochen oder ich habe sie nicht annehmen können und ich muss mir überlegen, ob ich die weiter im Schulungsprogramm behalte. Auch wenn ich sie persönlich meist immer noch interessant finde (etwa F#, GWT oder Perl) bzw. unabhängig von direkten Schulungen oft verwende (etwa Eclipse oder alles rund um mein Lieblingsbetriebssystem Linux, wofür ich aber keine aktuelles Schulungsagenda mehr ausgearbeitet habe – zu nahezu allen anderen Schulungthemen habe ich ja eigene Bücher und Schulungsunterlagen und/oder Videotraining bei LiL erstellt).
Neue Auflage von meinem COBOL – Grundlagenkurs für Ein- und Umsteiger
Ich habe die ersten 4 Tage der Woche wieder einmal einen Kurs zu COBOL gehalten. Teilnehmer waren Umsteiger bzw. Programmierer, die sich zum Teil sogar schon längere Zeit mit COBOL beschäftigt haben. Denn obwohl COBOL schon lange tot gesagt wird, gibt es jedoch unverändert zig Millionen von COBOL-Codezeilen. Gerade in Banken und Versicherungen werden COBOL-Programme immer noch eingesetzt und es ist nicht absehbar, dass diese Programme umgestellt werden. Auf der anderen Seite sind die meisten COBOL-Programmierer mittlerweile in Rente gegangen. Es besteht also Bedarf an neuen COBOL-Programmierern und deshalb hatte ich schon vor einiger Zeit passende Unterlagen erstellt. Der Kurs über die letzten 4 Tage hat mich veranlasst, diese COBOL – Grundlagenkurs für Ein- und Umsteiger etwas zu überarbeiten bzw. zu aktualisieren und um Themen zu erweitern, die in dem Kurs zur Sprache kamen und bisher noch nicht enthalten waren.
COBOLGrundlagenkurs für Ein- und UmsteigerSprache: Deutsch
Format: Softcover
Bindung: DIN A5 hoch Seitenzahl: 200 Seiten ISBN: 9783756519743
Verkaufspreis: 27,99 €
Erscheinungsdatum: 05.08.2022 |
Vor Ort – oder doch lieber remote?
Aktuell bereite ich gerade für nächste Woche eine Cobol-Schulung vor. Auch wenn ich die letzten Wochen Vor-Ort-Schulungen gehalten habe – die Sache wird wieder remote laufen. Ebenso wie meine Videoaufnahmen für LinkedIn Learning in der übernächsten Woche. Für mich stellt sich mittlerweile die Frage, ob und wann meine Arbeit wieder ganz oder zumindest überwiegend auf „Präsenz“ umgestellt wird? Denn ich habe für die kommenden Wochen und Monate wieder Schulungsanfragen, die zwingend Vor-Ort laufen sollen. Zum Teil habe ich sie schon zugesagt. Aber Corona, die aktuell katastrophalen Rahmenbedingungen beim Fliegen (heute wird zusätzlich zu den total chaotischen Flughafenbedingungen durch den Urlaubswahnsinn sogar noch in FFM gestreikt), die permanent unzuverlässige Bahn sowie die explodierenden Benzinpreise bzw. allgemeinen Reisekosten lassen mich meine Zusagen bereuen und überlegen, ob ich nicht konsequent auf „Remote“ bestehe? Vielleicht mit Ausnahme von Schulungen hier in der Umgebung, die ich u.U. sogar mit dem Rad anfahren kann (wie die letzten Wochen) und Videoaufnahmen bei LinkedIn Learning in Graz, denn ich will da unbedingt mal wieder hin. Aber ansonsten?
Ich muss Ende September nach Hamburg. Wie soll ich denn da hinkommen?
- Inlandsflug? Theoretisch billig, gut und schnell. In der Praxis eine Umweltsauerei und besagtes Chaos an den Flughäfen lassen das im Grunde als Option nicht zu.
- Bahn? Das klappt bei mir einfach nie. Mein Sohn hat letzte Woche wieder 5,5 Stunden für eine Strecke gebraucht, die nach Plan 90 Minuten dauern sollte, ich habe mein letztes Ziel vor 3 Wochen (Marburg) gar nicht erreicht, weil es einfach in Giessen nicht mehr weiterging, Anschlusszüge erreiche ich sowieso fast nie und ich kann nicht mehr zählen, wie oft meine Fernzüge unterwegs stehengeblieben sind.
- Auto? Bei den Kosten, den Staus durch die vielen Baustellen und auch wegen der Umwelt wirklich nicht gut. Nach HH sind es weit über 500 Km und da brauche ich ja 6 – 7 Stunden einfach.
Ich liebe HH und das war mit ein Grund, warum ich diese Maßnahme Vor-Ort zugesagt habe, aber ich hoffe dennoch, dass Corona die Sache auch für den Kunden auf Remote zwingt. Doch die Kunden wollen eben wieder verstärkt von Remote weg. Gestern habe ich von einem Schulungspartner, für den ich die letzten Wochen UML und Java bei Fachinformatikern geschult habe, einen Hilferuf bekommen. Denn rein zufällig soll er in einigen Tagen für einen Teil dieser Gruppe eine Cobol-Schulung halten. Mein Schulungspartner ist nun Cobol-Spezialist und macht das seit gut 35 Jahren – früher Host und mittlerweile unter Linux. Er ist also in Cobol fitter wie ich und der Hilferuf ging nicht um konkrete Cobol-Fragen und auch nicht darum, ob ich das übernehmen könne.
Es ging darum, dass beim Kunden neue Corona-Regeln in Kraft getreten sind. Die Gruppe, die Cobol in den Räumlichkeiten des Kunden (einer Bank) lernen soll, besteht aus 4 Fachinformatiker-Azubis und dem Trainer (besagtem Schulungspartner). Wenn in der Schulungszeit auch nur ein Corona-Fall bei einem der 5 Leute auftritt, besteht für die gesamte Gruppe ein Betretungsverbot der Räumlichkeiten des Kunden für die kommenden 5 Tage. Nun hatte ich die Azubis ja über die letzten 5 Wochen immer 2 Tage die Woche in einer Berufsschule unterrichtet und ständig hat jemand wegen Corona gefehlt. Ich selbst habe am letzten Tag auch ein Andenken mitgenommen – trotzt Mehrfachimpfung/Boostern. Was mir nur zufällig aufgefallen war, denn meine Symptome waren so, dass ich normalerweise nie auf die Idee gekommen wäre, mich zu testen oder gar krankzufeiern. Rein die Sensibilität aufgrund des Corona-Hotspots Schule hat dazu geführt, dass mir die Möglichkeit überhaupt in den Sinn gekommen ist. Aber sei es drum – auch wenn die aktuelle Corona-Variante wohl bei 99,9% der Infizierten entweder nicht bemerkt wird oder nicht an die Auswirkungen eines Sommerschnupfens heranreicht – wenn so strikte Zugangsregeln bzw. Isolationsregeln etc. gelten – wie soll man dann noch Maßnahmen vor Ort planen können?
In dem Fall meines Schulungspartners ist die Planung einfach – sie werden vor Ort beginnen (erzwungen vom Kunden) und dann ist es nur die Frage, an welchen Tag abgebrochen wird. Der einzige Grund, warum das im besten Fall durchgehen kann ist, dass die Azubis Ihre Corona-Infektion bei mir in der Schulung bereits hatten und gerade immun sind. Bis zur nächsten Variante des Virus. Aber wie gesagt – vermutlich wird die Schulung abgebrochen und dann muss halt auf remote umgestellt werden. Theoretisch. Denn im Fall von Cobol wird das auf dem Host verwendet oder unter Linux, die Azubis müssen aber im Remote-Fall Notebooks der Firma verwenden, unter denen dann ein Host-Zugriff oder Linux und die verwendete Cobol-Distribution nicht laufen. Der Kunde lässt also Remote quasi technisch scheitert, verbietet aber Vor-Ort mit hoher Wahrscheinlichkeit. Quadratur des Kreises.
Um kurz abzuschweifen – ich habe OpenCobolIDE, MinGW und ein Docker-Image für Cobol als Lösung vorgeschlagen, um Cobol dann unter Windows bei den Azubis zum Laufen zu bringen und gerade die Sache mit dem Docker-Image gestern erstmal selbst getestet, um das nächste Woche selbst neu in meine Schulung zu integrieren. Geht wunderbar und ist quasi die Verbindung der Vergangenheit (Cobol) mit der Gegenwart (Docker). Genau da sehe ich auch in meiner sehr Laienhaften Betrachtungsweise den Hauptsinn von Docker, denn so nutze ich Docker ja auch für Cordova bei meinen Vorlesungen an der TH Bingen.
Aber um die Sache zum Abschluss zu bringen – ich habe die letzten Wochen Kundenwünschen nach Vor-Ort-Maßnahmen wieder zugestimmt, werde das aber beenden. Solange ich es mir leisten kann, werde ich wieder auf reines Remote zurückgehen. Die fehlende Planungssicherheit, die aktuell unmöglichen Reiseumstände und auch, dass mich Corona trotz Boostern und extremer Vorsicht erwischt hat (auch wenn ich keine wirklichen Symptome mitgenommen habe), geben mir keine andere Wahl. Freiberufliche Arbeit muss extrem flexibel sein und richtig planen kann man nie – aber so extreme Unsicherheit ist mir zu viel. Zumal auch das gesamte Risiko bei mir liegt. Wenn ich Corona bekomme, muss ich die Maßnahme abbrechen. Entweder weil es der Kunde oder die Politik immer noch 5 Tage Isolation fordert – auch ohne Symptome (da ist Deutschland leider noch nicht so weit wie etwa Österreich, wo diese Maßnahme endlich abgeschafft wurde). Remote arbeite ich einfach weiter. Oder die Maßnahme wird abgebrochen, weil irgendjemand in der Gruppe Corona hat. Das explodierende Risiko von Reiseproblemen muss ich auch noch tragen. Nein, so geht es einfach nicht, wenn auf der anderen Seite Remote alles einfach und sicher macht.
JSF/MyFaces, Microservices, Maven & Co
Ich habe die ersten drei Tage der Woche eine Einzelschulung zu erweiterten Java-Themen gehalten. Es ist kaum zu glauben, aber das war die erste Live-Schulung seit 1,5 Jahren. Obwohl ich in der Zeit sogar sehr viele Schulungen gehalten habe, waren sie allesamt online.
Bei der Schulung ging es grob gesagt um Java. Aber keine Einsteiger-Themen, sondern um eine Betrachtung diverser Themen im Java-Umfeld samt Web für einen erfahrenen Programmierer, der sich mit den Techniken bereits auskennt. So Sachen wie
- JUnit, Git und Github,
- Maven und andere Build-Tools wie Gradle und Ant,
- Docker,
- Übersicht neue Java-Techniken (vor allen Dingen Lambda-Ausdrücke, Closures und das Modulsystem)
- JavaFX/OpenJFX/FXML
- Ausblick Mobile, Android Studio, Cordova
- Tomcat bzw. Java-Container als Server (Wildfly)
- JSP/Servlets/JSF
- Refactoring
- Microservices (Spring)
Bei der Anfrage hat mich allerdings das Thema JSF (Java Server Faces) doch schwer verwundert. Ich hatte in der Vergangenheit JSF durchaus mehrfach geschult, aber seit Jahren eigentlich nichts mehr damit zu tun. Und ich bin davon ausgegangen, dass das Thema JSF eigentlich ziemlich out ist. So hatte ich das auch schon vor einigen Jahren beurteilt und mich deshalb aus dem Themenkomplex weitgehend zurückgezogen. Die vereinzelten Anfragen zu JSF-Kursen habe ich auch immer abgelehnt. Überhaupt sah und sehe ich bei den Java-Frameworks für das Web eigentlich nicht (mehr) das große Potential. Weder bei JSF (oder gar Servlets/JSP), noch Spring oder Struts.
Aber mein Teilnehmer wechselt demnächst beruflich als IT-Leiter in eine Behörde, die wohl mit JSF 2.3 arbeitet. Alttechnologien halten sich oft ewig. Ich habe ja auch einen Standardkunden, der noch mit Cobol arbeitet.
Da diese Schulung als eine Art Workshop mit Wissensaustausch gewünscht war und JSF etc. nur einen Teil der Agenda ausgemacht hat, habe ich die Sache angenommen. JSF und Web haben wir dann auch geschlossen am dritten Tag abgearbeitet.
Rückblickend war es auch verdammt spannend, sich wieder in die Welt von JSF einzuarbeiten. Wobei dabei uns beim Voranarbeiten ganz interessante Phänomene untergekommen sind, von denen mir immer noch nicht ganz klar ist, ob wir auf den Grund der Tatsachen getaucht sind oder uns verirrt haben.
Gerade bei Java im Web-Umfeld ist m.E. erst einmal die Konfiguration die größte Einstiegshürde. Vor allen Dingen, wenn man da nicht täglich am Schaffen ist. Das fängt schon mit der Konfiguration der Server an. Ganz banal bei der lästigen Tomcat-Einstellung in der Datei tomcat-users.xml, wo mit
<role rolename="manager-gui"/> <user username="admin" password="admin" roles="standard,manager-script,manager-gui" />
erst einmal freigeschaltet werden muss, dass der Server über das Webinterface administriert werden kann und war-Dateien überhaupt deployed werden dürfen. Mit Wildfly ist es auch nicht einfacher bzw. bequemer.
Da Maven in der Schulung ein großes Thema war, haben wir viel mit Architypes gearbeitet. Auch bei JSF, was wir in der Version 2.3 als Basis genommen haben. Neben den Schablonen in Netbeans und Eclipse, die mit Maven, Ant oder Gradle arbeiten.
Neben dem elenden Konfigurieren über die web.xml und die faces-Konfigurationsdateien gab es ganz ungewöhnliche Probleme mit dem Kompilieren bzw. Deployen der Projekte. Vor allen Dingen Projekte, die ich schon zum Laufen gebracht hatte, als auch die generierten Projekte aus den POM-Dateien wurden vielfach nicht übersetzt oder konnten nicht auf den Tomcat depoyed werden. Teils gingen auch die SSI-Dateien mit den Tag-Libs, aber alleine die Existenz einer Java-Datei im Projekt hat die Übersetzung blockiert. Nicht einmal als Bean oder Controller gebaut, sondern eine leere Klasse im source-Verzeichnis hat genügt, um einen Fehler zu erzwingen.
Andere Projektkonfigurationen haben die Java-Controler und -Beans übersetzt, aber die xhtml-Dateien wurden auf dem Server nicht geparst und damit die Tag-Libs nicht verarbeitet.
In Netbeans gab es bei dem Problemen mit dem Java-Code die unverständige Fehlermeldung, dass source in der Version 6 nicht mehr unterstützt wird und wir die Version 7ff nehmen sollten. Nach diversen Problemen habe ich auf mein Matebook als Ursache getippt, aber auf dem Teilnehmerrechner waren die Fehler exakt reproduzierbar.
Irgendwann hatte ich die Faxen dicke und habe auf einem alten Linux-Rechner die Geschichte von Grund auf neu aufgesetzt. Also zuerst Maven, was noch nicht da installiert war, und dann einen Architype für JSF mit der Konsolenanwendung mvn aus dem Internet gezogen. Damit hat die Sache von A bis Z funktioniert und mir ist aufgefallen, dass ich auf dem Linux-Rechner das OpenJDK 8 installiert habe. Auf unseren beiden anderen Rechnern allerdings das JDK 16 und bei meinem Teilnehmer das JDK 15. Und danach haben wir endlich in einer Konfigurationsdatei zu den JSF 2.3 die XML-Tags gefunden, dass die Entwickler- als auch Zieldatei auf Java 8 festgelegt ist.
Unter dem Gesichtspunkt macht auch die Fehlermeldung von Netbeans Sinn – es müsste bei mir eigentlich heißen source in der Version 16, aber das Feld für die Versionsnummer wurde wohl nur einstellig konzipiert. Aus der 16 wurde die 6 und damit eine vollkommen unsinnige Fehlermeldung. Aber zum Zeitpunkt, wo die JSF 2.3 konzipiert wurden, hatte man vermutlich nicht an Inkompatibilitäten in so hohen Folgeversionen, sondern nur älteren Versionen, gedacht. Wir sind nicht so ganz sicher, ob die JSF bis zur Version 2.3 mit den neuen JDK nicht mehr klar kommen, aber ich denke schon. In der Doku steht explizit auch die Version 8. Das deckt sich mit der Tatsache, dass Cordova auch nur bis zur JDK-Version 8 funktioniert. Das habe ich ja in meiner Vorlesung an der TH Bingen die Tage behandeln müssen.
Die JSF werden wohl als Apache MyFaces weiterentwickelt und stehen mittlerweile in der Version 4.0 zur Verfügung, aber die haben wir uns dann nicht mehr genauer angesehen.
Rund um das Thema habe ich auch noch ein paar nützliche Anleitungen gefunden:
JSF Tutorial
https://www.javawebtutor.com/articles/jsf/
https://www.tutorialspoint.com/jsf/jsf_overview.htm
JSF in Tomcat zum Laufen bringen
https://www.byteslounge.com/tutorials/how-to-configure-jsf-in-tomcat-example
Webanwendungen als Docker-Images herstellen
https://jaxenter.de/apache-tomcat-meets-docker-webanwendungen-als-docker-images-herstellen-23213
Grundsätzlich hat sich mein Eindruck gefestigt, dass im Web Java nicht (mehr) der Bringer ist. Irgendwie reihen sich JSF/MyFaces in andere Projekte wie JavaFX/OpenJFX oder auch Cordova ein, bei denen die Originalhersteller die Entwicklung abgetreten haben und wo es aus meiner Sicht nicht sicher ist, dass diese Projekte auf Dauer sich halten und/oder zuverlässig weiterentwickelt werden.
Wobei die Erstellung eines Spring-Microservice für Tomcat wirklich genial einfach war und die mit einer Anleitung erstellte Version des Microservice absolut flexibel und einfach an beliebige Bedürfnisse anzupassen ist.
Google My Business
Vor einiger Zeit ist mir bewusst geworden, dass „Hinz und Kunz“ bei Google Maps mit ihren Unternehmen eingetragen sind. Selbst mit den Kleinsten. Klar – das habe ich im Grunde schon häufig „gesehen“, aber eben nicht im klassischen Sinn „wahrgenommen“. Schon gar nicht, dass ich das mit einem „Geschäft“ – also „My Business“ – auch machen sollte. Warum denn nicht?
Gut – nicht zuletzt durch Corona bin ich beruflich mehr oder weniger bis Anschlag ausgelastet und Marketing bzw. Werbung für neue Aufträge muss ich im Moment nicht machen. Aber es ist natürlich nicht klar, dass die Situation auf Dauer so bleibt. Gibt ja den Spruch, dass man für die Krise vorsorgen sollte, wenn es gerade läuft.
Also habe ich mich in Google Maps mit meinen beiden Standort eingetragen. Und wenn es nur Traffic auf meine Webseite leitet und damit meine Bücher und Onlinevideos bei LiL gekauft werden.
Jetzt hat mir nach der Anmeldung Google Post zugeschickt unter dem Stichwort „Google My Business“. Mit einem Gutschein für Google Ads. Den kann ich in der Tat gut nutzen, um meine im Eigenverlag publizierten Bücher ein wenig zu promoten. Denn da gibt es mittlerweile gleich 4 Stück.
Reguläre Ausdrücke – Kurz und bündig | |
Reguläre Ausdrücke – Kurz und bündigSeitenzahl: 104 Seiten ISBN: 9783753136493 Verkaufspreis: 11,99 € |
|
XML – Kurz und bündig | |
XML – Kurz und bündigISBN: 9783753133423 Format: DIN A5 hoch Seiten: 128 Softcover 14,99 € Erscheinungsdatum: 13.12.2020 |
|
COBOL – Grundlagenkurs für Ein- und Umsteiger | |
COBOL – Grundlagenkurs für Ein- und UmsteigerSeitenzahl: 188 Seiten Sprache: Deutsch ISBN: 978-3-753139-03-6 Verkaufspreis: 21,99 € |
|
Aufzucht und Pflege kleiner Webseiten mit HTML – Grundlagen der Webseiten-Erstellung | |
Aufzucht und Pflege kleiner Webseiten mit HTML – Grundlagen der Webseiten-ErstellungISBN: 9783741828829 Format: DIN A5 hoch Seiten: 300 Erscheinungsdatum: 01.07.2016 |