GroMag schrieb:
Das sind keine Formeln! Das sind Algorithmen.
Manch einer möchte so etwas auch schon "KI" nennen.
----
Zu aller erst: Ich finde es vernünftig zu hinterfragen, warum der Mensch sich mit stupider Arbeit befassen sollte. Andererseits wird der TE dafür bezahlt, weil irgendwer die Automatisierung nicht bezahlen möchte. Das kann kurzfristig die wirtschaftlichere Entscheidung sein oder eben langfristig teurer werden.
Mir ist aber auch schon so manchmal der Gedanke gekommen, dass ich bei meiner Arbeit teilweise andere Menschen wegautomatisiert habe und theoretisch sogar an meinem eigenen Stuhl säge.
Kürzlich war ich selbst innerlich gespalten, ob man dem Kunden zeigen sollte, dass so ein Deployment mit einem Klick in wenigen Sekunden erledigt ist. Als Kunde könnte man da den Eindruck bekommen, dass das doch ganz einfach ist. Aber das ist ein ganz anderes Thema.
Stichwort Programmieren lernen. Also richtig und nicht "Programmieren Light" oder wie ich gerne sage: Office- und Makrohelden. Es ist jedes Mal wieder verblüffend, was manche Leute in diesen Tools zusammenschrauben.
Du hast eine (oder auch mehrere Ideen). Das ist eine sehr gute Voraussetzung zu lernen. Denn mitunter das Wichtigste ist, dass Du ein Ziel hast. Dieses Ziel sollte natürlich auch erreichbar sein. Du wirst auf dem Weg wahrscheinlich öfter mal alles über den Haufen werfen wollen, weil Du eine neue Herangehensweise oder auch ein neues "Pattern" gelernt hast, das Dein Problem vielleicht mit nur 10 statt 100 Zeilen Code lösen kann.
Fang am besten den kleinsten Ideen an. Eine kleine Konsolenanwendung, die eine kleine Sache macht mit möglichst keinen Schnittstellen. Jede Schnittstelle bedeutet Komplexität und die will man tunlichst vermeiden.
Als Beispiel Eingabedaten: Es macht einen Unterschied, ob die Daten dem Programm als Argument vorliegen oder ob der Benutzer sie interaktiv eingibt. Denn wenn der Benutzer etwas eingeben kann, muss man überlegen, wie man damit umgeht, wie man mit Falscheingaben (Buchstaben, wenn Zahlen erwartet werden, Leerzeichen am Ende von Eingaben usw) umgeht.
Bei Deiner ursprünglichen Idee, die Eingaben und Auswertungen im Browser zu automatisieren, fällt das mögliche Komplexitätsspektrum recht groß aus. Je nachdem, wie das Portal implementiert ist, kann es für Dich zur Hölle werden, mit einem Programm eine Automatisierung zu versuchen.
Im einfachsten Fall hast Du jedoch eine API und Du musst einfach nur eine HTTP Bibliothek benutzen und Anfragen abschicken und die Antworten auswerten.
Im schwierigen Fall musst Du eine Authentifizierung bedienen und eine komplette Browserapplikation durchdringen. Statisches HTML gegen eine Anwendung, die den DOM ständig verändert, Dinge und Felder dynamisch aufblendet und verschwinden lässt usw.
Da steckt man eventuell viele Komponenten zusammen und genau da sehe ich die Kunst des Software-Engineerings, diese Komplexität zu erkennen und beherrschbar zu gestalten.
Wie üblich gilt: Man sollte sich nicht übernehmen. Sich als Anfänger das Ziel Mt. Everest zu stecken ist schon sehr ambitioniert. Lieber kleiner anfangen und Erfahrung sammeln. Wer nach stundenlangem Marsch den Gipfel erreicht hat und merkt, dass es bereits dämmert und kein Zelt dabei hat, wird sicherlich eine Lehre daraus ziehen.
Miner schrieb:
Ach so: zum Thema "programmiert man heute eigentlich noch selber?" ... ich dachte dabei eigentlich mehr in eine andere Richtung. Frühe (geschätzt 1 Mio. Jahre vor unserer Zeit) gab es mal ein Programm von MS namens Frontpage. Das hat Webseiten-Code erstellt, nach dem was der Anwender gemacht hat. "ich füge hier ein Bild ein" und das Programm erstellt an richtiger Stelle den dazu gehörigen Code. Der Anwender musste nicht zwingend den html Code verstehen um eine Webseite zu erstellen.
Der Gedanke ist, die Basis mit so einem Tool erstellen und dann gezielt um das erweitern, was das Tool nicht anbietet.
Grundlegend funktionieren Computer immer noch wie vor 1 Mio. Jahren. Den Unterschied machen die ganzen Softwarekomponenten, die jetzt zwischen dem Benutzer und dem Prozessor arbeiten.
Um viele Dinge muss man sich nicht mehr kümmern, weil es automatisiert wurde bzw. einfach ein Framework benutzt wird.
So etwas wie Frontpage existiert heute als "Homepage Baukasten" von diversen Webhosting Anbietern. Vorgefertigte Templates und Funktionsblöcke zusammenklicken, Inhalte schreiben, Bilder einfügen und fertig ist eine ansprechende Webseite. Die nächste Stufe ist wahrscheinlich so etwas wie Wordpress oder ein gar ein großes Content Management System.
Je nachdem, was man denn vorhat. In den letzten 15 Jahren haben Browser immer mehr Funktionalitäten gelernt und übernommen. Google Chrome OS hat ja dem Nutzer quasi nur noch über einen Browser mit dem Computer interagieren lassen.
Visuelle Tools gibt es heute immer noch und erfreuen sich auch großer Beliebtheit. Es ist eben doch teilweise einfacher, einen Prozess zu verstehen, wenn er grafisch dargestellt wird anstatt als Text.
Apache Nifi fällt mir spontan ein. Damit kann man sich Datenpipelines zusammenklicken. Eventuell reichen ja einfache Funktionen, wie "zähl mir mal alle Zeilen", aber eventuell benutzt man dann doch ein selbstprogrammiertes Skript.
Was ich nach dem ganzen Text sagen will: Ja, man kann sich ganze Anwendungen [aus Makroblöcken] zusammenklicken (siehe Excel und Co). Aber je nach Fall, ist ein eines Skript/Programm auch ganz gut. Man muss einfach selbst einschätzen, was die beste Lösung ist.