HELP !?! C / C++ / VC++
-
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.
-
Artchi schrieb:
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.
Wenn deine Software nur im Nutzen von plattformspezifischen Funktionen glänzt... na dann gut' Nacht!

-
Mr. N schrieb:
Wenn deine Software nur im Nutzen von plattformspezifischen Funktionen glänzt... na dann gut' Nacht!

nö, das ist schon ok so. wenn man unter windoofs einen dienst, eine shell-extension, ein mmc-applet usw. machen will, dann muss man winapi-funktionen benutzen. was ist daran schlimm?

-
Undertaker schrieb:
Mr. N schrieb:
Wenn deine Software nur im Nutzen von plattformspezifischen Funktionen glänzt... na dann gut' Nacht!

nö, das ist schon ok so. wenn man unter windoofs einen dienst, eine shell-extension, ein mmc-applet usw. machen will, dann muss man winapi-funktionen benutzen. was ist daran schlimm?

Ich dachte eigentlich, es wäre verständlich, was ich gemeint habe. Aber dann will ich mal extra für dich (:p) erklären:
Wenn eine Software nur im Nutzen von plattformspezifischen Funktionen glänzt, dann heißt das, dass sie ansonsten höchstens durchschnittlich sein kann (also schlecht ist)...
Jetzt klar?
-
Mr. N schrieb:
Wenn eine Software nur im Nutzen von plattformspezifischen Funktionen glänzt, dann heißt das, dass sie ansonsten höchstens durchschnittlich sein kann (also schlecht ist)...
Wieso ergeben gut und "durchschnittlich" zusammen "schlecht"?
-
SeppSchrot schrieb:
Mr. N schrieb:
Wenn eine Software nur im Nutzen von plattformspezifischen Funktionen glänzt, dann heißt das, dass sie ansonsten höchstens durchschnittlich sein kann (also schlecht ist)...
Wieso ergeben gut und "durchschnittlich" zusammen "schlecht"?
Durchschnittlich == schlecht. Man sollte IMHO auf mehr als einem Feld glänzen. Und diese mehreren Felder müssen nichtmal plattformspezifisch sein...
-
Mr. N schrieb:
Wenn eine Software nur im Nutzen von plattformspezifischen Funktionen glänzt, dann heißt das, dass sie ansonsten höchstens durchschnittlich sein kann (also schlecht ist)...
nö, dass heisst höchstens, dass den machern der software plattformunabghängigkeit nicht wichtig war, weil es z.b. ein schnelles und schlankes programm werden soll. plattformunabhängigkeit mit C oder C++ programmen heisst immer, dass man viele kompromisse eingehen und nachteile hinnehmen muss. aber ist ja egal, der OP möchte C++ unter windows programmieren und deshalb, finde ich, sollte er sich auf C++ in verbindung mit winapi konzentrieren. wäre für ihn plattformunabhängige entwicklung wichtig, dann würde er sich wohl eher auf python o.ä. stürzen (was ja weiter oben schon jemand vorgeschlagen hat).

-
Beispiel: zwei Programme die für die Foto-Verwaltung sind. Eines nutzt nur platformneutrale Funktionen. Das andere benutzt ebenfalls platformneutrale Funktionen PLUS einen Windows-API-Funktion, die extra Digikameras erkennt und entsprechend komfortable Import-Funktionen anbietet.
Hem, also ich würde persönlich das Programm benutzen, das die Windows-FUnktionen nutzt und mir damit das Leben leichter macht.
Aber klar, wer spezielle Funktionen anbietet, hat sonst nicht zu bieten... das ist natürlich die Schlussfolgerung. Aha...
-
Artchi@Out schrieb:
Beispiel: zwei Programme die für die Foto-Verwaltung sind. Eines nutzt nur platformneutrale Funktionen. Das andere benutzt ebenfalls platformneutrale Funktionen PLUS einen Windows-API-Funktion, die extra Digikameras erkennt und entsprechend komfortable Import-Funktionen anbietet.
Hem, also ich würde persönlich das Programm benutzen, das die Windows-FUnktionen nutzt und mir damit das Leben leichter macht.
Nur wenn das Programm, das WinAPI-Spezifika nutzt, ansonsten mindestens gleich gut ist.
Artchi@Out schrieb:
Aber klar, wer spezielle Funktionen anbietet, hat sonst nicht zu bieten... das ist natürlich die Schlussfolgerung. Aha...
Das habe ich nie behauptet.

-
, *hust*.ich will mich erstmal bei allen bedanken die sich so aktiv in dieser kurzen zeit in diesem thread gezeigt haben.meine vorab fragen sind zu 90% beantworten im bezug auf das verwirrende C syntax / GUI / IDE und die erschlagende MFC.wie gesagt werde ich mich jetzt in c++ via visual studio 2005 einarbeiten.falls jemand gute tutorials für mich hat im bezug auf die c++ kosollenprogrammierung ( texteingabe / ausgabe - auswertung , rechner etc.... ) hat (vorzugsweise kommplettes tutorial über mehrere kapitel )diese bitte zu linken , GUI wird erst ein späteres thema.
PS: visual studio 2005 installation gerade abgeschlossen
... also gogo.
-
mit volkards tutorial hab ich angefangen, ich fands super
http://c-plusplus.net/cms/modules.php?op=modload&name=Downloads&file=index&req=getit&lid=15
-
Wobei du hier anfangen solltest. Es sind einige Dinge nicht mehr so aktuell in Volkards Tutorial. Das hat mich am Anfang sehr verwirrt: Wieso geht das nicht? Wieso ist das nicht in dem namespace? etc.
Gruß
Don06
-
du sprichst es an.das ist meine scheu weil die meisten tutorials die ich für c++ finde (2000 - 2003) sind.das sie entweder nicht aktuell sind bzw es vereinfachte erneuerungen gibt ( kommt mir jetzt nicht mit MFC xD
).
-
Ich persönlich finde das ja ziemlich gut.
Aber schau dir mal das an, falls du es noch nicht getan hast.
Gruß
Don06
-
skenter schrieb:
, *hust*.Herzlich willkommen im C++-Board, wo seitenweise Fragen beantwortet werden, die gar nicht gestellt wurden

Tutorials bringen oft einen kurzen Aha-Effekt, haben aber meist den Nachteil, dass sie eben nur die ersten Schritte mit Beispielen vormachen. Wenn man dann weitergehen will, liest man vieles doppelt.
Lass dich daher durch die Tutorien nicht davon abhalten, dir ein vernünftiges Buch zuzulegen, wie du es anfangs vorhattest. Das C/C++ Kompendium von Louis ist ein toller Schmöker zum Lernen beider Sprachen von Anfang an und es schnuppert in viele fortgeschrittene Themen rein. Ich kenne allerdings die Taschenbuchversion nicht, scheinbar ist es aber nicht gekürzt.
C/C++ Kompendium | ISBN: 3827268125
Die VisualC++ IDE wurde immer von einigen Markt&Technik Büchern ganz nett erklärt, allerdings würde ich mir diese Bücher nur ausleihen, da man das nur einmal liest und dann der Nachschlagfaktor nicht so groß ist.