Hat es noch einen Sinn, alte Versionen zu lernen

fijo

Mitglied
Guten Tag, ich habe vor langer Zeit (2003) mal Java über Humboldt gelernt, bin dann aber zu nichts mehr gekommen. Hab mir zwar öfters ein Buch gekauft, bin aber nicht mehr ernsthaft dazu gekommen, was zu schreiben.
Ich dachte immer, ich werde mir alte Versionen auf VirtalBox installieren und die Bücher durchackern.
Jetzt hätte ich mehr Zeit und / aber wie ich so sehe, hat es fast keinen Sinn, mich mit alten Sachen rumzuschlagen, da sich mittlerweile so viel geändert hat.
Oder wie seht ihr das?
Danke
LG Sepp
 
Es kommen zwar neue Sprachfeatures dazu, aber das ändert ja nichts an den Grundlagen. Insofern kannst du deine älteren Bücher (ab ca. Java 7 oder 8) durchaus verwenden. Du musst ja nicht alte Javaversionen dafür installieren. Die aktuellen Versionen können ja auch alles, was in deinen Büchern steht.
ok, danke. Dachte mir auch, es wäre schade alles wegzuschmeißen.
 
Es fragt sich halt, wie viele deiner alten Bücher du "durchackern" musst. Sobald du die Grundlagen drauf hast, bringt es nicht viel alles noch einmal mit einem weiteren Buch zu machen. Das sollte sich ja nicht mehr unterscheiden. Danach lieber z. B. mit Entwurfsmustern, Clean Code und natürlich den neueren Sprachfeatures beschäftigen. Und eben programmieren...
 
Es fragt sich halt, wie viele deiner alten Bücher du "durchackern" musst. Sobald du die Grundlagen drauf hast, bringt es nicht viel alles noch einmal mit einem weiteren Buch zu machen. Das sollte sich ja nicht mehr unterscheiden. Danach lieber z. B. mit Entwurfsmustern, Clean Code und natürlich den neueren Sprachfeatures beschäftigen. Und eben programmieren...
Ich hab schon ziemlich was vergessen (auch krankheitsbedingt), aber wie du meinst, so hatte ich es mir auch gedacht. Die Grundlagen mal durchschauen und dann - wir haben z.B. auch Onlinekurse (linkedin) - auf die neuere Version umsteigen. DANKE
 
Es fragt sich halt, wie viele deiner alten Bücher du "durchackern" musst. Sobald du die Grundlagen drauf hast, bringt es nicht viel alles noch einmal mit einem weiteren Buch zu machen. Das sollte sich ja nicht mehr unterscheiden. Danach lieber z. B. mit Entwurfsmustern, Clean Code und natürlich den neueren Sprachfeatures beschäftigen. Und eben programmieren...
werde mir alte Versionen auf Virtualbox installieren, such gerade auch nach alten JDKs
 
werde mir alte Versionen auf Virtualbox installieren, such gerade auch nach alten JDKs
Ich empfehle einfach IntelliJ (in der freien Edition) als IDE zu verwenden, da musst du nicht selbst nach JDKs suchen, sondern aus der IDE läuft alles fast von allein. Einfach beim Anlegen eines neuen Projektes die gewünschte Version auswählen.

Zudem brauchst du kein altes JDK. Nimm einfach z. B. Java 17.
 
Zuletzt bearbeitet:
Ich empfehle einfach IntelliJ (in der freien Edition) als IDE zu verwenden, da musst du nicht selbst nach JDKs suchen, sondern aus der IDE läuft alles fast von allein. Einfach beim Anlegen eines neuen Projektes die gewünschte Version auswählen.

Zudem brauchst du kein altes JDK. Nimm einfach z. B. Java 17.
das kenne ich noch nicht, dh ich kann mit der einfach die Version auswählen und dann wird alles von der entsprechenden Bibliothek genommen? Damit würde ich mir einen Haufen Arbeit ersparen, auch die das mit Virtualbox, wo ich ja dann auch aufpassen muss, dass ich mit den Updates kein Durcheinander bekommen, mit den Virenscannern auch, die würden wahrscheinlich auch Probleme machen, wenn ich mit XP was mache. Ich hab zwar sicher irgendwo noch einen alten Scanner aus der Zeit, aber ... ; DANKE
 
das kenne ich noch nicht, dh ich kann mit der einfach die Version auswählen und dann wird alles von der entsprechenden Bibliothek genommen? Damit würde ich mir einen Haufen Arbeit ersparen, auch die das mit Virtualbox, wo ich ja dann auch aufpassen muss, dass ich mit den Updates kein Durcheinander bekommen, mit den Virenscannern auch, die würden wahrscheinlich auch Probleme machen, wenn ich mit XP was mache. Ich hab zwar sicher irgendwo noch einen alten Scanner aus der Zeit, aber ... ; DANKE
So genau kann ich dir das nicht sagen. Ja, man wird nach dem gewünschten JDK gefragt, bzw. kann es einstellen und auch im selben Dialogfenster herunterladen. Es wird aber vermutlich nicht im System installiert, sondern nur im Zusammenhang mit der IDE benutzt.

Sprichst du von Erfahrungspunkten oder vom Uralt-Windows XP? Und wozu ein Scanner?
 
Also absolute Java Grundlagen (Also reine Java Syntax) mag vor Java 8 noch ok sein. Aber ansonsten kann ich nur dazu raten, mindestens Java 8 zu machen.

Spätestens wenn Du Dinge wie einfache UIs mit Java (egal ob Swing oder JavaFX) hat sich mit Java 8 einiges geändert. Du würdest Dir also Dinge auf eine Art und Weise beibringen, die so nicht mehr gemacht wird.

Und wenn es schon so etwas altes sein soll: Ich rate dann ganz klar zu einem 8er OpenJDK. Ansonsten rennst Du direkt in Probleme bezüglich Java Module, entfernte Dinge (z.B. die JavaScript Engine Nashorn) und so. Wenn Du etwas JavaFX machen willst, dann installier ein OPenJDK, das auch JavaFX direkt enthält. Das war halt damals auch so der Fall. Daher wäre sowas wie Liberica Full SDK sinnvoll: https://bell-sw.com/pages/downloads/ Achtung: Beim Download vorher "Full JDK" auswählen!

Aber wie schon gesagt: Pure Java Basics wie Syntax und so: Da ist es relativ egal. Aber sobald man auf etwas mehr zugreift, dann kommen die Unterschiede relativ stark und ich halte es nicht für gut, sich da schlechte Dinge anzugewöhnen um dann schlicht unleserlichen Code zu schreiben.
 
Also absolute Java Grundlagen (Also reine Java Syntax) mag vor Java 8 noch ok sein. Aber ansonsten kann ich nur dazu raten, mindestens Java 8 zu machen.

Spätestens wenn Du Dinge wie einfache UIs mit Java (egal ob Swing oder JavaFX) hat sich mit Java 8 einiges geändert. Du würdest Dir also Dinge auf eine Art und Weise beibringen, die so nicht mehr gemacht wird.

Und wenn es schon so etwas altes sein soll: Ich rate dann ganz klar zu einem 8er OpenJDK. Ansonsten rennst Du direkt in Probleme bezüglich Java Module, entfernte Dinge (z.B. die JavaScript Engine Nashorn) und so. Wenn Du etwas JavaFX machen willst, dann installier ein OPenJDK, das auch JavaFX direkt enthält. Das war halt damals auch so der Fall. Daher wäre sowas wie Liberica Full SDK sinnvoll: https://bell-sw.com/pages/downloads/ Achtung: Beim Download vorher "Full JDK" auswählen!

Aber wie schon gesagt: Pure Java Basics wie Syntax und so: Da ist es relativ egal. Aber sobald man auf etwas mehr zugreift, dann kommen die Unterschiede relativ stark und ich halte es nicht für gut, sich da schlechte Dinge anzugewöhnen um dann schlicht unleserlichen Code zu schreiben.
Danke, ich habe nur mal vor, die alten Sachen aufzufrischen und dann werde ich eh auf die neue Version umsteigen. Danke auch für den Tipp bzgl. FX, das wollte ich mir auch anschauen
 
Sind das denn gute Bücher?
Mit sowas wie "Java ist auch eine Insel" würde ich nicht empfehlen zu lernen. Das greift man sich gerne weil auf Deutsch und so schön dick, es ist aber eher ein Nachschlagewerk bzw. eine Art vereinfachte deutsche Übersetzung der Java-Spezifikation mit einigen Beispielen. Zum Nachschlagen ok (wobei es da besseres gibt als Bücher), aber zum Lernen halte ich es für absolut ungeeignet.

Dagegen würde ich "Java von Kopf bis Fuß" wärmstens empfehlen – obwohl es auf Java 6 basiert. (Es soll aber wohl eine aktualisierte Version erscheinen oder sogar schon erschienen sein.)
 
Sind das denn gute Bücher?
Mit sowas wie "Java ist auch eine Insel" würde ich nicht empfehlen zu lernen. Das greift man sich gerne weil auf Deutsch und so schön dick, es ist aber eher ein Nachschlagewerk bzw. eine Art vereinfachte deutsche Übersetzung der Java-Spezifikation mit einigen Beispielen. Zum Nachschlagen ok (wobei es da besseres gibt als Bücher), aber zum Lernen halte ich es für absolut ungeeignet.

Dagegen würde ich "Java von Kopf bis Fuß" wärmstens empfehlen – obwohl es auf Java 6 basiert. (Es soll aber wohl eine aktualisierte Version erscheinen oder sogar schon erschienen sein.)
Von der Insel hab ich sicher 2 Bücher, Java von Kopf bis Fuß und Schrödinger programmiert Java - die beiden hätte ich auf jeden Fall vor.
 
So genau kann ich dir das nicht sagen. Ja, man wird nach dem gewünschten JDK gefragt, bzw. kann es einstellen und auch im selben Dialogfenster herunterladen. Es wird aber vermutlich nicht im System installiert, sondern nur im Zusammenhang mit der IDE benutzt.

Sprichst du von Erfahrungspunkten oder vom Uralt-Windows XP? Und wozu ein Scanner?
Virenscanner, falls ich wirklich ein zur damaligen Zeit passendes System installiere, aber das kommt dann schon eher in Richtung "Liebhaberei"
 
Java von Kopf bis Fuß und Schrödinger programmiert Java - die beiden hätte ich auf jeden Fall vor.
Schrödinger kenne ich nicht, aber wenn du Java von Kopf bis Fuß durch hast, wirst du von Schrödinger wahrscheinlich nicht mehr allzuviel haben. Dann bist du reif für höhere Themen, die @KonradN schon angesprochen hat: Entwurfsmuster, Clean Code, usw.

Ich finde das Buch nicht sonderlich gut, aber es regt doch die ein oder anderen richtigen Gedanken an: "Weniger schlecht Programmieren". Sowas wäre danach was für dich...aber erstmal die Grundlage durchpauken.

Und, ganz wichtig, ich erlaube mir mal meinen Informatikprof zu zitieren: Programmieren lernt man dadurch, das man programmiert.
Such dir eine Problemstellung, die du gerne mal lösen würdest, und schreibe ein richtiges Programm. Das ist noch etwas wichtiger als die richtige Lektüre.
 
Zusatz: die bereits angesprochenen Schrödinger-Bücher sind reich an visuellen Elementen, siehe auch die passenden Leseproben beim Rheinwerk Verlag. Aus Sicht neuerer Compiler kann man auch mit "älteren" Codes arbeiten (aus menschlicher Sicht sollte man dagegen Neuerungen oder (bereits genannt) Clean Code,... parat haben)
 
Bücher, die ich vorschlagen würde:
"Java von Kopf bis Fuß" und danach "Entwurfsmuster von Kopf bis Fuß".
"Effective Java" kann man durchaus ebenfalls lesen. Es ist weniger zum Lernen, aber sammelt viele Best Practices und erläutert diese auch.

Mit diesem Dreierpack ist man schon mal ganz gut gerüstet.
 
Danke für die zahlreichen Tipps und Vorschläge, ich werde nächstes Woche damit anfangen. Ich habe leider ein großes medizinisches Manko auch noch, ich hatte einen argen Gedächtnisverlust (wird aber wieder besser) und darf mich noch nicht zu viel anstrengen, muss mich selber einbremsen, damit ich mich nicht gleich wieder überlaste. Aber gerade Sachen wo ich denken muss, regt das Gehirn positiv an.
 
Tipps und Vorschläge
Zusatz, Teil II: die Tips stellen (strenggenommen "nur" empfohlene) Verhaltensweisen auf syntaktischer Ebene dar (s.a. auch "Effective Java" bei OReilly -> "Table of Contents"). Den Compiler (Interpreter / Transpiler /... ) interessiert nur die formale Korrektheit des Codes.

Aus menschlicher Sicht sind "Teile und herrsche"-Verhaltensweisen (neben sozialen Aspekten) angesagt, und längerfristig ist von einem häufig(er)en / (er)leichter(t)en Ändern / Erweitern / Nutzen... der Software an einer (zentralen) Stelle auszugehen (sowie einer beherrschbaren Menge an Änderungen / Erweiterungen / ...) Von daher erklären sich Schlagworte wie Versionsverwaltung, SW-Architektur, Dokumentation, TDD, Datenstrukturen, Algorithmen, Namenskonventionen, Clean Code, SOLID-Prinzipien, Entwurfsmuster, "mit Leuten reden", Schichtentrennung,...
 
Und nimm kein Oracle JDK, sondern ein freies wie Azul Zulu.
Wobei mir Unterschiede zwischen der Oracle JDK 8 und Open JDK 8 nach einem der letzten Windows 10 Updates schmerzlich bewusst wurden.
Mit der OpenJDK funktionierte der DB Zugriff über ADO Treiber nicht mehr, MS hatte irgendwas aus Windows 10 entfernt, das in der Oracle JDK noch drin war, nicht aber in der OpenJDK.
Für einen Anfänger sollten die Unterschiede aber irrelevant sein.
 
Da stellt sich halt die Frage ob es am OpenJDK oder MS liegt.

Genau wegen solcher Späße neige ich dazu, von MS wegzugehen. Windows und Office funktionieren zwar gut (und MS Office finde ich weitaus besser als z.B. Libre Office), aber MS funktioniert halt nicht.
 
Also die Produkte funktionieren aber dann funktionieren sie doch nicht?

Und das alles vor dem Hintergrund, dass da irgendwas altes mal rausgeflogen ist? (Was hier mehr an Oracle JDK vs. OpenJDK liegen dürfte als an Windows).

Microsoft ist eines der ganz wenigen Unternehmen, die wirklich viel Wert auf abwärtskompatibilität legt. Apple ist hier ein krasses Gegenbeispiel, da fliegen die Dinge sehr schnell wieder raus - aber die Entwickler sind halt überfordert und außerdem geht es ja um Consumer Müll und nicht um Business Geräte! Und bei OpenSource kriegt man generell nur das, was die Entwickler meinen, das man braucht. Aber yeah - natürlich kannst Du uralt Sourcen ja selbst umstellen und zum laufen bringen! Was beschwert man sich? (Das ist immer mit die beste Antwort. Dicht gefolgt von "Du brauchst das nicht". Die Entwickler kennen meinen Bedarf besser als ich! Echt geil! Da laufen also extrem viele Tobias rum! Linus ist ja das Beste Beispiel.)
 
Linus ist ja das Beste Beispiel.

Also wenn es um Kompatibilitaet geht ist Linus Torvalds aber ein schlechtes Beispiel, der hat sehr frueh die Regel "Kernel does never break userspace" eingefuehrt und haelt an dieser eisern fest. Im Kernel (Treiber und so weiter) ist ein anderes Thema, aber die Kernel API ist in stein gemeiszelt und wird von ihm auch genau so gehalten. Das war bis vor wenigen Jahren immer die Schlagzeilen "Torvalds beleidigt wieder andere Entwickler" und wenn man sich dann das Gespraech angesehen hat, hat sich das dann meistens so verhalten das ein Entwickler ankam und API Aenderungen (in igendeiner Form) machen wollte, Linus dann meinte das spielt sich, der Entwickler dann gemeint haette es waere egal oder so viel besser oder so, und dann Linus ihm erklaeren musste das es da eine Regel gibt, der Entwickler dann nochmal "Ja aber..." meinte und Linus dann klargestellt hat er soll die Klappe halten.

Ob jetzt der Ton angebracht war oder nicht, ich fand' es immer nachvollziehbar. Weil es immer nur gegen langjaehrige, erfahrene Kernel-Entwickler ging die es haetten besser wissen sollen (also, das technische) und dann auch noch auf ihrem falschen Standpunkt beharrt hatten.

Das ist immer mit die beste Antwort. Dicht gefolgt von "Du brauchst das nicht". Die Entwickler kennen meinen Bedarf besser als ich! Echt geil! Da laufen also extrem viele Tobias rum! Linus ist ja das Beste Beispiel.

Vielleicht solltest du da Poettering als Beispiel nehmen?
 
Mir ging es bei Linus nicht um Änderungen der API sondern generell um sein Auftreten und der Argumentation, wenn es um unterschiedliche Meinungen geht. Wobei meine Beobachtung des Linux Kernels sehr lange her ist. Das war damals zu Zeioten von 2.0 / 2.1 und die Zeit wo es zu 2.2 und 2.3 ging. Als Student hatte man halt Langeweile und da wurde dann jeder Linux Kernel Patch genommen und im eigenen csv vom Linux Kernel gemerged ... (Bah, wie verrückt war ich damals? Wer macht so einen Scheiß? Hat man als Student nichts besseres zu tun?)

Und damals gab es mal eine Email oder Post von ihm, wo er ausgeführt hat, was die Leute wollen. Und das habe ich mir durchgelesen und bei jedem Punkt den Kopf geschüttelt und gesagt: "Ähh ... nein?"

So war halt lange Zeit das große Problem, dass man dann z.B. alles, was ein Treiber brauchte und nicht zu 100% Open Source erst übersetzen musste. vmware Workstation installieren? Tja, dann macht es den GCC. Aber bitte gcc 4.2! Man bekam also eine Meldung von wegen gcc 4.4, der auf dem System war .... Und ja - laut Linus will das der Anwender ... er weiss es vermutlich nur nicht 🙂 Aber nächstes Jahr setzt sich Linux auf dem Desktop durch! (Running Gag wie bei Hurd - nur bei Hurd weiss das jeder und jeder lacht drüber ... Bei Linux glauben das die Leute aber teilweise wirklich ...)

Also in Kurz: Da bin ich dann vom Thema abgewichen auf den Punkt bei Open Source, den ich beschreiben würde: "Starke Konzentration auf eigenen Bedarf / eigene Sichtweise gepaart mit Ignoranz gegenüber anderen Sichten" (Was ja prinzipiell ok ist - wenn ich etwas mache, dann mache ich, was ich will. Wenn ich das veröffentliche und es ist für andere Nutzbar: ok. Wenn nicht: Auch ok. Aber dann kann ich es nicht als "Produkt für alle" verkaufen, denn es ist nur ein "Produkt für mich".

Das nur zur Klarstellung.
 
Da stellt sich halt die Frage ob es am OpenJDK oder MS liegt.
Wer Schuld ist ... eigentlich egal. Wichtig ist, dass die Software am Ende noch funktioniert.
Damit wollte ich nur sagen, dass es zwischen den beiden JDKs Unterschiede gibt, es ist nich Jacke wie Hose, welche man verwendet.

Nur um mal ein Szenario zu nennen: MS streicht normalerweise keine Funktionen raus, ohne das vorher anzukündigen. Es kann gut sein, dass bestimmte DLLs schon eine Weile als deprecated markiert waren, Oracle hat sie ersetzt, die Macher von OpenJDK aber nicht. ADO stirbt eh aus, aber für ein altes Programm wird's noch gebraucht.

Ich nutz private auch LibreOffice, in der Firma haben wir uns intern komplett von MS verabschiedet, nutzen eine Businesssoftware der Konkurrenz. Nur noch das Betriebssystem wird verwendet und so viele MS Access Lizenzen, wie für die Betreuung der Kunden gebraucht werden.
 
Also die Produkte funktionieren aber dann funktionieren sie doch nicht?
Ich schrieb "MS funktioniert nicht". Ob MS die Abkündigung einer DLL oder sonstwas frühzeitig genug angekündigt hat oder nicht habe ich nicht überprüft, dafür ist mir das Thema nicht wichtig genug.
Und wenn ich daran denke, wieviel ältere Software auf neueren Betriebsystemen nicht mehr geht würde ich mit Sätzen wie "Microsoft ist eines der ganz wenigen Unternehmen, die wirklich viel Wert auf abwärtskompatibilität legt." sehr zurückhalten. Das funktioniert so halbwegs erst seit Windows 7, aus meiner Sicht ist das noch nicht so "lange".

Und das MS nach bei einem Update gehörig was kaputt macht ist nun auch keine Neuheit und damit meine ich etwa unbeabsichtigte Fehler, sondern z.B. das Umbenennen wohlbekannter Ordner, die dann von anderen Programmen nicht mehr gefunden werden, auch das ungefragte Installieren von Software wie irgendwelchen Spielen oder Edge oder das ungefragte Rumspielen in meinem sorgsam angepasstem Kachelmenü fallen da für mich darunter.

Vor zwei oder dreiWochen hatte ich das Problem, das ein Excelmakro bei mir nicht mehr funktionierte, das vorher jahrelang klaglos seinen Dienst getan hatte, nicht mehr lief wie gewünscht. Das Makro hat lediglich die Aufgabe, eine .xlsm (Exceldatei mit Makros) als .xlsx (Datei ohne Makros) in einem anderen Ordner zu speichern und dabei eine vorhandene Datei zu überschreiben. Nach irgendeinem Update verhielt sich das Makro so, daß es anstatt die letzte Version der Datei zu speichern irgendein veraltetes Sicherungsartefakt geladen hatte und anstatt meine Änderungen zu übernehmen diese im Endeffekt rückgängig gemacht hatte, und zwar in der Quelldatei (in der das Makro nun überhaupt nicht herumzuschreiben hatte).
Mit irgendwelchen abenteuerlichen Spielereien in den Speicheroptionen (krass was es da mittlerweile alles gibt, nur um mir Onedrive aufzudrängen) habe ich es dann wieder hinbekommen, aber diese Abart von MS unaufgefordert die Einstellungen anzupassen geht mir sehr auf den Zeiger, da verhält sich MS exakt so wie du es über OS-Entwickler beklagst.

Das meine ich mit "MS funktioniert nicht", und deshalb steht der Wechsel auf Linux bei mir auch fest auf der Agenda.
 
Ich kann Dir nur aus meiner Erfahrung berichten. In der Rolle als technisch Verantwortlicher für Software Repaketierung und Software Versand, die ich mal für gewisse Zeit inne hatte (so um 2007 - da war ich mal auf Irrwegen und mal einige Zeit nicht in der Software Entwicklung tätig) habe ich halt ganz klare Erfahrungen gemacht, dass es sehr selten wirklich mit alter Software Probleme gab. Weder unter Windows 2000 als auch XP. Mit Windows 7 hat Microsoft übrigens gewisse Dinge weggenommen, die es zu Windows XP Zeiten noch gab bezüglich Kompatibilitätmodus und so.

Aber Du wirst bestimmt gute Gründe haben und ich wünsche Dir von Herzen viel Erfolg bei der Umstellung auf Linux. (Vor allem kann Dir da sowas nicht passieren. Zur Not hast Du bei Open Source ja den Source Code. Wenn da ein Feature plötzlich fehlt oder ein Breaking Change auftritt, dann kannst Du ja einfach die alte Version nehmen und dann wichtige Änderungen per Backport einbauen. Also garantiert das Richtige für Dich.
 
sondern z.B. das Umbenennen wohlbekannter Ordner, die dann von anderen Programmen nicht mehr gefunden werden,
Auf den Rest will ich grad gar nicht eingehen.

Das spricht für schlechte Programmierung. Hardcodierte Ordnernamen sind ein aboslutes No-Go.
Alle "wohlbekannten" Ordnernamen lassen sich über die entsprechenden Funktionen des Kernel abfragen, viele auch über Umgebungsvariablen.
Früher zu XP Zeiten gab es mal C:\Benutzer. Schon damals war die Verwendung dieses Namens übler Murks. Was, wenn das Benutzerverzeichnis gar nicht auf dem lokalen Rechner liegt? Oder was, wenn man einen englischen Rechner hatte? Oder gar einen XP64 Rechner? XP64 war rein englisch, für die deutschsprachige UI wurde ein Language Pack installiert. Heute werden ebenfalls englischsprachige Namen verwendet, die per Alias auch auf Deutsch bereitstehen.
Alle "wichtigen" Ordner behielten ihre Namen bei. Deshalb findet man heute auch 64 bit Dateien in System32 und die 32 Bit Dateien werden in WOW64 bereitgestellt.

Windows muss sich noch nicht mal auf C: befinden, sondern kann sonstwo liegen. Wenn man hier Probleme mit den Ordnernamen bekommt, sollte man sich an die eigene Nase fassen. Das gilt auch für die meisten anderen Probleme, die Microsoft und deren Updates zugeschoben werden.
MS ist sehr wohl um Abwärtskompatibilität bemüht. Kennst du denn ein anderes modernes Betriebssystem, auf dem man ohne neu zu kompilieren 30 Jahre alte Software mit grafischer Oberfläche zum Laufen kriegt? Im Normalfall muss man sich höchstens ein paar alte DLLs besorgen (oder - falls jemand mit den Ordnernamen Mist gebaut hat - hardlinks erstellen), dann läuft das Ganze wieder. Davon ist Linux weit entfernt.
 
Das spricht für schlechte Programmierung. Hardcodierte Ordnernamen sind ein aboslutes No-Go.
Ja, das ist auch wieder wahr.

Kennst du denn ein anderes modernes Betriebssystem, auf dem man ohne neu zu kompilieren 30 Jahre alte Software mit grafischer Oberfläche zum Laufen kriegt?
Nein. Ehrlich gesagt kenne ich gar keins.
Ich habe vor zwei Wochen erst ein altes Spiel ausgegraben (Die Siedler II Gold Edition falls es interessiert, da gibt es ein paar schöne Videotutorials w) aber das läuft nur in der DOSBox, dito noch andere und ältere Spiele wie "The Incredible Adventures of Mad Mac". Die laufen nur mit Emulatoren.
Ach ja, und auf Arbeit haben wir eine VM für derart alte Software. Vergiß es das auf Windows 10 oder so zu installieren.

Waren da in der Programmierung nur Pfuscher am Werk?
 
Ja, das ist auch wieder wahr.


Nein. Ehrlich gesagt kenne ich gar keins.
Ich habe vor zwei Wochen erst ein altes Spiel ausgegraben (Die Siedler II Gold Edition falls es interessiert, da gibt es ein paar schöne Videotutorials w) aber das läuft nur in der DOSBox, dito noch andere und ältere Spiele wie "The Incredible Adventures of Mad Mac". Die laufen nur mit Emulatoren.
Ach ja, und auf Arbeit haben wir eine VM für derart alte Software. Vergiß es das auf Windows 10 oder so zu installieren.

Waren da in der Programmierung nur Pfuscher am Werk?
Ok, my bad. 27 Jahre, nicht 30. Windows 95 war das erste 32 Bit Betriebssystem von MS. Alles, was in 8 oder 16 Bit programmiert ist, muss zwangsweise in Emulatoren laufen, das geht nicht anders. Ohne AMD würden 32 Bit Programme auch nicht laufen, Intel hat seinerzeit ja behauptet, Prozessoren mit 32 und 64 Bit Unterstützung wären nicht möglich.
 
Ach ja, und auf Arbeit haben wir eine VM für derart alte Software. Vergiß es das auf Windows 10 oder so zu installieren.
Da würden mich die Details interessieren. Wie gesagt: Ich habe da teilweise sehr viel Erfahrungen sammeln dürfen in der Vergangenheit. Microsoft lässt halt alte APIs nie ganz verschwinden und man kann diese meist direkt installieren.

Die einzigen Probleme sind in der Regel Treiberprobleme. Umbenannte Verzeichnisse sind ein Witz. Wenn man da Verzeichnisse braucht, dann stellt man die zur Not zur Verfügung. Und wenn die App meint, im System herum pfuschen zu müssen, dann soll sie das. Als Enterprise Kunde sollte man Zugriff auf MDOP haben und damit auf App-V. Damit hat die Applikation ein Layer zwischen System und sich. Dann kann die App sogar auf Systemverzeichnisse Schreibrechte kriegen oder so. Dann löscht die App alles in System32 und verschlüsselt alles auf C: ... Ist doch ok. Das, was es nicht sehen darf, hat es gar nicht gesehen und das was es geändert hat, ist halt in einem Snapshot ... Außer der App selbst sieht das niemand. Also echt top. Die App braucht ein alten IE 6 oder so? Dann pfuscht man den halt da ins App-V rein (Muss man dann schauen - das geht oft ganz einfach über Abhängigkeiten).

Im Entwicklerteam waren wir mal kurz davor, Visual Studio als App-V bereitstellen zu wollen (incl. allem, was wir so brauchten also SQL Server Developer Edition und so) - das ging aber wegen zu großer Auslastung nie über ein Versuchsstadium. Aber wir hatten einige Software als App-V. Da musste man dann nichts mehr Installieren. Ein kleiner kurzer Deploy Aufruf und schon hatte man Icons zum starten und so.

Das muss man aber natürlich kennen und können. Windows Internas sind zu wenig bekannt. Die Registry ist für 99% der ITler schwarze Magie und so. Und das ist zum größten Teil Quatsch. Klar, es kommt nicht an OS/2 mit den IBM Redbooks ran wo jeder Systemcall und jede Meldung wirklich bis ins kleinste beschrieben war, aber die Technet und MSDN Doku vermisse ich sehr schmerzhaft. Was habe ich damals gemeckert, weil MS das so stiefmütterlich behandelt hatte aber wenn man dann bei Linux oder Apple schaut, dann kommt das große grauen. Java macht es wieder sehr gut - aber das ist ja nur die Basis Library. Alles was darüber geht, da ist die Chance, dass man sich in einem Horrorfilm wähnt, nicht gerade gering. Z.B. mit apache und eclipse komme ich auf keinen grünen Zweig was da die Seiten angeht. Da frage ich mich immer, ob da Psychologen dahinter stecken und wir die Testaffen sind ... Aber egal ... das ist nicht das Thema.

Fakt ist: MDOP und da dann speziell App-V bietet sehr viel, verfügbar ab Windows 7 und wird immer gut erweitert.Wobei ich die Veränderungen zu Windows 10 und 11 nicht mehr kenne, da ich da dann kein Zugriff mehr auf das MDOP hatte.
 
Ok, my bad. 27 Jahre, nicht 30. Windows 95 war das erste 32 Bit Betriebssystem von MS. Alles, was in 8 oder 16 Bit programmiert ist, muss zwangsweise in Emulatoren laufen, das geht nicht anders. Ohne AMD würden 32 Bit Programme auch nicht laufen, Intel hat seinerzeit ja behauptet, Prozessoren mit 32 und 64 Bit Unterstützung wären nicht möglich.
Öhm, da gibt es zwar native keine Möglichkeit, aber natürlich gibt es da Emulatoren. Das kriegt man also auch zum laufen. Wobei da dann das Betriebssystem des Hosts egal ist - Die Dosbox gibt es für alle Betriebssysteme ... Wobei ihr mich bitte nicht verhaut, wenn ihr Probleme habt, es auf AIX 7.2 oder so zu übersetzen.
 
Öhm, da gibt es zwar native keine Möglichkeit, aber natürlich gibt es da Emulatoren. Das kriegt man also auch zum laufen. Wobei da dann das Betriebssystem des Hosts egal ist - Die Dosbox gibt es für alle Betriebssysteme ... Wobei ihr mich bitte nicht verhaut, wenn ihr Probleme habt, es auf AIX 7.2 oder so zu übersetzen.
Meinte natürlich ohne Emulatoren, DOSBox usw. wurden ja schon genannt.
 
Da würden mich die Details interessieren. Wie gesagt: Ich habe da teilweise sehr viel Erfahrungen sammeln dürfen in der Vergangenheit. Microsoft lässt halt alte APIs nie ganz verschwinden und man kann diese meist direkt installieren.
Das sind sehr unterschiedliche Programme, alle irgendwo im Rahmen für Elektronikentwicklung aus eben dieser Zeit. Teilweise wird dort Hardware, die vor dreißig Jahren entwickelt wurde, noch verkauft. Es gibt so alte Industrieanlagen, z.B. Webstühle die noch irgendwo in China rumeiern, die brauchen ab und zu mal eine neue Steuerkarte.
Die Preise für solche alte Hardware ist natürlich ein schlechter Witz, der Preis ist normalerweise reiner Seltenheitswert da viele Bauteile teilweise schon lange abgekündigt sind.
Und dann lungert da z.B. irgendwo noch eine alte Binärdatei herum, die mit einem bestimmten Programm in den Speicher geschrieben werden muß. Evt. könnte man das sicher zurückentwickeln und auf etwas moderneres portieren, aber das lohnt sich nicht.
Ach ja, ein altes Terminal haben wir auch noch um solche Museumshardware zu testen.

Ich habe letztes Jahr viel Zeit damit verbracht, irgendeinen alten Cadul-Compiler von 1995 in der VM zum Laufen zu überreden.

Ich muß allerdings zugeben: Was unter Windows 7 lief, lief bisher auch unter Windows 10 meistens tadellos, wenn nicht gerade die Rechteverwaltung dazwischenfunkt. Ich denke da gerade an das alte AVR-Studio 4 zurück, das wollte beim assemblieren immer in seinem Installationsordner herumschreiben. Unter WindowsXP war das kein Problem, aber unter Windows 7 hat das damals echt genervt. Irgendwann hatte ich dann raus, daß ich nur eine bestimmte Datei löschen mußte und dann ging es wieder, oder der letzte Zugriff mußte eine gewisse Zeit zurückliegen, dann ging es auch. Ich habe keine Ahnung ob das mistig programmiert war oder nicht, Spaß hat das aber nicht gemacht.


Edit:
Aber das war ja das, was ich mit meinem Post oben eigentlich sagen wollte: Die Produkte von MS selbst finde ich gar nicht so schlecht, auch wenn ihnen oft noch ein mieser Ruf anhaftet.
Es sind eher solche firmenpolitischen Dinge die ich zunehmend inakzeptabel finde. Ungefragtes Installieren von Software, Ändern von Benutzereinstellungen, aber auch die Datensammelei...sowas halt.
 
Meinte natürlich ohne Emulatoren, DOSBox usw. wurden ja schon genannt.
Ja, das Du das so meintest, war mir schon klar. Aber so wo trennt man wie? Windows wird immer gerne immer nur das blanke Windows gesehen und bei Linux wird dann alles aus dem Repository dazu genommen ... Daher die Erwähnung von mir, denn ich trenne das nicht so strikt. Da gehören dann Dinge wie App-V und Co mit zu Windows. Und auch wenn es nicht von Microsoft selbst ist, nehme ich dann auch so Emulatoren gerne mit dazu. Inzwischen würde ich sogar Linux komplett mit dazu nehmen. Vor meinem Wechsel zum M1 Mac war Windows 10 mein bevorzugtes System, denn da hatte ich eine ordentliche Oberfläche, alle Programme liefen und ich konnte unter Linux alles wie gewohnt entwickeln da ich ein Debian mit drauf hatte 🙂
 
Das sind sehr unterschiedliche Programme, alle irgendwo im Rahmen für Elektronikentwicklung aus eben dieser Zeit. Teilweise wird dort Hardware, die vor dreißig Jahren entwickelt wurde, noch verkauft. Es gibt so alte Industrieanlagen, z.B. Webstühle die noch irgendwo in China rumeiern, die brauchen ab und zu mal eine neue Steuerkarte.
Die Preise für solche alte Hardware ist natürlich ein schlechter Witz, der Preis ist normalerweise reiner Seltenheitswert da viele Bauteile teilweise schon lange abgekündigt sind.
Und dann lungert da z.B. irgendwo noch eine alte Binärdatei herum, die mit einem bestimmten Programm in den Speicher geschrieben werden muß. Evt. könnte man das sicher zurückentwickeln und auf etwas moderneres portieren, aber das lohnt sich nicht.
Ach ja, ein altes Terminal haben wir auch noch um solche Museumshardware zu testen.

Ich habe letztes Jahr viel Zeit damit verbracht, irgendeinen alten Cadul-Compiler von 1995 in der VM zum Laufen zu überreden.

Ich muß allerdings zugeben: Was unter Windows 7 lief, lief bisher auch unter Windows 10 meistens tadellos, wenn nicht gerade die Rechteverwaltung dazwischenfunkt. Ich denke da gerade an das alte AVR-Studio 4 zurück, das wollte beim assemblieren immer in seinem Installationsordner herumschreiben. Unter WindowsXP war das kein Problem, aber unter Windows 7 hat das damals echt genervt. Irgendwann hatte ich dann raus, daß ich nur eine bestimmte Datei löschen mußte und dann ging es wieder, oder der letzte Zugriff mußte eine gewisse Zeit zurückliegen, dann ging es auch. Ich habe keine Ahnung ob das mistig programmiert war oder nicht, Spaß hat das aber nicht gemacht.


Edit:
Aber das war ja das, was ich mit meinem Post oben eigentlich sagen wollte: Die Produkte von MS selbst finde ich gar nicht so schlecht, auch wenn ihnen oft noch ein mieser Ruf anhaftet.
Es sind eher solche firmenpolitischen Dinge die ich zunehmend inakzeptabel finde. Ungefragtes Installieren von Software, Ändern von Benutzereinstellungen, aber auch die Datensammelei...sowas halt.
Hallo, weil du von alter Hardware schreibst, gibt es da wirklich noch einen Markt? Hab noch einiges rumliegen, die 286er Sachen sind zwar schon im Müll, aber so liegt noch einiges im Keller. LG
 
Es gibt einen gewissen Markt für Retro Geräte. Da kann man also gerne mal auf ebay schauen. So alte PCs gehören da aber in der Regel nicht drunter und so Firmen bewahren auf, was sie selbst schon in Betrieb hatten.

Das ist aber aus meiner Sicht nicht ganz so trivial, denn elektronische Bauteile "altern" auch mit der Zeit. Am bekanntesten ist dabei vermutlich die Problematik mit den Kondensatoren. (Das ist zumindest das, was ich auch aus dem Amateurfunk kenne).

Aber dazu gibt es auch Dokumentation, die das alles etwas mehr aufdröselt:
(eben mal per Google gefunden, sah auf den ersten Blick brauchbar aus.)
 
Hallo, weil du von alter Hardware schreibst, gibt es da wirklich noch einen Markt? Hab noch einiges rumliegen, die 286er Sachen sind zwar schon im Müll, aber so liegt noch einiges im Keller. LG
"Markt" würde ich es nicht nennen. Es sind halt Maschinen die schon seit Jahrzehnten abgeschrieben sind und die den Besitzern trotzdem noch gutes Geld einfahren, also hält man die so lange wie möglich am Laufen. Das ist absoluter Nischeneinsatz und ungewiss, wie lange solche Anlagen noch laufen. Irgendwann kommt der Tat, an dem eine Reparatur einfach zu teuer wird. Die Teile, die da noch verbaut werden, werden teilweise schon seit zehn Jahren nicht mehr hergestellt, und ich will nicht wissen aus welchen dubiosen Quellen die manchmal kommen.

Ob man mit deinem Kellerinhalt noch was anfangen kann...keine Ahnung, mußt du ausprobieren. Ich bezweifle aber daß du solche IO-Karten oder Mikrocontrollerkarten hast, es geht hier nicht um Consumerhardware. Möglicherweise sind da zwar dieselben Chips drauf, z.B. 68200, aber dann müßte man den erst runterlöten...und ob den dann noch jemand wieder verbauen will, insbesondere da niemand weiß was der Chip nicht schon alles erlebt hat, Chips altern, ESD-Schläge hinterlassen ihre Spuren...
 
Wenn sich die OVPs noch im Keller befinden, könnten da schon ein oder zwei Schätzchen dabei sein, wobei der PC Retro Markt jetzt nicht soooo groß ist, da es so gute Abwärtskompatibilität gibt. Aber eine Voodoo2 in OVP? Das spült schon etwas Geld in die Kasse. Leider hab ich mich vor 15 Jahren beim Umzug dazu überreden lassen, einen Großteil der alten Schachteln wegzuwerfen und auch alte Hardware zu entsorgen.
 
ich habe vor langer Zeit (2003) mal Java über Humboldt gelernt,
😉 I have learnt JAVA at the very beginning and still code with JAVA. Compiler Technology changes with the time, but the logics stay. In some cases the "newfangled techniques" are not always better than the old ways. To see the difference one needs only to compile the same codes programmed by different techniques: classic versus newfangled, and see the generated output. The rule of thumb: more bytes = more work = more time consuming.
Example:
Java:
for (int i = 0; i < array.length; ++i) { ...}
//versus
for (String s : array) { ... }
 
Zuletzt bearbeitet von einem Moderator:
Und wieder eine Sache, die mir nach einem Windows-Update hart auf die Eier geht: Das Programm, mit dem ein Dateityp standardmäßig geöffnet werden soll, muß wieder neu festgelegt werden. Selbst bei so seltenen Dateiendungen wie .FCStd.
Das ist zwar kein so großer Akt wie damals noch unter Windows XP, eigentlich wirklich nur eine Kleinigkeit, aber trotzdem: Warum zur Hölle kann MS das nicht einfach so lassen wie es ist und stattdessen darauf verzichten, mir einen Link zum MS Appstore zu präsentieren?
 

Zurück
Oben