Einige Programmiersprachen verschwinden



  • Stefan Ram schrieb:

    - Einige Programmiersprachen verschwinden (z. B. C++)

    entweder c++ oder uml. beides zusammen geht nicht gut in einen kopf. also nur mit umschalter, so wie java und c++. der autor dieses dokumentes weiß das noch nicht, steigert sich in uml rein und findet c++ deshalb immer komischer. er könnte sich auch in c++ reinsteigern und uml immer komischer finden. ich bin der überzeugung (und habs auch hier schon ein paarmal vertreten), daß uml unbrauchbar ist (und logischerwiese als eintagsfliege zu behandeln ist).



  • sarfuan schrieb:

    Ob eine Sprache jetzt eine Scriptsprache ist oder nicht, hängt jeweils von ihrer konkreten Verwendun im Einzelfall ab. C kann demnach z.B. sowohl Scriptsprache als auch kompiliert sein. Dennoch würde man C niemals als Scriptsprache bezeichnen, denn die mit großem Abstand häufigste Verwendung ist nicht interpretiert sondern kompiliert.
    Und genau liegt meiner bescheidenen Meinung nach die "umgangssprachliche" Definition von Scriptsprache. Eine Scriptsprache ist einfach eine Sprache, die in der Praxis am häufigsten interpretiert und nicht kompliiert wird. That's it 🙂

    exakt. man einigt sich mit der zeit darauf, ob man die programmiersprache php auch als scriptsprache bezeichnet.

    übrigens hatte ich mal ein environment mit c++ als scriptsprache. schon ein wenig mehr als 10 jahre her. hab dem norton commander gesagt, was er bei druck auf die ausführen-taste auf ne *.cpp machen soll. logischerweise compilieren und dann ausführen. bei der anguck-taste und der editier-taste den standard-texteditor mit dieser datei aufmachen.
    und ich hatte mir angewöhnt, auch kleine sachen wie mal dies oder jenes aufzulisten oder zu konvertieren in c++ (eher c) zu schreiben. schnell im script den dateinamen ändern und ausführen. wußte damals noch gar nicht, daß man später sprachen in script-sprachen und andere sprachen trennt. sonst hätte ich das natürlich nicht gemacht, damit c++ nicht scriptsprache genannt wird.



  • MaSTaH schrieb:

    UML wurde sowieso nur erfunden um arme Studenten zu quälen... 😃

    was lehrt der prof, der nicht coden kann? der hat doch gar keine andere chance, als ein uml-tutorial zu lesen und dann ein uml-buch und das dann zu lehren. coden lernt er nicht in ein paar wochen. und er will sich nicht lächerlich machen. perverserweise sagt er auch noch "ich lehre uml statt coden, weil das besser ist". so plattformunabhängiger und strukturierter und irgendwie besser halt.



  • also eine sprache ist einfach eine menge erlaubter eingaben. oder (was gleichwertig ist) eine funktion, die zu jeder möglichen eingabe "erlaubt" oder "nicht erlaubt" sagt.
    die sprache muß keinen sinn ergeben!

    übrigens ist die zwei-elementige menge "erlaubt" und "nicht erlaubt" auch eine sprache.

    eine syntax ist eine vorschrift, wie eine sprache in eine andere sprache zu übersetzen ist.

    üblicherweise interessiert uns die syntax von allen möglichen eingaben auf "erlaubt" und "nicht erlaubt". mit dieser syntax definieren wir eine sprache.

    damit die sprache mehr als nur sinnfrei ist, muß es eine übersetzungsvorschrift von der sprache in deren bedeutungen geben. eine semantik.
    aber aufgepasst! die semantik ist auch nur eine syntax. und wer das jetzt gerafft hat, spart sich 3 monate vorlesung mindestens, in denen drumherumgeredet wird, weil der prof einerseits sytax von semantik scharf trennt aber andererseits die wieder so viel miteinander zu tun haben, viel mehr als nur enge nichtverwandte nachbarschaft.

    nicht jede sprache muss gleich turing-vollständig sein. manchmal ist es angemessener, eine unvollständige sprache zu nehmen.
    zum beispiel könnte mich mal jemand herausfordern, in einer sprache meiner wahl ein hello-world-programm zu schreiben.
    ich wähle world. eine selbstentwickelte sprache mit sehr einfacher syntax, speziellem anwendungsgebiet kleinem und schnellem interpreter und compiler.

    einfache syntax: jede mögliche eingabe ist gültig.
    jede gülige eingabe erzeugt als ausgabe "hello, world!".
    ich sende zum wettbewerb den leeren string als programm. mit größe 0 kann er kaum überboten werden.
    also interpreter sende ich
    int main(){
    cout<<"hello, world!";
    }
    und der compiler ist als dos/win-batch:
    int main(int argc,char** argv){
    system((string("copy ")+argv[0]+" "+argv[1]).c_str());
    }
    eine optimierte version des compilers, kann bei mir für 100Eu bezogen werden.



  • Muahahaha! Hoffentlich schreibt jetzt hier noch ein Unregistrierter irgendwas gutes über UML, dann ist hier die Hölle los. 😃
    Naja mich interessiert von UML eigentlich nur, die Vererbungshierarchie aufzuzeichnen, und das hat man früher ja auch schon irgendwie geschafft. ;((
    Vielleicht ist es manchmal noch ganz interessant, auch anders geartete Beziehungen zwischen Klassen festzuhalten. Prinzipiell fang ich schon immer mit einer kleinen Planung an, aber letztendlich führe ich dann doch noch 98263mal größere Änderungen durch und pflege das "UML-light" bestenfalls noch mit. Es schadet vielleicht nicht, um den Überblick besser zu behalten.
    Aber so ein richtiges vollständiges UML ist IMHO Rotz.

    P.S. UML rockt 👍 😉



  • __me schrieb:

    Wenn mir jemand ein Struktogramm gibt kann ich den entsprechenden Code einhacken, wenn nicht, muss ich selber programmieren.

    ich kann meinen code gar nicht in struktogramme verwandeln. da geht alle eleganz flöten und ohne die sind die ideen viel zu komplex, um sie umsetzen zu können, ohne verrückt zu werden.



  • also eine sprache ist einfach eine menge erlaubter eingaben. oder (was gleichwertig ist) eine funktion, die zu jeder möglichen eingabe "erlaubt" oder "nicht erlaubt" sagt.

    Naja, was ist mit folgendem:
    "Ich haben Hunger." Nach der Grammatik der Sprache eindeutig falsch, dennoch verständlich.
    Irgendwie weiß ich gerade nicht, wie ich deine Theorie mit der Funktion jetzt darauf anzuwenden habe.

    ich kann meinen code gar nicht in struktogramme verwandeln. da geht alle eleganz flöten und ohne die sind die ideen viel zu komplex, um sie umsetzen zu können, ohne verrückt zu werden.

    Auch wenn ich dieser Aussage abslut zustimme weiß ich nicht, wie sie mit dem Zitat im Zusammenhang steht. Du willst deinen Code in Struktogramme wandeln, __me ging es darum ein beliebiges Struktorgramm in Code zu wandeln.

    Wie dem auch sei, ich würde gerne mal den Versuch sehen ein deklaratives Programm in ein Struktogranmm zu verwandeln. Am besten auch noch in ner logischen Sprache, wie Prolog. 😃
    Aber sowas kennen Struktogrammaler ja gar nicht 😞



  • Helium schrieb:

    Naja, was ist mit folgendem:
    "Ich haben Hunger." Nach der Grammatik der Sprache eindeutig falsch, dennoch verständlich.
    Irgendwie weiß ich gerade nicht, wie ich deine Theorie mit der Funktion jetzt darauf anzuwenden habe.

    Wir sind aber schon noch bei Programmiersprachen, oder?

    int x == 5;

    schon klar was gemeint ist, oder?
    Aber der Compiler (der diese Funktion berechnet) lehnt es ab. Entspricht nämlich nicht der Syntax.

    Ne Programmiersprache wird durch zwei Dinge definiert, durch ihre Syntax und ihre Semantik. Die Syntax sagt, welche Sätze(Programme) ich schreiben darf und die Semantik sagt, was ein gegebener Satz (Programm) bedeutet.

    Normalerweise definieren wir uns für unsere Sprachen Grammatiken (sonst wäre das überprüfen zu aufwendig). Und wir bauen diese Grammatik sogar so, daß wir halbwegs effizient entscheiden können, ob ein Wort zur Sprache gehört oder nicht. Wir wollen nämlich nicht nur, daß es diese Funktion gibt... wir wollen sie auch berechnen.

    Das mit der Funktion ist nicht nur eine "Theorie" die sich hier irgendjemand hat einfallen lassen, sondern ein großer Teilbereich der Informatik. Stichworte: Formale Sprachen, Automatentheorie, Übersetzerbau, Berechenbarkeit stehen da in recht direktem Zusammenhang. Will man auch die Semantik noch betrachten wir man wohl auch einiges an Logik brauchen.



  • Helium schrieb:

    Du willst deinen Code in Struktogramme wandeln, __me ging es darum ein beliebiges Struktorgramm in Code zu wandeln.

    Dass er das wirklich will glaube ich nicht. 😃
    Aber warum man erst ein Struktogramm malen sollte, weiß ich auch nicht. ➡ Ich male mir meistens nur die Daten auf und wie sie sich verändern sollen...



  • Wir sind aber schon noch bei Programmiersprachen, oder?

    int x == 5;

    schon klar was gemeint ist, oder?
    Aber der Compiler (der diese Funktion berechnet) lehnt es ab. Entspricht nämlich nicht der Syntax.

    Ne Programmiersprache wird durch zwei Dinge definiert, durch ihre Syntax und ihre Semantik. Die Syntax sagt, welche Sätze(Programme) ich schreiben darf und die Semantik sagt, was ein gegebener Satz (Programm) bedeutet.

    Normalerweise definieren wir uns für unsere Sprachen Grammatiken (sonst wäre das überprüfen zu aufwendig). Und wir bauen diese Grammatik sogar so, daß wir halbwegs effizient entscheiden können, ob ein Wort zur Sprache gehört oder nicht. Wir wollen nämlich nicht nur, daß es diese Funktion gibt... wir wollen sie auch berechnen.

    Das mit der Funktion ist nicht nur eine "Theorie" die sich hier irgendjemand hat einfallen lassen, sondern ein großer Teilbereich der Informatik. Stichworte: Formale Sprachen, Automatentheorie, Übersetzerbau, Berechenbarkeit stehen da in recht direktem Zusammenhang. Will man auch die Semantik noch betrachten wir man wohl auch einiges an Logik brauchen.

    Ein Compiler könnte auch eine weniger gut ausgeprägte Synthaxprüfung haben und irgendwie aus gramatikalisch fehlerhaftem Code inkorrekten Code erstellen. Der Compiler muss doch nicht zwangläufig sagen: "Ne, das ist falsch!" (auch wenn es wünschenswert ist. Er könnte auch einfach schwachsinn einrzeugen.



  • Normalerweise definiert man Sprachen über Grammatiken und generiert aus diesen Grammatiken auch den Parser, sodaß dieser genau diese Sprache akzeptiert und nichts anderes. Wenn der Compiler dann falschen Code erzeugt, ist das definitiv kein Problem der Sprache, sondern ein Problem des Compilers. Und ein guter Compiler akzeptiert genau die richtige Sprache... manchmal redet man dann auch von standardkonform (dann sollte er auch noch die abgepsrochene Semantik richtig hinkriegen).

    MfG Jester


Anmelden zum Antworten