Hack

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Dieser Artikel erläutert den Begriff „Hack“ im technischen Sinn; zu anderen Bedeutungen siehe Hack (Begriffsklärung).

Die Durchführung von Aktivitäten eines Hackers (nicht unbedingt programmieren) auf spielerische und erkundende Weise wird Hacken genannt;[1] eine Art einfallsreiche Experimentierfreudigkeit („playful cleverness“) mit einem besonderen Sinn für Kreativität und Originalität („hack value“). Das Ergebnis ist ein Hack (englisch Hieb).[2]

In einer anderen Bedeutung kann ein Hack auch eine Art Workaround sein. Als eine rasch erstellte, „unschöne“ und ungeschliffene Anpassung (quick-and-dirty hack) steht das Wort dann eher für eine temporäre Problemlösung (kludge).

Hack als Funktionserweiterung[Bearbeiten]

In seiner ursprünglichen Verwendung bezieht sich das Wort Hacker auf Tüftler im Kontext einer verspielten selbstbezüglichen Hingabe im Umgang mit Technik.[3] Wau Holland prägte die Formulierung: „Ein Hacker ist jemand, der versucht einen Weg zu finden, wie man mit einer Kaffeemaschine Toast zubereiten kann“.[4] Im Unterschied zur Improvisation, die der Lösung auftretender Probleme dient, geht es hierbei um das Experimentelle, den Versuch, die Grenzen des Machbaren zu erkunden (bezogen auf das Beispiel wird der Versuch also auch durchgeführt, wenn ein üblicher Toaster zur Verfügung steht).

Daran angelehnt kann ein Hack Zugang zu einem Gerät oder einer neuen Funktionalität verschaffen, die vom Hersteller nicht vorgesehen ist. Auch die Umgehung einer hard- oder softwareseitigen Einschränkung fällt darunter.

Hack als Workaround[Bearbeiten]

Am Tech Model Railroad Club of MIT steht Hacker für jemand, der seinen Einfallsreichtum nutzt, um ein kluges Ergebnis zu erreichen, einen Hack.[5] Das Wesen eines Hacks ist es, dass er rasch durchgeführt wird, effektiv ist und unelegant sein kann. Er erreicht das gewünschte Ziel, ohne die Systemarchitektur, in die er eingebettet ist, komplett umformen zu müssen, auch wenn er im Widerspruch zu ihr steht. Er kann eine verblüffend einfache und pfiffige Lösung eines nichttrivialen Problems sein, aber auch eine zwar effektive aber ineffiziente, unschöne und ungeschliffene Lösung beinhalten (quick-and-dirty hack), die eher einer temporären Problemlösung (kludge) gleicht.

Daran angelehnt kann als Hack eine Art Workaround bezeichnet werden, um beispielsweise ein Computerprogramm unter veränderten Bedingungen schnell lauffähig zu machen. Die englische Entsprechung dafür ist aber eher „klu(d)ge“.

Im Quellcode eines Computerprogramms signalisiert das Wort, dass die Programmierer sich bewusst waren, dass die gefundene Lösung für ein Problem noch nicht ausgereift bzw. vom Standpunkt der Softwaretechnik her unbefriedigend ist. Dies kann auch durch äußere Umstände erzwungen sein, wie etwa durch fehlende oder mangelhafte Schnittstellen.

Beispiele für Hacks sind sogenannte Browserweichen, die auch als „CSS-Hacks“ bezeichnet werden.[6] Im Quellcode des Linux-Kernels 2.4 findet sich der Begriff 269 Mal.

Sonstiges[Bearbeiten]

Als Erweiterungen zu üblicherweise komplexeren Programmen werden Hacks von einer meist größeren Hack-Community hergestellt, in der meist einige Programmierer durch besondere Kenntnisse auffallen.

Einzelnachweise[Bearbeiten]

  1. The Hacker Community and Ethics: An Interview with Richard M. Stallman, 2002 (gnu.org)
  2. hack in Merriam-Webster (englisch), abgerufen am 20. Juni 2012
  3. On Hacking (stallman.org)
  4. siehe Hacker (PDF; 3,0 MB) - Vortragsfolien von Frank Kargl (CCC - Ulm, 2003) die einen Überblick über die Wurzeln und Geschichte der Hackerbewegung aus Sicht des CCC geben.
  5. TMRC - Hackers
  6. SELFHTML – CSS-Browserweichen zum Ausschließen älterer Browser

Siehe auch[Bearbeiten]