Autor Beitrag
Addy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 43



BeitragVerfasst: Sa 08.03.03 20:20 
Moin

Wie werden eigentlich Programmiersprachen definiert? Ich meine damit die exakte Festlegung einer Syntax, Sprachelemente sowie Standardbibliotheken.
Würde mich einfach mal interessieren :)
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Sa 08.03.03 20:28 
Hallo,

eine Offizielle Definition kann ich dir nicht bieten, aber eine Programmiersprache muss auf jeden Fall folgendes können:

  • Aritmethik (also Berechnungen)
  • Kontrolstukturen (z.B. IF)
  • Sprünge, Iteration oder Rekursion (GOTO, Schleifen oder selbstaufrufende Programmteile)

Mehr wirklich grundlegend wichtige Funktionen fallen mir momentan nicht ein.
HTML ist z.B. keine Programmiersprache, da sie das alles nicht bietet. Deshalb ist der Ausspruch "ich Programmiere HTML" falsch.

Gruß
Klabautermann
Addy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 43



BeitragVerfasst: Sa 08.03.03 22:05 
Nein, das meine ich nicht, sondern wie wird eine bestimmte Programmiersprache (z.B. Object Pascal oder C) festgelegt. D.h. wie wird z.B. die Syntax festgelegt (auf dem Papier und in schriftlicher Form)?
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Sa 08.03.03 22:50 
Hi,

oh je, das ist sehr kompliziert. Da gibt es noch außer der Syntax eine Semantik usw. Vor allem aber eine Grammatik. Diese legt fest, wie ein "Satz" auszusehen hat. In unserer Schrift wird ein Satz z.B. durch einen Punkt beendet. Dann gibt es noch einen "Halbsatz", mit Komma abgetrennt. Auf Delphi übertragen bedeutet das : Programm beenden mit "." Prozedur oder sonst was mit ";".

Fehlt in einem Satz ein Komma, so kann man ihn noch lesen, der Compiler aber nicht mehr. Fehlt ein Wort in einem Satz können wir den meist noch verstehen. Der Compiler hat aber die Anweisung alles abzulehnen, wenn z.B. ein "end" fehlt. Also ist festgelegt, daß zu jedem BEGIN ein END gehört. Das wiederum auch innerhalb eines Gültigkeitsbereiches, z.B. einer Prozedur.

Man kann also nicht einfach die Begins und ends abzählen und denken, das Programm funktioniere, wenn die Zahlen gleich sind.

Wie gesagt, alles Mathematik. Stelle Dir das ganze einfach so vor, Du müßtest 1000 Seiten abschreiben und wenn nur ein einziger Buchstabe auf der letzten Seite eine Stelle zu weit rechts steht, mußt Du wieder von vorne beginnen. :shock: Wie die Grammatik aussieht, dafür gibt es genaue Vorgaben, je nach Programmiersprache.

Willst Du mehr wissen, so bleibt Dir wohl nichts anderes übrig, als Informatik zu studieren.

_________________
Gruß
Hansa
Addy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 43



BeitragVerfasst: So 09.03.03 09:47 
Nein, dass ist auch nicht ganz das, was ich meine :) Ich will wissen, wie eine neue Programmiersprache festgelegt wird, also dass z.B. das Zeichen @ als Adressoperator dient, dass rechts davon ein L-Wert stehen muss, dass dieser Operator den Typ "Zeiger auf L-Wert" zurückgibt etc. In welcher Form wird das digital festgehalten?
Popov
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1655
Erhaltene Danke: 13

WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
BeitragVerfasst: So 09.03.03 10:34 
Ich würde erst ein mal vorschlagen, daß vorerst keiner auf deine Frage antwortet und du deine Frage ein wenig ausführlicher stellst. Das wird sonst eine Raterunde.

Du solltest also erstmal ausführlich beschreiben was du wissen willst. Ich blick zu Beispiel auch nicht was du meinst. Nach der ersten Frage dachte ich es. Nach der zweiten dachte ich es auch noch. Inzwischen hab ich keine Ahnung was du richtig wissen willst.

Wie willst du auch eine richtige Antwort erwarten wenn du nicht mehr als nur zwei Sätze in so eine komplexte Materie investierst. Tue als den anderen einen gefallen und sag was du richtig wissen willst. Noch besser ist es wenn du sagst was du damit willst.

_________________
Popov
Addy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 43



BeitragVerfasst: So 09.03.03 11:24 
Keine schlechte Idee :wink:

Ok. Irgendjemand hat einen ganz tollen Gedankenblitz: eine neue Programmiersprache (als ob es nicht schon genug gäbe...). Langsam kommen ihm Ideen, und in seinem Kopf bildet sich schon die ungefähre Struktur dieser Sprache. Jedoch bisher nur in seinem Kopf. Das bringt ihm jedoch herzlich wenig, da niemand anderes seine Ideen kennt. Um diese neue Programmiersprache zu verbreiten, muss er seine Ideen und Vorstellungen aber festhalten. Er entschließt sich, dies digital zu tun und im Internet zu veröffentlichen. Wie er an den Speicherplatz kommt, weiß er.
Was er aber nicht weiß, ist, wie er seine Vorstellungen in Buchstaben, Symbole und Zeichen überträgt. Einen lesbaren, fortlaufenden Text, der die Sprache beschreibt, hat er schon geschrieben, es geht ihm jetzt um eine diagrammartige, übersichtliche und vor allem eindeutige Darstellung. Dieser Vorgang ist vergleichbar mit der Definition von HTML durch SGML oder einer XML-Sprache durch eine DTD, mit dem Unterschied, das die Definition dieser Programmiersprache nur von Menschen gelesen werden muss, während eine DTD auch von Programmen verstanden werden muss.
Und wenn er nicht gestorben ist, fragt er sich das noch heute.

Ich hoffe, meine kleine Geschichte hat euch gefallen und dass ihr auch die Moral verstanden habt :wink: