Script- vs. Programmiersprachen

Navy

Freiwillige Serverwehr
[Weiterführung der Diskussion der Definition von Script- und Programmiersprachen]

SachaT schrieb:
> ...darum steht PHP hier auch unter dem Oberbegriff "Programming" in diesem Forum

Au ja toll... das ist *die* Begründung überhaupt. Dann sind XML, SQL, CGI und Perl auch Programmiersprachen, schlißelich stehen sie ja unter "Programming".

> Demnach war das Basic, dass ich vor 20 Jahren gelernt habe auch keine
> Programmiersprache?

Doch, denn sie ist turingvollständig.

> Da gabs auch keinen Compiler - aber vielleicht lags am Regime.
> Das hat uns ja vierzsch Jahre lang von vorne bis hinten nur belochen und betrochen

*gähn* Bitte mehr.
Unter diesem Regime habe ich ebenfalls gelebt und auch zu der Zeit angefangen zu programmieren. Deine Polemik ging für mich damit voll daneben.

> Sorry für den OT-Exkurs, aber ich finde das akademische Haarspalterei.

Ich finde das wichtig. Gerade diese akademische Abgrenzung zwischen den Sprachen ist ein Bestandteil in der Forschung der theoretischen Informatik. Da dieses Thema aber nicht bis zum Ende durchgekaut worden ist, gibt es leider noch keine allgemeingültige Definition über Script- und Programmiersprachen-

Die Aussage der Turingvollständigkeit jedoch ist bisher eine (gut durchdachte) Annahme, vollständig konnte sie aber noch nicht verifiziert werden, da durch diese alleinige Definition auch die Textsatzsprache Latex fällt.
Leider kann man nicht von einer absoluten Turingvollständigkeit irgendeiner Sprache reden, da eine Turinnmaschiene auf einem unendlichen Band "läuft", es aber keine Sprache gibt, für die unendlich viel Speicherplatz vorliegt. Man muß aber hier - und nur hier - die Definition eingrenzen.

Turingvollständigkeit ist also nur ein Teil, der andere entfällt auf den Kontext der Sprache. PHP z.B. wird nie als Code vorliegen, der rein (also direkt) auf der Maschine läuft, C/C++ können das. Zwitter sind Java, C# u.Ä.

So sehe *ich* das...
 
Mit Verlaub aber das ist in der Tat Haaspalterei.
Wenn PHP fuer dich keine Programmiersprache ist, weil der Code interpretiert wird..., dann ist auch C keine Programmiersprache, weil der Code in Assembler umgewandelt wird. Also ist nur das eine Programmiersprache :(.
 
Hallo,

defakto sind die beiden Begriffe "Programmiersprache" und "Skriptsprache" so
schwammig definiert, das bis dato wahrsch. schon jede Diskussion dadrüber
gescheitert ist ob eine Skriptsprache nun eine Programmiersprache ist oder nicht...

Und eben wegen dieser schwammigen Definitionen ist jede Haarspalterei (sei sie nun akademisch oder nich)bei dem Versuch zwischen Skriptsprache und
Programmiersprache zu differenzieren zum Scheitern verurteilt.

Ich halte es nach der Definition von wikipedia und sehe PHP, Python, Ruby,
Perl,Java, C++, etc als Programmiersprachen an, wobei für mich die ersten 4 in die
Untermenge der Skriptsprachen eingeordnet werden können...

> Demnach war das Basic, dass ich vor 20 Jahren gelernt habe auch keine
> Programmiersprache?

Doch, denn sie ist turingvollständig.

Was hat denn Turingvollständigkeit mit der Tatsache zu tun ob eine Sprache
Programmiersprache ist oder nicht? Die meisten Sprachen haben das schöne
Merkmal das sie Turingvollständig sind, aber ich hab noch nirgends gelesen das
Turingvollständigkeit eine essentielle Eigenschaft einer Programmiersprache sein
muss...

Meine Meinung zum Thema :)

Gruß,
RedWing
 
Hallo,

bleibt man mal bei der sprachlichen Grundlage, so bedeutet „programmieren“ ja nichts anderes als „ein Programm (im Sinne von Ablauf) festlegen/erstellen“. Eine Programmiersprache ist demnach eine Sprache, mit der man Abläufe festlegen kann. Somit zählen Skriptsprachen zu den Programmiersprachen. Insofern spricht auch nichts dagegen, etwas „mit PHP zu programmieren“ anstatt „mit PHP zu skripten“ (ganz abgesehen davon, dass das Verb „skripten“ kein deutsches Wort ist).

So ist zumindest meine Sicht der Dinge :)

Grüße,
Matthias
 
Matthias Reitinger hat gesagt.:
...
bleibt man mal bei der sprachlichen Grundlage, so bedeutet „programmieren“ ja nichts anderes als „ein Programm (im Sinne von Ablauf) festlegen/erstellen“. Eine Programmiersprache ist demnach eine Sprache, mit der man Abläufe festlegen kann. Somit zählen Skriptsprachen zu den Programmiersprachen....
Absolut meine Meinung.
 
Meine Meinung zu diesem Thema dürfte einigen durchaus bekannt sein, daher möchte ich etwas anderes in diese Dikussion einwerfen:

Ist der essentielle Punkt daran nicht das Ergebnis? Dieses muss den Anforderungen entsprechen, auf dem Zielsystem optimal funktionieren und intuitiv zu bedienen sein. Ob das Ergebnis nun geskriptet oder programmiert wurde, ist im Endeffekt nebensächlich.
 
Das Ergebnis ist zwar wichtig, was aber auch sehr wichtig sein kann ist die Wartbarkeit. Was habe ich von einem schnellen Ergebnis, was gut aussieht, aber bei weiteren Anforderungen Erweiterungen nicht mehr handlebar wird, bzw. viel zu viel Zeit verschlingt. So siehts doch bei php oft aus, sag ich jetzt mal.
 
Auch wenn der Thread besser in Frieden ruhen sollte...

AKST hat gesagt.:
Das Ergebnis ist zwar wichtig, was aber auch sehr wichtig sein kann ist die Wartbarkeit. Was habe ich von einem schnellen Ergebnis, was gut aussieht, aber bei weiteren Anforderungen Erweiterungen nicht mehr handlebar wird, bzw. viel zu viel Zeit verschlingt. So siehts doch bei php oft aus, sag ich jetzt mal.
Das ist massgeblich vom Programmierer abhaengig. Wenn man hier im Forum rumschaut wird man zu jeder Sprache wirklich abschreckende Programmierbeispiele finden. PHP ist natuerlich bei Programmier-Neulingen sehr beliebt und somit sieht man gerade dort viel unlesbaren und unwartbaren Code, aber es saehe nicht anders aus wenn sich alle Welt als erstes auf C/C++/C# stuerzen wuerde. Dann wuerde man eben dort haeufiger schlecht/nicht eingerueckten Code und aehnliche programmiertechnische Vergewaltigungen sehen.
 
PHP ist natuerlich bei Programmier-Neulingen sehr beliebt und somit sieht man gerade dort viel unlesbaren und unwartbaren Code, aber es saehe nicht anders aus wenn sich alle Welt als erstes auf C/C++/C# stuerzen wuerde. Dann wuerde man eben dort haeufiger schlecht/nicht eingerueckten Code und aehnliche programmiertechnische Vergewaltigungen sehen.
Ich für meinen Teil finde, dass das Verwenden einer Scriptsprache das Beherrschen einer typsichern Sprache vorraussetzt.
Scriptsprchen sind sehr "dynamisch" und verzeihen auch etliche unmögliche Dinge. Daher hat es ein neuling leicht,
irrationalen Nonsens zu schreiben der ansich vielleicht funktioniert, wobei hingegen aber bei richtigen Sprachen Schluss ist.
Und dazu kommt das nur der Entwickler in der Lage ist, sich in dem Code zurecht zu finden,
da er keiner Norm oder irgend einem Muster entspricht.

Zudem bietet auch das Beherrschen einer richtigen Programmiersprache das Verständniss gegenüber dem,
was eigentlich hinter einem Script passiert. So kann sich der Entwickler schon im Vorfeld ausmalen,
was für einen "Wind" das Script eigentlich verursachen würde.
Ein Server mit riesig viel Arbeitspeicher und großer Leistung verzeiht das schon,
aber nicht einer mit bescheidenen Resourcen...
Bei richtigen Programmiersprachen hingegen muss sich er Entwickler auf einem Endanwendersystem
mit resourcenschonenden Techniken auseinandersetzen, was zur Folge hat,
dass der Entwickler intuitiv immer den schonensten Weg einschlagen wird...

Auch bringt das beherrschen eine richtigen Sprache das Verständniss für die OOP mit sich,
was bei'm Erlenen des Programmierens mit Scriptsprachen eher weniger oder gar nicht der Fall ist.
Somit bewegt sich der angehende Entwickler in der Steinzeit der prozeduralen Programmierung zurück.
Diese Art der Programmierung hat die IT-Branche damals in eine Kriese gestürtzt,
da alles was entwickelt wurde schwer oder gar nicht wart- und erweiterbar war,
bzw. dies immer einen großen Aufwand zur Folge hatte. Ergo musste vieles komplett neu entwickelt werden,
was ökonomisch gesehen eine Verschwendung von wervoller Arbeits- und Entwicklungszeit dartstellt.
 
Zuletzt bearbeitet:
Ähm .. nein!

Ich denke hier unter anderem an Ruby etc. Skriptsprache, die schön brav OOP mitbringen.

Und nur weil jemand eine Programmiersprache á la C#, Java bentutzt, bedeutet dies noch lange nicht, dass der Entwickler ressourcenschonend programmiert. Immerhin gehört dazu nicht nur das Beherrschen einer Programmiersprache (was beim Programmieren eher nebensächlich ist) sondern viel Hintergrundwissen über interne Abläufe des PCs, Algorithmen etc. Zudem gehört auch noch Wissen ob der Umsetzung der jeweiligen Klassen, Methoden mit dazu. Ein vermeintlich performanter Weg muss nicht performant sein.

Auch in C#, Java, VB.NET hätte ich bis jetzt schon jede Menge Nonsens gefunden. Nur weil man unter genannten Sprachen für gewöhnlich objektorientiert programmiert, wird dies nicht erzwungen. Wird es nicht erzwungen, gibt es auch immer Entwickler, die dies nicht nutzen. Aus welchen Gründen auch immer.

So gesehen stimm ich dir, Christian, überhaupt nicht zu.
 

Neue Beiträge

Zurück