10

Ich schreibe eine Thesis über eine in C++ implementierte Software. Hier beschreibe ich verschiedene C++ Klassen, was in etwa so aussieht:

Die Thread-Klasse kapselt die ...

Die Start()-Methode erzeugt einen neuen Thread...

In diesem Beispiel ist "Thread" der Name der Klasse und "Start" der Name einer Methode der Klasse.

Was ist die korrekte Schreibweise für "Thread-Klasse" und "Start()-Methode", mit oder ohne Bindestrich?

Wie ist es mit:

Die Methode Start() erzeugt einen neuen Thread...

?

Update: Die Klassen- und Methodenname werden durch eine "nichtproportionale Schriftart" hervorgehoben:

enter image description here

enter image description here

enter image description here

  • 1
    Kurze Antwort: Bindestrich ist richtig, und bei der »Methode ›Start()‹« müssen zusätzlich Anführungszeichen oder Kursivsetzung oder vergleichbares als Auszeichnung stehen. Jemand wird schon bald mit der entsprechenden Dudenparagraphregel antworten, denk ich. – Jan Sep 23 '15 at 11:21
  • 1
    @chirlu Nicht zwingend nötig, aber zu empfehlen. Ich finde, das Update sieht richtig gut aus. – Matthias Sep 23 '15 at 12:06
  • 4
    Typographischer Hinweis: Der Bindestrich sollte aus der Grundschrift sein. Auf den Bildern sieht es so aus, als wäre es der aus der Festbreitenschrift. – chirlu Sep 23 '15 at 17:47
  • 1
    Nein, auf jeden Fall Bindestrich (hyphen). Wenn es die Grundschrift ist, ist es richtig; ich kann es nur nicht richtig erkennen. – chirlu Sep 23 '15 at 18:54
  • 1
    Stephen T. Lavavej allerdings schreibt in Microsoft's VC++-Blog Funktionsnamen immer mit Klammern, inkl. operator()(), was der Unterscheidbarkeit von Klassen zugute kommt. Es geht also beides wirklich gut. – Felix Dombek Oct 6 '15 at 15:53
12

Zusammensetzungen, die fremde (meist englische) Wortgruppen enthalten, werden mit Bindestrich geschrieben, d.h. nicht eingedeutschte Wörter werden korrekterweise mit Bindestrich(1) in zusammengesetzte Substantive eingebaut, also

die Thread-Klasse und die Start()-Methode.

Der Bindstrich darf nicht entfallen, so dass ein Gebilde aus zwei extra groß geschriebenen Wörtern entstehen würde.(2)

Korrekt ist auch "Die Methode Start()" zu verwenden.

  • Manche englische Wörter sind im Deutschen schon so weit integriert, dass man sie bei Zusammensetzungen schon wie deutsche Wörter behandeln kann, wie z.B.: duden.de/rechtschreibung/Online_ – äüö Sep 23 '15 at 11:54
  • 2
    Dann leidet aber die Einheitlichkeit. Die Startmethode einer Threadklasse könnte ja auch eine Methode sein, die nicht 'Start()' heißt und in einer Klasse vorkommen, die ein Thread ist, aber auch nicht so heißt. Hier unterstreicht die Schreibung, dass die Elemente auch so heißen, wie sie bezeichnet werden. – user unknown Sep 24 '15 at 1:03
  • 7
    Die alternative Konstruktion ist fast immer vorzuziehen. "Die Programmiersprache C++" ist unermeßlich viel besser als "Die C++-Programmiersprache" (auch wenn der Verlag anderer Meinung war). – Kilian Foth Sep 24 '15 at 6:30
1

Wenn benannte Entitäten beschrieben werden, sollte man überhaupt keine Bindestrichkonstruktion einsetzen, wie Kilian Foth bereits in einem Kommentar schrieb.

Bei zusammengesetzten Nomen steht rechts das Kopfwort, was normalerweise angibt, was etwas ist. Links davon steht ein beschreibendes Wort. Wikipedia hat eine Liste von gebräuchlichen Mustern dafür.

Kein solches Muster ist es, den Namen einer Entität mit deren Art zu einem zusammengesetzten (wenngleich mit Bindestrich getrennten) Wort zu verbinden.

Es ist völlig legitim, „der OK-Button“ oder „eine Thread-Klasse“ zu sagen. Das sind in diesem Fall Beschreibungen. Nicht gut ist „die Thread-Klasse“ o.Ä., denn so etwas kommt ansonsten auch nie vor: Nicht „der Rhein-Fluss“, sondern „der Fluss Rhein“, nicht „der AF-447-Flug“, sondern „Flug AF 447“ – und daher immer „die Klasse Thread.

Sobald das Wort einmal als Klassenname etabliert ist, kann die Art weggelassen werden: „Um Thread zu instanziieren, ...“.

Um die Verwirrung komplett zu machen: Eine Instanz von Thread könnte dann wieder als ein „Thread-Objekt“ bezeichnet werden.

Mal ganz davon abgesehen, dass Thread ein furchtbar aussageschwacher Name für eine Klasse ist.

  • Das Beispiel "der Rhein-Fluss" ist gut. Da muss ich mal drüber nachdenken. Danke. – sergej Sep 25 '15 at 15:02
  • Die Thread-Klasse ist aber keine Entität, sondern ist der Typ aller Entitäten mit Thread-Eigenschaften, dessen instanziierte Objekte dann also die Entitäten sind. Es handelt sich also nicht wie bei Rhein oder dem benannten Flug um Einzelvertreter, sondern um eine Typbezeichnung. Also ist Thread-Klasse richtig. – äüö Sep 29 '15 at 16:48
  • @falkb Eine Klasse (Sammlung/Bauplan/...) ist auch eine Entität, im Sinne von "existierendes, benennbares Ding". Sie hat einen Namen, sie existiert, sie kann sogar in vielen Sprachen, wie auch C++, Daten und Methoden beinhalten. Mir ist klar, dass es in der Informatik einen anderen, enger gefassten Entitätsbegriff gibt, ich beziehe mich jedoch auf den des allgemeinen Sprachgebrauchs, nachdem selbst abstrakte Konzepte Entitätscharakter haben können. – Felix Dombek Sep 29 '15 at 18:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.