[C++] lernen?

wurzelsepp

Ensign
Dabei seit
Jan. 2005
Beiträge
217
hallo!

bin grad am überlegen, mit C oder C++ anzufangen. momentan schaut es bei mir programmierkenntnismäßig so aus, dass ich OOP vom prinzip her auf jeden fall durch java kenne und daneben halt noch n bisschen php kann...

da ich aber auch gern mal weniger internet-basiertes zeug kennenlernen will, will ich eventuell mit C++ anfangen. oder mit C? wozu würdet ihr mir denn eher raten?!

und: wüsstet ihr ein gutes buch, das meinem grundsätzlichen kenntnisstand entspricht, dh das nicht 100 seiten lang for-schleifen erklärt, das aber auch nicht nur n nachschlagewerk für experten ist?! wenn möglich auf deutsch... mir is durchaus klar, dass es da viele online-tutorials gibt und so, aber ich würd gern was in meiner muttersprache in gedruckter form vor mir liegen haben. einfach n text, den ich halt auch mal lesen kann ohne grad am pc zu sitzen...

danke schonmal!
 

Arnd

Lieutenant
Dabei seit
Jan. 2005
Beiträge
926
Hallo Wurzelsepp,

wenn Du Java schon kannst ist C++ kein grosser Schritt mehr. Ansonsten würde ich mich halt nach Deinem Interesse richten:

C++ mehr für Anwendungsentwicklung, C mehr für Systemprogrammierung.

Z.B. kann man in C auch schöne Windowsprogramme schreiben nur eben mit wesentlich mehr Aufwand als in C++.

MfG

Arnd
 

vander

Commander
Dabei seit
Sep. 2002
Beiträge
2.716
Wieso schaust du dir nicht mal C# an? Ist auch OO und IMHO einfacher/verständlicher als C++
 

Pat

Commander
Dabei seit
Jan. 2003
Beiträge
2.159
Ich würde dir auch zu C++ raten - C ist (ausser wie schon genannt für Systemprogrammierung) nicht mehr wirklich aktuell. C# kenn ich nicht - aber da es soviel ich weis auf Windows optimiert ist, bzw. es keine wirklich guten Unix-compiler gibt, würde ich dir eher davon abraten.
 

Siberian..Husky

Lt. Commander
Dabei seit
Apr. 2004
Beiträge
1.125
c# ist nicht einfacher als c++. alles was es in c# gibt gibts auch in c++, dem die extras zu kompliziert sind muss die ja nicht benutzen. wer schon erfahrung mit java hat für den is c# auch nix neues.

also wenn du mal lust auf was anderes hast guck dir c++ an.
 

MagicAndre1981

Admiral
Dabei seit
Feb. 2004
Beiträge
7.457
Wenn du schon mit JAVA klar kommst, dann würde ich dir auf jeden fall raten C# anzusehen. Denn .NET ist unter Windows die Zukunft. Such nach #Develop und dann lade dir das .NET framework 1.1 herunter und dann gehts los :cool_alt:

André
 

wurzelsepp

Ensign
Ersteller dieses Themas
Dabei seit
Jan. 2005
Beiträge
217
hmm - ok, auf jeden fall mal vielen dank... die meinungen über C# gehen hier ja n bisschen auseinander ;)

ich werd einfach mal schaun... gut ding will weile haben...

@raiko: muss ja nicht heissen, dass ich deswegen java nicht n bisschen weitermache... ;)
 

Tim Schumacher

Cadet 4th Year
Dabei seit
März 2001
Beiträge
116
Wieso sich eigentlich immer einen mit c++ einen abbrechen? Vieles kann man mittels python wesentlich schneller und einfacher hinbekommen, ausserdem find ich es wesentlich flüssiger was die Programmierung angeht. Natürlich hat man bei Systemnaher programmierung ziemlich schnell verloren.
Aber wie gesagt python ist schnell, vielseitig und echt leicht zu erlernen.

Eine kleine Einleitung gibts hier:
http://www.thomas-guettler.de/vortraege/python/einfuehrung.html

Ansonsten ist die python doku auch nicht schlecht:
http://www.python.org/doc/2.4.1/

Gruß

Tim
 

Siberian..Husky

Lt. Commander
Dabei seit
Apr. 2004
Beiträge
1.125
wo ist den das problem? was soll denn an c++ so viel komplizierter sein als python, java oder c#!? wenn man keine pointer benutzen will und sich ein ordentliches framework sucht sind die sprachen - was das programmieren angeht - fast identisch, abgesehen von der syntax - und die is geschmackssache.

wenn jemand schon java kennt und mal was anderes versuchen will ist c# aufjedenfall keine gute wahl. python als programmiersprache zu bezeichnen ist totaler blödsinn. python ist wie jede andere scriptsprache viel zu langsam um damit ordentlich zu programmieren - mehr als kleine tools will ich damit aufjedenfall nicht schreiben müssen. aber das ist auch garnicht der bereich für den pthon entwickelt wird.
 

Tim Schumacher

Cadet 4th Year
Dabei seit
März 2001
Beiträge
116
Zitat von Siberian..Husky:
python als programmiersprache zu bezeichnen ist totaler blödsinn.
Du vergleichst Äpfel mit Birnen. python ist sehr wohl eine Programmiersprache und auch eine Scriptsprache. C++ ist auch eine Programmiersprache, allerdings eine Maschienensprache, das heist man darf erst sein Kompilat erzeugen. Script- bzw Maschienensprache hat beides seine Vor- und Nachteile muss man halt abwägen was man braucht.

python ist wie jede andere scriptsprache viel zu langsam um damit ordentlich zu programmieren - mehr als kleine tools will ich damit aufjedenfall nicht schreiben müssen. aber das ist auch garnicht der bereich für den pthon entwickelt wird.
Bist du dir da ganz ganz sicher? Kannst du mir erklären wieso dann große Teile von Google oder auch Teile der Software von ILM auf python aufbauen, wenn es doch so langsam ist? (http://www.python.org/Quotes.html)

HTH

TIm
 

Siberian..Husky

Lt. Commander
Dabei seit
Apr. 2004
Beiträge
1.125
große teile der software die ILM nutzt basiert auf c++. so z.b. maya, xsi oder pixars renderman. nur die verknüpfung der programme basiert auf python(also verschiedene scripte zum konvertieren von daten). ausserdem ist es eine der scriptsprache in XSi.

python ist nicht gedacht um eine echte programmiersprache zu ersetzen und kann dies in den meisten bereichen nicht. python wird daher in der regel zusätzlich zu "echten" programmen genutzt. oder aber wenn die geschwindigkeit keine rolle spielt. bei größeren gui programmen ist die geschwindigkeit durchaus sehr wichtig. das zeigt java mit seinen schlechten gui bibliotheken immer wieder.

ein word in python kann man z.b. total vergessen.
 

Muuhmann

Lieutenant
Dabei seit
Sep. 2004
Beiträge
779
hi,
ich wollte auch bald anfangen eine der 3 Varianten von C zu lernen,bevorzugt C++. Wie habe ich mir das vorzustellen? mit welchem Programm schreibt man in C, oder was macht man? In delphi hat man ja so ne schöne oberfläche von Borland z.B. Delphi 2005 Personal Edition, alles wunderbar, gibts sowas auch für C, oder wie muss ich mir das Programmieren vorstellen?

wo ist eigentlich der unterschied zwischen C, C++ und C# ?
 

Siberian..Husky

Lt. Commander
Dabei seit
Apr. 2004
Beiträge
1.125
also du kannst c(++/#) in jedem editor schreiben, wie auch delphi. wenn du ne IDE haben willst musst du dir eine besorgen. für windows nutzen viele visual studio von microsft, das kostet aber einiges. wobei es derzeit die beta für visual c(++) 2005 und visual .net(für c#. heißt das wirklich so?) 2005 kostenlos zum download gibt.

zum den unterschieden:
c ist sehr anspruchsvoll. es ist die einfachste sprache der 3, bietet aber sowenige features das das programmieren größerer anwendungen damit wirklich kompliziert wird. dafür ist es die schnellste sprache der 3. läuft auf jeder plattform.


c++ ist eine erweiterung von c. einfache sachen kann man also einfach in c schreiben, für kompliziertere sachen nimmt man die oop erweiterungen die c++ mitbringt(z.b. klassen). sie bietet von den 3 sprachen her am meisten, wobei einige features gefährlich/sehr komplex sind.
wie schnell sie ist kommt auf den programmierstil an. programme die kkaum oop nutzen sind so schnell wie c, da es ja dann fast c ist. wer sich mit dem gefährlichen features nicht auseinandersetzen will wird bekommt eine eher langsame sprache, die aber immernoch schneller sein sollte als c#, zumindest aber nicht langsamer.
mit allen features sollte sie nur sehr wenig langsamer als c sein - also messbar, aber nicht spürbar. läuft auf praktisch jeder plattform. alles was schneller rechnen kann als eine digitale armbanduhr hat mitlerweile einen c++ compiler ;).

c#: die syntax ist c ähnlich, aber sie nicht direkt c kompatibel. das macht ein paar dinge etwas einfacher(z.b. die includes soweit ich weiß.). die mehr oder weniger gefährlichen features von c++ fehlen komplett und man braucht eine runtime die den code direkt vor der ausführung kompiliert. das macht die programme im vergleich so sprachen bei denen die programme kompiliert ausgeliefert werden relativ langsam. vorallem das starten dauert bei größeren programmen extrem länger als bei c. ausserdem ist es nicht wirklich plattformunabhängig. programme für das windows .net kann man derzeit nirgens anderes ausführen. mit gtk# und mono kann man allerdings sowohl für win als auch linux und vermutlich auch andere plattformen schreiben(macos, bsd?).

zusammenfassung: ich würde c++ empfehlen da es die vielseitigste der 3 sprachen ist. man kann sowohl einfache als auch komplizierte sachen schreiben. c alein ist heutzutage für anfänger nichtmehr zu empfehlen. du wirst mit c++ auch c lernen, fals es also mal nötig sein sollte weil du z.b. einen treiber für einen c basierten kernel schreiben willst sollte das kein größeres problem sein.

von c# würde ich abraten, das ist aber eher eine persöhnliche meinung. mit c# wirst du dich sehr stark ein microsoft binden. es kann nichts was man mit c++ nicht auch könnte, und nur weniges einfacher. die wirklich komplizierten sachen die es bei c++ gibt wurden hier der einfachheithalber einfach weggelassen - das kannst du auch manual bei c++ tun indem du diese features einfach nicht verwendest :p.
 

Muuhmann

Lieutenant
Dabei seit
Sep. 2004
Beiträge
779
danke erstmal für diese ausführliche erklärung!

schade, dass es sowas wie visual studio nicht als PersonalEdition gibt.. gibts keine freeware?
 

Siberian..Husky

Lt. Commander
Dabei seit
Apr. 2004
Beiträge
1.125
kdevelop :p


ok, das mag ich selbst auchnicht so besonders. aber wenn du mal googlest wirst du schon was passendes für windows finden, da bin ich mir sicher. ansonsten sah die visual studio 2005 beta sehr gut aus. das wird es ohne die libs(mfc, atl - und die brauch nu wirklich niemand mehr...) auch für unter 100€ geben.
 

Muuhmann

Lieutenant
Dabei seit
Sep. 2004
Beiträge
779
wieso braucht man mfc net mehr? en freund von mir redet die ganze zeit noch davon...
also cih wollte so ne datenbank programmieren, für ein CD-Archiv.. gleiches habe ich schon in PHP+MySQL geschrieben, aber ich möchte es auf eine komfortablere basis aufbauen..
 

Siberian..Husky

Lt. Commander
Dabei seit
Apr. 2004
Beiträge
1.125
naja MFC und ATL sind uralt. das alein ist sicher kein grund es nicht zu brauchen. aber naja, im gegensatz zu anderen bibliotheken hat es sich seit damals nichtmehr weiter entwickelt :lol: (das sieht MS übrigens als feature an, die alten programme von damals sind zum teil immernoch kompatibel mit der aktuellen MFC, auch wenn es absolut keinen sinn macht alle programme mit neuen bibliotheken zu linken...)

also MFC programmieren macht einfach keinen spass. ich bin mir sicher das dein freund einfach noch kein anderes framework ausprobiert hat.

als alternative für windows bis zum sommer kann man wohl erstmal gtkmm empfehlen, danach darfst du Qt benutzen - da kannst du dann sogar mal echtes C++ schreiben :p.
 
Zuletzt bearbeitet:
Top