Mit C angefangen, doch lieber C++?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Wenn man eh C++ lernen will, bringt das vorhergehende Erlernen von C keine Vorteile gegenüber dem direkten Lernen von C++. Ich sehe sogar Nachteile, da C und C++ zwei völlig unterschiedliche Denkweisen erfordern (rein prozedural vs. objektorientiert) und auch 2 unterschiedliche APIs haben. Wer C++ lernen will, sollte genau das machen, und sich den Umweg über C sparen.
  • Wenn du 3 Personen fragst, wirst du bei dieser Frage 4 Antworten bekommen :D

    Was ist deine Motivation C, C++ oder D lernen zu wollen?
    Um dich noch ein wenig mehr zu verwirren, es gibt auch noch "objectiv C", C# oder Java und weitere Dialekte.
    Wenn du uns dein Betriebssystem schreibst, können wir einen von meinen schon mal von der Liste nehmen.

    Historisch gesehen haben alle der aufgezählten Sprache die Wurzeln mehr oder weniger in C. Aber einige Programmierer gehen davon aus, wenn du z.B. von C auf C++ umsteigst, das du dann Schwierigkeiten hast einige C-Marotten abzulegen. Andere sagen die Grundlagen von C brauch man in C++. Schätze das wird individuell unterschiedlich sein.

    Solltest du dir C oder C++ antuen :) achte darauf das du da aktuelle Tutorials nutzt. Es gibt leider einige Tutorials die Fehler beinhalten, auch da solltest du sehen das du die besseren erwischt.

    Wenn du dann später an vorhandenen Quelltexten deiner Vorgänger Ergänzungen anbringen sollst, erinnere dich dran das es in den letzten 20 Jahren unterschiedliche Auslegungen der Sprachen gab. Auch Programmiersprachen entwickeln sich meist weiter.

    MfG bcc-fan
  • Wobei sich sowieso die Frage stellt, inwieweit C++ bei diesen Anforderungen unbedingt notwendig ist, oder ob der TE nicht mit einer mächtigen Skriptsprache wie Python oder Ruby besser bedient wäre. Aber das muss jeder für sich entscheiden.
  • Die Sprachen sind schlank und gut lesbar, Rapid Prototyping ist sehr einfach möglich, moderne darunterliegende Konzepte, gute Unterstützung von RegEx, umfangreiche Standard-Bibliotheken usw. Im Prinzip kannst du mit solchen Sprachen ein ganzes Teil schneller funktionierende Ergebnisse erzielen. Google verrät dir mehr.
  • Es ist kiein Fehler mit C angefangen zu haben.
    Aber an der Stelle, ab der dir geraten wird C++ Funktionalitäten zu benutzen solltest du umsteigen, weil ganz einfach die Sachen in C zwar auch umsetzbar sind aber du da von Hand zu Fuß alleien unterwegs wärst, und dir kaum einer Helfen wird.

    Im Prinzip bist du mit anderen Sprachen zwar vielleicht schneller dran, aber empfehlen würde ich es dir nicht, weil du ganz einfach die Grundlagen verpasst.
    Es liegt allein an dir wie du dich entscheidest, ob du schneller ein Ergebniss erzielen willst oder ob du besser Erfahrung und Wissen sammeln wilst.

    C/++ ist wahrscheinlich die mächtigste Sprache auf dem Markt, viele Mikrocontroller könne heut zu Tage mit C programmiet werden, wenn du diese perfekt beherscht wird dir die "Harwarenahe" programmierung auch leicht fallen.

    Mfg Rushh0ur
  • Die Grundlagen lassen sich ja nun wicklich mit jeder imperativen bzw. objektorientierten Sprache lernen. Auch der Einwand, dass man mit C mehr Erfahrung und Wissen sammelt als mit anderen Sprachen, ist ziemlich an den Haaren herbeigezogen.

    C und C++ ist beileibe nicht die "allmächtige Übersprache", die man als Entwickler unbedingt können muss, und für die es von Hobby-Programmieren in Internetforen immer gerne verkauft wird, ohne jegliche Rücksicht auf Anforderungen und Einsatzgebiete. Es gibt nicht wenige Einsatzgebiete, in den C und C++ nicht zum Einsatz kommen, und in denen man als Entwickler prima ohne auch nur eine Zeile C-Code leben kann, und "trotzdem" (bewusst in Anführungszeichen) enormes Wissen und Erfahrungen sammelt. Es ist zwar schön und gut, dass µController in C programmiert werden können, das interessiert mich für die Entscheidung, welche Sprache ich z.B. für Web-Applikationen und Server-Skripte nehme, nicht wirklich.
  • Wenn folgender Beitrag zutrifft VST nicht nur C++ Schnittstellen: [wikipedia]Virtual_Studio_Technology[/wikipedia]

    Wenn du aber auf solche und ähnliche Quellen zugreifen möchtest, ist es schon sinnvoll zu schauen für welche Programmiersprachen sind die Schnittstellen schon vorhanden.

    Da solche API manchmal grosszügig mit der Auslegung einer Programmiersprache sind, kann es nicht schaden, wenn man auch verwandte Sprachen wenigstens grob lesen kann.

    MfG bcc-fan
  • TomD schrieb:

    Die Grundlagen lassen sich ja nun wicklich mit jeder imperativen bzw. objektorientierten Sprache lernen. Auch der Einwand, dass man mit C mehr Erfahrung und Wissen sammelt als mit anderen Sprachen, ist ziemlich an den Haaren herbeigezogen.

    C und C++ ist beileibe nicht die "allmächtige Übersprache", die man als Entwickler unbedingt können muss, und für die es von Hobby-Programmieren in Internetforen immer gerne verkauft wird, ohne jegliche Rücksicht auf Anforderungen und Einsatzgebiete. Es gibt nicht wenige Einsatzgebiete, in den C und C++ nicht zum Einsatz kommen, und in denen man als Entwickler prima ohne auch nur eine Zeile C-Code leben kann, und "trotzdem" (bewusst in Anführungszeichen) enormes Wissen und Erfahrungen sammelt. Es ist zwar schön und gut, dass µController in C programmiert werden können, das interessiert mich für die Entscheidung, welche Sprache ich z.B. für Web-Applikationen und Server-Skripte nehme, nicht wirklich.

    Sorry dass zu sagen, aber diese Aussage strotz von unerfahrenheit; wahrscheinlich hab ich, laut deiner Aussage, als Hobbyentwickler mehr Ahnung als manch ein anderer. Schön für dich, als Webentwickler, dass du dich nur für PHP, Javaskript, Ajax, Scriptsprachen etc. (welche ohne zweifel sehr gute und berechtigt exestierende Sprachen sind) interessierst, dennoch finde ich dass man die Gurndlegeneden Sachen nicht lernt; die meisten die damit Anfangen haben eigentlich absolut gar kein Plan von Datentypen geschweige den das Wissen über die verschieden Zahlensysteme und die Funktionsweiße der Datenverarbeitung und speicherung.
    Wenn am Ende der Rechner "hängt" ist immer das Betriebsystem schuld, ne .... nee die Programmiere sind schuld die dafür Entwickeln, weil Sie einfach gar kein Plan haben was Sie machen und dafür können Sie auch gar nichts, weil Sie es so beigebaracht bekommen haben!
    Wenn man in Richtung Webentwicklung, und nicht nur, geht sollte man dennoch die theorie hinter dieser kennen, und zwar perfekt.

    JaffaCoder schrieb:

    Dann werd ich jetzt erstmal mit C++ weitermachen....

    Kann mir jemand Onlinelektüre empfehlen?
    In der Art wie das hier: c-programmieren.com/C-Lernen.html
    Habe für C++ noch nichts gescheites gefunden...

    Hier findest du noch gute Sachen: de.wikibooks.org/wiki/C%2B%2B-…erung/_Inhaltsverzeichnis

    Mfg Rushh0ur

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Rushh0ur ()

  • Ich bin Java-Entwickler und kein Web-Entwickler / PHP-Bastler. Außerdem habe ich mit Programmieren in Assembler und einem einfachen Basic-Dialekt angefangen, als du noch als 2jähriges Kind am Rockzipfel deiner Mutter hingst (wenn dein Geburtsdatum der Wahrheit entspricht). Nur mal so am Rande bemerkt ...

    Falls du es noch nicht mitbekommen hast: auch andere Sprachen haben Datentypen, können mit Oktal- und Hexadezimalzahlen umgehen, kodieren Gleitkommazahlen intern nach ähnlichen Verfahren, haben Konzepte wie Referenzen oder Zeiger, ermöglichen es sich die dahinter liegenden Abläufe anzuschauen etc. Ich habe mich während meines Studiums auch intensiv mit solchen Sachen beschäftigt, allerdings noch in anderen Sprachen als C. Gerade deswegen halte ich es für Blödsinn, C als eine unbedingt notwendige Grundlage des Verständnisses aller Programmiersprachen darzustellen.

    Ich weiß daher nicht, woher du deine überhebliche Einstellung hernimmst, dass jemand, der kein C-Programmierer ist oder mit C angefangen hat, folglich auch keine Ahnung von den Grundlagen ganz unten hat. Nach deiner kruden Logik wären auch alle vor 1972 tätigen Programmierer ahnungslose Idioten, da C ja "erst" 1972 erschienen ist.
  • Irgentwie reden wir aneinander vorbei, ich hab nicht gesagt dass C/C++ die mächtigste Sprache ist sondern möglicherweiße.

    Es geht mir mehr darum das man einem Neuling die Grundlagen direkt (sei es mit C,Pascal, Assembler und was es noch da gibt) beibringt und dass geht halt nur mit dem Wissen über Datentypen, Zahlensystemen etc.
    "Websprachen" und "Scriptsprachen" (diese weil es mir den anscheinend gemacht hat dass du diese vorziehst) haben oft die Eigenart die Datentyp vollkomemn zu vernachlässigen bzw. erledigen die konventierung und interpretation schon automatisch für einen.

    Mfg Rushh0ur