Ständig wachsende Komplexität im Programmiereralltag (Fork aus: Datenbank für C)



  • Ein kleiner Rückblick:
    Nun bin ich schon lange in Rente. Nun wundere ich mich über Eure Probleme. Kann es sein, dass sich die ganze Entwicklung etwas verzettelt? Vor kurzem war ich noch über SQL froh, wenn ich mich erinnerte 1978 ganze Firmenverwaltungen zu proggen, ohne sowas zu haben. Und damals galten wir noch als die sehr gut bezahlen Speziallisten mit hohen ansehen. Und Ihr, Ihr macht den ganzen undurchsichtigen Kram für lau? Just for Fun? Fun hatten wir auch damals, aber super bezahlt. Heute progg ich nur noch meine Schallplattensammlung mit SQL oder die Mandelbrotmenge. Aber da weiß ich noch nicht was nötig ist, eine eigene Strukt in ne Abfrage zu integrieren. Nun mit MySql solls gehen. Ist mir noch zu mühsam. Muß ja auch nicht. Ich bewundere Euch, jede Generation hat wohl diese Phase, aber wer es damals gespührt hat, spührt es heute nicht mehr. Die ganze Entwicklung geht wohl viel zu schnell. Noch vor 100Jahren konnte ein Bäcker sein ganzes Leben diesen Beruf ausüben. Ich hab es grad mal 30Jahre geschafft. Ihr solltet mal bremsen, damit Ihr Euch nicht selbst abschafft.



  • Worauf willst du hinaus?



  • @Mechanics Ganz einfach, werdet Bäcker. Vereinfacht wieder diesen ganzen Wirrwar, wo nur noch die besten durchblicken. Wozu ist dieses Forum gut? Nur einfach mal einen Rat zu bekommen wenn es nicht weitergeht. Haben wir damals nicht gebraucht. Wir haben mit 3 Kilobyte Speicher ganze Firmenverwaltungen programmiert. Und die waren glücklich damit. Ich hab es sogar als Zeugnis schriftlich. Unser Programme damals hatten niemals einen Absturz (BlueScreen). Die Komplexität erhöht nur die Fehlermöglichkeiten, und die Erlernbarkeit dessen, was andere sich ausgedacht haben. Und selbst, wenn ich ein Programm schreibe, ist noch nicht sicher, dass es auch auf einem anderem Computer läuft. Gerade Windows garaniert dies nicht. Ach keines!. Damals gabs Programme nur für ein Computermodel, vielleich mal mehr oder weniger Speicher, oder sperziele IOs. Da musste nicht viel dazugelernt werden. Aber ab 1980 wurde die Beschleunigung der Komplexität immer schneller. Seit Internet global ist, wächst der Drang von Entwicklern, sich zu profilieren, immens an. Jeder vergrößert mit neuen Ideen die Komplexität.
    So spannend ich die Wissenschaftsexplosion auch finde, die Menschheit ist nicht für diesen Speed geschaffen.



  • Das ist etwas wirr und unkonkret.
    Teilweise gebe ich dir durchaus recht, teilweise gehe ich aber davon aus, dass du ziemlich falsche Vorstellungen hast.



  • @Mechanics Klär mich auf. Ich bin immer bereit mich zu sychronisieren.


  • Mod

    Man ist stets mit anderen im Wettbewerb. Das heißt auch, dass man stets sämtliche Mittel einsetzen muss, die einem zur Verfügung stehen, und an der Grenze der Komplexität arbeiten muss, die man noch beherrschen kann. Wenn man das nicht tut, wird man abgehängt. Mit Software wie von vor 30 Jahren verdient man letztlich heute kein Geld mehr, denn das kann jeder programmieren, hat schon jeder, will darum keiner mehr. Die von dir beschriebenen Methoden waren vor 30 Jahren auch Cutting Edge. Bloß weil das deine goldene Zeit war, macht diese Arbeitsmethoden nicht objektiv überlegen, sondern nur in deiner Selbstwahrnehmung. Irgendein Programmierer von 1950 wird 1975 sicher auch gemeint haben, dass diese ganzen fancy Datenbanken nur unnötige Komplexität bringen, mit diesen Hochsprachen alles viel zu schnell geht, und dann auch noch der ganze Austausch im Usenet...



  • @SeppJ Ja, du beförderst ja noch das Wettrennen im Wettbewerb. Dadurch wird alles Komplexer. Es ist das ewige Gretium der Wirtschaft ... wachstum... wachstum... wachstum. Die letzten 20 Jahre habe ich mich ganz ohne Wachstum ernährt, und war zufrieden damit. Nur die Gier steigert sowas. Sowas muss man nicht mitmachen. Ich bin immernoch auf Win7, auch wenn ich es seit Win3 hasse. Alle Updates in meinen Leben auf allen Workstations haben immer noch mehr Arbeit erzeugt. Wann wird Informatik endlich ein Werkzeug, wie ein Hammer, von dem man weiß, wie man ihn schwingen muss, ohne ins Forum zu kucken.
    Dazu kommt noch dass, die Literatur nicht mehr mit der Dokumentation nachkommt: https://www.c-plusplus.net/forum/post/2589188 . Wer soll da noch (präzises) lernen können?



  • @SeppJ Zu Deinem letzten Satz: 1960 wäre diese Denkungsweise möglich. Aber versuche Dir vorzustellen, wie denkst Du 2040 über die Entwicklung im deinem Lebenslauf nach, sofern dich Corona nicht vorher erwischt. Ich habe das Glück die Entwicklung über 50 Jahre zu überblicken. Wenn Du 50 Jahre zurückblicks, werden das viel mehr Erinnerungen sein. Wie war das Moorsche Gesetz?


  • Mod

    Topic geforked, da nicht zum Ursprungsthema passend.


  • Mod

    @RudiMBM sagte in Ständig wachsende Komplexität im Programmiereralltag (Fork aus: Datenbank für C):

    @SeppJ Zu Deinem letzten Satz: 1960 wäre diese Denkungsweise möglich. Aber versuche Dir vorzustellen, wie denkst Du 2040 über die Entwicklung im deinem Lebenslauf nach, sofern dich Corona nicht vorher erwischt. Ich habe das Glück die Entwicklung über 50 Jahre zu überblicken. Wenn Du 50 Jahre zurückblicks, werden das viel mehr Erinnerungen sein. Wie war das Moorsche Gesetz?

    Die Beschränkung ist gegeben durch die menschliche Leistungsfähigkeit. Oder willst du sagen, dass man sich 1960 nicht genauso anstrengen musste wie heute? Damals mag Komplexität und Vernetztheit geringer gewesen sein, aber das hieß doch auch, dass man vieles selber erfinden musste, wofür man heute zu Stackoverflow (oder in dieses Forum) geht.

    Umgekehrt sind die komplexesten Anwendungen heute dadurch beschränkt, welches Maß an Komplexität man bei der Erstellung noch managen kann (was halt immer mehr wird, weil man immer bessere Werkzeuge für die Organisation hat). Das kann und wird sicherlich irgendwann einmal in Transhumanismus enden, aber das ist ja nicht unbedingt schlecht. Und für die, die darum besorgt sind, ist das sicher noch recht weit weg.

    PS: Was mir noch einfällt ist, dass das MINT-Feld heute einen sehr viel größeren und wichtigeren Teil der Gesellschaft ausmacht. Das schafft mehr Konkurrenz, und es kann sein, dass man dadurch tatsächlich einen viel größeren Leistungsdruck hat als 1960, als man sowohl weniger direkte Konkurrenz hatte. Die Außendarstellung ist heute auch schwieriger, weil ein Laie tendenziell besser beurteilen kann, ob was man macht gut ist oder nicht, weil jeder in der Gesellschaft mehr Alltagserfahrung mit Software hat.



  • @SeppJ Ich hab wirklich nichts gegen den technologischen Fortschritt. Ich hab ja selbst die ganzen Jahre kräftig mit angeschoben. Im Rückblick aber hab ich ein schlechtes Gewissen. Und es geht immer schneller - Immer mehr Entwickler mit immer mehr und bessern Tools schieben an. Ich will es doch nicht aufhalten. Es ist wie mit Corona, die Kurve muss abgeflacht werden!
    Wenn ich zB. MySql wirklich beherrschen will, muß ich die 4830 Seiten des 5.7er Reference Manual begreifen. Und noch ein paar andere Dokumente. Die Funktionen der Workbench nicht zu vergessen. Bis dahin gibt es schon wieder ne neue Version. Wartet doch einfach bis die letzte Mahlzeit verdaut ist, oder besser, bis der Hunger wiederkommt.
    PS: MySql Version ist nun 8.0 19
    PS: Von den 4830 Seiten hab ich die wenigsten gelesen, nur gesucht was ich brauchte. Aber für sehr Professionell halt ich das nicht, der nächste BlueScreen ist damit vorprogrammiert. Und warum? Weil's wieder mal schnell gehen sollte.


  • Mod

    Ich habe den Eindruck, dass katastrophale Fehler in Software (d.h. das Programm muss abgebrochen werden, oder schlimmer noch, es reißt andere Programme mit) heute sehr viel seltener vorkommen, als früher. Wann hast du das letzte Mal einen Bluescreen gesehen?



  • @RudiMBM

    Aber für sehr Professionell halt ich das nicht, der nächste BlueScreen ist damit vorprogrammiert.

    Ein Bluescreen, weil ein Datenbankclient einen Fehler enthält? Das war wohl vor NT 4.0.



  • @SeppJ Geschätzt 3 mal die Woche kommt "Programm funktioniert nicht mehr" bei mir. (Nicht bei selbstprogrammierten, sondern bei gekauften.) Das neue Magix reagiert sehr oft nur nachdem ich ein Menü anklicke ohne was auszuwählen. Und der C++Builder stürzt komplett ab, wenn ich den Debugger abbreche (roter Button oder den Testlauf durch Sys-Menue beende) und im Testprogramm vorher eine Dateiauswahl ausgeführt habe. An den Testprogrammen liegt es nicht, denn ohne Debugger läufts prima.
    PS: Hallo, nehmt BlueScreen bitte nicht so genau. Ich ärgere mich schon genug, wenn's einfach nicht weitergeht.



  • @RudiMBM Das passiert mir ungefähr 3 mal täglich auf der Arbeit bei meinem Windows Rechner. Auf meinem privaten Linux Rechner ist mir das noch nie passiert.
    Aber liegt bestimmt an mir ...

    Glaube nicht, dass es an der Software selbst liegt.



  • @Leon0402 Gute Software sollte alle Bedienungfehler abfangen, aber dann proggt man doppelt so lang. Soll sich doch der User anstrengen. Wenn es an Dir liegt, dann weil Du die Falltüren nicht kennst. Üb mal mit Minesweeper.



  • Das mit der Komplexität ist auch so eine Sache... Vieles verändert sich, wird aber nicht direkt "komplexer". Ich programmiere seit über 20 Jahren, es hat sich sehr vieles verändert, mit vielen neueren Entwicklungen kann ich selber nichts mehr anfangen. Aber ich habe subjektiv nicht das Gefühl, dass die Arbeit wirklich komplexer oder schwieriger geworden wäre. Vieles ist anders geworden.
    Es gibt z.B. sehr viele Frameworks, Libraries, Tools, Abhängigkeiten usw... Das führt aber eher dazu, dass man sich damit eben schlechter auskennt, aber trotzdem schnell vorankommt. Oder sich ganz schnell soweit einarbeiten kann, dass man es benutzen kann. Früher musste ich beim Programmieren mehr beachten und mehr gleichzeitig im Kopf behalten, weil ich vieles eben manuell programmieren musste, C++ (und andere Programmiersprachen) noch komplizierter und fehleranfälliger war usw. Wenn man Assembler programmiert, ist es z.B. noch komplizierter, weil man sich solche Sachen wie Registerbelegungen merken muss.
    Die Komplexität entwickelt sich also weiter, es wird aber gleichzeitig auch einfacher und zugänglicher.

    Du musst z.B. auch keine 4000 Seite über MySql lesen, um damit arbeiten zu können. Die Grundlagen vieler Datenbanken sind gleich, viele Konzepte hat man schon gehört. Du brauchst auch bei weitem nicht alles, sondern nur einen kleinen Bruchteil der Funktionalität. Und auch die Menge macht es noch nicht komplexer. Sagen wir, du hast gelesen, dass MySql irgendwelche XML Funktionen hat. Hast es zur Kenntnis genommen und es interessiert dich einfach nicht. Und wenn du doch in die Situation kommst, dass du das brauchst, dann weißt du entweder, dass es da was gab, oder es ist eh so naheliegend, dass man schnell danach googeln kann, und dann liest man sich erst durch, was es da für Funktionen gibt.
    Und wenn man sich halbwegs mit einer Datenbank auskennt, kommt man auch schnell mit den meisten anderen zurecht. Außerdem ist die Doku viel besser und es ist einfach viel mehr Wissen vorhanden, wie SeppJ geschrieben hat.

    Genauso ist es in den meisten anderen Bereichen.



  • @RudiMBM sagte in Ständig wachsende Komplexität im Programmiereralltag (Fork aus: Datenbank für C):

    Gute Software sollte alle Bedienungfehler abfangen

    Und DAS ist die andere Seite der Komplexität 😉 Mit sowas haben wir bei unserer Software auch jahrelang gekämpft, bis die mal deutlich stabiler geworden ist. Ich meine nicht Bedienungsfehler, sondern Fehler allgemein. Unsere Software ist sehr umfangreich und sehr komplex geworden, und so wahnsinnig viele Entwickler und Tester haben wir auch nicht. Und wenn man mit sehr vielen unterschiedlichen Daten umgehen muss, zu einem großen Teil aus Fremdsystemen, mit Multithreading usw., dann ist es teilweise verdammt schwer, alle Fehler zu finden.
    Und ja, das kann man als Nachteil der gewachsenen Komplexität sehen. Aber was will man da machen? Das sind eben Kundenanforderungen, und wir haben eben viele verschiedene Kunden. Wenn wir das alles nicht abdecken würden, dann wär die Software ja auch nutzlos.



  • Und es geht nicht nur uns so: https://youtu.be/Iht8GZncIh0?t=7



  • @RudiMBM Ich wollte eig. darauf hinaus, dass meiner Meinung nach Windows das Problem ist und verantwortlich für das "Programm reagiert nicht mehr" ist. In 5 Jahren ist mir das nicht einmal passiert auf Linux ... bei Windows passiert das ungefähr 1 mal am Tag.
    Und die Probleme von Windows sind meiner Meinung nach auch nicht auf die wachsende Software Komplexität zurückzuführen.

    Was die eigentliche Fragestellung angeht. Die Komplexität wächst und gleichzeitig die Zugänglichkeit an Informationen und Dokumentationen etc. ... daher hat sich meiner Meinung nach im Endeffekt nichts geändert zu früher.
    Mir ist das lieb, ich habe lieber diese Komplexität, aber dafür die Chance mich in alles einzuarbeiten ... dadurch hat meiner Meinung nach jeder die Chance sich mit dem Thema auseinanderzusetzen.
    Anders sieht das z.B. im Bereich Elektronik, Handwerk aus ... wenn man niemanden aus der Familie / Freundeskreis hat, der das kann, dann wird's schwieriger (jedenfalls schwieriger als mit Software 😉

    Und das macht doch irgendwie auch den Reiz aus ... das sich alles weiterentwickelt und man immer neue Sachen zum lernen hat 🙂 Das verspricht doch einen abwechslungsreichen Job.


Anmelden zum Antworten