welche sprache als neuling lernen?



  • hallo
    ich möchte gerne programmieren lernen
    aber ich weis nicht mit welcher sprache das am besten geht
    eigentlich wollte ich c++ lernen aber ich glaube da sollte
    man am besten etwas leichteres davor können.

    könnt ihr mir auch ein paar nützliche einsteiger bücher posten?



  • Mit C++ direkt anfangen.



  • So ging es bei mir :

    - Batch-Skripte zur Automatisierung von bestimmten Abläufen
    - Delphi (-> omg ist das kompliziert 👎 )
    - Visual Basic (-> für kleine Projekte gehts ja noch 😞 )
    - Visual Basic.Net & C# (ist imho ganz ähnlich) -> hmm nicht übel, aber nach einer Weile braucht man grössere Werkzeuge :p
    - (Managed) C++ (-> ganz gut, bis auf die etwas komische Syntax 😮 )
    - ein wenig Assembler mit NASM; Bootloader, SSE, inlineasm (-> kann mal nützlich sein & zeigt, wie die Dinge wirklich ablaufen... 💡 )
    - C++/CLI Whidbey Beta (-> hier bin ich jez; macht nen heiden Spass 🤡 )

    Ich würde empfehlen mit Vb.Net oder C# anzufangen. Dort hast du eine gute Standartbibliothek und viele Beispiele im Netz. Imho spielt es keine Rolle, welches von beiden, da die einander _sehr_ ähneln. Delphi ist zu kompliziert für das, was man bekommt (ok, andere Leute sind vielleicht anderer Meinung).
    C++ empfehle ich nur, wenn du schon Erfahrung mit anderen Programmiersprachen hast.



  • public enemy schrieb:

    So ging es bei mir :

    - Batch-Skripte zur Automatisierung von bestimmten Abläufen

    geile Programmiersprache 👍

    - Delphi (-> omg ist das kompliziert 👎 )

    Immer noch 1000 mal besser als:

    - Visual Basic (-> für kleine Projekte gehts ja noch 😞 )

    (Wenn man es gerafft hat)



  • el1se schrieb:

    Mit C++ direkt anfangen.

    meine meinung 😉



  • Besserwisser schrieb:

    public enemy schrieb:

    So ging es bei mir :

    - Batch-Skripte zur Automatisierung von bestimmten Abläufen

    geile Programmiersprache 👍

    hmm... zum Glück hab ich ja nicht gesagt, dass Batch eine Programmiersprache ist... 🙄



  • Ich würde dir zu Java raten, ist zwar auch nicht ganz so leicht wie die zahlreichen BASIC-Dialekte, aber bei Weitem nicht so kompliziert wie C++. Auf Grund der Ähnlichkeit sollte die Umstellung auf C++ später auch nicht so schwer fallen, außerdem gewöhnt man sich an die strikte Anwendung von OOP.

    Desweiteren sprich für Java, dass erstmal keine Kosten anfallen, da SDK und zahlreiche kostenlose Tutorials im Internet vorhanden sind. IMHO lernt man Java auch schneller und kann nach wenigen Wochen schon richtige Programme schreiben, Erfolgsmomente sind für Anfänger besonders wichtig.

    Ich habe ja nach kurzer Erfahrung mit QBasic gleich mit C++ angefangen und es war echt hart, weil die Sprache schon recht komplex ist und einem erst spät Erfolgsmomente verschafft, deshalb rate ich zu Java.



  • Michamab schrieb:

    außerdem gewöhnt man sich an die strikte Anwendung von OOP

    ...was ein sehr zentrales Element der "modernen" Programmierung ist. Wenn du etwas grösseres zusammenbauen willst kommst du eigentlich nicht darum herum. Die meisten Sprachen die OOP unterstützen erscheinen ganz logisch, wenn man das Prinzip mal begriffen hat.



  • Hi

    Geht man davon aus das du bis jetzt noch keine Programmierkenntnisse
    besitzt solltest du erstmal lieber etwas einfaches machen wie Pascal oder QBasic 😉 Ich würde aber dann zu Pascal raten da dort auch Anfänger schnell etwas programmieren können. Wenn du dann schon ein bisle Erfahrung so gemacht hast kannst du dich ja dann mal mit einem guten Buch an C++ ranmachen.
    Mit viel Motivation und Willen schaffst du das locker ^^

    mfg



  • Fang mit Brainfuck an



  • Wer zuerst mit prozeduralen Sprachkonzepten beginnt (und vielleicht sich sogar sowas wie goto angewöhnt), hat es sehr schwer, sich in die objektorientierte Programmierung einzuarbeiten.
    Delphi und VB sind nette Spielereien für die Programmierung nebenbei. Ernsthafte Projekte sind fast immer in C/C++ geschrieben.

    Deshalb: C++ zuerst.

    Blackbird



  • Ich würde auch sagen erst eine OO-Sprache und erst dann was funktionales und was logisches.
    Welche genau ist IMHO nicht ganz so wichtig, nur sollte es keine der mischsprachen Funktional/OO (Scala, etc.) oder OO/Logisch (JMatch, etc.), da das Anfänger ziemlich überfordern dürfte, zumal die Texte zu deisen Sprachen meist vorraussetzen, das man beide Paradigmen beherscht.



  • Also Leuten die noch nie programmiert haben, würde ich Pascal empfehlen. Es geht ja erstmal darum zu lernen was Programmierung überhaupt ist. Klassen,Zeiger,uws. kann man später immer noch dazu lernen.

    PS: Ist nur meine persönliche Meinung. Es gibt bestimmt 1000de die gleich mit C++ angefangen haben und damit recht erfolgreich sind.

    @Blackbird, goto sollte man aber eigendlich in keiner Sprache verwenden 🙂



  • Blackbird schrieb:

    Wer zuerst mit prozeduralen Sprachkonzepten beginnt (und vielleicht sich sogar sowas wie goto angewöhnt), hat es sehr schwer, sich in die objektorientierte Programmierung einzuarbeiten.

    Wer zuerst mit einer objektorientierten Sprache beginnt, wird
    es schwer haben die Vorteile richtig einzuschätzen.
    Wer aber mal ein grosses Projekt in einer prozeduralen Sprache
    geschrieben hat und dann mit Objektorientierung anfängt
    sieht sofort das riesige Potenzial.
    Andererseits programmiert eh kein Anfänger objektorientiert -
    auch wenn er/sie mit Java/C#/C++ anfängt.

    Jockel



  • Blackbird schrieb:

    Ernsthafte Projekte sind fast immer in C/C++ geschrieben.

    Deshalb: C++ zuerst.

    Wo hast du denn diesen Blödsinn her? Was ist denn für dich ein "ernsthaftes Projekt" bitteschön?
    Muss das gleich ein Betriebssystem sein?

    Jockelx schrieb:

    Wer aber mal ein grosses Projekt in einer prozeduralen Sprache
    geschrieben hat und dann mit Objektorientierung anfängt
    sieht sofort das riesige Potenzial.

    Ja, ganz genau. So wird es wohl sein. Jemand der ein größeres Projekt prozedural auf die Beine gestellt hat und ganz offensichtlich damit klar gekommen ist, wird sich nicht irgendwie erst fragen "wozu brauche ich klassen, vererbung und polymorphie?". Der wird sofort denken "hey yo, das hab ich schon immer gebraucht".

    Nene, da täuscht du dich.



  • Optimizer schrieb:

    Nene, da täuscht du dich.

    Okay, bei mir war es so, aber vielleicht sollte ich das nicht verallgemeinern.
    Aber ich denke du wirst mir im Folgenden zustimmen:
    Ein normales OOP-Buch kommt nach c.a. 100-Seiten for-Schleifen Beschreibung
    zu diesem Beispielcode:

    class GeomObjekt
    {
      void malMich();
    }
    class Dreieck : GeomObjekt.....
    class Viereck : GeomObjekt.....
    

    Je nach Instanz wird ein Drei-oder-Viereck gemalt.
    Schön. Nächstes Kapitel.
    Was soll man damit anfangen, wenn man bisher nur "Drucken Sie 100 mal
    'Hallo Welt' auf dem Bildschrim" - Aufgaben hatte?
    Ich denke das es relativ egal ist, ob man mit einer objektorientierten
    Sprache anfängt, oder nicht. Genutzt wird das Konzept eh nicht.

    Jockel



  • @masgajob
    Schau Dir mal C# an.

    Blackbird schrieb:

    Ernsthafte Projekte sind fast immer in C/C++ geschrieben.

    Quellen?



  • @Noodles,

    die Firma, das Aufgabengebiet (Telekommunication, Automatisierung, Energietechnik, ...) und die zahlreichen großen und kleinen Projekte mit anderen ähnlich großen Firmen wie Sony, Thompson, Philips, Nokia, Hewlett Packard, Bosch, Dd.Telekon, Telefonica, ... und und und.
    Da schreibt keiner was für OS wie Windows oder Linux was. ALles OS, die entweder proprietär sind oder pSOS, VxWorks oder sonstwie heißen. Eben Industrie. Und die Menge an Produkt-Software, Entwicklungs-Tools und Support-Software, die dafür gebraucht wird, ist auch alles in C/C++ geschrieben. Sonst wird sie (fast) nicht eingesetzt. Und alles in Allem ist das eine gigantische Menge an **C/C++-**Software.

    Und da ich nicht als Einsiedler auf einem Berg lebe, sondern wie jeder andere Mensch auch über Verwandte, Bekannte, Kollegen (in anderen Firmen) die "Entwicklerlandschaft" weltweit ein wenig kenne, komme ich eben zu dieser Aussage.
    OK, das "ernsthaft" bezieht sich auch auf andere (Programmier-)Gebiete, das ist so nicht korrekt von mir. Mir war daran gelegen, die Menge an Software, die in C/C++ geschrieben wird, hervorzuheben.

    Alle Studenten, Praktikanten, Neulinge MÜSSEN C/C++ beherrschen, sonst haben sie keine Chance.

    Ein Spiel, ein PlugIn, eine Windows-Anwendung, ein Linux-Tool, eine Web-App, das kann man alleine oder im kleinen Team immer mit der Sprache machen, wie es einem gefällt.
    Wenn die Teams aber so 200 und mehr Member groß sind, die Umsätze die Millionengrenzen weit überschreiten, dann gelten andere Spielregeln. Und die werden dann auch für kleinere Projekte, bis hin zu 1-Mann-Projekten eingehalten.
    In 20 Jahren Programmiererei ist ein (1!) Projekt in Delphi, 2 und 2 halbe in VB, KEINS in PASCAL erstellt worden. C/C++ so an die 150. Java, Perl, usw. werden in ersten Linie zum schnellen Entwickeln von Support-Tools verwendet, weil da der Änderungsaufwand sehr hoch ist und diese Software fast immer für die Produktion NICHT gebraucht wird.

    @Optimizer,
    muß denn jeder alle Fehler wiederholen?

    Blackbird
    PS: Wer ist blos auf die blöde Idee gekommen, im Informatikunterricht der Schulen PASCAL zu lehren?



  • hi

    @Blackbird: genau das habe ich mich auch immer gefragt warum die Schulen kein C++ anbieten ..... immer nur HTML/Pascal oder Delphi 😡
    Auf meinem Gym ist das auch so 😞
    Bestimmt ist den Lehrern diese Sprache selber zu schwer aus dem Grund unterrichten sie lieber etwas was sie auch erklären können 😉

    mfg



  • public enemy schrieb:

    hmm... zum Glück hab ich ja nicht gesagt, dass Batch eine Programmiersprache ist... 🙄

    warum eigentlich nicht?
    unter winxp sollte jeder mal "help for" eintippen. es hat sich einiges geändert.


Log in to reply