• IT-Karriere:
  • Services:

Context Manager: Trennende Verben ersetzen die Ausnahmebehandlung

Ein weiteres Phänomen der deutschen Grammatik, mit dem Deutschlernende früh konfrontiert werden, ist das trennbare Verb. Im Englischen gibt es ein vergleichbares Konstrukt: "Turning on a switch" meint etwas anderes als "Turning a switch". Während im Englischen aber der Rest des Satzes dem "on" folgt, taucht das deutsche Äquivalent zu "on" erst am Ende des Satzes wieder auf. Während der Engländer also sagt "I'm calling up a friend with my new phone", teilt uns sein deutscher Bekannter mit: "Ich rufe einen Freund mit meinem neuen Telefon an."

Stellenmarkt
  1. Information und Technik Nordrhein-Westfalen (IT.NRW), Düsseldorf, Köln
  2. Erstes Deutsches Fernsehen Programmdirektion, München

Dass bei der Konjugation des Verbes "anrufen" das "an" am Ende des Satzes steht, erinnert an die Funktionsweise von Pythons Context Manager. Ähnliche Konstrukte gibt es auch in anderen Sprachen wie Go, Rust, C++ und Scheme.

Context Manager sind erklärungsbedürftig. Sie erfüllen eine spezielle Aufgabe, insbesondere im Umgang mit Systemressourcen, und vereinfachen die Fehlerbehandlung. Das bekannteste Beispiel ist der Einsatz des Context Managers mit einem File-Objekt in Python:

  1. with open('workfile') as f:
  2. read_data = f.read()

Es wird versucht, die Datei "workfile" zu öffnen und auszulesen. Wir müssen uns hier weder um eine Fehlerbehandlung noch um das Schließen der Datei kümmern. Das übernimmt der zugehörige Context Manager. Mit "with" wird ein Sichtbarkeitsbereich (Scope) für die Variable f definiert. Endet der Scope von f, wird das entsprechende Objekt vom Context Manager korrekt aufgeräumt, hier inklusive des Schließens der Datei.

Ohne Einsatz des Context Managers müssen wir Fehler mithilfe des Exception-Mechanismus von Python selbst abfangen und über das Finally-Schlüsselwort sichergehen, dass die Datei auf jeden Fall geschlossen wird:

  1. f = open('workfile')
  2. try:
  3. read_data = f.read()
  4. finally:
  5. f.close()

Ohne Context Manager muss der Programmierer also selbst an den Aufräum-Code denken. Gerade bei verschachtelten Aufrufen spielt aber nicht nur die Existenz der Finally-Schlüsselwörter eine Rolle, sondern auch deren Ausführungsreihenfolge und die jeweilige Sichtbarkeit der Variablen. Context Manager vereinfachen hier die Programmierung deutlich. Werden sie verschachtelt, folgen sie einem einfachen Last-in-First-out-Prinzip (LIFO). Der Abschlusscode des innersten Context Managers wird zuerst ausgeführt, danach folgt der nächstinnere bis zum äußersten im Aufruf-Stack.

Die LIFO-Sortierung wird auch bei komplizierteren Verbkonstruktionen im Deutschen deutlich. Die Denkweise in Form von Context Managern hilft dabei, solche Konstrukte besser zu verstehen und auch selber zu bilden. Zum Beispiel, wenn ein Modalverb wie "können" mit einem indirekten Fragesatz kombiniert wird, der durch "ob" eingeleitet wird. Sowohl "können" als auch "ob" zwingen das relevante Verb an das Ende des Satzes:

1. Ich weiß nicht, ob der Zug kommt.

2. Er kann seinen Fahrschein bezahlen.

Will der Deutschlernende den englischen Satz "I don't know if she can dance to my favorite band" übersetzen, ist der erste Teil einfach: "Ich weiß nicht, ...". Doch wie verhält es sich mit dem "ob"-Nebensatz? Welches der beiden Verben gehört im Deutschen an das Ende des Satzes? "Tanzen" aufgrund Regel 2 oder "kann" entsprechend Regel 1? Wo kommt die Lieblingsband hin?

Mit Hilfe des LIFO-Prinzips ist die Frage zu beantworten. Es wird durch "ob" nach dem Können gefragt und leitet damit den äußeren Sichtbarkeitsbereich ein (Regel 1). "Kann" gehört also an das Ende des Nebensatzes. Der Ausdruck "sie tanzen" bildet hingegen den inneren Sichtbarkeitsbereich. Als Pseudo-Code formuliert würde das so aussehen:

ob
    sie
          zu meiner Lieblingsband
    tanzen
kann

Der übersetzte Satz lautet deshalb: "Ich weiß nicht, ob sie zu meiner Lieblingsband tanzen kann."

Im Deutschen gibt es keine Grenze für diese Art von Verschachtelung und Extrembeispiele für solche Sätze sind selbst für Muttersprachler schwer zu verstehen. Der Softwareentwickler Matthias Görner illustriert das LIFO-Prinzip mit folgendem, grammatikalisch vollkommen korrekten Satz: "Ich stimme dem Maler, der die Meinung, dass Rot keine Farbe ist, vertritt, zu."

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Das andere How-to: Deutsch lernen für ProgrammiererEine eigene semantische Welt: Präpositionen 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6.  


Anzeige
Top-Angebote
  1. 80,90€
  2. Gutscheincodes und Deals im Überblick
  3. mit 3.298€ neuer Bestpreis auf Geizhals
  4. (u. a. Xbox Series S 299,99€, Xbox Wireless Controller Robot White 55,95€, Xbox Play & Charge...

Peter Brülls 15. Mai 2019

Nein, herunterladen ist der Standard, hochladen die Ausnahme. Schlechtes Beispiel, da...

gfa-g 12. Mai 2019

Nicht in den meisten, nur in romanischen Sprachen!

Toleg 10. Mai 2019

Es gibt shon Regel, von denen es wiederrum Ausnahmen gibt :) Beispiel: https://pp.userapi...

minnime 09. Mai 2019

Oh ja, mein Lieblingsbuch, kann jedem, naja, nicht jedem, nur wärmstens ans Herz legen.

schily 09. Mai 2019

und daher zu Mißverständnissen führen kann. Das ist, in Anbetracht der lustigen...


Folgen Sie uns
       


Canon EOS R5 - Test

Canons spiegellose Vollformatkamera EOS R5 kann Fotos mit 45 Mpx aufnehmen und Videos in 8K - aber Letzteres nur mit Einschränkungen.

Canon EOS R5 - Test Video aufrufen
    •  /