4 - Informatische Werkzeuge in den Geistes- und Sozialwissenschaften I (WS 2020/21) [ID:25055]
50 von 463 angezeigt

Wunderbar. Hat sich irgendjemand zwischendurch eine Frage überlegt?

Ich möchte Sie auffordern, tatsächlich zu üben. Treffen Sie sich mit Kommilitonen in

Lerngruppen, stellen Sie sich gegenseitig Programmieraufgaben, lösen Sie diese

Programmieraufgaben selber. Dies hier ist eine Sache. Gerade beim Programmieren,

da kommt immer mehr Neues dazu und da ist es relativ leicht abgehängt zu werden. Und das

einzige, was dagegen hilft, ist es tatsächlich zu tun. Ich hatte das schon hinter mir,

deswegen fällt mir das leicht. Am Anfang habe ich auch geübt. Okay, gut. So, nachdem wir so ein

bisschen gesehen haben, was das wohl ist Programmieren, möchte ich ein paar ganz allgemeine Dinge über

Programmieren sagen, die ganz gut sind zu wissen. Das erste ist eine ganz tiefe Beobachtung,

die nämlich sagt, dass Computer universelle Werkzeuge sind. Das sind Werkzeuge, deren

Fähigkeiten und deren Verhalten nicht etwa fest verdrahtet ist, fest eingebaut ist, sondern was

veränderlich ist, was durch Programme veränderlicher ist. Also im Gegensatz zu so etwas wie ein Spaten.

Ein Spaten ist durch seine Form, durch seine Materialität oder so etwas, ist letztlich festgelegt,

was man damit machen kann. Vor allen Dingen Löcher buddeln. Natürlich kann man auch irgendwie Leute

damit erschlagen oder so was, aber eigentlich ist er so, am besten ist er zum Löcher buddeln.

Und wir können nicht dem Spaten sagen, so und jetzt bitte sei mal ein Mikroskop.

Wenn ein Computer, der kann alleine gar nichts, aber man kann ihm je nachdem, was man ihm für ein

Programm ausfüllen, das sehr, sehr unterschiedliche Aufgaben geben und sehr, sehr verschiedene

Verhalten beibringen. Also das ist, wir nennen das ein universales Tool. Man kann nämlich den

Computer zu allem bringen, was nicht ganz stimmt, aber sozusagen zu sehr viele.

Die meisten Werkzeuge, die wir so kennen, mit ganz wenigen Ausnahmen, sind nicht universal.

Computers sind universal. Ribosome sind universelle Tools, die lesen nämlich sowas ähnliche,

die Programme, unseren genetischen Code und stellen dann beliebige oder fast beliebige Proteine her.

Wenn man das jetzt so hört, könnte man denken, dass Computer alles können. Aber es gibt gewisse

Sachen, die sich nicht berechnen lassen durch einen Computer. Ein Beispiel ist, es gibt kein

Computerprogramm, was sich ein anderes Computerprogramm anguckt und zuverlässig sagt,

ob das andere Computerprogramm anhalten wird oder in einen in einen unendlichen Schleife stürzt.

Das kann man nicht berechnen. Es gibt gewisse Sachen, die nicht berechenbar sind und es gibt

gewisse Sachen, die berechenbar sind. Und es sieht so aus, das kann man nicht beweisen,

aber das gibt es bisher noch keinen. Jeder glaubt, dass alle Programmiersprachen,

alle die wirklich programmieren, eine gewisse Sache sind, die gleichen Dinge berechnen können.

Es macht also die Sachen, die ich in Python berechnen kann, sind die gleichen, die ich in

Java berechnen kann, sind die gleichen, die ich in Maschinensprache berechnen kann. Es gibt einige

Sprachen, die nicht ganz Programmiersprachen sind, die also nicht so die üblichen Dinge berechnen

können, die nennen wir Datensprachen. Aber alle Programmiersprachen können dasselbe berechnen.

Das verstehen nicht alle Leute. Es gibt immer wieder Leute, die sagen, ja du musst Java machen,

weil es gibt gewisse Sachen, die kann man außerhalb von Java nicht machen. Das stimmt nicht.

Wir haben keine Ahnung, wovon sie reden, was durchaus, also im Prinzip können alle

Programmiersprachen dasselbe berechnen. Und man muss noch nicht, eine Programmiersprache muss

noch nicht sehr viel können, damit sie wie wir sagen Turing vollständig ist. Alan Turing hat

1950 im Wesentlichen diese Vermutung aufgestellt und mittlerweile, also im Moment, spricht alles

dafür. Auch sogenannte Quantencomputer, von denen Leute irgendwie sagen, die können viel mehr.

Stimmt nicht. Sie können genau das gleiche berechnen. Okay. Natürlich gibt es schilistische

Unterschiede. Python kann zwar das gleiche berechnen wie C, aber einige Leute finden C-Code

einfach hübscher. C ist auch typischerweise Faktor 2 bis 3 schneller als Python. Solche Unterschiede

gibt es schon, aber wenn man genug Zeit mitbringt, können alle Programmiersprachen dasselbe

berechnen. Wie kann man das verifizieren? Naja, man kann jedes C-Programm in Python simulieren und

jedes Python-Programm in C simulieren oder man kann Python-Programm in C übersetzen und umgekehrt.

Und immer wenn man Übersetzer hin und her hat, können die Programmiersprachen dasselbe berechnen.

Das ist für uns nicht sonderlich wichtig. Das ist nur wichtig insofern, dass wir wissen,

Zugänglich über

Offener Zugang

Dauer

01:14:00 Min

Aufnahmedatum

2020-11-26

Hochgeladen am

2020-11-26 19:58:29

Sprache

de-DE

Einbetten
Wordpress FAU Plugin
iFrame
Teilen