We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

03.03 Code Recycling, API

00:00

Formal Metadata

Title
03.03 Code Recycling, API
Title of Series
Number of Parts
110
Author
License
CC Attribution - NonCommercial - ShareAlike 3.0 Germany:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date
Language
Producer

Content Metadata

Subject Area
Genre
Function (mathematics)MicrosoftWINDOWS <Programm>CodeComputer animation
Application softwareiPhoneOperating systemComputer programmingFunction (mathematics)WINDOWS <Programm>Propositional formulaVideo cardFirefox <Programm>MicrosoftProgrammiererinWritingProgrammer (hardware)Interface (computing)SoftwareComputer graphics (computer science)APICodeMacOSAndroid (robot)OpenGLMobile appSoftware developerStatement (computer science)Computer animation
Video cardFunction (mathematics)Programmer (hardware)TexturWINDOWS <Programm>Variable (mathematics)Program codeComputer graphics (computer science)FunktorGitterpunktProgramming languageComputer animation
Transcript: German(auto-generated)
Es gibt noch einen vierten Grund, Funktionen zu verwenden, Code Recycling. Jemand kann Funktionen für mich schreiben und ich verwende die Funktionen oder ich schreibe für mich selbst Funktionen oder ich schreibe für andere Leute Funktionen. Code Recycling, Code Wiederverwertung, das haben Sie im Praktikum schon gesehen.
Ich habe für Sie Funktionen geschrieben, um den Servo zu setzen, um einen Analogwert auszulesen, um so und so viele Millisekunden zu warten. Das ist Code Recycling. Ich schreibe das einmal und Sie können das alle wiederverwenden. Klassisches Beispiel, wo das passiert, Windows. Die Leute bei Microsoft schreiben
2000 und noch was Funktionen. Ich habe die tatsächlich mal alle zusammengestellt. Das sind die 2000 noch was Funktionen, mit denen man vom Programm aus Windows bedienen kann. Da stehen dann Sachen drin wie, mal gerade
gucken, Show Window. Soll ich das jetzt suchen? Ich will es suchen, das sind zu viele. Show Window, das zum Beispiel. Ein Fenster, ein existentes Fenster aufmachen.
Solche Sachen stehen da drin. Netzwerkverbindungen aufzubauen, die Daten von irgendeiner Schriftart zu laden. Was auch immer Sie sich vorstellen können, was auch immer ein Betriebssystem macht. Ich muss irgendwann noch mal genau erzählen, was ein Betriebssystem macht. Alles, was Sie zu Fuß gönnen
in Windows, aber erst recht dann alles, was noch hinter den Kulissen passiert, lässt sich über diese Funktionen machen. Das sind die Funktionen, mit denen die Anwendungsprogramme, nehmen Sie Word oder Firefox oder auch wie immer, das sind die Funktionen, mit denen die Anwendungsprogramme dem Betriebssystem sagen, was es denn nun gerade tun soll. Derzeit irgendwie mehr als 2000. Und was man als Programmiererin, als
Programmierer von Microsoft kriegt, ist diese Liste plus Beschreibungen und die dürfen Sie dann in Ihren eigenen Programmen verwenden, um damit Windows zu programmieren. So eine Sammlung an Funktionen, ich sollte nicht sagen
nennt sich Anwendungsprogrammier-Schnittstelle, API, soll ich genauer sagen, API, das ist eine API. Eine ganz übliche Art, Code zu
recyceln. Ein Hersteller schreibt eine Sammlung an Funktionen. Sie kriegen mitgeteilt, welche Funktionen das sind, wie sie heißen und was die tun. Das ist die Programmier-Schnittstelle, Application Programming Interface, API,
Anwendungsprogrammier-Schnittstelle. Und Sie können dann diese Funktionen benutzen, um Ihre eigene Software zu bauen. Zum Beispiel dann mit dieser Schnittstelle, das ist die Windows 32, hieß sie mal, sie hieß mal Windows 32, Schnittstelle, das heißt sie die
das Windows API, ganz einfach, weil die 32 heute ein bisschen antik aussieht, deshalb jetzt das Windows API. Eine Sammlung an Funktionen, mit der ich Windows sagen kann, was es denn nun gerade tun soll. Gib mir mal eine
Internetverbindung und solche Geschichten. Eine ganz klassische Art, Code zu recyceln. Die Leute in Redmond haben das geschrieben seit Jahrzehnten und wir können es jetzt anwenden. Ich muss nicht mehr im Einzelnen genau sagen, was denn nun bedeutet, ein Fenster aufzumachen und wie ein Dialog nun funktionieren soll, mit seinen ganzen Knöpfchen und so weiter und so fort.
Ganz viel davon kriege ich fertig serviert, mit einem einzigen Funktionsaufruf. Dazu dienen die hier. Die Programmier-Schnittstelle für Windows. Und natürlich gibt es analog eine Programmier-Schnittstelle für macOS und eine Programmier-Schnittstelle für das, was auf dem iPhone läuft und eine Programmier-Schnittstelle für das, was auf
Android läuft und so weiter und so fort. Wie die Anwendungsprogramme, deshalb Application Programming Interface, wie die Anwendungsprogramme mit dem Betriebssystem reden können. Im Praktikum haben sie das auf ganz billige Art gemacht mit den vier Funktionen, die ich bereitgestellt habe. Wie reden sie mit dem Servo und dem
Fotowiderstand. Stellen sie sich das ganze gedopt vor mit 2000 Funktionen, wie sie dann mit Windows reden. Das selbe Prinzip, aber natürlich dreinummern-leistungsfähiger oder mächtiger soll ich sagen. Dreinummern-
mächtiger in dem, was es tun kann. Das ist eine klassische Programmier-Schnittstelle. Eine andere klassische Programmier-Schnittstelle ist für 3D-Programmierung, OpenGL. Die wollte ich Ihnen auch einmal gezeigt haben. Das Windows-API wäre ein Beispiel dafür. anderes Beispiel OpenGL. Finden Sie auf dem Karton Ihrer
Grafikkarte als Spezifikation, dass der Grafikkarte OpenGL-Version so und so viel unterstützt. OpenGL ist eine Sammlung an Funktionen, mit der ich der Grafikkarte sage, was sie tun soll. Das sind nicht ganz so viele wie bei
Windows, aber Sie sehen die Liste ist schon mächtig. Dass hier von Draw die Rede ist, lässt einen zumindest schon mal dran denken, dass da was gezeichnet wird. Irgendwo mit Hilfe der Grafikkarte. Es werden irgendwelche Funktionen angeschaltet, ausgeschaltet, enable, Sachen
umgeschaltet. Ich will es nicht meistens hier zeigen, was das tut. Ich möchte Ihnen nur eine Idee geben, was der tun kann. Diese Funktionen werden absurderweise benutzt, um die Grafikkarte auch zu programmieren. Viele davon sind
nur dafür da, die Grafikkarte einzustellen. Aber Sie sehen hier, da ist plötzlich von Programm die Rede. Hier ist von Programm die Rede. Da geht es tatsächlich darum, Sachen auf die Grafikkarte zu bringen, als Programme auf die Grafikkarte zu bringen und dort auszuführen. Das ist noch mal eine weitere Stufe der Programmierung. OpenGL war zu Beginn erst mal nur eine
Sprache, um die Grafikkarte einzustellen und direkt Befehle zu geben an die Grafikkarte. Das haben Sie hier oben mit den Draws. Das ist erst mal direkte Zeichenbefehle an die Grafikkarte. Aber obendrein kann ich die
Grafikkarte heute auch sogar programmieren und dann mithilfe dieser Funktionen Programme an die Grafikkarte schicken. Ein wesentlicher Teil von dem, was man sich in der Computergrafik anguckt, ist sich zu überlegen, welche Funktionen das sinnvollerweise sein sollten. Und dann auch noch, wie sie angewendet werden. Als Idee für Recycling, so was Sie im
Praktikum gesehen haben, mit ganz wenigen Funktionen. Das lässt sich mit hunderten Funktionen, mit tausenden Funktionen genauso machen. Das wird in Ihrem eigenen Programm aufgerufen, so wie Sie in der Praktikumsaufgabe aufrufen, set servo to 98, um den Servo irgendwo
hinzustellen. Rufen Sie dann in irgendeinem Spiel diese Funktionen auf, in dem Programmcode des Spiels diese Funktionen auf, um der Grafikkarte zu sagen, jetzt bitte dieses Zeichnen, jetzt bitte diese Textur dorthin und so weiter und so fort. Das ist dann nichts, was man zu Fuß eintippt, sondern das landet auch einfach dann im C-Code. Als Teil des
C-Codes oder C++-Codes. Damit ist wahrscheinlich, wenn es irgendein Spiel ist, das etwas größeren Rahmen hat. Okay, das als Idee zum Recycling. Also Funktionen helfen, was habe ich alles aufgeschrieben, Funktionen helfen, die Tipparbeit zu
reduzieren. Ich schreibe es noch mal zusammen. Weniger Tipparbeit, weil Sie Sachen, die mehrfach vorkommen, einfach einmal schreiben und mehrmals aufrufen. Weniger Fehlersuche. Wenn ein Ding nur einmal geschrieben ist, muss
sich den Fehler auch nur einmal beseitigen. Mehr Übersichtlichkeit. Wenn die Funktionen vernünftig benannt sind, tun sie das bitte, nennen sie die Funktion nicht einfach F und G, sondern nennen sie die vernünftig, dann ist
ein Programm wesentlich leichter zu lesen. Ohne dass man Kommentare reinsetzt. Je weniger Kommentare, desto besser. Benennen sie die Funktionen sinnvoll. Das erspart praktisch alle Kommentare, wenn die Funktionen und
die Variablen sinnvoll benannt sind. Man kann ein Programm dann lesen, als ob es ein Pseudocode wäre. Ich habe Ihnen erzählt, Pseudocode ist eine nicht existierende Programmiersprache, die man benutzt, um Sachen aufzuschreiben in irgendwelchen wissenschaftlichen Berichten typischerweise. Dieses Programm hier liest sich wie Pseudocode, ist direkt für Menschen verständlich, für
den Menschen verständlich. Und vierter Punkt, Recycling. Hunderte an Leuten in Redmond schreiben für Sie die Windows API und Sie dürfen dann diese mächtigen Funktionen alle benutzen. Oder die Leute im Cupertino schreiben die
API für Mac OS und Sie dürfen das benutzen und so weiter und so fort.