Umstieg von Blitz Basic zu C++
-
asc schrieb:
~fricky schrieb:
asc schrieb:
1. Mit Konsolenprogrammen
naja, also für einen, der bisher mit blitz-basic programmiert hat, sind konsolenprogramme ein ausflug in die steinzeit.
Ich kenne den Codestil von Leuten die eine Sprache beherrscht haben und meinten unter C++ gleich mit UI einsteigen zu wollen. Ich weiß warum ich etwas anderes rate.
du magst recht haben, dass konsolenprogramme der einzig richtige weg sind, um c++ zu lernen. aber mich würde es jedenfalls tierisch nerven, wenn ich vorher die tollsten grafischen sachen machen konnte und jetzt nur noch mit zeichen und ziffern rumfummeln muss. die nächste stufe wird dann der einsatz von 'improved console' sein, oder was?
-
Mir ist schon klar, dass ich anfangs erstmal nur Konsolenprogramme schreiben lerne... ist auch voellig in Ordnung - ich lerne gerne.
welche dinge ich nicht verstehe sind...
Also, VC6 unterstützt den ISO-C++-Standard von 1998 nicht! Du wirst sowohl mit der VC6-Literatur als auch mit dem VC6-Compiler heute nicht sehr weit kommen, da du "falsches" C++ lernen und programmieren wirst.
Bisher dachte ich dass es sowas wie ein "Standard C++" gibt... ein C++, dass in allen OS laeuft... Ich wusste garnicht, dass es "mehrere" C++-Versionen gibt... koennte mir das jemand genauer erklaeren? Bzw. auch Unterschiede?
Ich lese nur ungern Tutorials... was ist denn nun das "allerbeste" C++-Buch "ohne Uebersetzungsfehler"?
also ich bin immernoch verwirrt und weiss nich recht wie ich anfangen soll - aber wenn ihr meint, dass die alten Buecher und Versiion von VC nicht geeignet sind, dann werdet ihr schon eure Gruende haben... deswegen istallier ich gleich mal die VC 2008 Express...
-
Na, ich bin mir sicher das man nicht unbedingt Monate oder Jahre Konsole machen muß. Erste Gehversuche sollten aber schon in der Konsole sein. Was macht #include? Was ist main? u.ä.
Man kann dann sicherlich zu GUIs übergehen und die Std-Lib mit einbeziehen. Ich halte sogar GUIs ideal um OOP zu lernen. Da dort die Objekte nicht so abstrakt sind.
ABER, das Problem ist, es gibt keine vernünftige Literatur die genau diesen Weg eingeht. Die meiste Literatur ist einfach nur schlecht, egal ob Konsole oder GUI. Und man muß dann halt die besten Bücher rauspicken, und die behandeln nunmal Konsole.
ABER, nur weil ein Konsolenbuch 1000 Seiten hat, muß es ja nicht heißen, das man erst 1000 Seiten durchnehmen muß, bis einem erlaubt wird GUI zu machen.
-
@Blitz-Coder! Das ist eigentlich ganz einfach: es gibt einen ISO-C++-Standard, der 1998 definiert wurde. (das ist ja nur ein Stück Papier, wenn du so willst)
Nun, diesen Standard müssen aber natürlich die Hersteller von C++-Compilern natürlich erstmal in Software giessen. Vor 1998 hat jeder C++ so "erdacht" wie er es für richtig hielt. Somit waren C++-Programme nicht auf jedem COmpiler kompilierbar. Erst 1998 gabs C++ als Norm. Und diese Norm setzt VC6 nicht um, weil VC6 selbst 1998 raus kam. Also muß man einen aktuelleren VC benutzen, z.B. den von 2003. Da konnte MS erst die 1998er Norm in seinen Compilern umsetzen. Aber natürlich kann man heute auch gleich den von 2008 benutzen.Du kannst ISO-C++-Programme erstmal theoretisch auf jeder Plattform kompilieren, die einen ISO-C++-fähigen Compiler hat. Für dich als Anfänger ist das aber alles irrelevant. Die Details, wann man "inkompatibel" wird, würde ich mich erst etwas später kümmern. Am Anfang wirst du C++ lernen, und zwar nach ISO-C++-Norm, und damit hast du schon viel gewonnen.
Ein Buch habe ich ja schon empfohlen: www.oop-mit-cpp.de ist eine Homepage von einem Buch aus Papier. Kein Online-Tutorial!
Muß nur gerade feststellen, das die Website gerade nicht geht. Deshalb:
"C++-Einführung und professionelle Programmierung" mind. 9. Auflage aus dem HANSER Verlag.
-
Achja, den "C++ Primer" kann man trotzdem empfehlen. Er hat zwar ein paar Übersetzungs- bzw. Abtippfehler (von English auf Deutsch), aber insgesamt ist das Buch trotzdem eines von den besseren C++-Büchern.
Also insgesamt zwei Bücher die ich pers. empfehlen kann.
-
Vielen Danke fuer deine Empfehlungen!
Werde mir gleich eins bestellen von den beiden empfohlenen buecher bestellen. (welches weiss ich noch nicht genau - werde erstmal die beschreibungen beider durchlesen)
Wuenscht mir glueck
-
Edit: Ausversehen 2x gleiche Information geschrieben xD (Man sollte die eigenen Posts manchmal noch mal ansehen...)
-
hmm ich weiß ohnehin nicht so recht, wenn der herr vorhat nicht-betriebssystemprogramme zu schreiben, wäre c# oder java nicht zukunftsweisender hinsichtlich wartbarkeit und ähnlichem?
-
gasst schrieb:
hmm ich weiß ohnehin nicht so recht, wenn der herr vorhat nicht-betriebssystemprogramme zu schreiben, wäre c# oder java nicht zukunftsweisender hinsichtlich wartbarkeit und ähnlichem?
Ich weiß es auch nicht, aber wenn er C++ geschnallt hat, wird ihm Java und C# auch keine Probleme machen.
-
Habe mich jetzt fuer das Buch "C++ -Einführung und professionelle Programmierung" von Ulrich Breymann entschieden... In der Beschreiben steht auch, dass es Neurungen des kommenden C++-Standards beruecksichtigt, ich glaube ich habe die richtige Wahl getroffen
Jetzt haette ich noch eine Frage zum Visual C++ 2008 Express Edition Compiler von M$. Stimmt es, dass man damit nur .NET Anwendungen schreiben kann oder kann man auch ganz normale Anwendungen schreiben, die auch NICHT unter .NET laufen - weil die .NET Umgebung ja mit VC++ 2008 Express ja mitinstalliert wird...
Und dann noch was anderes... Also wenn ich das richtig verstanden habe, hatte jeder Compiler vor der Standardisierung von 1998 jeder seine "eigene" C++-Sprache - oder wie?
@gasst
Wie meinst du das mit den "nicht-betriebssystemprogrammen"? MEinst du plattformunabhaenigkeit? ISO C++ ist doch plattformunabhaengig oder? Oder meinst du eher Programme, die ohne Betriebsystem laufen!?
Mein Entwicklungsbereich wird sich (vorerst) sowiiso auf Windoof beschraenken...
-
kann man auch ganz normale Anwendungen schreiben, die auch NICHT unter .NET laufen
Man kann, wenn man als Projekt Win32Console oder Win32 auswählt.
-
@Blitz-Coder! Man kann natürlich mit dem MSVC weiterhin ganz normale C++-Programme entwickeln, die absolut nichts mit .NET zu tun haben.
Du mußt beim Anlegen eines Projektes einfach kein CLR-Projekt anlegen. Für dich kommen aber erstmal nur Win32-Console Projekte in Frage (MFC, ATL u.a. C++-Typen sind zwar auch reines C++, aber seeehr speziell).Die .NET-Umgebung mußte nur installiert werden, weil natürlich MSVC auch .NET unterstützt und die MSVC natürlich auch zum debuggen von .NET-Anwendungen geeignet ist. Du mußt aber .NET (CLR) in deinen Projekten nicht nutzen.
Lass dich von Leuten wie gasst nicht ablenken, die wollen einfach nur "ihre" Sprache verkaufen. Wenn Du nach C# gefragt hättest, wäre sein Einwand berechtigt. Aber du wolltest ja C++ lernen, und niemand hier hat dich ja dazu überredet.
-
Und dann noch was anderes... Also wenn ich das richtig verstanden habe, hatte jeder Compiler vor der Standardisierung von 1998 jeder seine "eigene" C++-Sprache - oder wie?
So ist es. Aber auch nach 1998 war das leider noch lange so. Denn es hat ja etwas gedauert, bis endlich alle Compiler nachgezogen sind. Nur weil 1998 ein Papier rauskam, sind nicht 1999 alle Compiler standardkonform geworden. Das hat schon Jahre gedauert, bis die ersten Compiler das meiste vom Standard unterstützten. Bei den aktuellen bekannten Compilern (von MS, Intel, GCC und Code Gear) braucht man sich aber keine Sorgen machen.
-
^^
naja, ich kann mir zwar kaum vorstellen, dass ein ehemaliger blitzbasic-coder mit c++ glücklich wird, aber ok, er will es ja selber so, auf die harte tour. ein sprichwort sagt: nur wer durch die hölle gegangen ist, kann den himmel wirklich sehen. vielleicht ist da was wahres dran?