Programmierung
Programmierung (von altgriechisch πρόγραμμα prógramma „öffentlich und schriftlich bekannt gemachte Nachricht, Befehl“) bezeichnet die Tätigkeit, Computerprogramme zu erstellen. Dies ist ein Teilbereich der Softwareentwicklung.
Computerprogramme werden mit Hilfe einer Programmiersprache formuliert („codiert“). Der Programmierer ‚übersetzt‘ dabei die vorgegebenen Anforderungen (z. B. im Pflichtenheft) und Algorithmen in eine gewünschte Programmiersprache. Teilweise werden dazu Codegeneratoren verwendet, die Teile des Programmcodes auf Basis von Modellen (die im Entwurf entstanden sind) automatisch erzeugen.
Beim Programmieren sind wesentliche Aspekte zur Softwarequalität zu berücksichtigen und durch die Gestaltung des Quellcodes umzusetzen. Siehe dazu als Beispiele: Programmierstil, Benutzerfreundlichkeit,[3] Wiederverwendbarkeit/Modularität, Wartbarkeit.
‚Programmieren‘ in erweitertem Sinn umfasst neben der Codeerstellung zahlreiche weitere Tätigkeiten, zum Beispiel das Testen (Entwicklertest) des Programms oder das Erstellen der Programmierdokumentation. Abgrenzen vom Begriff des Programmierens lassen sich andere Tätigkeiten zur Softwareentwicklung wie beispielsweise zum Projektmanagement, zur Anforderungsanalyse oder zur Datenmodellierung.
Abhängig vom Typ und der Einsatzumgebung von Software (z. B. für Systemsoftware, Spielesoftware, Standardsoftware, Grafiksoftware. usw.) können zur Entwicklung unterschiedliche Verfahren oder/und Werkzeuge (wie Programmiersprachen, Testverfahren etc.) zum Einsatz kommen und/oder von spezialisierten Entwicklern ausgeführt werden.
Je nach angewendetem Vorgehensmodell verlaufen die Aktivitäten zur Programmierung in zeitlich voneinander abgegrenzten Projektphasen, parallel oder iterativ. In der Praxis geschieht das Programmieren häufig in Teamarbeit, mit modernen Entwicklungsmethoden (wie Agile Softwareentwicklung) und Programmierwerkzeugen.
Ähnliche Bedeutungen: Umgangssprachlich bezeichnet man gelegentlich auch das Konfigurieren von Haushalts- oder anderer elektrischer Geräte als „Programmieren“. Auch Organisationseinheiten von Unternehmen, in denen Software entwickelt wird, werden oder wurden zum Teil „Programmierung“ genannt.
Geschichte
Charles Babbage beschrieb 1834 eine programmierbare Maschine, die Analytical Engine,[4] welche allerdings nie gebaut wurde. Seine, Notations of calculations for the Analytical Engine, umfasst 27 Programme. Diese sind in ‚the babbage papers‘ des Science Museums von London abrufbar. https://collection.sciencemuseumgroup.org.uk/documents/aa110000020 Die Programme enthalten bereits ‚Indirekte Adressierung‘ und ‚bedingte Ausführungen‘ (IF-THEN-ELSE-Befehle). Diese Dokumente dürften als erste Programme und Programmiersprache bezeichnet werden.
Ada Lovelace übersetzte 1843 eine ursprünglich französische Beschreibung der Analytical Engine von Luigi Federico Menabrea ins Englische und fügte eigene Notizen hinzu. Diese Anmerkungen enthielten einen tabellarischen Plan zur Berechnung der Bernoulli-Zahlen. 1941 realisierte Konrad Zuse mit dem Z3 die erste programmgesteuerte Rechenmaschine, von 1942 an entwickelte er mit Plankalkül die erste höhere Programmiersprache.[5] Die Mathematikerin Grace Hopper schuf 1949 den ersten Compiler, der Quellcode in Maschinencode übersetzt.[6]
Qualitätskriterien
Die Qualität von Software entsteht zu großen Teilen im Rahmen der Tätigkeiten des Programmierens, besonders die folgenden Qualitätskriterien betreffend:
Korrektheit
Ein Programm muss die im Entwurf gemachten Vorgaben korrekt umsetzen. Dazu muss es in der Regel fehlerfrei sein, wobei beim Programmieren meist zwei verschiedene Arten von Fehlern auftreten:
- Syntaxfehler: Fehlerhaft formulierter Quellcode – man verwendet Formulierungen oder Konstrukte, die so nicht in der verwendeten Programmiersprache vorkommen (Tippfehler, Unkenntnis, …). Syntaxfehler können beim Übersetzen vom Compiler/Interpreter oder Parser erkannt werden und verhindern i. d. R. die Programmausführung.
- Semantische Fehler: Das Programm verhält sich nicht wie gewünscht, weil möglicherweise der Algorithmus oder seine Umsetzung fehlerhaft war. Semantische Fehler können in der Regel nicht automatisch erkannt, sondern nur durch gewissenhaftes Testen gefunden werden – beispielsweise in Form von Unittests.
Der Übergang zwischen diesen beiden Fehlerarten ist fließend. Beispielsweise wird ein Tippfehler im Code (z. B. „>“ anstatt „<“ in einem Vergleichsbefehl) zu einem gültigen ausführbaren Programm führen, das Resultat dürfte jedoch falsch sein. An anderer Stelle könnte derselbe Fehler ein Syntaxfehler sein.
Robustheit
Statistisch gesehen wird die meiste Zeit für die Entwicklung von Quelltext benötigt, um auf Fehler oder außergewöhnliche Anwendungs- oder Hardwareumgebungen zu reagieren. Ein Programmtext, der auch bei unvorhergesehenen Fehlern oder ungewöhnlichen Umgebungen sinnvoll reagiert, wird als robust bzw. portabel bezeichnet. Geübte Programmierer können die möglichen Fehler und Laufzeitumgebungen gut einschätzen und strukturieren das Programm und seinen Quelltext dementsprechend. Der Zeitdruck bei der Entwicklung von Anwendungen stellt selbst an erfahrene Programmierer immer höchste Ansprüche hinsichtlich dieses Kriteriums.
Wartbarkeit
Damit eine Software dauerhaft funktioniert, muss sie wartbar sein. Das heißt, Änderungen wie Bugfixes, Anpassungen und neue Features müssen ohne großen Aufwand eingepflegt werden können. Dies erfordert vor allem, dass der Programmierer keinen zu kurzen, „kryptischen“ Quelltext (oder Quellcode) erzeugen soll, der für andere Entwickler nicht oder nur mit hoher Einarbeitungszeit verständlich ist.
Um solche Probleme zu vermeiden, existieren häufig Namenskonventionen, in denen beispielsweise selbsterklärende (oder auch „sprechende“) Bezeichner/Namen für Variablen etc. zur Verwendung empfohlen/vorgeschrieben werden[7] – oder die Verwendung aussagefähiger Kommentare im Code. Auch eine sinnvolle Aufteilung des Codes in intuitiv verständliche Funktionen und Klassen trägt zum Verständnis und Übersichtlichkeit bei.
Effizienz
In der Regel stehen einem Programm nur begrenzte Ressourcen (Laufzeit, Speicherverbrauch, Bandbreite) zur Verfügung. Gute Programmierung kann dazu beitragen, unnötigen Ressourcenverbrauch zu reduzieren. Beispielsweise erfolgt dies, indem bei Verwendung großer Datenmengen an mehreren Stellen im Programm nicht jeweils der gesamte Datensatz kopiert wird, sondern nur die Adresse übertragen wird, an der die Daten gespeichert werden.
Effiziente Programmierung
Gemäß Niklaus Wirth zeichnet sich gute Programmierung[8] zum einen dadurch aus, dass die Funktionen, die die jeweils verwendete Programmierumgebung bereitstellt, möglichst effizient genutzt werden. Insbesondere geht es darum, für neue Aufgabenstellungen das Rad nicht immer wieder neu zu erfinden, wenn bestimmte Funktionen schon bereitgestellt werden (zum Beispiel durch die Programmierumgebung in Form von Programmbibliotheken). Sie zeichnet sich also vor allem dadurch aus, dass ein guter Überblick über den grundsätzlichen Funktionsumfang und die Systematik der von der Programmierumgebung bereitgestellten Funktionen (die in die zehntausende gehen können) möglich ist. Für eine definierte Aufgabenstellung kann in entsprechenden Dokumentationen dann schnell eine verfügbare Funktion ermittelt, eingesetzt und ggf. erweitert werden.
Arbeitsmittel
Theoretisch reichen zum Programmieren ein einfacher Texteditor und ein Compiler/Interpreter für die jeweilige Programmiersprache aus. In der Praxis wird jedoch zusätzlich auf eine Reihe von Werkzeugen zurückgegriffen, die typische Programmierarbeiten vereinfachen sollen. Dazu gehören beispielsweise Texteditoren mit speziellen Features wie Syntax-Highlighting, Autovervollständigen und Refactoring – wobei der Übergang zur Integrierten Entwicklungsumgebung (IDE) fließend ist.
Daneben existieren verschiedene Werkzeuge zur Fehlersuche, sog. Debugger, sowie Programme zur Durchführung statischer und dynamischer Tests. Zur Performanzanalyse kann zusätzlich ein Profiler eingesetzt werden.
Arbeiten mehrere Entwickler an derselben Software, kommen meist Versionierungssysteme zum Einsatz, die den Code inklusive früherer Versionen auf einem zentralen Server speichern, auf den alle beteiligten Programmierer Zugriff haben.
Siehe auch
Weblinks
- Joachim Korb: Die Geschichte der Softwareprogrammierung.
- Einführung ins Programmieren (für Neueinsteiger)
- Allgemeine Grundlagen der Programmierung (Online-Buch)
Einzelnachweise
- ↑ Wilhelm Pape, Max Sengebusch (Bearb.): Handwörterbuch der griechischen Sprache. 3. Auflage, 6. Abdruck, Vieweg & Sohn, Braunschweig 1914. 1914, abgerufen am 9. Dezember 2015.
- ↑ Lerne Programmieren lerneprogrammieren.com Unterschied zwischen Programmierung und Softwareentwicklung
- ↑ Sebastian Dörn - Programmieren lernen und Algorithmen verstehen. Abgerufen am 12. Januar 2018.
- ↑ http://www.computerhistory.org/babbage/engines/
- ↑ https://link.springer.com/chapter/10.1007/978-3-642-18631-8_9
- ↑ Grace Hopper, Yale University, aufgerufen am 7. Juni 2016
- ↑ Ulrich Kohler, Frauke Kreuter: Datenanalyse mit Stata: Allgemeine Konzepte der Datenanalyse und ihre praktische Anwendung. 4. Auflage. Oldenbourg Wissenschaftsverlag, 2012, ISBN 978-3-486-70921-6, S. 113 (books.google.com – Datenanalyse mit Stata: Allgemeine Konzepte der Datenanalyse und ihre praktische Anwendung – mit „sprechende Variablennamen“ im Abschnitt „5.6 Beschriftung von Variablen“).
- ↑ Niklaus Wirth: A Brief History of Software Engineering. In: IEEE Annals of the History of Computing. Band 30, 3, Juli-September, 2008, S. 32–39, doi:10.1109/MAHC.2008.33 (computer.org [PDF; abgerufen am 30. April 2009]).
#
- 42 (Schule)
- 64’er
- 666 (Diabolos-Rising-Album)
- 7800° Fahrenheit
- 90-90-Regel
- A!
- A. J. W. Duijvestijn
- ABAP
- ABC-Modell (Software)
- ASMP-Lenkwaffe
- ATL Server
- Ablaufsprache
- Ablaufverfolgung
- Achterbahn (Lied)
- Adobe Flash
- Adressierung (Rechnerarchitektur)
- Adventure (1976)
- Affenformular
- Ain’t Nobody
- Akkumulator (Computer)
- Alane (Lied)
- Alboth!
- Alexander Bertino Rodmann
- All This Love
- All We Got
- Alleinesein
- Alles hat seine Zeit – Best of Unheilig 1999–2014
- Alles lebt
- Altair 8800
- Ambulantes Assessment
- Anatoli Iwanowitsch Kitow
- Andrei Petrowitsch Jerschow
- Anweisung (Programmierung)
- Area 120
- Arts and Decay
- Assembler (Nanotechnologie)
- Assistent für Automatisierungs- und Computertechnik
- Atari Teenage Riot
- Atemlos durch die Nacht
- AtoCC
- Auf dem Weg
- Auferstehung (Album)
- Augsburger Volkshochschule
- Autismus
- Automat
- Automat (Informatik)
- Automatisierung
- Automatisierungstechnik
- BBC micro:bit
- BEAM (Robotik)
- Bachelor of Science in Information Technology
- Basteln
- Bauch und Kopf (Lied)
- Bedingte Anweisung und Verzweigung
- Bee Gees
- Befehl (Computer)
- Befehlssatzarchitektur
- Bernd Steinbach
- Besser kann ich es nicht erklären
- Better (Lied)
- Bevor ich dich vergesse
- Biel/Bienne
- Bildungsorientierte Programmiersprache
- Bitfeld
- Blind (Lied)
- Blue Banisters
- Board (Software)
- Boilerplate
- Bolt-Variable
- Book of Love
- Boolean
- Boolescher Operator
- Bootstrapping (Programmierung)
- Born to Die (Album)
- Break Free
- Broken China
- Bundesgericht (Schweiz)
- Büroinformationselektroniker
- C&L Verlag
- C++Builder
- CLU (Programmiersprache)
- CNC-Fachkraft
- Call It Love
- Calliope mini
- Cantata++
- Catrobat
- Cephalgy
- Chain My Heart
- Chemtrails over the Country Club (Album)
- Chip (Zeitschrift)
- Christian Ullenboom
- Christo Buschek
- Christopher J. Date
- Chöre
- Clicks & Cuts
- Close Your Eyes (Lied)
- Cocoa (API)
- Code
- Code Girls
- Code-Smell
- Code.org
- Codequalität
- Colour Genie
- Computer
- Computermathematik
- Computermusik
- Computersprache
- Confessions & Doubts
- Conrad Wolfram
- Consolas
- Constantin Film-Holding
- Content-Management-System
- Conzept 16
- Cool (Lied)
- Cool Kids
- Corel Corporation
- Coum Transmissions
- Counter-Strike
- Crossplay
- Cyberspace
- DNA (Madeline-Juno-Album)
- DOS Protected Mode Interface
- DV-Konzept
- Dan Bricklin
- Darum leben wir (Lied)
- Data Science
- Datarock
- Daten
- Datenfeld
- Datenfluss
- Datenkapselung (Programmierung)
- Datentyp
- Datenverarbeitungskaufmann
- David Lemaitre
- David W. Bradley
- Defensives Programmieren
- Deklaration (Programmierung)
- Demomaker
- Der Termin
- Die Hölle morgen früh
- Die Wunderwelt der Technik
- Digital Command Language
- Digitale Güter
- Digitaler Signalprozessor
- Dirk Eisenbiegler
- Divmod
- Do It Better
- Do They Know It’s Christmas?
- Dombey und Sohn
- Domotronik
- Don’t repeat yourself
- Doo-Wops & Hooligans
- Dope Stars Inc.
- Dorothy Vaughan
- Dr. Buhmann Schule
- Dreieckstausch
- Dreipunkt-Kraftheber
- Drive (Clean-Bandit-und-Topic-Lied)
- Du schaffst das schon
- Dust: An Elysian Tail
- ELEX
- Eden weint im Grab
- Einbruchmeldeanlage
- Einsprungpunkt
- Eintrittsinvarianz
- Elektrotechnik
- Elementarinformatik
- Elend (Band)
- Elijus Čivilis
- Emanuela (Lied)
- En Nuestros Corazones
- End User Development
- Endlosschleife
- Enigma-Simulation
- Erik Wischnewski
- Error (Lied)
- Escobars Erben – Die unsichtbaren Drogenbosse
- Eulerkreisproblem
- Everybody Cha Cha
- Experte
- Explicitly Parallel Instruction Computing
- FLOW-MATIC
- Fahrerloses Transportfahrzeug
- Faustcoven
- Feel Good
- Fehlerfrei
- Felix Jaehn (EP)
- Fernuniversität in Hagen
- First-Class-Funktion
- First-Class-Objekt
- Fiverr
- Flag (Informatik)
- Flash mich
- Fortune (Computerprogramm)
- Fossil (Software)
- Frauen in der Informatik
- Freakangel
- Freed from Desire
- Fuck It, I Love You
- Funktionsmodell
- Future (Programmierung)
- Für Dich (Album)
- Für Dich – Akustik Best Of
- Für immer (Album)
- G.U.Y.
- GNU Build System
- GS1 (Synthesizer)
- GUI-Builder
- GUI-Toolkit
- Game-Design
- Gerald M. Weinberg
- Gerhard Hund
- Geschichte der Videospiele 2010–2019
- Gestaltungsrichtlinie
- Glaub an mich
- God Smoked
- Grafikprozessor
- Graph (Graphentheorie)
- Gronkh
- Gymnasium Oberwil
- HP 48
- Hack
- Hacker
- Harald Gutzelnig
- Hardwarebeschreibungssprache
- Harriet Bruce-Annan
- Hartwig Steusloff
- Havayoth
- Header-Datei
- Heal Yourself
- Heart-Shaped Tumor
- Herbert Scarf
- Heron von Alexandria
- Herzbeben
- Hey (Album)
- Hey (Live)
- High Tone
- Hobbyelektronik
- Hoe het danst
- Hook (Informatik)
- Hot2Touch
- Hugi (Zeitschrift)
- Hut 6
- Hut 8
- Höhere Technische Bundeslehranstalt Krems
- I (Felix-Jaehn-Album)
- I-Campus Schweinfurt
- IBM 650
- IDEO
- IIII (Album)
- INCA (Software)
- Ich sterb für dich
- Immer noch derselbe Himmel
- Imperative Programmierung
- Implementierung
- In Your Eyes (Robin-Schulz-Lied)
- Include
- Indexfehler
- Indiana Jones and the Fate of Atlantis
- Industrieroboter
- Informatica Feminale
- Information Management System
- Informationstechnischer Assistent
- Ingeborg Wilfert
- Instruction Systolic Array
- Instruktion
- Interfacedesign
- Internet Professionell
- Internet in Indien
- Internetforum
- Jack Dorsey
- Janus (Band)
- Java Development Kit
- Java-Hamster-Modell
- Jeder-gegen-jeden-Turnier
- Jelena Igorewna Bunina
- Jelena Iwanowna Kasimirtschak-Polonskaja
- Jennie (Lied)
- Jeri Ellsworth
- Jerk (Lied)
- Jewgeni Lasarewitsch Roschal
- Jirka Dell’Oro-Friedl
- Jocelyne Troccaz
- John W. Backus
- Joint Test Action Group
- Jonathan Coulton
- Juli Lasarewitsch Ketkow
- Jörg Schieb
- Jüdischer Friedhof am Ölberg
- Kabelbaum
- Kaly Live Dub
- Kanban (Softwareentwicklung)
- Kantonsschule Trogen
- Kara (Programmierumgebung)
- Karlie Kloss
- Kartesisches Produkt
- Kata (Programmierung)
- Klaus Kabitzsch
- Klik & Play
- Knight Rider
- Kompatibilität (Technik)
- Konstruktoren und Destruktoren
- Koordinative Fähigkeiten (Motorik)
- Kosmos CP1
- Kōichi Hayashida
- L-Spiel
- LEGO Education
- LINQ
- Label (Programmierung)
- Lake Forest High School (Illinois)
- Layoutmanager
- Lebewesen
- Lego
- Let Me Love You Like a Woman
- Lew Israilewitsch Gutenmacher
- Like I Love You (Nico-Santos-und-Topic-Lied)
- Like Lovers Do
- Like a Riddle
- Linn LM-1
- Liste
- Liste der GNU-Pakete
- Listenfeld
- Living Colour
- Lochkartensortierer
- Logikus
- Love on Myself
- Lust for Life (Lana-Del-Rey-Album)
- Lust for Life (Lana-Del-Rey-Lied)
- MMIX
- Magische Zahl (Informatik)
- Mai Tai (Album)
- Makro
- Manfred Günther (Wirtschaftsinformatiker)
- Marathon (Lied)
- Maren Heinzerling
- Marissa Mayer
- Markus Krabbes
- Marte (Rakete)
- Martin Burckhardt (Autor)
- Mary Lou Soffa
- Maschinennullpunkt
- Maskenprogrammierung
- Mathcad
- Mathematisch-Technischer Assistent
- Maurice V. Wilkes
- MazaCAM
- Mechatronik
- Medienpädagogik
- Meine Welt (Lied)
- MenuetOS
- Metallspürhunde
- Metamorphose (Album)
- Metasyntaktische Variable
- Midnight Resistance
- Mikrocomputer für Ausbildung
- Millersche Zahl
- Mindless Self Indulgence
- Minisprache
- Mit keinem andern
- Mitp Verlag
- Monkey X
- Motion-Control-Fotografie
- Multimedia Fusion
- Multimediatechnik
- My Heart of Stone
- Münzprüfer
- Nachtmahr (Band)
- Namenskonvention (Datenverarbeitung)
- Namensraum
- Nassi-Shneiderman-Diagramm
- New Super Mario Bros. 2
- Nicht verdient
- Nico Sauer
- No Therapy
- No-Code-Plattform
- No-Name-Crew
- Noel Pix
- Norman Fucking Rockwell!
- Nur mit dir (Helene-Fischer-Lied)
- Oberschule Böhlen
- Objekt (Programmierung)
- Objektorientierte Analyse und Design
- Oh Child
- Omnis
- One More Time (Robin-Schulz-und-Felix-Jaehn-Lied)
- Online Outsourcing
- Operation Stealth
- Oracle-Java-Zertifikate
- Otomat
- Oxygen (Lied)
- Packprogramm
- Paradise (EP)
- Patch (Unix)
- Permanent Record (Autobiografie)
- Peter Christopherson
- Peter Sunde
- Philosophie der Informatik
- Phänomen (Lied)
- Plain old CLR object
- Plug-in
- Pocket Viewer
- Polygon
- Polymorphie (Programmierung)
- Programmierbare logische Schaltung
- Programmierbarer Taschenrechner
- Programmierschnittstelle
- Programmiertrick
- Programmierung (Begriffsklärung)
- Programmierwettbewerb
- Prozedur (Programmierung)
- Prozessor
- Prozessrechner
- Prozesssynchronisation
- QB64
- Rain in Ibiza
- Raspberry Pi
- Redundanter Code
- Referenzzählung
- Reflexion (Programmierung)
- Regenbogen (Album)
- Regenbogenfarben (Lied)
- Reimliga Battle Arena
- Rekursive Programmierung
- Richard Hamming
- Rituelle Gewalt
- Robin Schulz
- Robot Karol
- Robotergesetze
- Robotik
- Rolf Monnerjahn
- Rosetta Code
- Routine (Programmierung)
- Rudy Rucker
- SQL
- SS-N-25 Switchblade
- STEP 7
- Salvation (Madeline-Juno-Album)
- Schattenspiel (Unheilig-Album)
- Schlafende Hunde (Album)
- Schlager (Album)
- Schrift
- Schüler-Ingenieur-Akademie
- Schülerrechenzentrum Dresden
- Scratch (Programmiersprache)
- Screenguide
- Scriptkiddie
- Scritti Politti
- Section 37
- Selbsttragende Programmiersprache
- Semaphor (Informatik)
- Seminumerischer Algorithmus
- Sentinel (Programmierung)
- Shades of Cool
- Shaundra Daily
- She Inspired Me
- Shellcode
- Sieben Sünden
- Siemens-Studio für elektronische Musik
- Signal-Slot-Konzept
- Signatur (Programmierung)
- Simonas Gentvilas
- Skeleton (Programmierung)
- Smoke testing
- Snow on the Beach
- Software Engineering Body of Knowledge
- Software Pipelining
- Softwareaktualisierung
- Softwarearchitekt
- Softwaredesign
- Softwaredokumentation
- Softwaresystem
- Softwareunternehmen
- Solo (Album)
- Sonic Pi
- Sophie Viger
- Sozionik und intertypische Beziehungen
- Speechless (Robin-Schulz-Lied)
- Speicherprogrammierbare Steuerung
- Spieleprogrammierung
- Spiellandschaft
- Sprechender Name
- Sprunganweisung
- Sprungmarke
- Sprungtabelle
- Squeak
- Stadtbibliothek Pankow
- Startup (Film)
- Startwert
- Starving
- Stefan Vilsmeier
- Steven Caple Jr.
- Stimme (Lied)
- Story Musgrave
- Structure and Interpretation of Computer Programs
- Strömungsmechanik
- Stunlock Studios
- Summer Bummer
- Sun Is Shining
- Symbolsequenz
- Sönke Brandschwert
- Take It to the Floor
- Tastaturbelegung
- Teach-in (Technik)
- Technisierung
- Tenochtitlan (Band)
- Terminal Choice
- Thank You (Dido-Lied)
- The Art of Computer Programming
- The Black Lotus
- The Browning
- The Games Factory
- The Kilimanjaro Darkjazz Ensemble
- The Legend of Zelda: Ocarina of Time
- The Lovecraft Sextet
- The Marrow of a Bone
- The Mount Fuji Doomjazz Corporation
- The Naked and Famous
- The Odyssey (Album)
- The One (Album)
- The Unknown (Album)
- Theaterabonnement
- Think About That
- Tiger-Basic
- Timeout (Netzwerktechnik)
- Timofei Fjodorowitsch Ossipowski
- Tippfehler
- Tk (Toolkit)
- Tone Lōc
- Top-Down- und Bottom-Up-Design
- Toter Code
- Tottaste
- Trace-Tabelle
- Tu m’appelles
- Turing Award
- Türme von Hanoi
- UNMAP
- Ultraviolence (Album)
- Ultraviolence (Lied)
- Umgekehrte polnische Notation
- Uncovered (Album)
- Und morgen früh küss ich dich wach
- Unterrichtsfach
- User Experience Design
- Variable (Programmierung)
- Vater (Album)
- Veranstaltungsbeleuchtung
- Verzögerte Initialisierung
- Videospiele in den Vereinigten Staaten
- Viewport
- Virtual-C IDE
- Viruskit
- Visuelle Programmiersprache
- Visuelle Programmierumgebung
- Volle Kraft voraus
- Von Spar
- Vorfertigung
- Vorgehensmodell zur Softwareentwicklung
- Vsftpd
- Warte mal
- Was bleibt (Album)
- Was bleibt? (Lied)
- Was für eine geile Zeit
- Wasserfallmodell
- Webgrrls.de
- Webmaster
- Weena Morloch
- Wettlaufsituation
- Where the Lights Are Low
- Wherever
- Wiggler (JTAG)
- Willi Eugster
- Windows Workflow Foundation
- Wir 2 immer 1
- Wir sind groß
- Wolfram Gieseke
- XU Exponential University of Applied Sciences
- Xara Designer Pro
- YJ-83
- Young & Beautiful
- Young Right Now
- Yū Suzuki
- Zeichenkette
- Zeit zu gehen
- Zentrum für Informationsdienste und Hochleistungsrechnen
- Zero One Infinity
- Zu dir (weit weg)
- Zuhause ist die Welt noch in Ordnung
- Zündmaschine
- Österreichische Computer Gesellschaft
- Übersetzungseinheit