Zum Forum springen
Benachrichtigungen
Alles löschen

[Geschlossen] C++

99 Beiträge
35 Benutzer
0 Reactions
7,455 Ansichten
JJanke88
Beigetreten: 30.12.2006

Von C++ als erste Sprache würde ich auch dringend abraten.
Durch die Pointerarithmetik und co. erscheint C++ doch oft sehr
kryptisch und grade für Anfänger ist das meines Erachtens nicht grade
einfach sich da einzuarbeiten.
Ebenso ist C++ einfach sehr mächtig und ist deshalb für einsteiger nicht unbedingt empfehlenswert.
Ich möchte mal ein kleines Beispiel posten:

                Iterator operator++()
                {
                    node* next_node = s.top();
                    s.pop();
                    node* tmp = m_treeNode;
                    if( *(tmp->getRight()) != 0 )
                    {
                        tmp = *(tmp->getRight());
                        s.push(tmp);
                        while( *(tmp->getLeft()) != 0 )
                        {
                            tmp = *(tmp->getLeft());
                            s.push(tmp);
                        }
                    }
                    m_treeNode = next_node;
                    return *this;
                }

Zum Einstieg würde ich die JAVA empfehlen.
Du hast eine Sprache die komplett Objektorientiert ist und wirst,
wenn du JAVA soweit gut kannst, weniger Probleme haben dich in C++ einzuarbeiten.

Für Java empfehle ich dir:
http://www.amazon.de/Handbuch-Java-Programmierung-Standard-Version-Farbteil/dp/3827328748/ref=sr_1_1?ie=UTF8&s=books&qid=1271415640&sr=8-1

und später für C++
http://www.amazon.de/Die-Programmiersprache-Deutsche-%C3%9Cbersetzung-Special/dp/3827328233/ref=sr_1_1?ie=UTF8&s=books&qid=1271415666&sr=1-1


KTU
KTU
Beigetreten: 24.01.2007

Ich würde mit Linux Shell Skripts anfangen!

(Ubuntu bietet sogar die Möglichkeit bei der Installation sich einfach neben Windows zu installieren und du kannst dann beim PC starten einfach auswählen, welches OS du nutzen möchtest)

Vorteile:

-Du lernst wie ein PC funktioniert, was eine Programmiersprache überhaupt macht und bekommst ein technisches Gefühl für alles.

-riesige Community. Erstklassigen Inhalt für lau!

-Du stolperst über massenhaft guten Code aus dem Linux Kernel und vor allem aus Opensource Produkten

-Dann würde ich reines C erstmal als Programmiersprache mir anschauen und da ist The C Programming Language immernoch die Referenz Nr.1

http://en.wikipedia.org/wiki/The_C_Programming_Language_%28book%29

Von da an hast du eh selber genug Überblick was Du lernen willst und was dich interessiert.

Es gibt auch gute openbooks im Galileo Verlag, da kannst du dich ja mal ein bisschen umschauen. Aber denke mit Linux und Shell Skripts und dann C hast du ein super solides Fundament von wo aus du überall hinkannst

edit: Ich gebe zu die Frustrationsschwelle wird anfangs sehr hoch sein. Am besten du suchst dir jemanden, der es drauf hat und dich ein bisschen an die Hand nimmt. Anfangs ist es eben so: Als ob Du 400kg wiegst, ein Holzbein hast und einen Marathonläufer siehst und denkst: hey, das wollte ich auch schonmal machen. Aber es lohnt sich imo


man kann sich auch einfach selbst nen messer innen bauch rammen, dass ist ähnlich spaßig :P


KTU
KTU
Beigetreten: 24.01.2007

hat aber einen geringeren Lerneffekt. Das musst Du einfach zugeben.


rofelmat0r
Beigetreten: 06.09.2008

bin eher nicht so der linux typ und das hört sich irgendwie komisch an

/ps: kann ich danach die CIA hacken????? also wenn ich shell scripten kann?


nein, CIA hacken kannst du nur mit AWK scripts


klausschreiber
Beigetreten: 31.07.2006

naja, ich denke, man kann es auch übertreiben. Java ist für Anfänger einfacher. C# wahrscheinlich auch. Aber trotzdem kann man auch C++ als Anfänger lernen. Aber gut, das ist Geschmackssache.

Mit Linux Shell Scripts anzufangen, dann erst C und dann erst C++ halte ich aber definitiv für übertrieben. Wenn er nicht für Linux programmieren will, bringen ihm Shell Scripts überhaupt nichts, außer etwas Programmiererfahrung, die er aber mit C++ genauso lernen kann. Und C wird ihm als Hobbyprogrammierer auch nichts bringen. Sogar professionelle Programmierer programmieren normale Anwendungen ja eher in C++ oder sonstigem.


Original von klausschreiberUnd C wird ihm als Hobbyprogrammierer auch nichts bringen. Sogar professionelle Programmierer programmieren normale Anwendungen ja eher in C++ oder sonstigem.

C kann man immernoch bei Microcontrollern und anderen Embedded Systems gebrauchen.

Der große Vorteil erst C zu lernen und dann C++ ist, dass man das Speichermanagment und die Zeiger meisterst bevor man groß mit Objekten anfängt. Wenn man nicht umbedingt Objektorientiert beginnen möchte ist C wahrscheinlich der Weg bei dem man Programmieren am besten lernt.
Die Lehrmeinung geht allerdings immer mehr zun Objects First Ansatz über, und wahrscheinlich haben die sich darüber mehr Gedanken gemacht als die meisten hier. Java ist hier meiner Meinung nach sinnvoller als C#.


Was will der OP denn nun programmieren?

Er wirds wohl am schnellsten und besten lernen, wenn es ihm Spaß macht.

Das ist unabhängig von der Sprache, die sind eh alle irgentwie ähnlich.

Später kann er ja immernoch 'ne zweite lernen...


klausschreiber
Beigetreten: 31.07.2006

Original von NamenIos

Original von klausschreiberUnd C wird ihm als Hobbyprogrammierer auch nichts bringen. Sogar professionelle Programmierer programmieren normale Anwendungen ja eher in C++ oder sonstigem.

C kann man immernoch bei Microcontrollern und anderen Embedded Systems gebrauchen.

Der große Vorteil erst C zu lernen und dann C++ ist, dass man das Speichermanagment und die Zeiger meisterst bevor man groß mit Objekten anfängt. Wenn man nicht umbedingt Objektorientiert beginnen möchte ist C wahrscheinlich der Weg bei dem man Programmieren am besten lernt.
Die Lehrmeinung geht allerdings immer mehr zun Objects First Ansatz über, und wahrscheinlich haben die sich darüber mehr Gedanken gemacht als die meisten hier. Java ist hier meiner Meinung nach sinnvoller als C#.

jo, klar wird C noch verwendet, deshalb schrieb ich ja auch "normale Anwendung". Aber das ist ja im Grunde auch egal. Finde es halt nur unnötig, als Hobbyprogrammierer erstmal mit Linux Shell, dann mit C und dann erst mit C++ anzufangen, wenn man eigentlich in C++ programmieren will. Bis man dann soweit ist, hat man ja meist die Lust schon längst verloren, wenns nur ein Hobby sein soll.


noelte
Beigetreten: 13.05.2007

Original von ultimatefish
Was will der OP denn nun programmieren?

this! Stell dir ne Aufgabe... Welche Programmiersprache ist dann ziemlich Bananne....

Schneller hübsch aussehen werden die modernen PS....C#/Java/....

Wenn du aber C/C++ beherrschst, sind alle ander imperativen PS easy, umgekehrt ist das eher nicht so.....


KTU
KTU
Beigetreten: 24.01.2007

Original von noelte

Original von ultimatefish
Was will der OP denn nun programmieren?

this! Stell dir ne Aufgabe... Welche Programmiersprache ist dann ziemlich Bananne....

Schneller hübsch aussehen werden die modernen PS....C#/Java/....

Wenn du aber C/C++ beherrschst, sind alle ander imperativen PS easy, umgekehrt ist das eher nicht so.....

Wie sieht in Java auf die schnelle was hübsch aus? :)


rofelmat0r
Beigetreten: 06.09.2008

Original von ultimatefish
Was will der OP denn nun programmieren?

Er wirds wohl am schnellsten und besten lernen, wenn es ihm Spaß macht.

Das ist unabhängig von der Sprache, die sind eh alle irgentwie ähnlich.

Später kann er ja immernoch 'ne zweite lernen...

naja ich stell mir da eigentlich nichts konkretes vor, ich dacht nur so hmmmmm ich könnt doch programmieren lernen^^ ich schwanke nun noch zwischen C++ und Java!


schoxx
Beigetreten: 22.09.2007

so wird das nie was.

Och ...lern ich mal eben spanisch. Das geht halt nicht ohne Ziel und Willen.


rofelmat0r
Beigetreten: 06.09.2008

hab ja zeit und willen. ich weiss nur noch nicht für was ich es brauchen kann :)


klausschreiber
Beigetreten: 31.07.2006

wieso muss man schon unbedingt was festes im Sinn haben? Ich habe auch mit Tutorials angefangen, bzw. Übungen programmiert, ohne etwas Bestimmtes als Ziel zu haben.

Würde aber, wenn du zwischen C++ und Java schwankst eher Java nehmen, da dir Java einige Sachen abnimmt und daher wohl leichter ist.


zu java kann ich dir vorallem mal eins sagen:
es bringt dir als privatuser praktisch 0 das zu können, weil es für jeden einsatzzweck eine bessere sprache gibt
(wenn man software für unternehmen entwickelt sieht das anders aus, aber das ist wohl nicht dein ziel...)

bei den leuten die hier java empfehlen bezweifel ich stark das sie einigermaßen programmiererfahrung haben, bzw ne andere sprache als java können

du hast eigentlich nur nachteile mit java... das is von der komplexität so wie c# (einigermaßen aufwendig), aber du hast die geschwindigkeit von python (langsam, natürlich schon noch schneller als python), und die sicherheit die die javavm bietet die zwar in unternehmen ganz praktisch ist schränkt dich als privat user nur ein...

wenn du dich unbedingt zwischen c++ und java entscheiden willst nimm c++, aber das wird am anfang etwas holprig werden (es macht aber auf jeden fall sinn die sprache zu können, aber halt nicht unbedingt als erstes...), daher empfehle ich wie oben schon c# oder python, das wird eindeutig mehr spaß machen am anfang ;)


man fängt eigentlich mit struktogrammen, flussdiagrammen, pseudocode an
so lernt man programmiersprachenunabhängiges denken

finde C als erste richtige programmiersprache gut, auch wenn du es später wohl nicht mehr brauchen wirst (außer du fühlst dich im microcontroller oder unix/linux bereich beheimatet) - du lernst halt prozedurales programmieren ohne den (für kleine programme unnötigen und wohl am anfang verwirrenden) overhead der objektorientierung.
man kann aber genauso gut in Pascal anfangen, dies wird man aber wirklich nie wieder einsetzen (ist ja auch als schulsprache konzipiert) - vl. für den anfänger sogar mehr geeignet, da der compiler ziemlich streng ist und einen nicht sachen machen lässt, die man eigentlich gar nicht machen will (dadurch lernt man sich einen sauberen programmierstil an - aus unseren fehlern lernen wir)

für den privatprogrammierer würde ich dann eine objektorientierte programmiersprache nehmen, die eine hauseigene GUI-bibliothek mitbringt: Java, C#, Delphi wären hier zu nennen. welche man nimmt, kommt auf den eigenen geschmack und das verwendete system an.
wenn man als windows-anwender nur programme für sich selbst schreibt, ist C# ganz gut.
wenn man platformübergreifend programmieren will, dann bevorzuge ich Java (C# geht auch, aber man muss sich in den verwendeten komponenten einschränken, weil mono nicht alles implementiert hat)
C++ würde ich als privater programmierer nur lernen, wenn ich unter linux programmieren will. dort werden eben die meisten der programme (die ja open source sind) in C++ geschrieben (mit GUI GTK/gnome-libraries, QT/kde-libraries, fltk etc.). kann man halt viel wiederverwenden.


C solltest du dir anschauen, die sprache wir zu 20% genutzt, c++ / jave zu 7% ..

amsonsten ist das werk C++ in 21 Tagen echt zu empfehlen, der titel ist nur falsch übersetzt worden, es sind 21 kapittel und die 1000+ seiten sind keinesfalls in 21 tagen durchzuarbeiten und so ist es auch nicht gedacht, wenn du dieses buch jedoch durchgearbeitet hast, solltest du mehr als nur ein solides grundwissen besitzen auf dem du gut aufbauen kannst, das buch ist zudem für anfänger geeignert, forgeschrittene können die ersten kapittel überspringen.

viel erfolg.


MXh
MXh
Beigetreten: 04.05.2009

Original von NamenIos

Der große Vorteil erst C zu lernen und dann C++ ist, dass man das Speichermanagment und die Zeiger meisterst bevor man groß mit Objekten anfängt.

This.