Welche Sprache lernen?



  • pointercrash() schrieb:

    Noch nie die Beatles gehört? Let it be ...?

    Ich gehöre eher der Strawberry-Fields-Fraktion an. Wüßte aber nicht, was das mit dem Thema zu tun hat. "Lasse A 10 sein" konnte ich mir schon irgendwie denken, aber es kam mir halt sinnlos umständlich vor. Tut es immer noch.

    ObOnT: Englisch natürlich.



  • knivil schrieb:

    Nein! Das gibt es auch in Lisp und macht da auch was ... Irgendwie muss das Ding ja bezeichnet werden. Da ist es doch naheliegend, Formulierungen aus der Mathematik zu verwenden, z.B. "Let n be a natural number and p ... then ...". Genau wie in Mathe fuehrt es eine neue Bezeichnung fuer ein "Ding" ein. Und Ja! Weil mathematische Beweise auch lesbar sein sollen.

    naja, in BASIC kannste schreiben 'let a = b' und ein paar zeilen später 'let a = c', das ist vielleicht nicht so ganz mathe- und lisp-konform, in BASIC ist es einfach 'ne zuweisung, keine neue definition oder sowas.

    Bashar schrieb:

    Ich hab vor fast genau 20 Jahren mit BASIC angefangen und nie im Leben LET für eine Zuweisung benutzt. Ich hab auch nicht begriffen, was LET heißen soll ("Lasse A gleich 10?"). Dass das eine Formulierung aus der Mathematik ist, die man eher mit "Sei A gleich 10" übersetzt, war mir als Fünftklässler nicht klar.

    damit hatte ich als anfänger kein problem, habs's etwa gelesen wie: 'lass A jetzt 10 sein' und ein anschliessendes 'print A' hat mich davon überzeugt, dass ich richtig lag.

    Bashar schrieb:

    fricky, hast du denn auch mit BASIC angefangen und immer brav dein LET geschrieben?

    kann mich nicht mehr dran erinnern (hatte 'nen C64, da gings auch ohne 'let'), vielleicht am ersten tag, wo ich noch nicht wusste, was variablen sind, kann's wichtig gewesen sein. bestimmt hätte ich A=1 sonst für die lösung einer rechenaufgabe gehalten, oder sowas.
    🙂



  • naja, in BASIC kannste schreiben 'let a = b' und ein paar zeilen später 'let a = c', das ist vielleicht nicht so ganz mathe- und lisp-konform, in BASIC ist es einfach 'ne zuweisung, keine neue definition oder sowas.

    Doch, weil let eine neue Umgebung (Environment, Kontext, ...) anlegt. Und ausserdem ist a ja nur ein Bezeichner, mit dem ich verschiedene Dinge identifizieren kann. Waere schlimm, wenn ich mir in Mathematik als auch beim Programmieren staendig neue Bezeichner ausdenken muss.



  • knivil schrieb:

    Doch, weil let eine neue Umgebung (Environment, Kontext, ...) anlegt.

    das macht es in BASIC aber nicht. ich sehe schon, von der mathe-schiene her sollte man sich BASIC wohl besser nicht nähern.
    (obwohl ich vor jahren mal dieses buch hatte: http://www.amazon.de/Basic-Programme-zur-Höheren-Mathematik/dp/3923923155 )
    🙂



  • das macht es in BASIC aber nicht.

    Hey im Haskellinterpreter ghci kann ich das auch, ohne einen Fehler zu bekommen.



  • knivil schrieb:

    das macht es in BASIC aber nicht.

    Hey im Haskellinterpreter ghci kann ich das auch, ohne einen Fehler zu bekommen.

    aha, also kannst da auch 'let' vor variablenzuweisungen schreiben und es sogar weglassen, wenn du mal nicht magst?
    🙂



  • ;fricky schrieb:

    aha, also kannst da auch 'let' vor variablenzuweisungen schreiben und es sogar weglassen, wenn du mal nicht magst?
    🙂

    Geht sogar in C 😃

    #define LET
    #define BE =
    
    LET var BE 7;
    


  • Nein, weglassen darf ich es nicht, zumindest nicht im Interpreter. Was ich damit sagen will: Haskell als programmierte Mathematik ist genauso geeignet fuer Anfaenger, wenn let als Leselichkeitsargument verwendet wird.



  • Wir blödeln jetzt vor uns hin, aber was der OP erfragt hat, könnte man guten Gewissens VB empfehlen, oder?

    - es gibt nicht viel, was damit nicht geht.
    - nette RAD- IDE obendrauf.
    - breite Community.
    - VB.NET wartet mit einem brauchbaren OOP auf.

    Bis der OP merkt, wo er mit VB nicht weiterkommt, dauerts ohnehin ein paar Tage. Und ich glaube nicht, daß er sich bis dahin sein Programmierergemüt bis in alle Ewigkeit für die "höheren Weihen" verdorben hat. Oder er merkt's nichtmal und ist damit auch glücklich ... 😉



  • knivil schrieb:

    Haskell als programmierte Mathematik ist genauso geeignet fuer Anfaenger, wenn let als Leselichkeitsargument verwendet wird.

    ja, aber nur für programmieranfänger, die sowieso schon mathefreaks sind, oder die es werden wollen. für den gewöhnlichen anfänger dürften OO- oder prozedurale sprachen interessanter (und auch geeigneter) sein.
    @Nexus: in C kannste sogar die geschweiften klammern weglassen, naja, zumindest brauchst du nur 2 im ganzen programm, egal wie gross es ist.
    🙂



  • oh nein bitte nicht eine solche sprache empfehlen. Man sollte schon gleich was richtiges lernen.



  • player4245 schrieb:

    oh nein bitte nicht eine solche sprache empfehlen. Man sollte schon gleich was richtiges lernen.

    Was ist denn richtig? Und welche Sprache meinst du?



  • knivil schrieb:

    player4245 schrieb:

    oh nein bitte nicht eine solche sprache empfehlen. Man sollte schon gleich was richtiges lernen.

    Was ist denn richtig? Und welche Sprache meinst du?

    Na, das war so eine Meldung wie "spiel' nicht mit den Schmuddelkindern, davon kriegst Du nur Läuse".

    Ich versuch's nochmal: Nicht jeder, der den Führerschein machen mag, wird F1- Pilot oder will das werden. Also ab in den Golf Diesel mit der Doppelpedalerie, auch wenn das für jeden Rennfahrer unwürdig ist. 🙄

    Dann darf jeder für sich feststellen, wie begabt er ist. Was empfiehlt man als Einsteigerdieselkiste, die einen in der Windowswelt fast überall hin tragen kann? Das war wohl die OP- Frage.



  • entweder ist man programmierer oder man ist keiner. Aber so eine zwischenstufe gibts nicht. Ich mag diese Zusammenklick sprachen einfach nicht. Programmieren sollte nicht einfach dem erstellen eines Bilds gleichen, sondern auch etwas Arbeit machen.



  • player4245 schrieb:

    entweder ist man programmierer oder man ist keiner. Aber so eine zwischenstufe gibts nicht. Ich mag diese Zusammenklick sprachen einfach nicht. Programmieren sollte nicht einfach dem erstellen eines Bilds gleichen, sondern auch etwas Arbeit machen.

    dann nimm zum programmieren das hier: http://www.kibria.de/frhed.html
    damit biste der held im erdbeerfeld. kein albernes zusammenklickern, keine bunte IDE, du musst richtig was drauf haben und 'ne menge arbeit ist dir auch garantiert.
    🙂



  • player4245 schrieb:

    entweder ist man programmierer oder man ist keiner. Aber so eine zwischenstufe gibts nicht. Ich mag diese Zusammenklick sprachen einfach nicht. Programmieren sollte nicht einfach dem erstellen eines Bilds gleichen, sondern auch etwas Arbeit machen.

    Falsch. In der Praxis sollte "Programmieren" nur Ergebnisse liefern und möglichst wenig Arbeit machen.



  • es gibt also kein mittelding entweder man macht sein programm in dem man steuerelemente auf ein fenster zieht, oder man schreibt es mit dem hex editor. Anders gehts nicht?



  • player4245 schrieb:

    es gibt also kein mittelding entweder man macht sein programm in dem man steuerelemente auf ein fenster zieht, oder man schreibt es mit dem hex editor. Anders gehts nicht?

    Wenn man mit dem Zusammenklicken gute Ergebnisse liefern kann: Warum soll man das nicht tun? Spart Arbeit & Zeit.

    Komplexe Sachverhalte zusammen zu klicken wird schwierig, aber solche einfache sachen wie "if - then" oder schleifen kann man doch auch durch das Zusammenklicken ersetzen. Das was nicht zusammengeklickt werden kann, wird gekotet.



  • player4245 schrieb:

    entweder ist man programmierer oder man ist keiner. Aber so eine zwischenstufe gibts nicht. Ich mag diese Zusammenklick sprachen einfach nicht. Programmieren sollte nicht einfach dem erstellen eines Bilds gleichen, sondern auch etwas Arbeit machen.

    Ich mag Zusammenklicksprachen, wenn ich hinterher leichten Zugang zum generierten Code finde.

    Ui, jetzt bin ich kein echter Programmierer mehr huiuiuiuhhh 😮

    Und das stimmt auch, meine mechatronischen Basteleien finden vielleicht zu einem Viertel Würdigung in Software, mir deswegen absprechen zu wollen, mich mit der Programmiererei zu befassen, ist praxisfremd.

    Ich kenne viele Chefs, die sich so halb und halb fit halten, obwohl sie vielleicht zuletzt vor 10 Jahren ihr letztes Projekt komplett selbst ausgearbeitet haben, einfach nur um den Überblick zu behalten, ob sie Blender und Vollpfeifen oder nur dröge Coderacker unterhalten.

    Gelegentlich liefere ich Code zu größeren Sachen zu - mein letzter Ansprechpartner hat in einer Nacht meinen Code, wo ich eine Woche dran saß, völlig zerrissen und (funktionierend!!) neu aufgebaut und mir in kargen Worten erklärt, wie Scheiße ich programmiere 😡 . Der jetzige nölt nur, daß ich vergessen hab, die Doxygen- Doku komplett zu aktualisieren und er jetzt das Interface deswegen nicht verstehen kann. 🙄

    Die Welt ist nicht schwarz oder weiß, das hat G.W. Bush immer noch nicht kapiert, aber es gibt eine Welt der "Halbprogrammierer", die größer ist, als Du denkst - schau' mal ins C++- Unterforum ... 😉



  • knivil schrieb:

    frage ich mich gerade, warum Programmiersprachen fuer Einsteiger immer an natuerlicher Sprache angelehnt sein soll.

    die Begründung ist, weil es mio. Jahren an Evolution kosten würde, bis sich das menschliche Kommunikationsverhalten in natürlicher Weise an den Computer angepaßt hätte.

    So lange können wir nicht warten, und deshalb sollten sich gute Formalismen für die Mensch/Maschinekommunikation an der Mensch/Mensch Kommunikation orientieren und nicht umgekehrt.

    Ebenso wichtig sind allerdings "powerful abstractions" - einfache Ideen skalieren gut, wenn man sie konsequent befolgt.

    Mit "powerful abstractions" allein gelangt man zu Sprachen wie Lisp, C oder Prolog, versucht man zudem noch menschliche Kommunikation nachzubilden (object-message-passing), kommt man zu Sprachen wie Self oder Smalltalk. Ich denke mal, alle diese wären gut geeignet zum Lernen im schulischen Sinn, zum Erlernen von Fenster-Programmierung mit Installer natürlich eher nicht (mit Ausnahme von C).

    knivil schrieb:

    gerade weil z.B. die for-Schleife eher selten im normalen Sprachgebrauch verwendet wird.

    die for-Schleife ist ja auch bei Lichte betrachtet ein Relikt aus der Zeit, als Assembler und der bedingte Sprung Stand der Technik waren. Die passende Abstraktion ist die wiederholte Anwendung eines Codeblocks auf die Elemente einer aufzählbaren Datenstruktur.


Anmelden zum Antworten