Ich schließe mich dem an! Man hätte viel klarer abgrenzen müssen, wie Script-Sprache im Kontext dieser Umfrage definiert wird.
Stellt das eine Sprache dar, die eine Erweiterung eines bestehenden Programms ermöglicht? Genau das würde ich als Scriptsprache bezeichnen.
Das ganze an einem Compiler festzumachen, der direkt Code für eine spezielle Architektur erzeugt halte ich für eine veraltete Ansicht. Im Zeitalter von JITs ist das keine wirklich aussagekräftige Einteilung mehr; außerdem gibt es ja auch beim Compilieren in einen anderen Byte-Code Übersetzungsarbeit.
Vielleicht sollte man eher eine Einteilung in "Vollsprache" und "Spartensprache" (dafür gibts ja den Ausdruck DSL) in Anlehnung an die Einteilung bei Fernsehsendern vornehmen. Wobei bei den DSL ja dann der Anwendungsbereich eine Rolle spielt...
Vielleicht sollte man daher direkt vom Anwendungsbereich ausgehen und die Umfrage zu verschiedenen Anwendungsbereichen stellen; also etwa: Welche Sprache nutzen Sie für Administrative Aufgaben? Welche für persönliche Automatisierungsaufgaben? Welche für Stand-Alone Applikationen?
Na, Scriptsprache ist im Kontext dieser Umfrage so definiert, dass die die aufgelistet sind dazu gehören...
Na toll... definiere ich bin draußen oder so.
Welche Länder finden Sie toll:
1 - Amerika 2 - Deutschland 3 - Die EU 4 - Apfelkuchen
Das ist zwar überspitzt und überzeichnet, aber genau so sinnvoll wäre diese hier. Natürlich kann ich eine Menge über eine Auswahl definieren, aber es der Abstimmende kann im Kontext schwerlich entscheiden, wenn der Zusammenhang zwischen den Werten und dem Urspungsbegriff nicht stimmig sind.
Zudem ist die Aussage des Ergebnisses ziemlich wenig ausdrucksstark.
a) Ein Werkzeug für alles, egal wie tauglich. b) Mehrere Werkzeuge, die vermeintlich angepasst sind.
Ich tendiere zu a) kann es aber (noch) nicht durchhalten. So schreibe ich Shell-Skripte, weil Python das (noch?) nicht einfach genug macht, andere Prozesse schnell mal zu automatisieren.
Und ich nutze noch eine besonders streng typisierende Sprache (Ada), weil ich in Python noch keinen Compiler habe, der dem nahe kommt. Das ändert sich ja vielleicht mal.
Und ich nutze noch eine besonders streng typisierende Sprache (Ada), weil ich in Python noch keinen Compiler habe, der dem nahe kommt. Das ändert sich ja vielleicht mal.
Python ist doch streng typisiert! Es ist im Gegensatz zu Ada eben dynamisch; somit (und wegen des allg. Objektmodells) kann man dafür eben keinen so effizienten Compiler schreiben. Wobei ich bei Ada den Fokus ja doch eher auf der Beweisbarkeit und Korrektheit sehen würde...
hast ja Recht, dynamisch und sehr konsequent darin, dass wirklich alles ein Objekt ist, Module, Klassen, Literale, alles einfach. Und dann aber auch darauf ausgelegt, dass die Typen dann keine Grenzen darstellen, sondern in einander übergehen, so dass es egal ist, ob bei "a in b", was b eigentlich wirklich ist.
Der meiste Code, weiss deshalb garnicht, welche Typen genau er bearbeitet, sondern nutzt nur Interfaces. Ich habe gerne mal "readable" oder "iterable". Das empfinde ich als nicht streng typisiert, zumal "interfaces" anders als z.B. in Java nicht gut überprüfbar sind.
Bei Ada verwende ich dagegen inkompatible Integer (z.B. new Integer range 1..8), die sich gerade dadurch auszeichnen, dass sie nicht verwechselt werden können. Anders als bei C++ kann man nicht char *, 0L, char, short, int, etc. alle miteinander verwechseln, ohne selbst zu casten.
Ich weiss nicht, wie man diesen Aspekt einer Sprache nennt, ich schreibe daher "besonders streng", bin aber für Vorschläge offen.
Ich schließe mich dem an! Man hätte viel klarer abgrenzen müssen, wie Script-Sprache im Kontext dieser Umfrage definiert wird.
Stellt das eine Sprache dar, die eine Erweiterung eines bestehenden Programms ermöglicht? Genau das würde ich als Scriptsprache bezeichnen.
Das ganze an einem Compiler festzumachen, der direkt Code für eine spezielle Architektur erzeugt halte ich für eine veraltete Ansicht. Im Zeitalter von JITs ist das keine wirklich aussagekräftige Einteilung mehr; außerdem gibt es ja auch beim Compilieren in einen anderen Byte-Code Übersetzungsarbeit.
Vielleicht sollte man eher eine Einteilung in "Vollsprache" und "Spartensprache" (dafür gibts ja den Ausdruck DSL) in Anlehnung an die Einteilung bei Fernsehsendern vornehmen. Wobei bei den DSL ja dann der Anwendungsbereich eine Rolle spielt...
Vielleicht sollte man daher direkt vom Anwendungsbereich ausgehen und die Umfrage zu verschiedenen Anwendungsbereichen stellen; also etwa:
Welche Sprache nutzen Sie für Administrative Aufgaben? Welche für persönliche Automatisierungsaufgaben? Welche für Stand-Alone Applikationen?
So in dieser Art etwa.
Na, Scriptsprache ist im Kontext dieser Umfrage so definiert, dass die die aufgelistet sind dazu gehören...
Na toll... definiere ich bin draußen oder so.
Welche Länder finden Sie toll:
1 - Amerika
2 - Deutschland
3 - Die EU
4 - Apfelkuchen
Das ist zwar überspitzt und überzeichnet, aber genau so sinnvoll wäre diese hier. Natürlich kann ich eine Menge über eine Auswahl definieren, aber es der Abstimmende kann im Kontext schwerlich entscheiden, wenn der Zusammenhang zwischen den Werten und dem Urspungsbegriff nicht stimmig sind.
Zudem ist die Aussage des Ergebnisses ziemlich wenig ausdrucksstark.
Da gibt es 2 Klassen von Entwicklern:
a) Ein Werkzeug für alles, egal wie tauglich.
b) Mehrere Werkzeuge, die vermeintlich angepasst sind.
Ich tendiere zu a) kann es aber (noch) nicht durchhalten. So schreibe ich Shell-Skripte, weil Python das (noch?) nicht einfach genug macht, andere Prozesse schnell mal zu automatisieren.
Und ich nutze noch eine besonders streng typisierende Sprache (Ada), weil ich in Python noch keinen Compiler habe, der dem nahe kommt. Das ändert sich ja vielleicht mal.
Gruss,
Kay
Python ist doch streng typisiert! Es ist im Gegensatz zu Ada eben dynamisch; somit (und wegen des allg. Objektmodells) kann man dafür eben keinen so effizienten Compiler schreiben. Wobei ich bei Ada den Fokus ja doch eher auf der Beweisbarkeit und Korrektheit sehen würde...
Hallo Du,
hast ja Recht, dynamisch und sehr konsequent darin, dass wirklich alles ein Objekt ist, Module, Klassen, Literale, alles einfach. Und dann aber auch darauf ausgelegt, dass die Typen dann keine Grenzen darstellen, sondern in einander übergehen, so dass es egal ist, ob bei "a in b", was b eigentlich wirklich ist.
Der meiste Code, weiss deshalb garnicht, welche Typen genau er bearbeitet, sondern nutzt nur Interfaces. Ich habe gerne mal "readable" oder "iterable". Das empfinde ich als nicht streng typisiert, zumal "interfaces" anders als z.B. in Java nicht gut überprüfbar sind.
Bei Ada verwende ich dagegen inkompatible Integer (z.B. new Integer range 1..8), die sich gerade dadurch auszeichnen, dass sie nicht verwechselt werden können. Anders als bei C++ kann man nicht char *, 0L, char, short, int, etc. alle miteinander verwechseln, ohne selbst zu casten.
Ich weiss nicht, wie man diesen Aspekt einer Sprache nennt, ich schreibe daher "besonders streng", bin aber für Vorschläge offen.
Gruss,
Kay