Frage zu C/C++
-
Du kannst mit jeder Sprache beginnen. Sei dir nur darüber im Klaren, dass in anderen Sprachen andere Konzepte mehr Sinn machen können. Du solltest also bei dem erlernen einer neuen Sprache nicht unbedingt den kompletten Stil der bereits bekannten Sprache übernehmen. Das machen angeblich viele beim Umstieg von C auf C++ falsch. C++ bietet viele Konzepte, die C nicht bietet, die man in C++ aber unbedingt nutzen sollte.
Mit welcher Sprache du anfängst ist dir überlassen, mach was dir Spaß macht. Eine feste Traingsinheit àla "eine-Stunde-am-Tag" ist aber total kontraproduktiv. Fang einfach an oder kaufe dir ein Buch. Gerade bei C++ ist ein gutes Buch (z.B. der C++ Primer) ein Muss. C kann man aufgrund des sehr viel geringeren Sprachumfangs meiner Meinung nach auch ohne Buch lernen, aber rechne damit viel Übung zu brauchen, bis du einigermaßen viel damit machen kannst.
-
Welche Sprache ist denn am besten geiegnet um einen halbwegs guten Einstieg ins Programmieren zu bekommen und um dann irgendwann mal mit C++ weiter zu machen?
-
Meiner Meinung nach C. Der Meinung der meisten hier im Forum nach wohl C++. Java, Python und jede andere Sprache können natürlich auch herhalten, da sie angeblich einfacher sein sollen und Anfänger nicht so viel falsch machen können. Ich persönlich glaube, dass es gar nicht schlecht ist am Anfang viel falsch zu machen, daraus lernt man schließlich. Wie gesagt, du musst dich da selbst entscheiden, es gibt kein Patentrezept. (Edit: Doch, gibt es. Nimm die Sprache, die dir am meisten zusagt, denn Motivation ist das Wichtigste beim Lernen.)
-
Ja, die die mir am meisten zusagt..
Ich weiß garnicht was die Vor- und Nachteile der einzelnen Sprachen sind.
-
Daloon schrieb:
Welche Sprache ist denn am besten geiegnet um einen halbwegs guten Einstieg ins Programmieren zu bekommen und um dann irgendwann mal mit C++ weiter zu machen?
Wenn du C++ lernen willst, dann lern C++ und keine andere Sprache. Kauf dir das Buch http://www.stroustrup.com/Programming/ (gibt auch eine deutsche Übersetzung) und fang an.
-
Daloon schrieb:
[...] irgendwann mal mit C++ weiter zu machen?
Ich habe "Python" vorhin nur erwähnt, weil man damit als Programmieranfänger relativ schnell Erfolge erzielen kann ohne sich dabei versehentlich in den Fuß zu schießen.
Aber eine konsequente Anwendung von "modernem C++" unter Verwendung diverser Debug-Modi, die Compiler/Standardbibliothek/Entwicklungsumgebung zu bieten haben, kann man auch recht schmerzfrei C++ lernen. Man kann auch in C++ relativ produktiv am Anfang sein, wenn man die Teile der Sprache und ihre Konzepte in der richtigen Reihenfolge lernt und nicht mit reinem C anfängt.
Daloon schrieb:
Ich weiß garnicht was die Vor- und Nachteile der einzelnen Sprachen sind.
Prinzipiell ist das ein Produktivität-versus-Performance Zielkonflikt. Mit Produktivität meint man die Geschwindigkeit, mit der man eine Lösung programmiertechnisch erarbeiten kann. Mit Performanz meine ich die Geschwindigkeit und den Speicherverbrauch, mit der das Programm dann laufen wird. C++ ist interessant, weil es ein großes Abstraktionsspektrum bietet. Wenn man möchte, kann man "nah an der Maschine" programmieren und alles kontrollieren oder auch auf hoher Abstraktionsebene relativ schnell eine Lösung bekommen.
C brauchst Du eigentlich nur, wenn Du es auf Performanz abgesehen hast und es für die Plattform, für die Du entwickelst, keine C++ Compiler gibt. Bei Schnittstellen kann man sich auch auf C beschränken für eine höhere Interoperabilität. Du kannst beispielsweise eine Bibliothek in C++ schreiben, die etwas bestimmtes kann und eine C-Schnittstelle dafür anbieten. Ich habe beispielsweise mal ein LADSPA-Plugin in C++ geschrieben, obwohl die Pluginschnittstelle in C definiert wurde.
-
Habe mich jetzt einmal ein bisschen eingelesen und finde es ganz gut mit Java anzufangen, da es einfach viele Vorteile bietet, und halbwegs Einsteigerfreundlich ist. Nun wollte ich mal fragen ob man es nachdem man Java kann einfacher hat C/C++ zu lernen. Weil nachdem man Java kann hat man doch schon im allgemeinen programmier Grundkenntnisse oder?
-
Wenn du eine schon Programmiersprache kannst, hilft das immer. Du musst zwar etwas umdenken (Kein GC, Freie Funktionen, ..), aber solange du das hinbekommst ist das kein Problem.
-
Daloon schrieb:
Nun wollte ich mal fragen ob man es nachdem man Java kann einfacher hat C/C++ zu lernen. Weil nachdem man Java kann hat man doch schon im allgemeinen programmier Grundkenntnisse oder?
Programmiergrundkenntnisse sind größtenteils sprachunabhängig. Programmiererfahrung hilft immer, egal in welcher Sprache. Trotzdem ist Java eine völlig andere Sprache als C++. Das erfordert ein Umdenken.
Analogie:
Das ist wie mit natürlichen Sprachen auch. Wenn Du Deutsch denkst und Wörter 1:1 ins Englische übersetzt, wird ein ziemlich beschi**ener Text rauskommen. Du solltest Englisch denken und viele englisch-spezifische Idiome kennen. Unabhängig davon, solltest Du lernen, wie man "spannende Geschichten" aufbaut. Dieses Wissen ist aber eher sprachunabhängig.Das Denken und die Sprache beeinflussen sich gegenseitig. Es ist daher nicht ganz unpraktisch, mehrere Sprachen zu lernen.
Noch etwas: C/C++ ist keine Sprache. Das kommt generell nicht gut an, wenn man die zwei Sprachen in einen Topf schmeißt.
-
Daloon schrieb:
Habe mich jetzt einmal ein bisschen eingelesen und finde es ganz gut mit Java anzufangen, da es einfach viele Vorteile bietet, und halbwegs Einsteigerfreundlich ist. Nun wollte ich mal fragen ob man es nachdem man Java kann einfacher hat C/C++ zu lernen. Weil nachdem man Java kann hat man doch schon im allgemeinen programmier Grundkenntnisse oder?
Erstens gibt es kein C/C++. Das sind beides verschiedene Programmiersprachen. Aber wenn du C++ lernen willst, dann lern C++ und kein Java! Siehe meine Buchempfehlung. Das Buch richtet sich speziell an Leute, die gerade mit dem Programmieren anfangen.
-
rüdiger schrieb:
Erstens gibt es kein C/C++.
es gibt ein Buch mit diesem Titel
-
!rr!rr_. schrieb:
rüdiger schrieb:
Erstens gibt es kein C/C++.
es gibt ein Buch mit diesem Titel
Wahrscheinlich von Jürgen Wolf.
-
FreakY<3Cpp schrieb:
!rr!rr_. schrieb:
rüdiger schrieb:
Erstens gibt es kein C/C++.
es gibt ein Buch mit diesem Titel
Wahrscheinlich von Jürgen Wolf.
Nein, dann könnte er nur halb so viele Bücher verkaufen.
-
rüdiger schrieb:
Erstens gibt es kein C/C++.
Und das in einem Forum zu schreiben, das "C/C++ Forum" im Titel stehen hat.