Ergebnis 1 bis 20 von 27

Thema: Programmieranfänger, mit was am besten anfangen?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Zitat Zitat von Mog Beitrag anzeigen
    Auch in diesem Fall würde ich erst in einem Gespräch herausfinden, was du dir vom Programmieren erwartest und was du in Zukunft gedenkst zu programmieren. Moment mal: Rekursion?^^

    Schießlich geht es nicht darum einfach irgendwie programmieren zu lernen: Es geht dabei gleichzeitig so viel wie möglich davon mitzunehmen. Wie ne Schleife funktioniert, lernt man überall. Aber, nachdem man den absoluten Basis-Kram durch hat - und das geht sehr schnell - geht es ja bereits darum Bibliotheken kennen zu lernen.
    Ich kann es mir nicht vorstellen, dass ein Anfänger schon weiß was er in Zukunft programmieren will. Wirklich nicht. Wenn ich mich an meine Anfangszeit zurück erinnere, hatte ich keine Ahnung was möglich ist oder was Programmierung überhaupt bedeutet. Wenn jemand von Bibliotheken sprach, verstand ich nur Bahnhof. Das ist der Punkt auf den ich hinaus will. Als Anfänger möchte man erst nur den "Basis-Kram" lernen und sich erstmal von der Welt des Programmierens ein Bild machen. Von Bibliotheken will man, zumindest meiner Erfahrung nach, nichts wissen. Das erste mal hatte ich mit Bibliotheken zu tun (zumindest bewusst), als ich schon relativ weit mit C++ war.
    Du siehst das nun aus einer völlig anderen Perspektive, du bist routiniert, hast Erfahrung und Überblick, ich kann auch deine Gedankengänge nachvollziehen. Ich finde nur, dass du etwas übers Ziel hinausschießt, bei einer simplen Frage eines Anfängers nach einer einsteigerfreundlichen Programmiersprache, und eine Analyse der Vorstellungen des Anfängers hier nicht zwingend nötig ist. Jede simple Programmiersprache (VB, JS, Python, etc) wird für den Anfang ausreichen und sobald man den "Basis-Kram" durch hat, kann man gezielter vorgehen und sich eine Programmiersprache suchen, die auf die Bedürfnisse besser zugeschnitten ist und die dann auch anspruchsvoller ausfallen darf.

    Naja, wie dem auch sein, es soll ja Menschen geben, die anderer Meinung sind.

    Zitat Zitat von Mog Beitrag anzeigen
    systemspezifische ifdefs brauchst du nur, wenn du Abstraktionsbibliotheken schreibst. Ich möchte behaupten, dass die Meisten leute die das machen eine schlechte Bibliothekswahl getroffen haben, oder eben eine grundlegende schreiben.
    Bei C/C++ brauche ich #ifdefs sobald ich den ANSI Standard verlasse. Filesystem, Netzwerk, Compiler, Betriebssystem, um Beispiele zu nennen wo ich in der Vergangenheit abstrahieren musste. Wobei der Fakt, dass viele Betriebssysteme auf POSIX aufbauen, bzw. es unterstützen schon einiges erleichtert.
    Der Punkt ist jedenfalls, dass die mitgelieferten Module in Python mir diese Arbeit schon im Großen und Ganzen abnehmen.
    Um es nochmal zu sagen: Ich schreibe einmal den Code und kann ihn auf den vielen unterstützten Betriebssystemen ausführen ohne irgendwas zu ändern, mich um Third-Party-Bibliotheken kümmern zu müssen oder sonstwas.
    Das habe ich mit portablem Pythoncode gemeint und nur deswegen angesprochen, da ich dachte, du hättest mich missverstanden. Wenn das nicht der Fall ist, ist die Sache gegessen.

    Zitat Zitat von Mog Beitrag anzeigen
    C-Entwickler achten einfach automatisch auf Dinge, die mans sonst gerne ignoriert.
    Was mir hierzu spontan einfallen würde, wäre rein optimierungsbezogen, basierend auf mehr Hintergrundwissen im Kontrast zu dem Otto Normal-High-Level-Programmierer.

    Zitat Zitat von drunken monkey Beitrag anzeigen
    Das wird dir für eine Library aber nichts nützen. o_O' Sie werden auf jeden Fall weiterhin Python-spezifisch sein, während sie in C nicht nur (meist) bezogen aufs OS, sondern dank Bindings auch auf die Sprache portabel sind.
    Dass man außerdem gerade bei Bibliotheken halbwegs auf Perfromance achten wird/sollte, und daher C von Natur aus geeigneter ist als Python, kommt noch dazu. Also gerade bei Bibliotheken hat C eindeutig die besten Karten.
    Ich habe seinen ausgeklammerten Satz nur deswegen kommentiert, weil ich annahm, er bezog sich dabei auf meine Aussage, dass Pythoncode portabel ist und ich dachte er hätte mich missverstanden. Ich bezog mich dabei nicht auf Bibliotheken, sondern auf den Programmcode an sich.

  2. #2
    Zitat Zitat von Kyuu Beitrag anzeigen
    Ich kann es mir nicht vorstellen, dass ein Anfänger schon weiß was er in Zukunft programmieren will. Wirklich nicht. Wenn ich mich an meine Anfangszeit zurück erinnere, hatte ich keine Ahnung was möglich ist oder was Programmierung überhaupt bedeutet. Wenn jemand von Bibliotheken sprach, verstand ich nur Bahnhof. Das ist der Punkt auf den ich hinaus will. Als Anfänger möchte man erst nur den "Basis-Kram" lernen und sich erstmal von der Welt des Programmierens ein Bild machen. Von Bibliotheken will man, zumindest meiner Erfahrung nach, nichts wissen. Das erste mal hatte ich mit Bibliotheken zu tun (zumindest bewusst), als ich schon relativ weit mit C++ war.
    Du siehst das nun aus einer völlig anderen Perspektive, du bist routiniert, hast Erfahrung und Überblick, ich kann auch deine Gedankengänge nachvollziehen. Ich finde nur, dass du etwas übers Ziel hinausschießt, bei einer simplen Frage eines Anfängers nach einer einsteigerfreundlichen Programmiersprache, und eine Analyse der Vorstellungen des Anfängers hier nicht zwingend nötig ist. Jede simple Programmiersprache (VB, JS, Python, etc) wird für den Anfang ausreichen und sobald man den "Basis-Kram" durch hat, kann man gezielter vorgehen und sich eine Programmiersprache suchen, die auf die Bedürfnisse besser zugeschnitten ist und die dann auch anspruchsvoller ausfallen darf.

    Naja, wie dem auch sein, es soll ja Menschen geben, die anderer Meinung sind.
    Ich habe nur sachen aufgelistet, die man bedenken muss und dabei noch betont, dass ich je nach dem etwas empfehle. Das kann man recht leicht, wenn man einfach ein bisschen fragt. Je nach dem kann man ja auch die groben Sparten aufzählen. Wenn man das geschickt macht, dann geht das auch ganz unfachlich. Ein Arzt kannd ir ja auch erklären, was dich umbringt. vorallem Dr. House. Allerdings lacht der dich gleichzeitig aus. :/



    Zitat Zitat
    Bei C/C++ brauche ich #ifdefs sobald ich den ANSI Standard verlasse. Filesystem, Netzwerk, Compiler, Betriebssystem, um Beispiele zu nennen wo ich in der Vergangenheit abstrahieren musste. Wobei der Fakt, dass viele Betriebssysteme auf POSIX aufbauen, bzw. es unterstützen schon einiges erleichtert.
    Der Punkt ist jedenfalls, dass die mitgelieferten Module in Python mir diese Arbeit schon im Großen und Ganzen abnehmen.
    Um es nochmal zu sagen: Ich schreibe einmal den Code und kann ihn auf den vielen unterstützten Betriebssystemen ausführen ohne irgendwas zu ändern, mich um Third-Party-Bibliotheken kümmern zu müssen oder sonstwas.
    Das habe ich mit portablem Pythoncode gemeint und nur deswegen angesprochen, da ich dachte, du hättest mich missverstanden. Wenn das nicht der Fall ist, ist die Sache gegessen.

    Das hatten wir doch schon: Man muss halt die richtigen Bibliotheken verwenden. In dem Fall hast du dich für die systemspezifischen entschieden. Da bist du selber schuld: Es gibt ja schließlich genug Freunde. Spontant fallen mir gvs, Thunar-VFS und gnet ein. Die hätten dein Leben wesentlich leichter gemacht.

    Insofern du in Py die Posix-API auf Windows verwendest, dann wird das auch nur funktionieren, insofern die emuliert werden .... und auch da gibt es eine C-lib, die das macht.


    Genau mit der Tatsache wollte ich eigentlich dein Argument brechen. Das ist aber wohl nicht so ganz hinüber gekommen.


    Zitat Zitat
    Was mir hierzu spontan einfallen würde, wäre rein optimierungsbezogen, basierend auf mehr Hintergrundwissen im Kontrast zu dem Otto Normal-High-Level-Programmierer.
    Du gehst einfach anders mti deinem Speicher um, und das automatisch. Besonders java-Programmierer neigen dazu sehr oft sehr viel unnötig zu kopieren. Naja, die Sprache hat auch keine brauchbare const-magic.

    Also, es geht eben um dieses sparsamere, unbewusste Vorgehen. So war es gemeint. ^^

  3. #3
    Ich störe ja nur ungern, aber irgendwie kommt mir diese Diskussion als für den Threadersteller ein wenig nutzlos vor – ein zwölfseitiges Traktat darüber, ob Java hinreichende Unterstützung für Konstanten hat, ist ein besseres Argument dafür, das Programmieren gleich sein zu lassen, als sich für eine der umkämpften Sprachen zu entscheiden.

    Ehrlich, Jungs: Ich bin mir nicht sicher, ob ich drei Viertel des Threads als off topic markieren sollte; mit einer sinnvollen Sprachempfehlung hat es auf jeden Fall nichts zu tun.

    Ich schlage vor, daß wir dieses Topic erst mal zur Ruhe kommen lassen; ich bezweifle nämlich, daß irgendjemand hier etwas sinnvolles davontragen wird.

  4. #4
    Ist doch auch eigentlich egal, in welcher Sprache ein Hobby-Programmierer seine Lust-Projekte, die in der Regel sowieso nicht fertig werden, anfängt. Bei einem größeren Projekt verwendet man die Sprache, die gefordert ist. Mit welcher Sprache man anfängt ist also eigentlich keine allzu drastische Entscheidung.

    Du könntest dich ja mal erkundigen, welche Sprache ihr in der Schule behandelt und dich dann mit dieser beschäftigen. So kannst du im Unterricht ein bisschen angeben und es ist sicherlich lehrreich, eine Sprache parallel in der Schule und selbstständig zuhause zu lernen. In der Schule lernt man da nämlich in der Regel eher wenig. Aber auch privat neigt man gelegentlich dazu, manche Sachen zu übersehen, weil man sie nicht so ansprechend findet.
    Python ist natürlich ganz nett. Aber auch mit Java oder Delphi (oder was man sonst so in Schulen lernt) lässt sich was anfangen. Und wenn du es etwas grundlegender magst, ist C/C++ nicht schlecht.

    freundliche Grüße, Rolus

    Geändert von Rolus (16.09.2008 um 18:38 Uhr)

  5. #5
    Gut, soweit ich weiß werden wir in der Schule Java durchnehmen. D.h. ich werde mir das mal auf jedenfall ansehen. Python hört sich so für mich aber bisher immer noch am besten an.

    Da ist mir aber noch eine Frage in den Sinn gekommen:

    Sind Java und Java Script zwei völlig unterschiedliche Dinge? ....


    Streicher

  6. #6
    Zitat Zitat von Streicher Beitrag anzeigen
    Sind Java und Java Script zwei völlig unterschiedliche Dinge? ....
    Unterschiedlich, wie ein Erdapfel und die Knolle eines Nachtschattengewächs. (Also, ja.)

  7. #7
    Wie Mog bereits sagte, haben Java und JavaScript fast nichts gemeinsam. Das was beide Sprachen am meisten verbindet, ist wohl, dass beide von C abstammen.
    Während Java komplett objektorientiert ist und Klassen predigt, ist in JavaScript auch prozedurale und funktionale Programmierung möglich, objektorientierte zwar auch, wird aber nicht durch Klassen, sondern durch Prototypen realisiert. Vererbung, Polymorphie und Kapselung sind in JavaScript also problemlos, wenn auch etwas umständlicher möglich.

    (Und um Mog nochmal zu ärgern. ) Auch wenn du Java durchnehmen wirst, kannst du ruhig Python ausprobieren. Python unterstützt komplett OOP, hat also Klassen, nebenbei aber auch ähnlich JavaScript funktionale Programmierung. Du wirst also nichts umsonst lernen und kannst problemlos das was du in einer Sprache lernst auf die andere beziehen (ok, teilweise). Im Grunde ist es sogar besser, da du so das Ganze aus mehreren Blickwinkeln betrachtest und mehr mitnehmen kannst.

  8. #8

    C++ ist nicht so schlimm...

    So Leute lasst euch gesagt sein,

    ich bin kein so guter MAthematiker (3 und 4 auf dem Zeugnis 9 Klasse) und trotzdem lerne ich C++ ohne Probleme! Es kommt eben darauf an wer oder was dir dabei hilft. Ich hatte angefangen mit dem Buch "Spieleprogrammierung" von Lennart Steinke, das Beste was ich daraus gelernt habe war das Design-Dokument. In Sachen C bzw. C++ konnte ich überhaupt keinen Durchblick finden, da das Buch für Fortgeschrittene beser geeignet ist als für Blutige-Anfänger, wie ich es damals war (2 Jahre zurück).
    Vor einem halben Jahr habe ich mir das Buch "Spieleprogrammierung mit DirectX - Der einfache Einstieg in die C++-Programmierung" von Christian Rousselle des Verlages Markt+Technick gekauft und Voilà, C++ zu lernen war absolutement kein Problem für mich. Denn in dem Buch sind alle einzelnen Schritte (von der Installation bis zur Kompilierung) sehr gut erklärt und auch C++ selbst!
    Ich persönlich finde dieses Buch ist richtig genial zum Einstieg, nachdem man es durchhat kann man sogar selbst kleinere Spiele proggen....

    Wenn das Geld nicht reicht, bzw kein befreundeter Programmierer in der Nähe ist, kannst du dich auch an kostenlose Tutorials versuchen. Ich empfehle für C++ folgendes kostenloses Buch: C++ in 21 Tagen
    Sehr guter Einstieg, da ist C++ ein Klacks! Wnn du Fragen hast es gibt genug Foren (ich weise auf dieses hin, sowie www.dev-comm.de), wo es fündige Programmierer gibt die dir gerne weiterhelfen!
    Viel Spaß wünscht dir foley92

    PS: Falls du Fragen an mich hast schreib ruhig.

  9. #9
    Zitat Zitat von Kyuu Beitrag anzeigen
    Wie Mog bereits sagte, haben Java und JavaScript fast nichts gemeinsam. Das was beide Sprachen am meisten verbindet, ist wohl, dass beide von C abstammen.
    Während Java komplett objektorientiert ist und Klassen predigt, ist in JavaScript auch prozedurale und funktionale Programmierung möglich, objektorientierte zwar auch, wird aber nicht durch Klassen, sondern durch Prototypen realisiert. Vererbung, Polymorphie und Kapselung sind in JavaScript also problemlos, wenn auch etwas umständlicher möglich.
    Wow, das hat ihm sicher sehr viel gebracht. Wirklich.

  10. #10
    Immernoch mehr Informationen als bei deinem kryptischen Vergleich.

    @Streicher:
    Ich meine, wenn Streicher sich für JavaScript interessiert, könnte ich noch weiter ausholen und diese Sprache analytisch auseinandernehmen um schließlich auf wahrscheinlich das ausführlichste und anspruchsvollste JavaScript-Tutorial im Netz zu verweisen. Oh snap!, das habe ich ja bereits. :/

    EDIT by Mog (18.09.2008, 8:00 ): Da verwechselt wohl wer, eine Diskussion zwischen mir und dir mit einer zwischen dir und Streicher. Ich habe ja sogar noch extra darauf hingewiesen, dass er das lieber ignorieren soll.

    Geändert von Kyuu (17.09.2008 um 20:57 Uhr)

  11. #11
    @foley92: Wieso erinnert mich dein Post nur an Teach Yourself Programming in Ten Years...

    Um vielleicht etwas zum Topic beizutragen: Ich hab in der Schule die Grundlagen der Programmierung mit Turbo Pascal und Delphi gelernt, was eigentlich recht gut geklappt hat.
    Später dann (ausbildungsbedingt) hab ich mich nur noch mit der .NET-Plattform beschäftigt (vor allem VB.NET). Man kommt recht schnell zu Ergebnissen (z.B. bei der Programmierung grafischer Oberflächen) aber man ist eben - mehr oder weniger - an die Windows-Plattform gebunden.
    Nichtsdestotrotz könnte ich einem Anfänger VB.NET oder C# empfehlen. Es gibt viel gute kostenlose Literatur (kostenlose E-Books beispielsweise als Galileo-Computing-Openbook) und mit den sehr leistungsfähigen kostenlosen Express-Entwicklungsumgebungen von Microsoft kann man wirklich sehr gut arbeiten.

  12. #12
    Ich mach' den Thread mal dicht. Hier kommt nichts wirklich nützliches mehr und die Qualität der Posts nimmt auch im Schnitt ab.

    [jesus_666@Multimediaxis Programmierung]$ chmod a-w Programmieranfänger\,\ mit\ was\ am\ besten\ anfangen\?

    Geändert von Jesus_666 (18.09.2008 um 12:16 Uhr)

  13. #13
    zum Einsteigen und allgemeinen Verständis zum Programmieren ist Pascal sehr gut.. alt aber gut!
    Ich habe mit Borlands TurboPascal7 angefangen und es ist m.M.n. eine wirklich passende Einsteigersprache mit extrem hilfreichem Index und Hilfebibliothek für alle Befehle.. mir hat es wirklich sehr viel im Selbststudium beibringen können, ohne Internet-tutorials oder so..^^
    Die Syntax ist geregelt und du gewöhnst dir eigentlich gleich einen übersichtlichen Programmierstil an (wenn du es nicht wirklich mit voller absicht versauen willst )
    Es basiert noch auf Dos, aber es gibt die wunderbare Dosbox oder den Patch für XP... glaub mir, es macht überhaupt nix, wenn du diese etwas ältere nimmst...
    Es geht dir als Programmieranfänger ja darum, Programmieren zu lernen und nicht gleich die hightech. Ultraprogramme alias 3d spiele zu programmieren xD
    wenn du dich überhaupt gar nicht mit etwas älteren Sachen anfreunden kannst, ist Delphi ne Lösung (basiert ursprünglich auf der Pascal-sprache, aber ist mittlerweile so viel anders geworden und keine "Sprache" mehr sondern ein Konzept, soweit ich gelesen habe^^)
    Naja, ich will jetzt keinen Roman schreiben...
    Ich leg dir TurboPascal7 (Entwicklungsumgebung.. pascalsprache) ans Herz.. falls es dich interessiert ---> PN

    beste Grüße
    elsen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •