Weil wir alle hier zwangsläufig mit Rechnern und Informationstechnologie zu tun haben, will ich zu dieser Thematik hier auch ein bißchen schreiben. Eigentlich gehöre ich ja auch zu denen, die beruflich entfernt etwas mit so etwas zu tun haben müßten. Mehr dazu wird sicher später noch zu lesen sein.
Ich bin übrigens sehr dagegen, armen und weniger armen Softwarefirmen Schäden
durch Installation inoffizieller Kopien von deren Software zuzufügen, und ich
möchte auch die Leser dieser Seiten darum bitten, sich an die entsprechenden
Bestimmungen zu halten, also gegebenenfalls die teuren CDs oder Lizenzen zu
kaufen und korrekt einzusetzen. Die Installation solcher illegaler Kopien ist
in manchen Ländern strafbar. Andererseits will ich durch die Bezahlung
offizieller Kopien auch mir selbst keinen zu großen finanziellen Schaden
zufügen.
Es gibt heute etliche Betriebssysteme, aber die lassen sich in "Familien" einordnen:
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
|---|---|---|---|---|---|---|---|---|
| Miniatursysteme | Echtzeitsysteme | DOS | MacOS | OS/2 | NT | VMS | Unix/Linux | Großrechnersysteme |
| Hier gibt es eine ungeheure Vielfalt, die die Zusammenfassung unter einer Rubrik problematisch erscheinen läßt: PalmPilot, Mobiltelefone, Karten u.s.w. | Z.B. OS9. | FreeDOS, Windows 95, Windows 98, Windows ME (heute unbedeutend, eventuell noch für Spezialanwendungen) |
MacOS 9 und älter (heute unbedeutend) |
OS/2 (heute unbedeutend, eventuell noch für Spezialanwendungen) |
Windows NT 3.5, Windows NT 4.0, Windows 2000 (NT 5.0), Windows XP (NT 5.1), Windows Vista (NT 6.0), Windows 7 (NT 6.1) | VMS (heute unbedeutend, eventuell noch für Spezialanwendungen) |
GNU/Linux, MacOS X, OpenBSD, FreeBSD, NetBSD, Solaris, Aix, HP/UX | AS 400, MVS, CMS Natürlich würden Insider auch diese Kategorie unbedingt aufteilen. Da es bisher nicht meine Baustelle war, fasse ich die hier so zusammen. |
Natürlich gibt es unter 1, 2 und 9 jeweils eine unheimliche Vielfalt von Systemen, wobei sich teilweise eine Tendenz abzeichnet, daß diese durch spezielle Versionen von Betriebssystemen aus 8 ersetzt werden. 3, 4, 5 und 7 sind auf absehbare Zeit am Verschwinden, bis auf einige schrumpfende Nischen. Ich gehe auch davon aus, daß Systeme aus 8 in Gestalt von Linux bzw. GNU/Linux langfristig gegenüber solchen aus 6 durchsetzen werden. Aber das kann vielleicht noch ein bißchen länger dauern und es kann auch anders kommen. Vielleicht kommt auch etwas ganz neues, was wir heute so noch nicht erwarten. Man weiß das nie genau, erst wenn es so weit ist. Gut ist es deshalb immer, wenn man sich nicht völlig auf die Produkte eines einzigen Herstellers spezialisiert hat. ;-)
Eigentlich könnte ich jetzt hier schreiben, warum "mein"
Betriebssystem, Fenstersystem, Bildverarbeitungsprogramm, Editor u.s.w. das
allerbeste ist. Aber das will ich mir sparen, denn ich will niemandem den Spaß
an irgendwelcher Software verderben und es möge sich jeder seine eigene Meinung
bilden. Ich glaube, daß sich Linux als Betriebssystem langsam weiter
verbreiten wird. Das wird sicher noch eine Weile dauern. Und man kann sich
darüber freuen, daß andere Systeme auch gut geworden sind. Gleichzeitig passen sich
andere Systeme im Unix/Linux-Umfeld an Linux an, z.B. Solaris oder Aix. Sie
werden gängigen GNU/Linux-Installationen immer ähnlicher. Das heißt, sie
übernehmen einige GNU-Tools, die unter Linux selbstverständlich sind und sie werden
kompatibel zu Linux. SUN ersetzt schon lange CDE durch Gnome. Damit werden
auch diese Unixe benutzerfreundlicher, was zum Glück für uns Benutzer ein
zunehmend wichtiger Punkt für die Anbieter ist. Vielleicht wird sich Solaris
noch etliche Jahre halten, weil es sich gut für sehr große Systeme eignet.
Aber IBM, SGI und HP setzen schon heute auch zulasten ihres eigenen Unix
hauptsächlich auf Linux. Nur als benutzerfreundliches System haben Systeme aus
dem Unix/Linux-Umfeld die Chance, sich zu halten und an Boden zu gewinnen. Ich
glaube, die Entwicklung bleibt spannend und es wird auch immer wieder neue
Dinge und Überraschungen geben.
Wer übrigens der Meinung ist, einen Rechner nur mit vorinstallierter Software
zu bekommen, die er gar nicht, überhaupt nicht, benutzen will, der
sollte sich vielleicht einmal ansehen, ob die Lizenz nicht eine Rückerstattung
der Lizenzgebühren bei Nichtnutzung erlaubt. Ich habe diese Problematik nie
erlebt, denn es ist mir in den letzten 10 Jahren gelungen, fast alle meine
Rechner als reine Hardware zu kaufen. Nur einige gebrauchte Rechner enthielten
eine "gebrauchte" Lizenzen für verschiedene MS-Windows-Versionen,
jedoch habe ich sie jeweils auf Linux umgestellt. Tatsächlich habe ich das,
was ich nicht lizenziert habe, auch nicht inoffiziell doch noch installiert.
Wer aber einen Rechner mit unerwünschtem NT (NT 4.0, Windows 2000 oder Windows
"Big Brother"="eXtralarge Prother"=XP) kauft, sollte sich doch genauer die
Lizenzbestimmungen ansehen. Vielleicht kann man da mit ein bißchen
Hartnäckigkeit etwas Geld zurückbekommen. Oder ist diese Software (NT, MS-DOS,
Windows,...) wirklich umsonst zu haben?
Zum Schreiben von Papieren, Briefen u.s.w., neben Mail auch
noch ein relativ wichtiger Verwendungszweck der Rechner,
benutze ich hauptsächlich
TeX,
wobei ich mehr und mehr von PlainTex auf
LaTeX
umstelle. Wenn ein bestimmtes Dateiformat gewünscht wird, kann ich
auch
OpenOffice
verwenden. Ich habe sogar die Möglichkeit, in VMWare
MS-Office
einzusetzen, aber das kommt eher selten vor. Für die meisten Fälle verwende
ich TeX oder LaTex.
Genau genommen dient das bei mir nur zum Formatieren. Das
eigentliche Schreiben mache ich ja mit einem Editor meiner Wahl, das
ist dann zum Beispiel
GNU-Emacs.
Um es gleich vorwegzunehmen, ich habe nichts gegen VI. Ich benutze den VI auch
oft und ich finde es auch wichtig, damit umgehen zu können, weil man damit auf
jeder noch so sparsam installierten Unix-, Linux- oder MacOS-X-Maschine
arbeiten kann. Aber ich glaube nicht, daß man es sich mit dem Ding besonders
leicht macht, Neueinsteigern UNIX schmackhaft zu machen. Software von der Art
des VI wird niemals einen größeren Beitrag dazu leisten, daß
Durchschnittsanwender von Windows auf Linux oder UNIX umstellen, obwohl der VI
wirklich eine geniale Software ist und mit unheimlich wenig Ressourcenverbrauch
fantastische Funktionalität bietet. Der Kenner kann noch nach Jahren neue
nützliche Funktionen entdecken, sagt man mir. Bei Emacs weiß ich, daß es
(auch) so ist. Aber die Bedienung ist eben doch etwas ungewöhnlich. Für den
Profi, der seine Tasten kennt, ist das natürlich kein Problem, da mag es mit
den etwas kürzeren und etwas kryptischeren Tastenkürzeln des VI sogar noch
schneller gehen. Die üblichen Vorurteile, daß Emacs auch nicht viel
benutzerfreundlicher wäre, stammen noch aus alten Zeiten, als Emacs die
tatsächlich katastrophale Version 18 hatte. Ein VI in Gestalt von nvi, vim
oder elvis ist auch erheblich besser, als das, was so mit Solaris oder Aix oder
sogar NT (mittels Resource-Kit) ausgeliefert wurde, hat aber den einen Vorteil
des VI (noch) nicht, nämlich standardmäßig auf jedem UNIX (oder gar auf jedem
Rechner überhaupt) installiert zu sein.
Abgesehen davon kenne ich mich noch aufgrund beruflicher und privater
Tätigkeiten mit SunOS 4, Solaris (2.51, 2.6, 7, ...), Aix, NeXT-Step mit X11
und auch ein bißchen NT (MS-Windows NT/2000/XP) aus. Vielleicht erinnere ich
mich sogar noch an DOS oder VMS, aber da bin ich mir wirklich nicht mehr so
ganz sicher, denn das habe ich seit über 12 Jahren nicht mehr gebraucht und
werde es wohl auch nicht mehr brauchen.
Vor ein paar Jahren war es ja noch das große Thema, wenn man einmal eine kleine
oder auch größere Software schreiben konnte. Wenn man sich die Sache genauer
ansieht, ist es doch viel aufwendiger, brauchbare und tragfähige Konzepte und
Architekturen aufzustellen, bevor man sich mit Details wie GUI-Design und
Datenbankmodellen und ähnlichen Dingen beschäftigt. Für deren Umsetzung kann
man dann unter anderem Dinge wie Oracle, PL/SQL, C, C++, Java, JavaScript,
Ruby, HTML, Lisp oder Perl gebrauchen. Das ist schon ein bißchen Teil meiner
Tätigkeiten gewesen. Deshalb habe ich mir auch den Spaß erlaubt, solche
Prüfungen wie "Sun Certified Java Programmer" oder "Sun
Certified Web Component Developer" oder "Sun Certified Business
Component Developer" zu machen. Insbesondere sind in den letzten 10-15
Jahren einige uralte und auch neuere Ideen aufgegriffen worden, die sich als
sehr nützlich erweisen dürften. Vor allem das "literate programming", bei dem
man aus den Quelltextdateien auch eine menschenlesbare Dokumentation
extrahieren kann, ist sehr gut verwirklicht (javadoc, rubydoc, perldoc) und man
hat bei großen Projekten eine schöne WWW-Navigation durch die ganzen bereits
implementierten Klassen und Methoden. SUN bietet das für die Bibliotheken der
Standard-Edition und Enterprise-Edition auf der WWW-Seite an.
Fortran, Pascal und Basic habe ich im Zweifelsfall vergessen; eher erinnere ich mich noch daran, daß es einmal vor einigen Jahren doch recht verbreitet war, auch verschiedene Assemblersprachen zu lernen, was ich auch mitgemacht habe. Aufgrund merkwürdiger Umstände habe ich mit solchen Assembler-Programmen vor vielen Jahre sogar mal einen sogenannte "goldene Diskette" gewonnen. Aber wenden wir uns lieber wieder ernsthafteren Dingen zu.
Wer sich etwas länger mit solchen Dingen beschäftigt, wird feststellen, daß für
nichttriviale Applikationen fast immer eine Datenbank ins Spiel kommt,
heutzutage (noch oder schon?) meistens relational und SQL-basierend.
Nach meiner Erfahrung heißen diese Datenbanken normalerweise Oracle,
aber es kann ja auch einmal DB2, PostgreSQL, MS-SQL-Server oder mySQL sein,
wobei ich gerne zugebe, daß ich von DB2 keine Ahnung habe.
Ein anderes aktuelles Thema ist XML. Die Idee ist nicht neu, gibt es doch den
Vorläufer (SGML) schon seit ungefähr 25 Jahren. Aber gerade die Tatsache, daß XML
so in "Mode" gekommen ist, macht an dieser Stelle den Vorteil aus,
denn dadurch wird sichergestellt, daß XML als universelles Format zum Austausch
und zur Speicherung von Dokumenten und Daten überhaupt zu gebrauchen ist.
Es gibt auf jeden Fall schon heute eine sehr schöne
(englischsprachige) Abhandlung, die beschreibt, was man so
zur Behandlung von kyrillischen, insbesondere russischen
Texten tun kann. Es geht um
die Russifizierung von Latex, a2ps, X11, Netscape etc.
Vielleicht geht das auch einmal in die
Emacs-Umlaute-FAQ
ein, wenn ich dazu einmal kommen sollte.
Als kleine Erinnerung an eine frühere Tätigkeit in der
computergestützten Algebra möchte ich hier ein paar
interessante freie Softwareprodukte erwähnen. Zur
Behandlung von gruppentheoretischen Fragen kann man mit dem
Programm
GAP
eine ganze Menge anfangen. Das ist auch als Quelltext verfügbar
und da stecken auch für denjenigen, der nicht Gruppentheorie
macht, eine Menge interessanter Dinge drin. Wenn man nur
genug Zeit hätte. Wenn es um die Dinge geht, die man früher
einmal Mathematik nannte, Faktorisierung von Polynomen,
Berechnung von Ableitungen und Integralen und all die
anderen Dinge, die ich längst vergessen habe, dann kann man
mit
Mupad
oder
Axiom
ein Programm finden, daß es ermöglicht, mit so etwas symbolisch, also exakt, zu
rechnen.
Wer das alles zu trocken findet, der wird sich vielleicht
über bunte Bilder mehr freuen. Dafür kann ich das Programm
GIMP empfehlen, das für
gängige UNIX- und Linux-Systeme (und sogar für Windows
NT/2000) verfügbar ist, und mit dem auch allfällige
Bildbearbeitungen für diese WWW-Seite durchgeführt worden
sind.
Damit Ihr auch wirklich die großen Platten, die man sich heute so
leisten kann, vollmachen könnt, habe ich hier noch eine Seite
eingefügt, die einige von mir entdeckte oder gar benutzte
ftp-Server enthält, wobei
eine gewisse regionale Gewichtung wieder einmal ehemalige Wohnorte des
Autors dieser Seite erkennen läßt. :-)
Ansonsten fange ich einmal an, eine kleine Sammlung von
Links aufzubauen. Ich bitte um Verständnis dafür, daß die
Linksammlung zum Teil Dinge von oben noch einmal wiederholt.
Ich gebe zu, daß sich diese Linksammlung ein bißchen
einseitig an meinen Interessen orientiert, aber wer auf
meiner WWW-Seite nach Links sucht, muß sich wohl damit
abgefunden haben.
Java gibt es nun schon lange, und es hat sich sehr breit etabliert. Man kritisiert manchmal, daß es etwas zu umständlich ist. Aber für viele Dinge lohnt sich das doch, denn man hat einerseits für sehr große Systeme viele gut ausgereifte Möglichkeiten und andererseits gute, wenn auch schwierig zu handhabende Möglichkeiten, Serverapplikationen für hohen Durchsatz zu entwickeln, insbesondere, wenn man das Multithreading auf die Reihe bekommt.
Ruby ist der "Shooting-Star" unter den Programmiersprachen. Erfunden wurde es kurz vor Java in Japan, aber es war außerhalb von Japan kaum bekannt, weil die Dokumentation durch eine Sprachbarriere belastet war. Seit ein paar Jahren gibt es auch englischsprachige Dokumentation und es war eine Art Geheimtip, Ruby zu verwenden. Ich habe mich selbst kaum dafür interessiert, aber als meine Kinder eine Programmiersprache lernen sollten, wurde das ein Thema. Nachdem der Versuch, Java für diesen Zweck zu verwenden, in Frust endete, weil das einfach viel zu kompliziert und umständlich war, habe ich meinen Kindern ein Ruby-Buch in die Hand gedrückt, ohne daß ich es selbst gekonnt hätte und das erwies sich als wesentlich erfolgreicher. Heute wird Ruby durch "Ruby on Rails" mehr und mehr als produktive Web-Entwicklungsumgebung wahrgenommen. Die Produktivität der Entwickler ist um ein Vielfaches besser als bei dem heute so üblichen Java. Allerdings sind für echte Highperformance-Systeme heute noch gewisse Grenzen gesetzt, unter anderem, weil das Multithreading in Ruby noch nicht so gut ist.
Perl gilt als ein bißchen angestaubt. Für viele Zwecke ist Ruby in der Lage, dasselbe zu tun wie Perl, aber etwas eleganter. Aber Perl bleibt doch noch lange erhalten. Einerseits ist es für ganz kleie Dinge einfach praktisch, andererseits gibt es für Perl phantastische Bibliotheken, mit denen Ruby heute noch lange nicht mithalten kann.
Mit den ersten drei Links kann man fast alles zum Thema Perl finden.
Auch wenn Lisp heute seltener für große Projekte eingesetzt zu werden scheint, ist es doch konzeptionell eine sehr interessante Sprache, mit der man viel lernen kann. Außerdem sind einige Lisp-Dialekte als Konfigurations- und Skriptsprachen für Emacs, GIMP und andere GNU-Tools von Bedeutung. Und als DSSSL zur Beschreibung der Konvertierung von XML-Dokumenten in andere Formate.
Bei den Datenbanken scheint sich abzuzeichnen, daß PostgreSQL eine etwas ähnliche Rolle spielen wird, wie Linux bei den Betriebssystemen. Dies ist eine Open-Source-Datenbank. Es zeichnet sich ab, daß PostgreSQL das erfüllt, was man für anspruchsvolle Applikationen so üblicherweise von dem zugrundeliegenden Datenbanksystem erwartet. Natürlich ist mySQL viel verbreiteter und für bestimmte Zwecke, bei denen nur ein Teil der üblichen vollständigen Datenbankfunktionalität gebraucht wird, auch gut geeignet. Das ändert aber nicht an der Tatsache, daß heute und in der näheren Zukunft Oracle quasi die Standarddatenbank ist.