Wie unterscheidet sich die Programmierung heute von der Programmierung vor 20 Jahren?


Ich habe diese Frage auf Quora gesehen und angefangen, die Antwort zu schreiben. Aber die Antwort war zu groß, also habe ich sie in diesen Artikel umgewandelt.


Hier sind einige der zufälligen Änderungen, die ich in den letzten 20 Jahren beim Programmieren festgestellt habe:


  • Viele Konzepte, die vor 20 Jahren nur theoretisch waren, werden heute in der Praxis weit verbreitet. Zum Beispiel funktionale Paradigmen wie Unveränderlichkeit von Objekten, Schwanzrekursion, Lazy Collections, Pattern Matching, erstklassige Funktionen und ein Blick auf diejenigen, die all dies nicht nutzen.
  • "Desktop-Anwendung": Viele Leute rufen neironisch einen gepackten Browser mit einer Standardseite und keiner Adressleiste auf.
  • Die objektorientierte Programmierung (OOP) hat an Boden verloren, obwohl sie immer noch viel beliebter ist als jede andere Alternative. Junge Sprachen wie Go, Rust und Swift verwenden zunehmend Merkmale . Die Zusammensetzung ist der Vererbung allgemein vorzuziehen.
  • Aufgrund der Verbreitung von Multi-Core-Prozessoren ist die Unterstützung für die parallele Programmierung in Sprachen heute leichter zu finden als die Unterstützung für primitive Aufrufe des Betriebssystems vor 20 Jahren. So werden asynchrone Primitive (wie async / await), parallele Coroutinen wie "Goroutinen" in Go oder Kanäle in D und Semantiken der Kompositionsfähigkeit ("Kompositionsfähigkeitssemantik") wie der Mechanismus von "Observablen" in der reaktiven Programmierung fest verwendet.
  • Pixel ist keine geeignete Einheit mehr.
  • Die Garbage Collection ist die übliche Art der sicheren Programmierung, folgt jedoch jüngeren Alternativen wie der Semantik, um die Lebensdauer von Objekten in Rust anzuzeigen, und Stichwitzen bei der Codeüberprüfung.
  • 3 Milliarden Geräte verwenden Java . Richtig, diese Zahl hat sich seit zehn Jahren nicht geändert.
  • Ein Abhängigkeitsmanagementsystem ist zu einem wesentlichen Bestandteil jeder Sprache geworden. Niemand möchte etwas manuell herunterladen oder installieren. Vor 20 Jahren, nachdem wir das ZIP-Archiv heruntergeladen und in den Projektordner entpackt hatten, haben wir die Konfigurationsdatei aktualisiert und beteten, dass nichts kaputt gehen würde.
  • Ein Entwicklerteam zu sein, bedeutet jetzt, ein mysteriöses Ritual durchzuführen: Alles in allem 15 Minuten am Morgen, um okkulte Symbole auf Aufkleber zu malen .
  • Die Werkzeuge für die Arbeit mit der Sprache sind viel umfangreicher. Bisher gab es nur einen Compiler und mit etwas Glück einen Debugger. Heutzutage werden sie normalerweise mit einem Linter, einem Code-Formatierungs-Tool, einer Template-Engine, einer Option zur Selbstaktualisierung und einer Liste von Gründen für die Verwendung in Holivars gegen konkurrierende Sprachen geliefert.
  • Sogar Programmiersprachen haben an der Debatte „Tabs or Spaces“ teilgenommen.
  • Adobe Flash, das zum Glück die einzige Möglichkeit war, eine normale Weboberfläche zu implementieren, ist jetzt tot. Ein einziger Standard wurde zwar durch drei verschiedene Frameworks mit völlig unterschiedlichen Modellen ersetzt.
  • IDEs und Programmiersprachen sind voneinander entfernt. Vor 20 Jahren gab es eine Sprache und eine speziell dafür entwickelte IDE, wie Eclipse für Java, Visual Basic, Delphi usw. Jetzt haben wir universelle Editoren wie VS Code, die in der Lage sind, viele verschiedene Sprachen und Funktionen zu unterstützen.
  • Es ist üblich, Code hinter drei Virtualisierungsebenen auszuführen. Das ist zumindest so. Code, der auf Bare Metal läuft? Nein, das wäre zu produktiv.
  • Die plattformübergreifende Entwicklung ist aufgrund einer Reihe von Architekturen, Mobilgeräten, Cloud-Servern und eingebetteten IoT-Systemen ein Standard. Vor 20 Jahren wurde die Entwicklung fast ausschließlich für den PC durchgeführt.
  • Code wurde viel seltener lokal ausgeführt.
  • Die Dokumentation ist nur noch online und heißt Google. Es gibt fast keine Offline-Dokumentation. Und wenn sie ist, weiß niemand, wo sie ist.
  • Viele Leute finden die Tutorials nur dann nützlich, wenn es sich um ein Video handelt. Auch wenn das Lesen länger dauert als das Lesen des Textes.
  • Sie sagen, bevor StackOverflow erfunden wurde, mussten die Leute Fragen stellen.
  • Die Leute entwickeln sich unter Mac OS.
  • Eine Internetverbindung ist die Regel, während eine Offline-Verbindung die Ausnahme darstellt. Früher war es genau umgekehrt.
  • Beim Erstellen eines Programms müssen Sie jetzt über den Hacking-Schutz nachdenken.
  • Mobile Geräte können reguläre Seiten anzeigen, sodass WAP-Seiten für mobile Versionen von Websites auf Subdomains nicht mehr erforderlich sind. Stattdessen erstellen wir reguläre Seiten für mobile Versionen von Websites in Unterdomänen.
  • Gerne veröffentlichen wir unseren Code in Open Source. Natürlich mit Ausnahme des Codes, für den wir uns schämen.
  • Es gibt viel mehr talentierte Frauen in der Branche, Menschen mit außereuropäischem Auftreten und Vertreter der LGBT-Community - dank allen, die gegen Diskriminierung gekämpft haben. Ich denke nicht, dass die volle Gleichstellung bereits erreicht wurde, aber die Situation ist viel besser als vor 20 Jahren. (Vergessen Sie nicht, dass dies eine Übersetzung ist - ca. übersetzt.)
  • Benutzerdatenleck - ein typisches Ereignis. In solchen Fällen wird im Unternehmensblog ein Post mit der Empfehlung geschrieben, das Passwort dringend zu ändern. Vergebung wird normalerweise nicht verlangt.
  • Remote-Arbeiten als Programmierer ist jetzt einfacher als je zuvor. Dafür dank der Technologie der Videokonferenzen, des allgegenwärtigen Internetzugangs und der Kaffeemaschinen zu Hause.
  • Wir verwenden IRC nicht mehr für die Kommunikation. Wir haben uns für eine viel aufgeblähte Alternative namens Slack entschieden, wenn wir die Serveradresse nur nicht manuell eingeben müssten.
  • Wir führen Programme auf Grafikkarten aus.
  • Ihr Produkt ist keinen Cent wert, wenn Sie sich nicht auf Blockchain und AI verlassen. Ja, auch wenn die zentralisierte und algorithmisch gesteuerte Version einfacher, effizienter und schneller ist.
  • Ein Gigabyte ist nicht genug.
  • Aufgrund von Angriffen über Kanäle von Drittanbietern können wir physischen Prozessoren nicht einmal vertrauen.
  • Ein bedeutender Teil der Programmierung findet jetzt während eines Tischfußballspiels statt.
  • Da wir schnellere CPUs hatten, begannen wir, komplexe Berechnungen in Python und nicht in Fortran durchzuführen. Die Berechnungen dauern also ungefähr genauso lange wie vor 20 Jahren.
  • Das Erstellen neuer Programmiersprachen oder sogar neuer Geräte ist ein ganz normales Hobby.
  • Unit-Tests wurden, wie alle anderen nützlichen Dinge, die der Hype verstand, auch dort eingesetzt, wo sie nicht benötigt wurden, und wurden schließlich zu einer Religion.
  • Kollegen runzeln die Stirn, wenn sie feststellen, dass Sie Benutzerpasswörter im Klartext speichern. Aber sie sagen nichts: Sie machen es selbst.

Source: https://habr.com/ru/post/de483880/


All Articles