Willkommen im PC-Welt-Forum
Liebe Leser,
Wenn dies Ihr erster Besuch hier ist, lesen Sie bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Sie müssen sich vermutlich registrieren, bevor Sie Beiträge verfassen können. Klicken Sie rechts auf 'Jetzt registrieren.', um den Registrierungsprozess zu starten.
Wenn dies Ihr erster Besuch hier ist, lesen Sie bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Sie müssen sich vermutlich registrieren, bevor Sie Beiträge verfassen können. Klicken Sie rechts auf 'Jetzt registrieren.', um den Registrierungsprozess zu starten.
Ergebnis 1 bis 9 von 42
-
08.12.2002, 00:33 #1
Wie entw. man eine neue Progr.Sprache ?
Hi @ll,
wegen zahlreicher Antworten hier dieser Rubrik und weil es mich einfach mal interessiert möchte ich folgende Frage stellen:
Wie wird eine neue Programmiersprache entwickelt ? Welche Voraussetzungen sind nötig ? Braucht man hierzu eine Plattformunabhängige Spezialsoftware oder würde ein einfacher Texteditor schon genügen.
Ich hab ja, ist ja schon sehr lange her, mal die Frage gestellt, wie der CPU denn "beigebracht wird", wie sie welche Bitfolge wie zu interpretieren hat, also als internen Steuerungsbefehl , oder als Anweisung im Programm selbst usw.
Dies ist ja auch ein Punkt, der dabei eine Rolle spielt, denke ich mal. Gehe ich richtig in der Annahme, wenn ich sage, daß man auf jedenfall die Befehlssätze der jeweiligen CPU kennen muß, auf der die Software letztendlich laufen soll?.
Ich weiß, dies ist eine ziemlich abstrakte Frage, aber ebenso eine äußerst interessante.
mfg ghostridermfg ghostrider | ...was nützt der Intel - inside , wenn der DAU vorm Rechner sitzt? :-)
-
08.12.2002, 00:36 #2
Halbes Megabyte
- Registriert seit
- 10.2002
- Ort
- Aachen
- Beiträge
- 583
dazu wirste studieren müssen ;-)
-
08.12.2002, 00:51 #3
Hallo AS_X,
ist mir schon klar, daß man sich das nicht mal so auf die Schnelle "aus den Fingern saugt" und dazu enormes Fachwissen nötig ist. ;-)
Mich interessiert einfach der entwicklungstechnische Ablauf...
Zuerst muß ja mal eine Idee vorhanden sein, also welche Befehle man verwenden möchte, welche Funktionen diese haben sollen, in welcher Landessprache (üblicherweise ja Englisch...könnte aber auch mal auf deutsch oder französisch sein...) die Programmiersprache geschrieben wird.
Dann eben auch die Struktur der Programmiersprache usw. ... usw.
Man muß aber ja von einer Basis ausgehen, denn z.b. C++ konnte ja nicht in C++ entwickelt werden weil es das ja da noch nicht gab... .
Braucht ja jetzt hier niemand ein Fachseminar halten, sondern es geht halt um den allgemeinen Überblick mit ein paar Details angereichert...
mfg ghostrider
PS: kannst beruhigt schlafen.... hab nicht vor, <B>selbst</B> ne neue Programmiersprache zu erfinden... auch wenn es faszinierend wäre... ;-)mfg ghostrider | ...was nützt der Intel - inside , wenn der DAU vorm Rechner sitzt? :-)
-
08.12.2002, 01:40 #4
Bjarne Stroustrup\', Entwickler von C++).
So, nun habe ich mich ein wenig verloren ... ja ... also, wenn du eine Programmiersprache entwickeln will, dann solltest du dir vorher darüber klar werden, was du überhaupt darin machen willst und wovon du es ableiten willst. Sicher ist Assembler am schnellsten, aber auch am schwierigsten.
Eigentlich sind die neuen Programmiersprachen nicht anders als die alten, nur eben <B>mehr</B>. Wenn sich nicht wirklich irgendein Crack mal daran gesetzt hat, dann könnte man sicher noch spuren der aller ersten Programmiersprachen finden. Sei es in der Semantik oder in der cryptischen Art-und-Weise der Syntax oder ähnliches.
Ach ja, hier ein musikalischer Überblick der Programmiersprachen
http://rotor.fb12.tu-berlin.de/personen/klaus/Write_in_C.html
wichtige dinge, die heute in (fast) jeder Programmiersprache zu finden sind:
- ableitbarkeit
- objectorientiert
- intuitiv bedienbar , soll heißen, schluss mit crypto-C
Links:
http://irb.cs.tu-berlin.de/~zuse/history/Programmiersprachen.html
http://de.google.yahoo.com/bin/query_de?p=Geschichte+Programmierspachen ;-)
-
08.12.2002, 02:12 #5
Hallo IT-Praktikant,
danke erstmal für Deine sehr ausführliche Antwort. Das Assembler sozusagen die "Mutter aller Programmiersprachen ist" hab ich hier in der Rubrik ja schon mal in einem anderem Thread erwähnt.
Auf was ich speziell hinaus will:
Wer legt denn dann genau fest, wie welcher Befehl heißt und welche Funktion er konkret ausübt ?
Wird da eine Norm erabeitet oder geschieht dies willkürlich, sozusagen "frei Schnauze" ?
Hab mir jetzt die Links noch nicht sofort angeschaut, aber in die Favoriten aufgenommen...
mfg ghostridermfg ghostrider | ...was nützt der Intel - inside , wenn der DAU vorm Rechner sitzt? :-)
-
08.12.2002, 12:07 #6
Normen\' wie man Befehle zu nennen hat bzw. wie die Namensstruktur sein soll. In Java zum Beispiel:
Variablennamen sind klein: "ichsortiere"
Methodennamen fangen klein an: "ichSortiere()"
Klassennamen fangen groß an: "IchSortiere()"
Ich C und C++ gibt es ähnliche Kompromisse.
Ach ja, es gibt auch noch funktionale Programmiersprachen wie Haskel, ML oder Opal. Solltest du dir mal anschauen, falls du wirklich mal Interesse an einem Compilerbau hast. Dort kann man nähmlich manche Sachen mit Einzeilenprogrammen lösen, wo du bei imperativen Programmiersprachen oft mehrere Methoden brauchst.
Naja, nu hast du wieder was zu lesen ;-)
Ciao it.
-
08.12.2002, 12:19 #7
Zusatz:
Assembler ist nicht gleich Assembler, da zum Beispiel Macs G Prozessoren anders mit den Daten umgehen als 80x86 mit denselben Daten. Und auch da gibt es dann Unterschiede zischen x86 und x87 und nicht zu vergessen die Befehlsatzerweiterungen von Pentium <B>MMX</B>, Pentium III <B>SSE</B>, K6-2 <B>3D Noew</B> und Pentium 4 <B>SSE2</B>.
-
08.12.2002, 15:08 #8
Hallo it-praktikant,
Danke für die ausführliche Antwort, weitere Fragen in der Antwort an species007.
mfg ghostridermfg ghostrider | ...was nützt der Intel - inside , wenn der DAU vorm Rechner sitzt? :-)
-
08.12.2002, 15:19 #9
Hallo Michael, hallot IT-Praktikant,
genau auf diese Implementierung will ich hinaus. Nehmen wir mal eine "jungfräufliche" CPU an.
Um darauf ein Programm zum laufen zu bringen, noch dazu in einer "neuen" Programmiersprache, muß der CPU ja erstmal die richtige Interpretierung des Sourcecodes beigebracht werden bzw. sein eigener Befehlssatz diesem "eingebrannt" werden damit er funktioniert.
Ebenso die Art und Weise, wie er diese CPU-eigenen Befehlssatz (ich nehme an, dies geschieht über das BIOS) sowie den Source Code zu interpretieren hat.
Ich nenne mal ein simples Beispiel:
Als z.b. in Basic der Befehl : Goto eingeführt wurde, dann mußte dessen funktion ja irgendwie definiert werden, damit der Rechner diesen eindeutig interpretieren kann und "weiß" was er damit zu tun hat.
Wie genau erfolgt jetzt diese Definition, denn bei "neuen" Programmiersprachen mitsamt Ihren Strukturen, ist ja im eigentlichem Sinne alles "neu". Wie werden jetzt diese Definitionen an den Rechner "zum Lernen" übergeben ? Mit einer eigenen Befehlsbibliothek-Dantenbank, die die Befehlsdefinition dann bereits in Maschinensprache beinhaltet ähnlich wie ein Sprachlexikon, daß ein bestimmtes Wort auflistet und parallel dazu die Vokabel in der Fremdsprache ?
IMHO ist doch dies der entscheidende Knackpunkt an der ganzen Sache.
mfg ghostridermfg ghostrider | ...was nützt der Intel - inside , wenn der DAU vorm Rechner sitzt? :-)
12

Zitieren
Lesezeichen