Calocybe: Definition für Programmiersprache - was ist eine, was nicht ?

Beitrag lesen

Du weichst der Frage aus. Beantworte sie, bzw. versuch' es. Sie deckt naemlich Deinen Denkfehler auf.

sicherlich greifen die meisten programme heute auf die schnittstellen des betriebssystems zu. dazu sind diese ja da, das nicht jeder programierer diese funktionen alle selber schreiben muss.

Mehr noch, ein richtiges Betriebssystem laesst den direkten Zugriff auf die Hardware gar nicht zu. (Damit sind die Windowse der 9x-Linie schon mal disqualifiziert.) Das nur nebenbei.

aber meines wissens nach ist windows selber in c oder c++ geschrieben. d.h., auch diese dll's wurden so geschrieben. es ist also sehr wohl möglich, mit c auf die hardware zuzugreifen.
wenn ich mich da täuschen sollte und windows in assembler gecoded wurde, lass ich mich gern eines besseren belehren. ;-) dann sollte es allerdings etwas schneller sein.

Windows ist hauptsaechlich in C geschrieben. Teile davon sind aber zweifellos in Assembler gehalten, so z.B. der Hardwarezugriff und das Memory Management, welches mit C nicht oder nicht sinnvoll zu implementieren ist (oder wie moechte man bitte die Descriptor Table Register laden?).

peid sagt mir übrigens über den cd-rom-treiber, der meinem uralt-cd-laufwerk beilag:
programming language: c

Das schliesst nicht aus, dass auch Assembleranweisungen enthalten sein koennen.

Soviel ich weiss kennt ANSI-C keine Funktionen zum direkten Zugriff auf Hardware. Das waere auch nicht sehr sinnvoll, weil das gar nicht cross-platform hinzukriegen ist. Es gibt aber einige C-Compiler, die zusaetzlich Funktionen wie inpw und outpw einfuehren, mit denen es moeglich ist, auf die Ports eines PC-Systems zuzugreifen. Die C-Compiler von Intel, M$ und Borland sind Beispiele dafuer. Das hat dann aber nichts mehr mit der Sprache selbst zu tun, sondern das stellt bereits ein API dar. Genau so ein API einzufuehren willst Du jedoch fuer das Beispiel JavaScript verweigern. Auch Funktionen wie CreateWindowExA(), die man unter C fuer Windows hat, sind kein Teil der Sprache (du kannst also mit der reinen Sprache C nicht mal ein Fenster aufmachen), sondern das ist Teil des Win32-API. Es waere kein Problem, dieses API auch in JS zu importieren.

Die Sprache selbst wird davon jedoch nicht beruehrt. Und somit auch nicht die Frage, ob es sich um eine Programmiersprache handelt.

mit javascript geht das noch nicht mal, wenn man den interpreter als teil von javascript begreift. sicherlich gibt es scriptsprachen, die einen zugriff auf hardware auslösen können. auslösen, nicht selber tätigen. ausgeführt wird er von einem programm.

Wiederum alles nur eine Frage das APIs. Du kennst halt nur das API fuer die Browserumgebung (damit sind die Objekte navigator, screen, und window mit seinen Unterobjekten document, history, location usw. gemeint), welches es z.B. in einer Kommandozeilenversion von JS nicht geben wuerde. Dafuer wuerdest Du dort dann Funktionen zum Schreiben auf die Konsole oder fuer den Zugriff auf Dateien finden, aehnlich wie in den Kommandozeilenversionen von C oder Pascal oder diversen anderen Sprachen.

ich verstehe ehrlich gesagt nicht, warum hier einige javaSCRIPT und consorten unbedingt in den rang einer programiersprache erheben wollen. will man sich programierer nennen dürfen?

Es ist nun mal eine, da koennen wir auch nichts dran aendern. Ich persoenlich beherrsche mindestens 3 Sprachen, die auch Du als Programmiersprache einstufst, insofern besteht fuer mich keine Notwendigkeit, irgendetwas ueberzubewerten. "Programmiersprache" ist kein Begriff der Wertung, wie ernst man eine Sprache nimmt. Wenn es darum ginge, ja gut, dann wuerden bei mir JavaScript, Basic in allen Varianten und PHP gleich mal durchfallen, Perl wuerde ich gerade noch so gelten lassen. Aber das ist halt nicht der Punkt.

das man sich darüber freut, die sichel gegen den rasenmäher zu tauschen, kann ich ja verstehen. aber niemand würde doch auf die idee kommen, darüber zu diskutieren, das man für die steuerung all dieser gartengeräte auch eine maschine bauen könnte.
entweder könnte diese maschine immer nur die gleichen arbeitsgänge machen, dann müsste man hier und da doch wieder von hand nachhelfen, oder sie wäre so kompliziert, das ihre wartung mehr aufwand machen würde, als sie nutzen bringt.

Kapier ich net. Wo ist der Zusammenhang?
Eigentlich kapier ich den ganzen Rest Deines Postings nicht, seh ich gerade. Naja, ich hab sowieso schon genug geschrieben. *g*

So long

--
"Microsoft ist über die Probleme informiert, hat aber noch nicht reagiert."
"Der Patch %s, der das Problem %s beheben sollte, funktioniert offenbar nicht."
"Wann ein Update verfügbar sein wird, ist nicht bekannt."
    (Textbausteine der Heise-Newsticker-Redaktion)