Dennis Ritchie, "Vater" von UNIX und C ist am Wochenende gestorben: http://www.heise.de/newsticker/meldung/Unix-ist-einfach-zum-Tode-von-Dennis-Ritchie-1360366.html Wenige Zeilen darüber von einem seiner Mitstreiter, Rob Pike: https://plus.google.com/101960720994009339267/posts/ENuEDDYfvKP
In meinem Besitz befindet sich noch Kernighan/Ritchie: Programmieren in C. RIP.
Ich habe zwar von dem traurigen Ereignis erst jetzt erfahren, habe aber heute den ganzen Tag nur in C auf einem Unix-ähnlichen Betriebssystem programmiert. Vielleicht freut sich Dennis darüber.
Wilhelm Ferkes schrieb: > In meinem Besitz befindet sich noch Kernighan/Ritchie: Programmieren in > C. Ach bei dir auch? ;) > > RIP. { RIP } return TRUE;
g. c. schrieb: > Wilhelm Ferkes schrieb: > >> In meinem Besitz befindet sich noch Kernighan/Ritchie: Programmieren in >> C. Hier auch. Und ich nehme es immer noch gerne und häufig in die Hand.
Sven P. schrieb: > Und ich nehme es immer noch gerne und häufig in die Hand. Ich inzwischen nicht mehr so häufig, aber auch ich habe damit C gelernt. Auch, wenn meinem Betriebssystem wohl aus Copyrightgründen sämtliche Original-Codezeilen von "dmr" mal entfernt worden sind, von den Ideen hinter Unix profitiere ich seit mehr als 20 Jahren ebenfalls.
1 | /* You are not expected to understand this */
|
… ist wohl einer seiner berühmtesten Kommentare. ;-) Wer's nicht kennt, hier ist seine eigene Story dazu, was dieser Kommentar bedeuten sollte: http://cm.bell-labs.com/who/dmr/odd.html Auch seine restlichen Webseiten bei Bell Labs scheinen noch intakt. Allemal genug zu lesen fürs Wochenende … ;-)
Für alle Fans des K&R-Buchs (zu denen auch ich gehöre): Hier ist sozusagen die 0. Auflage davon (noch ohne Kernighan), die mindestens ebenso lesenswert ist wie die 1.: http://cm.bell-labs.com/who/dmr/cman.pdf Ich habe dieses Manual schon seit längerem auf meiner Festplatte in einem Verzeichnis mit wichtigen Dokumenten liegen.
Yalu X. schrieb: > Für alle Fans des K&R-Buchs (zu denen auch ich gehöre): Hier ist > sozusagen die 0. Auflage davon (noch ohne Kernighan) Die Typografie des Dokuments stellt manches noch in den Schatten, das 30 Jahre später auf Computern verbrochen worden ist. ;-)
Yalu X. schrieb: > Für alle Fans des K&R-Buchs (zu denen auch ich gehöre): Hier ist > sozusagen die 0. Auflage davon Hat jemand eine Idee, wofür "entry" mal gedacht war? Vorhin gerade getestet, GCC versteht die "falsch herum" geschriebenen Zuweisungsoperatoren (also =+ statt +=) nach wie vor, völlig kommentarlos. ;-) Selbst mit -pedantic:
1 | $ cat foo.c |
2 | int foo(int a) |
3 | {
|
4 | a =+ 42; |
5 | return a; |
6 | } |
7 | $ gcc -c -Wall -Wextra -std=c99 -pedantic foo.c |
8 | $ |
Jörg Wunsch schrieb: > Hat jemand eine Idee, wofür "entry" mal gedacht war? Wikipedia meint dazu:
1 | Wichtigste Neuerungen von C90 |
2 | ... |
3 | Das ungenutzte Schlüsselwort entry wurde entfernt. |
Ich trau mir ml zu raten, wofür es gedat gewesen sein könnte: ZUr Definition des Programm-Entrypoints, also sowas wie eine Variable für den den Namen main, der von Anfang an fest verdrahtet war. Ist aber, wie gesagt, nur geraten.
Jörg Wunsch schrieb: > Vorhin gerade getestet, GCC versteht die "falsch herum" geschriebenen > Zuweisungsoperatoren (also =+ statt +=) nach wie vor, völlig > kommentarlos. Er interpretiert sie aber ganz anders, nämlich nicht als einzelner Operator, sondern als '='-Operator und einem Vorzeichen. Diese zweitdeutige Interpretationsmöglichkeit war auch der Grund, warum die Operatoren später umgedreht wurden.
Jörg Wunsch schrieb: > Hat jemand eine Idee, wofür "entry" mal gedacht war? In Fortran kann man mit ENTRY für Unterprogramme mehrere Einstiegspunkte definieren: http://de.wikibooks.org/wiki/Fortran:_FORTRAN_77:_Unterprogramme#ENTRY Das könnte in C ähnlich vorgesehen gewesen sein.
Yalu X. schrieb: > Für alle Fans des K&R-Buchs (zu denen auch ich gehöre): Hier ist > sozusagen die 0. Auflage davon (noch ohne Kernighan), die mindestens > ebenso lesenswert ist wie die 1.: Das dürfte die Variante sein, in der man struct { char low, high; }; int x; x.high = 1; schreiben durfte ohne sich mit Casts zu verrenken (zu finden in altem Unix Kernel). Würde wohl mancher bei Controllern auch heute noch gerne machen würde.
Yalu X. schrieb: > Er interpretiert sie aber ganz anders, nämlich nicht als einzelner > Operator, sondern als '='-Operator und einem Vorzeichen. Ach, kopfklatsch, na klar!
A. K. schrieb: > Das dürfte die Variante sein, in der man > > struct { char low, high; }; > int x; > x.high = 1; > > schreiben durfte ohne sich mit Casts zu verrenken Diese Schreibweise kenne ich nicht. Was wäre denn passiert, wenn man geschrieben hätte:
1 | struct { char low, high; }; |
2 | struct { char high, higher; }; |
3 | int x; |
4 | x.high = 1; /* high ist jetzt mehrdeutig */ |
Ist eigentlich irgendwo der Quellcode eines der damaligen C-Compiler veröffentlicht? Würde mich sehr interessieren :)
Jörg Wunsch schrieb: > Yalu X. schrieb: >> Für alle Fans des K&R-Buchs (zu denen auch ich gehöre): Hier ist >> sozusagen die 0. Auflage davon (noch ohne Kernighan) K&R ohne K sozusagen. In der Realität ist es ja nun anders herum :(
Yalu X. schrieb: > Diese Schreibweise kenne ich nicht. Was wäre denn passiert, wenn man > geschrieben hätte: Eine Fehlermeldung. Noch im K&R-C war der Namespace von Strukturkomponenten zwar getrennt vom Rest, aber global. Zwei Strukturkomponenten verschiedener Strukturen durften nur dann den gleichen Namen haben, wenn sie an gleicher Stelle und vom gleichen Typ waren. Das ist auch der Grund, weshalb sich in alten Unix-APIs und Libs regelmässig Präfixe wie in tm_hour finden. > Ist eigentlich irgendwo der Quellcode eines der damaligen C-Compiler > veröffentlicht? Würde mich sehr interessieren :) Den vom ursprünglichen K&R-C Compiler hatte ich wohl mal gesehen aber nicht rumliegen. Ich hatte eher mit dem nur wenig jüngeren Portable C Compiler aus der K&R-Ära zu tun. Den gibts ANSIfiziert und modernisiert heute noch und er eignet sich als Basis für Verständnis und für eigene einfache Portierungen evtl. besser als GCC, weil viel kleiner und einfacher. Gerüchteweise will irgendeine BSD Ecke darauf umsteigen.
Die älteren UNIX-Quellen sind ja mittlerweile offen, möglicherweise findet sich dort noch sowas. Schwierig dürfte es jedoch werden, noch einen Compiler zu finden, der das compilieren kann. Naja, man kann sich natürlich dann auch gleich einen PDP-11-Simulator noch mit hinlegen und darin das entsprechende UNIX ausführen. ;-) Es ist übrigens interessant, in so einem Simulator mal ein 2.11BSD gegen ein V7 UNIX zu vergleichen. Auf dem 2.11BSD fühlt man sich, trotz der zugrundeliegenden aus heutiger Sicht sehr spartanischen PDP-11, sofort wie in einem modernen Unix. Auf dem V7 UNIX guckt man erstmal dumm, wie man dazumals wohl ohne jegliches Stück commandline history hat arbeiten können :), und ein «ls /bin» ist dort auch sehr überschaubar (außer, dass man natürlich alles rein senkrecht untereinander gelistet bekommt).
Jörg Wunsch schrieb: > guckt man erstmal dumm, wie man dazumals wohl ohne jegliches Stück > commandline history hat arbeiten können :) Weshalb darauf bald die C-Shell mit ihrem zu Fernschreibern kompatiblen Commandline-Editor folgte. Auf solchen "Terminals" sind die Möglichkeiten ja begrenzt.
Ganz nebenbei: Hat Ritchie zu seinem Tod eigentlich auch mal eine Erwähnung in irgendeinem Radio- oder Fernsehprogramm gefunden? Traurig, wie ungerecht die Welt ist.
Sven P. schrieb: > Ganz nebenbei: Hat Ritchie zu seinem Tod eigentlich auch mal eine > Erwähnung in irgendeinem Radio- oder Fernsehprogramm gefunden? Sein Fehler war eben, dass er nichts entwickelt hat, was mit "ei" anfing (ei-fon, ei-mäck, ei-päd, ei-mär, ...). :) Möge auch er seinen Frieden gefunden haben. Ein Bier mit Steve Jobs zu trinken, dürfte ja nun nicht mehr drin sein.
Jörg Wunsch schrieb: > Sein Fehler war eben, dass er nichts entwickelt hat, was mit "ei" > anfing (ei-fon, ei-mäck, ei-päd, ei-mär, ...). :) > > Möge auch er seinen Frieden gefunden haben. Ein Bier mit Steve > Jobs zu trinken, dürfte ja nun nicht mehr drin sein. Dafür haben sich andere merkwürdige Rituale gefunden siehe "Schlaflos vor dem Apple-Store: Steve Wozniak" http://www.ftd.de/it-medien/it-telekommunikation/:wozniak-in-der-i-phone-schlange-apple-werbung-fuer-arme/60116053.html (hab's im MM Thread gepostet, aber es passt wohl besser hier her) Wenn man sich die heutigen Interviews mit Jerry Lewis betrachtet fällt auch der Glämmer von einst ab. ;)
Jörg Wunsch schrieb: > Naja, man kann sich natürlich dann auch gleich einen PDP-11-Simulator > noch mit hinlegen und darin das entsprechende UNIX ausführen. ;-) Ich hätte sogar noch ein paar Brocken von einer PDP-11 zu Hause herum- liegen. Da fehlt aber wohl noch irgendsoetwas wie ein Controller zwischen dem eigentlichen Rechner und der Festplatte, so dass ich das Ganze noch nicht wieder zum Leben erwecken konnte :-/ Sven P. schrieb: > Ganz nebenbei: Hat Ritchie zu seinem Tod eigentlich auch mal eine > Erwähnung in irgendeinem Radio- oder Fernsehprogramm gefunden? Ein iPhone ist ein Jedermannsprodukt, ein C-Compiler oder ein Unix-Sys- tem nicht (obwohl natürlich fast jeder unwissentlich auch von diesen Produkten profitiert). Es ist deswegen schon nachvollziehbar, dass das Ableben eines Computerspezialisten nicht das gleiche Aufsehen erregt wie das eines Produzenten von Lifestyleprodukten. Auch wenn uns ein aner- kannter Naturwissenschaftler oder ein Ingenieursgenie (wie im Elektro- nikbereich vor Kurzem zweimal geschehen) verlässt, erfahren das i. Allg. nur die entsprechenden Berufskollegen und ein paar Interessierte.
Yalu X. schrieb: > Da fehlt aber wohl noch irgendsoetwas wie ein Controller > zwischen dem eigentlichen Rechner und der Festplatte, so dass ich das > Ganze noch nicht wieder zum Leben erwecken konnte :-/ Gibt denn dafür überhaupt noch Plattenlaufwerke?
Uhu Uhuhu schrieb: > Gibt denn dafür überhaupt noch Plattenlaufwerke? Das zugehörige Plattenlaufwerk habe ich ja, und es scheint auch noch zu laufen. Zumindest dreht sich der Plattenstapel und erzeugt einen im Vergleich zu PC-Festplatten unglaublich satten Sound :)
Und wieviel kW Anschlußwert hat das Teil? Meine ersten direkten Erfahrungen habe ich mit einer Burroughs B1726 gemacht. Die Mühle hatte als Peripherie eine Festkopfplatte mit sagenhaften 40 MB. Das Teil wurde über ein daumendickes Stromkabel versorgt, war ca. 1,5 m hoch, 0,8 m breit und knapp 2 m tief. Die Platten waren massive ca 1 cm dicke Aluminiumscheiben mit über einem Meter Durchmesser und die Spindel hatte einen Lagerschaden, der die Kiste gewaltig röhren ließ. Die B1700-er waren übrigens die ersten Serien-Rechner, der vollständig mit Halbleiterspeicher bestückt waren. Die neueren Speicherkarten bestanden aus dynamischen 1 kBit RAMs. In älteren waren wohl noch 256-Bit-RAMs. Wenn ich mich recht erinnere hatte die Kiste 128 kB davon. Immerhin konnte sie ihr eigenes Betriebsystem - es war in einer eigens dafür entwickelten blockstrukturierten Sprache geschrieben - compilieren. Das Ganze - incl. Ausdruck über einen Kettendrucker brauchte so größenordnungsmäßig 5 Stunden. Der Ausdruck auf Endlospapier ergab einen Stapel von ~30 cm Höhe. http://de.wikipedia.org/wiki/Burroughs_Corporation
Uhu Uhuhu schrieb: > Und wieviel kW Anschlußwert hat das Teil? Auf jeden Fall weniger als eins. Ich konnte zwar keine W- oder A-Angaben auf der Primärseite der Netzteile finden, aber das Rechnernetzteil ist mit 1A, das Festplattennetzteil mit 1,25A abgesichert. So arg alt ist das Gerät auch noch gar nicht: Es ist eine PDP-11/24 vom Anfang der 80er-Jahre, ist also etwa ein Jahrzehnt jünger als C. Jetzt muss ich mir aber erst mal ein Kilo Staub aus den Klamotten klopfen ;-)
Apropos Festplatte. Das Trumm im Anhang habe ich vor ein paar Jahren bei einem Bekannten mal fotografiert. Davon liefen 2 Stück soweit ich weiß bis über das Jahr 2000 hinaus in einer Firma an einem Server/Backup-Rechner. Leider hatte ich nur ein Telefon zum Foto machen. Auf dem Typenschild steht aber was von 460 Watt Leistungsaufnahme.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.



