welche sprache als neuling lernen?



  • 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.



  • Michamab schrieb:

    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++.

    aber wozu mit ner toten sprache anfangen?

    Auf Grund der Ähnlichkeit sollte die Umstellung auf C++ später auch nicht so schwer fallen,

    ähm. du nicht kapiert haben, daß die ähnlichkeit das problem ist! wegen der ähnlichkeit zu c++ darf man nicht vor c++ java oder c lernen. die leute, die von c umsteigen sind die größten knallköppe, sie wollen einfach keinen einfachen code schreiben. das dauert jahre, denen einiges an c-mist wieder austzutreiben. und mit java ist es noch schlimmer. er schreibt sich in der tat klassen, die so verwendet werden sollen:

    BigInt x=0;
       cin>>x;
       BigInt y=0;
       y.assign(Math.Sqrt().calc(x));
    

    und wenn man ihm sagt, überlade dich den op=, sagt er, daß die methodenschreibweise viel mehr oo sei. und wenn man ihm sagt, sqrt ist inhaltlich ne funktion und keine klasse, sagt er, daß die klasse viel mehr oo sei.

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

    ja, genau diese krankheit meine ich.

    Desweiteren sprich für Java, dass erstmal keine Kosten anfallen, da SDK und zahlreiche kostenlose Tutorials im Internet vorhanden sind.

    c++ hat auch keine. das mingwstudio ist kostenlos und viele tuts findet man hier.

    IMHO lernt man Java auch schneller und kann nach wenigen Wochen schon richtige Programme schreiben, Erfolgsmomente sind für Anfänger besonders wichtig.

    das ist in der tat ein punkt für java.

    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.

    qbasic war ne gute grundlage vor c++.
    hart? eigentlich ist nicht c++ hart, sondern das programmieren an sich.



  • Was habt ihr eigentlich alle für tolle Schulen?

    Bei uns ist man da eh nicht so weit gekommen, dass
    Unterschiede zwischen meinetwegen Pascal und c++ so deutlich
    geworden wären.
    Ausserdem ist das Beherschen mehrerer Sprachen von grossem
    Vorteil. Ich kenne zumindest niemanden, der wirklich gut ist,
    aber nur eine Sprache kann. Mag aber sicherlich Ausnahmen geben.

    Jockel



  • Blackbird schrieb:

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

    Diese Aussage halte ich für ziemlich allgemein.
    Denn es gibt durchaus Firmen, die Sprachen wie VB 6.0, VB.NET, C# oder Java haben wollen, da hat man dann durchaus eine Chance auch ohne C/C++.



  • volkard schrieb:

    die leute, die von c umsteigen sind die größten knallköppe, sie wollen einfach keinen einfachen code schreiben. das dauert jahre, denen einiges an c-mist wieder austzutreiben.

    Hast du gleich mit C++ angefangen?

    und wenn man ihm sagt, überlade dich den op=, sagt er, daß die methodenschreibweise viel mehr oo sei. und wenn man ihm sagt, sqrt ist inhaltlich ne funktion und keine klasse, sagt er, daß die klasse viel mehr oo sei.

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

    ja, genau diese krankheit meine ich.

    Das hat IMHO nichts mit der Sprache zu tun, mit der man anfängt. Sondern mit geistiger Beweglichkeit. Ein Knallkopp, der mit C++ anfängt, bleibt trotzdem ein Knallkopp.

    Ich glaube, die ganze Debatte, mit welcher Sprache man am pädagogisch sinnvollsten anfängt (das fängt mit Dijkstra an, nach dem Studenten, die schonmal Kontakt mit Basic ausgesetzt waren, irreparabel verkorkst seien), existiert nur, weil Lehrende irgendeinen Sündenbock für ihre nichts raffenden Studenten/Schüler suchen.



  • Bashar schrieb:

    Hast du gleich mit C++ angefangen?

    nee, mit basic. und zwar nem echten, wo es keine lokalen variablen gab.

    Ich glaube, die ganze Debatte, mit welcher Sprache man am pädagogisch sinnvollsten anfängt (das fängt mit Dijkstra an, nach dem Studenten, die schonmal Kontakt mit Basic ausgesetzt waren, irreparabel verkorkst seien), existiert nur, weil Lehrende irgendeinen Sündenbock für ihre nichts raffenden Studenten/Schüler suchen.

    die leute, denen es nicht schadet, vor c++ c un java zu machen, brauchen eh keinen lehrenden. und sie sind selten. (dankert ist so einer, weshalb er auch c vor c++ empfiehlt.)
    normalen leuten schadet es. hängt natürlich auch davon ab, was man als schaden bezeichnet. ich versuche sowas wie nen schönen stil zu schrieben, wo alle funktionen möglichst klein und einfach sind und so. den code von john carmack finde ich zum kotzen. andere finden ihn toll und würden meinen zum kotzen finden.



  • Noodles schrieb:

    Blackbird schrieb:

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

    Diese Aussage halte ich für ziemlich allgemein.
    Denn es gibt durchaus Firmen, die Sprachen wie VB 6.0, VB.NET, C# oder Java haben wollen, da hat man dann durchaus eine Chance auch ohne C/C++.

    Die Aussage bezog sich auf meine Firma. Zusatzwissen (und auch das Anwenden anderer Sprachen) ist immer von Vorteil.

    Blackbird



  • @Blackbird: Du laberst ja mal echt zu viel Scheiße



  • Ich finde, es kommt immer stark drauf an, was man tun will.

    Bin ich der Hardcore Hacker, der die übelst performanzabhängigen Teile der superwichtigen Megasteuerung schreibt, dann sollte man die Hochsprache am besten selbst entworfen haben und die Übersetzung auf Maschinenbefehle, sowie die Ausführungszeit jeder einzelnen Instruktion auf der Maschine genau kennen.

    Ansonsten sollte man sich meines Erachtens aber nicht so sehr auf die Sprache (Syntax), sondern eher auf die Konzepte (Semantik) konzentrieren. Wenn man letztere kennt, ists doch eigentlich egal in welcher Sprache man programmiert.

    Beim Lernen ist es natürlich schwierig zu sagen was am besten für den Anfang ist. Ich persönlich habe mit einer Vorlesung angefangen, in der wir jede Übung in einer anderen Sprache (Fortran, C, Modula, Lisp, Java, ...) geschrieben haben. Du musstet meist ein Programm ausbauen und es ging eher darum Konzepte zu verstehen, als sofort eigenständig Programme zu schreiben. Das hatte eben dann den Effekt, dass man sich nicht von vorne herein auf eine Sprache eingeschossen hat. Aber die meisten haben wohl keine Lust bis zum Studium zu warten. Ich finde für den Einstieg C ganz cool. Dass ist hardwarenah und Du programmierst so wie Dein Computer funktioniert. Soll heissen, Du musst nicht so viele theoretischen Konzepte lernen um die Sprache richtig einzusetzen.

    Jetzt ist es mir eigentlich egal in welcher Sprache ich programmiere, da ich weiß, dass ich mich innerhalb kürzester Zeit in jede Sprache einarbeiten kann.


Anmelden zum Antworten