HELP !?! C / C++ / VC++
-
hallo,
wo fange ich nur an um es am verständlichsten zu gestalten.ok , ich selber habe mich jetzt seit jahren zu 110% dafür entschieden wieder mit dem programmieren anzufangen und es soll C sein.damals programmierte ich VB 6.0 ( im alter von 11 / 12 jahren , das ist jetzt 6-8 jahre her ) sprich es ist sagen wir mal 0 hängen geblieben, klar deklaration / variablen etc... ist schon nen begriff oder was die win API ist etc , nur um eine enduser applikation zu schreiben dafuer reicht es bei weitem nicht mehr.also stehe ich jetzt vor dem BIG C , nur wo einsteigen ? erst C damit ich komplette strukturiert alles lerne -> dann c++ ? ->vc++ ? da war jetzt der broße knackpunkt.in den letzten tagen habe ich mich nun eingehend mit dem thema beschäftigt und ich kann nur sagen mein kopf qualmt nur so:C - C++ - VC++ - ANSI C - C99 ....
klar hängt es davon ab in welchen anwendungsgebiet ich mich spezifizieren will , nur ich denke mal da setzte ich mir kein ziel.... win32 anwedung / games etc...
ok also halten wir fest : c++ soll es sein, jetzt zum 2ten problem.da ich damlals VB priogrammierte benutze ich die 6.0 aus der MS ENTERPRISE EDITION.mittlerweile gibt es aber 100.000 IDE / GUI moeglichkeiten.
Visual Studio 2005
Visual .net studio
Eclipse
dev cpp
Turbo c++
usw...nur mit welcher coden oO ? ! ?
also leutemir ist es wirklich sehr ernst mit dieser sache , da ich 100 mal aufgehoert habe damlas und wieder angefangen habe.... jetzt in meinem alter von 21 jahren hab ich auch mehr gegebenheiten mich mehr darauf zu konsentrieren bzw mich damit zu befassen.ich hoffe echt den einen oder anderen menschen zu treffen der einem einen guten leitfaden bzw ansätze uebermitteln kann und nciht auf neunmal klugscheißer zu treffen.
Bücher:
da ich nicht nur durch free tutorials lernen will sondern eine strukturierte laufbahn wählen moechte habe ich mich umgehört und bin zu vollgennen erfolg gekommen:
C++ von A bis Z /Mit CD-ROM. Das umfassende Handbuch (Galileo Computing) (Gebundene Ausgabe)
http://www.amazon.de/CD-ROM-umfassende-Handbuch-Galileo-Computing/dp/3898428168/ref=pd_bbs_sr_1/303-3736891-9793061?ie=UTF8&s=books&qid=1188671905&sr=8-1oder / und
C / C++ Kompendium (Taschenbuch)
http://www.amazon.de/C-Kompendium-Dirk-Louis/dp/3827268125/ref=pd_bowtega_1/028-0691432-0823741?ie=UTF8&s=books&qid=1188672021&sr=1-1sollen sehr gut sein. was sagt ihr dazu ?
zudem wollte ich noch fragen was es mit den K&R werken auf sich hat (.eng) , da diese immer wieder genannt werden.und gibt es eine übersetzung ins deutsche ?PS:um den einstieg in c++ einfacher zu machen nehme ich auch tips an vorher mich mit java / perl / pascal zu befassen ( syntax ähnlichkeiten ).
HELP HELP HELP HELP
-
skenter schrieb:
zudem wollte ich noch fragen was es mit den K&R werken auf sich hat (.eng) , da diese immer wieder genannt werden.und gibt es eine übersetzung ins deutsche ?
das war (oder ist noch?) das standard-lehrbuch für die programmiersprache C von den erfindern selbiger programmiersprache. es gibt dieses buch in zig auflagen und vielen sprachen (auch in deutsch). wenn du aber eher C++ machen willst, brauchst du dieses buch nicht.

-
@Undertaker , thx
-
Ob erst C und dann C++ oder eben gleich C++, da scheiden sich die Geister, siehe hier

Lass dich von den ganzen Ausdrücken nicht verwirren, mit VC++ ist z.B. Visual C++ gemeint, was natürlich keine eigene Programmiersprache, sondern nur ein Compiler bzw eine IDE ist. Wegen IDE kann ich dir übrigens die MS Visual Studio 2005 sehr ans Herz legen, jedenfalls unter Windows! So sehr unterscheiden sich die einzelnen sowieso nicht und die 2005er kann alles und ist kostenlos, was will man mehr..
Ansonsten schnüffel in ein paar Bücher rein, lies dir ab und an mal ein paar Threads im C++-Bereich durch und stell massig Fragen
-
skenter schrieb:
...nur wo einsteigen ? erst C damit ich komplette strukturiert alles lerne -> dann c++ ? ->vc++ ? da war jetzt der broße knackpunkt.in den letzten tagen habe ich mich nun eingehend mit dem thema beschäftigt und ich kann nur sagen mein kopf qualmt nur so:
C - C++ - VC++ - ANSI C - C99 ....ach, noch was:
C wird heutzutage vorwiegend zur hardwarenahen und systemprogrammierung eingesetzt (embedded devices, treiber, usw.).
C++ ist ursprünglich aus C entstanden, wurde aber auch von smalltalk und anderen sprachen beeinflusst. C++ ist sehr komplex und erfordert viel wissen, erfahrung und disziplin vom programmierer (shoot away the whole leg). C++ ist standardisiert
VC++ ist eine produktbezeichnung vom micro$oft basierend auf einem C++ compiler mit ms-eigenen erweiterungen (ein C compiler ist aber auch dabei), hauptsächlich gedacht für die programmierung unter windows. es gibt aber auch embedded-VC++ für ARM-basierte PDAs, die unter Win-CE laufen.
ANSI-C ist die standardisierte variante von C: http://www.open-std.org/jtc1/sc22/wg14/
C99 ist der aktuelle C-standard, es sind aber heute noch sehr viele C89 bzw. C90 compiler, also die vorgängerversion, im einsatz.

-
also ich muss mal sagen bis jetzt TOP hilfe hier .und @ Badestrand genau solch informationen brauch ich!das hatte mich halt sehr verwirrt mit den IDE's , ich selber besitze die 2005er schon ,nur als ich das erste projekt startete war ich halt verwirrt ( MFC ) 1000 deklaration / lib aufrüfe etc.. sprich 0 durchblick(meinerseits).und ich glaube nciht das der einstieg in visual c++ mit dem ganzen scheiss MFC fuer mich sinnvoll ist.und was ich in der kurzen zeit in erfahrung bringen konnte war das die MFC sowieso eher benuzt wird um den umgang mit der WinAPI zu vereinfachen.daher fand ich "dev cpp" nicht schlecht , schlicht einfach ,strukturiert , doch hätte ich einige vor oder anchteile dadurch ? in bezug aug GUI oder sonstwas ?
-
@Undertaker & badestrand , hammer jungs ! ? ! ich war vorher in 2 anderen foren und niemand war in der lage wie ihr beide das thema am schopfe zu packen.jungs ihr wisst echtnicht was mitr fuer ein dicker stein vom herzen gefallen ist ! HAMMER ! diese art der orientierung brauchte ich !ich glaube ich werde mich mal jetzt mit c++ und der IDE : visual studio 05 befassen ! währe echt nett wenn wir Msn / icq usw.. austauchen koennten.danke euch beiden ! !
-
also devcpp ist nun wirklich schon alt und hat bugs und wird nicht mehr weiterentwickelt. Der vorreiter in den opensourdce-ides ist wohl code::blocks (www.codeblocks.org) Ich kann dir aber auch nur wärmstens Visual C++ 200 Express empfehlen, oder wenn du sogar hast, dann natürlich das visual studio, das is nochn zacken besser

Und du musst bei VC (=IDE Visual studio C++) nicht mit der MFC programmieren, kannst auch ganz einfache Konsolenrogramme machen. Dazu gehst du auf
Datei->neues Projekt->links in der Liste Win32 wählenund rechts nimmst du dann Konsolenanwendung, dann kommt ein ganz einfaches Projekt raus, wo du auch die normalen tutorials und sowas mit durcharbeiten kannst.
Ansonsten, meine Empfehlung: Wenn du schon ein wenig erfahrung mit Programmierung hast, würde ich gleich zu C++ raten (aber da scheiden sich die geister). Mit C kann man sich ganz schön den Stil versauen und so. Also lieber gleich C++.
Joa... also auf alle fälle VS (visual studio) benutzen

oder eben codeblocks wenn du unbedingt willst, ich finds aber nicht so gut. Schon der debugger ist im gegensatz zu VC viel schlechter
-
skenter schrieb:
@Undertaker & badestrand , hammer jungs! ? ! ich war vorher in 2 anderen foren und niemand war in der lage wie ihr beide das thema am schopfe zu packen.jungs ihr wisst echtnicht was mitr fuer ein dicker stein vom herzen gefallen ist ! HAMMER !
diese art der orientierung brauchte ich !ach, keine ursache. die meisten sind eigentlich ziemlich hilfsbereit hier.
und, wie Badestrand schon sagte, bei konkreten fragen geh' in die fachforen (z.b. winapi) und frag' den leuten löcher in'n bauch
skenter schrieb:
ich glaube ich werde mich mal jetzt mit c++ und der IDE : visual studio 05 befassen !
wenn du windoofs-programme schreiben willst ist das, meiner meinung nach, die beste wahl.

-
skenter schrieb:
@Undertaker & badestrand , hammer jungs ! ? ! ich war vorher in 2 anderen foren und niemand war in der lage wie ihr beide das thema am schopfe zu packen.jungs ihr wisst echtnicht was mitr fuer ein dicker stein vom herzen gefallen ist ! HAMMER ! diese art der orientierung brauchte ich !ich glaube ich werde mich mal jetzt mit c++ und der IDE : visual studio 05 befassen ! währe echt nett wenn wir Msn / icq usw.. austauchen koennten.danke euch beiden ! !
Ja, kein Ding, man hilft doch gerne
Wegen ICQ schreib mir einfach ne Mail, links übers Benutzerprofil.
-
Für einen Anfänger finde ich Visual Studio recht erschlagend. Ist zwar großartig aber zu umfangreich.
Also Visual Studio ist auch meine Favorit aber ich würde denoch empfehlen den Anfang mit Gcc / MinGW / Kommandozeile und dann DevCpp oder CodeBlocks zu machen. So kannst Dich erstmal einlesen was der Compiler macht, wie man den Linker benutzt, was der Präprozessor macht, wie man Headerfiles includiert und wie man zusätzlichen (also entweder fremde noder eigenen) Source mit in sein Projekt einbindet.
Das Problem ist das wenn man fremden Source compilen will, das da nur in den seltensten Fällen Projektfiles mit dabei sind und man ohne die überhaupt nicht weiß wie man das compiled bekommt besonders wenn es noch mehr Abhängigkeiten zu externen Projekten gibt.
Kurz nachdem man das durch hat kann man dann auch eine richtige Ide nehmen. Aber die Grundlagen zu wissen wie es auch ohne geht finde ich schon wichtig.
-
Undertaker schrieb:
skenter schrieb:
ich glaube ich werde mich mal jetzt mit c++ und der IDE : visual studio 05 befassen !
wenn du windoofs-programme schreiben willst ist das, meiner meinung nach, die beste wahl.

Ja wenn man sich auf Win spezialisiert ist die Express der '05er wirklich eine schöne IDE & ein guter Compiler.
Das ganze hat nur seine Grenzen wenn man parallel viel unter anderen Betriebssystemen arbeitet und immer die gleiche IDE haben will. (GPL Qt soll sich auch mit dem MinGW besser vertragen ist aber für rein-Windows auch nicht das so interessante Thema
)Was bei der Express ein Problem ist, ist der Fehlende Support für Plugins, gerade das SVN-Handling wie man es aus Eclipse kennt ist ein schönes Ding, das mit einem Plugin verfügbar ist - ab Standard
-
Visual Studio (also das, was du als "Visual C++" bezeichnest) zwingt dich absolut nicht, die MFC zu verwenden. Weder Visual Studio 6.0 noch VS 2005 noch sonst eine Version. Die MFC sind - wie du schon erkannt hast - nur eine Bibliothek, die den Umgang mit der WinAPI verschlimmbessern (niemand mag die MFC gern, die MFC ist grottenschlecht, es gibt bessere Alternativen!).
Da du erst mit dem Programmieren anfaengst, sind WinAPI und MFC sowieso VERBOTEN! Das sind beide relativ haessliche Bibliotheken, von denen du dir nichts abgucken solltest. Deswegen erstmal Haende weg, damit du dir nicht noch die falschen Dinge angewoehnst. Am Anfang sollte man einfach Konsolenprogramme (Also, die, die aussehen wie alte MS-DOS Programme) schreiben, und GUI-Programmierung erst spaeter ansehen.

Fuer C++ wird uebrigens auch "C++ verwenden und professionell anwenden" sehr gern emfpohlen, soll (anscheinend) ein sehr gutes Buch sein. Wenn dein Englisch nicht allzu schlecht ist, solltest du auch unbedingt "Thinking in C++" zumindest anlesen. Das Buch (bzw. die Buecher, gibt 2 davon) gibts gratis im Internet, und die sind wirklich sehr gut!

Dev-C++ ist eine relativ schlechte Wahl, die IDE mag einfach aussehen, aber es gibt ein paar nervige Bugs, und das Programm wird nicht mehr weiterentwickelt. Wenn dir das Visual Studio 2005 nicht gefaellt, koenntest du dir noch Code::Blocks (www.codeblocks.org) anschauen, ist auch sehr nett.
-
Blue-Tiger schrieb:
Da du erst mit dem Programmieren anfaengst, sind WinAPI und MFC sowieso VERBOTEN! Das sind beide relativ haessliche Bibliotheken, von denen du dir nichts abgucken solltest.
naja, aber wenn man für windows programme entwickelt, wird man, früher oder später, an der winapi wohl kaum vorbeikommen. mfc kann man natürlich ignorieren, denn das ist nur eine, aus c++ wrappern bestehende library. aber winapi ist die user-mode schnittstelle zum betriebssystem und wenn man sich damit auskennt, kann das nur ein vorteil sein.
btw: aber machen wir uns doch nichts vor. plattformunabhängige C++ -programmierung ist, bis auf wenige ausnahmen, eine utopie. man hat doch meistens ein konkretes ziel (programm, anwendung, system, etc.) vor augen und dann sollte man auch alle register ziehen, sprich: systemspezifische features nutzen können, die möglich sind.

-
Undertaker schrieb:
Blue-Tiger schrieb:
Da du erst mit dem Programmieren anfaengst, sind WinAPI und MFC sowieso VERBOTEN! Das sind beide relativ haessliche Bibliotheken, von denen du dir nichts abgucken solltest.
naja, aber wenn man für windows programme entwickelt, wird man, früher oder später, an der winapi wohl kaum vorbeikommen. mfc kann man natürlich ignorieren, denn das ist nur eine, aus c++ wrappern bestehende library. aber winapi ist die user-mode schnittstelle zum betriebssystem und wenn man sich damit auskennt, kann das nur ein vorteil sein.
btw: aber machen wir uns doch nichts vor. plattformunabhängige C++ -programmierung ist, bis auf wenige ausnahmen, eine utopie. man hat doch meistens ein konkretes ziel (programm, anwendung, system, etc.) vor augen und dann sollte man auch alle register ziehen, sprich: systemspezifische features nutzen können, die möglich sind.

WinAPI sollte man als Anfaenger aber erstmal meiden, IMO. Danach ok, wenn sich's nicht vermeiden laesst (siehe aber Bemerkung unten). Aber bevor die Grundlagen nicht sitzen, wuerd ich Anfaenger nichtmal auf eine _GUTE_ Gui-Lib loslassen, geschweige denn WinAPI.
zwar Offtopic, aber:
Plattformunabhaengigkeit kann auch ein konrektes Ziel sein. Und selbst wenn nicht, ich kenne keinen Fall, wo ich mit plattforumunabhaengigen Mitteln nicht genau das selbe Erzielen koennte wie mit OS-abhaengigen (bin mir aber sicher es gibt welche, aber: ganz sicher nicht so viele, wie du's grad darstellst). Viele Programme koennten problemlos plattformunabhaengig geschrieben werden, wenn die Programmierer nicht auf plattformabhaengigen Libs aufbauen wuerden.
-
Blue-Tiger schrieb:
Viele Programme koennten problemlos plattformunabhaengig geschrieben werden, wenn die Programmierer nicht auf plattformabhaengigen Libs aufbauen wuerden.
Ich sehe das Problem eher darin, GUI- und Anwendungscode zu trennen. Sobald man beides einzeln hat, kann man problemlos für verschiedene Systeme maßgeschneiderte GUIs anbieten. Bei den Libs kann man ja einfach von Anfang an darauf achten, sooo schwierig ist das ja eigentlich nicht (ich weiß, sagtest du auch nicht, wollte es nur noch mal erwähnen)

-
Wenn du wirklich ganz neu anfangen willst benutz doch gleich C#
-
AndiOO schrieb:
Wenn du wirklich ganz neu anfangen willst benutz doch gleich C#
Genau! Oder Python oder Ruby oder Java...
C++ ist derart komplex und überladen, dass man sich als
Anfänger weiß Gott keinen Gefallen tut, sich gleich dieser Sprache
auszusetzen. Da wirst Du bald die Lust verlieren und die Sache
aufgeben -- mit 110%iger Wahrscheinlickeit.
-
Blue-Tiger schrieb:
zwar Offtopic, aber:
Plattformunabhaengigkeit kann auch ein konrektes Ziel sein. Und selbst wenn nicht, ich kenne keinen Fall, wo ich mit plattforumunabhaengigen Mitteln nicht genau das selbe Erzielen koennte wie mit OS-abhaengigen (bin mir aber sicher es gibt welche, aber: ganz sicher nicht so viele, wie du's grad darstellst). Viele Programme koennten problemlos plattformunabhaengig geschrieben werden, wenn die Programmierer nicht auf plattformabhaengigen Libs aufbauen wuerden.Also man kann sicherlich vieles platformunabhängig programmieren. Aber es gibt immer mal wieder Spezialfälle, wo du eindeutig nicht darum herum kommst, plattformspezifische APIs zubenutzen. Wenn man das nicht macht, wird man sich z.B. Nachteile ggü. der Konkurrenz holen. Denn es gibt ja verschiedene Plattformen, weil diese verschiedene Leistungsmerkmale haben. Und die will man dann auch ausnutzen. Wenn man aber immer nur plattformneutral entwickelt, wird man immer nur den kleinsten gemeinsamen Nenner nutzen können. Und dann wird die eigene Software keinen Wettbewerbsvorteil erlangen können.
-
Ich bin seinerzeit gleich mit Visual Studio 6 eingestiegen und es hat mir nicht geschadet. Ich kenne die Visual Studio IDE besser auswendig als meine eigenen 4 Wände. Und früher oder später wirst du eh bei Visual Studio landen, weil es die beste IDE ist, die es gibt.