Empfehlung für eine Programmiersprache?



  • ich hab mit qbasic angefangen 🙂



  • @Sprachfanatiker: Was willst Du damit sagen? Dass man immer mit Java anfangen soll?



  • Ich habe mit BASIC angefangen, später Pascal, Visual Basic, VBA, Javascript, C, C++, Java, C#, später Assembler. Mir liegt C++ immer noch am meisten, vielleicht nur, weil ich mich etwas intensiver damit auseinander gesetzt habe.



  • hehe, pascal war auch meine zweite 🙂



  • Ich hab mit M68K Assembler angefangen, bin dann nach 3 Jahren zu C und kurz darauf zu C++ gewechselt. Mit der Ausbildung kam dann WinAPI und MFC dazu, heute ist viel C# angesagt.

    Die Sprache sollte an sich garnicht so die Rolle spielen. C++ würde ich jemanden nur empfehlen, wenn ich den Eindruck habe, das die Person auch in der Lage ist alleine zu lernen, sich Informationen zusammen zu suchen und sich auch mal mit einem Thema tiefergründig zu beschäftigen. Informationsbeschaffung ist einfach ein entscheidendes kriterium.

    Wie in vielen Dingen auch wird es hier wohl keine eindeutige Empfehlung geben. Viel mehr sollte man schauen, was die Zielperson für interessen hat und sich darauf ein wenig einstimmen. Wichtig ist doch der anreiz, das jemand an dem was er da macht wirklich interesse hat um weiter zu machen und nicht einfach halbherzig an die Sachen herann geht.

    Einen meiner Auszubildenden lasse ich C++ lernen - er möchte die dinge sehr genau wissen und setzt sich auch intensiv mit dem Thema auseinander.

    Ein anderer Azubi macht lediglich Visual Basic. Sein interesse besteht mehr darin schnell Anwendungen zu entwickeln und wenig in die tiefen zu gehen.

    Ein Kollege lässt sein Azubi mit Java anfangen, weil er ein hohes interesse an Programmen für sein Handy hat.

    Der 4. Azubi bastelt (noch) mit PHP rum, er interessiert sich für Webseiten.

    Somit bekommt jeder den Bereich, der für ihn besonders interessiert und die Azubis sind hoch motiviert ihre selbst gesteckten Ziele zu erreichen. Sie suchen sich die Informationen selbst zusammen und wollen bei Problemen nur einen kleinen Schubs in die richtige Richtung haben, auf keinen Fall aber eine fertige Lösung.

    Das ganze lässt man sie ein bis zwei Jahre lang machen (wobei der VB Mensch ab und an mal eine Kunstaufgabe dazwischen geschoben bekommt weil er zu oberflächlich wird) und sorgt dafür, das die Ergebnisse immer mehr in den Firmenalltag passen. Die Jungs haben sich aber die Grundlagen angelernt und haben mit das wichtigste gelernt: Sich Informationen zu beschaffen, die Dokumentation und Referenzen zu lesen und nicht gleich das Handtuch zu werfen, wenn es mal etwas komplizierter wird.

    Würde ich allen 4en z.B. C++ aufdrücken, würden 3 resignieren und auf dem Level "Ich will es nicht verstehen, ich will einfach nur eine funktionierende Lösung zum kopieren haben" bleiben, sich nie ernsthaft Informationen beschaffen.

    Die Sprache ist dann richtig, wenn der Lernwillige sein interessen Gebiet zügig abdecken kann. Das bei den Grundlagen nichts verschüttet geht, bekommt man mit der Zeit schon hin. Die Aufgaben müssen halt ein wenig Modifiziert werden wenns zu einfach wird.



  • @Henkes, Knuddlbaer: so soll ich ja auch sein, wenn man auf das Individuum eingehen kann, dann sollte jeder die Möglichkeit haben die für ihn optimale Sprache zu wählen. Wie ich zuvor schon sagte finde ich für große Lehrveranstaltungen C++ ungeeignet, aus Gründen die ich schon erwähnt habe und würde dort Java einsetzen.



  • Ich denke auch, dass Interesse, Bewältigung von Herausforderungen und Erfolgserlebnisse im Zentrum stehen sollten. Es spricht allerdings Bände, dass der Azubi mit dem höchsten Tiefgang C++ programmieren darf. 👍

    Auf der anderen Seite muss man erkennen, dass C++ gewaltige didaktische Probleme hat. Es ist keine Sprache für die Masse.



  • für didaktische zwecke sind sprachen geeignet, die unter einem sehr rigiden paradigma entwickelt wurden. smalltalk zum beispiel. für die praxis ist es aber eigentlich wesentlich sinnvoller, eine sprache mit hohem verbreitungsgrad und nutzwert zu verwenden. und da bleiben meiner ansicht nach derzeit nur c++ und java übrig.



  • Wieso wird eigentlich nicht Ada gelehrt? Die Sprache bietet so ziemlich alles, was man braucht. Von einfachen Konstrukten, über OOP, eine sehr fortschrittliche Möglichkeit zum Erzeugen von multithreading Anwendungen sowie "gefährlichere" Dinge, wie das rumrödeln auf Pointern.
    Dazu kommt, dass Anfängerprogramme die der Compiler übersetzt hat, sehr wahrscheinlich auch laufen werden. Außerdem zwingt einen die Sprache, sich schon sehr früh Gedanken über die Wahl der richtigen Typen zu machen.
    Schade, dass die Sprache am aussterben ist, und dass daraus resultierend die zur Verfügung stehenden Tools leider ziemlich mäßig sind.





  • http://www.stsc.hill.af.mil/CrossTalk/2008/01/0801DewarSchonberg.html

    @byto: Informatik lernt man nicht, um danach Codemonkey zu werden.



  • .filmor schrieb:

    @byto: Informatik lernt man nicht, um danach Codemonkey zu werden.

    Korrekt, aber was hat das mit dem von mir geposteten Link zu tun?



  • Hi,

    was spricht eigentlich dagegen, wenn ein Anfänger C++ in der Form C mit Klassen lernt?
    Das Ziel bei einem Anfänger der beim Studium oder in der Schule eine Programmiersprache lernt ist doch nicht, daß er eine Sprache komplett von vorne bis hinten lernt. Diese Notwendigkeit besteht doch eigentlich nur für Compilerbauer.
    Das Ziel muß doch sein, daß der Anfänger die wesentlichen Grundstrukturen und Konstrukte von Sprachen lernt, daß er auch mit Zeigern was anfangen kann und daß er die Grundlagen von OOP lernt. Wenn man ihm dann noch die wichtigsten Grundlagen von Templates beibringt, dann hat er eine Grundlagem, mit der er selbst weitermachen kann.
    Vor allem muß er absolut sicher sein was die Unterschiede zwischen einem Zeiger, einer Referenz und einer Variable sind, und er muß genau wissen, wann er was als Resultat einer Funktion zurückgeben muß.
    Wichtiger als alle Feinheiten der Sprache zu kennen ist doch, ein gewisses Subset der Sprache zu kennen, mit denen man sich ergebende Aufgaben meistern kann. Die ganzen vielen Feinheiten von C++ sind doch letztlich nur Mittel zum Zweck, um etwas übersichtlicher oder effizienter zu machen. Aber nötig um ein Problem zu lösen sind sie nicht (das beste Beispiel dafür ist die Tatsache, daß es C++Präcompiler gab die aus C++ erst C gemacht haben.
    Wichtiger als syntaktische Feinheiten ist ein solides Handwerkszeug. Kunst kommt immer noch von Können, auch Programmierkunst. Was nützt es wenn einer alle Feinheiten von C++ beherrscht, aber scheitert, wenn er einen Zeiger auf ein Feld von Zeigern findet.
    C++ und Java sind auf Grund ihrer Ähnlichkeit zu verwechslungsträchtig, das bringt kein Anfänger sicher gebacken, was nun was ist.
    Was sich aus meiner Sicht aber als Multiparadigmensprache zur Ergänzung zu Java recht gut eignen würde ist Delphi. Da ist eine gute Sprachunterstützung vorhanden, es gibt die Programmierumgebungen als Turbo-Explorer zum Nulltarif und es gibt eine sehr gute GUI mit kompletten Quellcode und der Möglichkeit, davon eigene Klassen abzuleiten und dabei viel über OOP zu lernen.

    Gruß Mümmel



  • Tachyon schrieb:

    Wieso wird eigentlich nicht Ada gelehrt? Die Sprache bietet so ziemlich alles, was man braucht. Von einfachen Konstrukten, über OOP, eine sehr fortschrittliche Möglichkeit zum Erzeugen von multithreading Anwendungen sowie "gefährlichere" Dinge, wie das rumrödeln auf Pointern.
    Dazu kommt, dass Anfängerprogramme die der Compiler übersetzt hat, sehr wahrscheinlich auch laufen werden. Außerdem zwingt einen die Sprache, sich schon sehr früh Gedanken über die Wahl der richtigen Typen zu machen.
    Schade, dass die Sprache am aussterben ist, und dass daraus resultierend die zur Verfügung stehenden Tools leider ziemlich mäßig sind.

    Du propagierst hier doch nur Ada weil Knuth Ada benutzt 😃 😉



  • Ich kenn dich! schrieb:

    Tachyon schrieb:

    Wieso wird eigentlich nicht Ada gelehrt? Die Sprache bietet so ziemlich alles, was man braucht. Von einfachen Konstrukten, über OOP, eine sehr fortschrittliche Möglichkeit zum Erzeugen von multithreading Anwendungen sowie "gefährlichere" Dinge, wie das rumrödeln auf Pointern.
    Dazu kommt, dass Anfängerprogramme die der Compiler übersetzt hat, sehr wahrscheinlich auch laufen werden. Außerdem zwingt einen die Sprache, sich schon sehr früh Gedanken über die Wahl der richtigen Typen zu machen.
    Schade, dass die Sprache am aussterben ist, und dass daraus resultierend die zur Verfügung stehenden Tools leider ziemlich mäßig sind.

    Du propagierst hier doch nur Ada weil Knuth Ada benutzt 😃 😉

    Wer ist Knuth? Ich programmiere Ada nur für Uschi! :p



  • byto schrieb:

    .filmor schrieb:

    @byto: Informatik lernt man nicht, um danach Codemonkey zu werden.

    Korrekt, aber was hat das mit dem von mir geposteten Link zu tun?

    Was haben dann Job Postings mit diesem Thema hier zu tun?



  • muemmel schrieb:

    was spricht eigentlich dagegen, wenn ein Anfänger C++ in der Form C mit Klassen lernt?
    Das Ziel bei einem Anfänger der beim Studium oder in der Schule eine Programmiersprache lernt ist doch nicht, daß er eine Sprache komplett von vorne bis hinten lernt. Diese Notwendigkeit besteht doch eigentlich nur für Compilerbauer.

    Nicht desto trotz wird eine Sprache vermittelt. Und wenn man C++ wählt ist das eben nicht C mit Klassen. Es geht nicht darum das man die Sprache gänzlich durchkaut, aber wenn eine Sprache gewählt wird, dann sollte dies wenigstens so konsequent sein, das man eine "übliche" Programmierform in der Sprache gezeigt bekommt (Dabei aber durchaus einige Spezialgebiete auslässt).

    cu André



  • Hi André,

    vermutlich gibt es viel mehr Programmierer für die C++ nichts anderes ist als C mit Klassen als Du dnekst. Vor allem unter denen die noch vom alten C kommen.
    Letztlich, warum auch nicht, wenns das Problem löst.

    Gruß Mümmel



  • .filmor schrieb:

    byto schrieb:

    .filmor schrieb:

    @byto: Informatik lernt man nicht, um danach Codemonkey zu werden.

    Korrekt, aber was hat das mit dem von mir geposteten Link zu tun?

    Was haben dann Job Postings mit diesem Thema hier zu tun?

    Die Grafik zeigt Job Trends in den USA. Davon können Rückschlüsse auf die Entwicklung der Relevanz dieser Sprachen gezogen werden.



  • Was aber keinerlei Rückschlüsse darauf zulässt, wie sinnvoll es ist, eine solche Sprache als Lehrsprache einzusetzen.


Anmelden zum Antworten