About the name
“Feinstruktur”, German for “fine structure”, describes the splitting of the spectral lines of atoms due to first order relativistic corrections in atomic physics.1
That’s a mouthful.
What it means is that something (a spectral line) that was thought to be fundamental actually showed substructure when studied with instruments of higher resolution. What appeared to be a single line was actually a group of lines very close to each other. Fine structure describes a common theme beyond physics: Upon closer inspection, there’s more detail than we thought. Things are more complex, sometimes perhaps frighteningly so.
However, this works both ways, actually, because moving away, to a bird’s eye view, allows us to simplify. Detail can also be in the way. No-one in their right mind would use the theory of relativity to compute the mechanics of an apple falling from a tree. Newtonean mechanics will do fine.
This is where physics and software engineering have similarities, although they work in different directions if you will: Where physics tries to uncover the details, software engineering often aims to model at higher levels of abstraction. No-one in their right mind would nowadays use assembler to compute the mechanics of an apple falling from a tree. NewtonScript will do fine.2
We’ve moved from assembler via Fortran and C to C++ and onwards to Java, .Net and the modern scripting languages like Python and Ruby. Some languages were somewhat ahead of their time, some stick around longer than they have a right to perhaps, but all in all, they move away from the details, allowing us developers to do more with less code by using higher level concepts.
Things are made simpler but if you look closely, the details are still there. There’s more to it than meets the eye.
1 http://en.wikipedia.org/wiki/Fine_structure
2 Don’t take NewtonScript literally :)
Über den Namen
Als “Feinstruktur” wird die Aufspaltung von einzelnen Spektrallinien in mehrere dicht beieinander liegende Linien innerhalb der Linienspektren von Atomen bezeichnet. Sie entsteht durch relativistische Korrekturen erster Ordnung.1
Uff.
Was das bedeutet ist, dass etwas (eine Spektrallinie), das man für fundamental gehalten hat, bei Betrachtung mit Instrumenten höherer Auflösung eine Substruktur aufweist. Was wie eine einzige Linie aussah, war tatsächlich eine Gruppe von dicht beieinanderliegenden. Feinstruktur beschreibt so ein ganz gewöhnliches Prinzip auch jenseits der Physik: Bei näherer Betrachtung zeigen sich mehr Details. Dinge sind komplexer, manchmal beänstigend komplex.
Das aber funktioniert in beide Richtungen: wenn man sich entfernt und eine Übersichtsposition einnimmt, ergibt sich ein einfacheres Bild. Details können auch im Weg sein. Niemand käme auf die Idee, einen vom Baum fallenden Apfel mit der Relativitätstheorie zu berechnen. Newtonsche Mechanik reicht völlig aus.
Und das ist ein Punkt, an dem Physik und Softwareentwicklung Gemeinsamkeiten haben, wenn man so will: wo die Physik versucht, die Details zu ergründen, will Softwareentwicklung oft eine höhere Abstraktionsebene erreichen. Niemand käme heutzutage auf die Idee, den vom Baum fallenden Apfel in Maschinensprache zu berechnen. NewtonScript reicht völlig aus.2
Wir haben uns von Maschinensprache via Fortran und C zu C++ und weiter zu Java, .Net und den modernen Skriptsprachen wir Python und Ruby bewegt. Einige Sprachen waren ihrer Zeit etwas voraus, andere haben vielleicht länger überlebt als es gut für sie war. Alles in allem aber geht die Bewegung weg von den Details und erlaubt uns Entwicklern das Arbeiten mit übergeordneten Konzepten.
Die Dinge werden vereinfacht, aber wenn man die Augen zusammenkneift, sieht man, dass die Details noch da sind. Da ist mehr, als man mit dem bloßen Auge erkennen kann.
1 http://de.wikipedia.org/wiki/Feinstruktur_(Physik)
2 NewtonScript bitte nicht wörtlich nehmen ;)
