Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
02.04.2001, 00:04
LePrau



Zugegeben, man kann die Frage nicht -direkt- beantworten, einen exakten "Mühseligkeitsfaktor" gibts ja nicht. Aber mich würde doch mal interessieren, welchen Aufwand es mich (euer Meinung nach, die ich sehr schätze) kosten würde, mir C++ anzueignen (natürlich auch, um für HL zu coden, aber auch prinzipiell).

Was Programmierkentnisse im Allgemeinen betrifft, bin ich eigentlich auf dem laufenden, d.h. ich kann mit Schleifen, verschiedenen Datentypen, Zeigern, Unitkonzept, Prozedurkonzept etc. durchaus was anfangen, aber kenne halt noch nix von der C++ Syntax (ok, ein Paar Brocken, z.B. das { } wohl BEGIN END entspricht...) geschweige denn auch nur einen Befehl...

Welche Zeit müsste ich veranschlagen, um die Grundlagen (Syntax, einfache Befehle) in C++ zu lernen?

Gibt es grundlegende Unterschiede zw. C++ und Pascal? (Kann C++ "Multitasking", also mehrere Routinen parallel abarbeiten o.ä.)

Gebt mir mal so schon ein paar kleine Infos, am besten welche, die mich ermutigen, in den Osterferien anzufangen (Literatur kann ich ohne Ende organisieren *gg*)

Irony-Mode: on
Ich werde die Leute, die mir hierauf antworten, mit C++ Fragen (vor allem billigen Syntaxfehlern und Compile-Problemen) bombardieren!
Irony-Mode: off

Thx schon im Voraus, Le Prau.

--

voice - Ruhe in Frieden

zum Seitenanfang zum Seitenende Profil || Suche
001
02.04.2001, 12:46
Kriz



Jesses, ich mache mich auf was gefaßt :)))

C++ zu lernen ist eine langwierige Sache (auch wenn ich mal davon ausgehe, daß die Beherrschung des HL Codes bei weitem nicht die ganze Tiefe von C++ ausschöpft, zumindest was ich bisher vom HL Code gesehen habe). Die Grundlagen zu erlernen ist einfach, da sich C++ ja mit allgemeinen und konformen Dingen abgibt. Schwieriger wird aber hier schon der Hintergrund von C++, da man z.B. solche Dinge kennen muß wie Gültigkeitsbereich und Sichtbarkeitsbereich usw.

Heftig wird dann der Fortgeschrittenenabschnitt mit OOP (objektorientiertes Programmieren), Klassen und dem ganzen Heckmeck, was C++ ja so 'simpel' macht. Summa summarum habe ich für den Status von 80% (Selbsteinschätzung) des C++ Fundaments so 4 1/2 Jahre Training gebraucht. Erst dann kann man schonmal 'locker' mit C++ arbeiten, ohne sich Gedanken über Konzepte oder Strategien im SWT (Softwaretechnik) machen zu müssen.

Grundlegende Unterschiede zu Pascal und C++ sind schonmal vom Aufbau her zu sehen:

Pascal ist eine imperative Sprache, d.h. alle Anweisungen erhält das Programm per Befehlsstruktur mittels den Daten (Remote by Order-Prinzip). C++ dagegen verfolgt ein ganz anderes Prinzip (Remote by Data). Hier steuern die Daten das Programm über Befehle. Das hört sich jetzt zwar komisch an und ist sicherlich auf den ersten Blick auch nicht ersichtlich, aber das Konzept von Remote-by-data ist Basis für das OOP. Nur so sind nachrichtengesteuerte Betriebssysteme wie Windows oder Linux möglich. Während Du in pascal nur mit begrenzten Datentypen arbeiten kannst, erlaubt dir C++ die Definition völlig eigenständiger, neuer Datentypen, die höchstkomplex und mit eigenen Funktionen belegt sind!!!

Prefect und Another1 können Dir zu diesem Thema auch ne Menge sagen!

Und, C++ ist Multithreadingfähig... :)

Fange erstmal mit den Grundlagen in C++ an und bastel dir mal die Standardprogramme zusammen (Additionsprogramm o.ä.). Danach wirst Du Schritt für Schritt sehen, was Dir C++ für fulminante Ebenen öffnet!!!

Cu

--

K:R-I)Z++
"CSS ist cascading style sheets. Und nicht so'n Ranzspiel." - dp
In memory of Voice († 2005/03/30)

zum Seitenanfang zum Seitenende Profil || Suche
002
02.04.2001, 14:21
Hellfire



Wird dir glaub ich nicht weiterhelfen, aber bei SuSE Linux 7.1 ist ein Pascal -> C Converter dabei. ;)

--

zum Seitenanfang zum Seitenende Profil || Suche
003
02.04.2001, 14:23
DarKnight



Ich weiss nicht, ob es besonders interessant für dich ist, aber JAVA ist auch eine sehr interessante Programmiersprache, die auch OO (Objektorientiert) ist. Sie kann eigentlich alles was wichtig ist und ist dabei auch noch sehr ähnlich zu C++. JAVA ist ausserdem Plattforumunabhängig, da es Interpretiert wird, wie z.B. auch Basic. Allerdings wird der Code von Java auch noch zwischenkompiliert. Das heisst es ist sowas wie Bytecode, der aber immernoch interpretiert werden muss. Dabei gibt es die Probleme, dass der Code einmal komplett mit bestimmten Programmen (nicht, Kriz =)) dekompiliert udn damit gelesen werden kann und dass die Ausführung recht langsam ist. Java biete aber natürlich auch Klassen, Funktionen, Multithreading (sehr wichtig für Games) und noch ne Menge anderen OO-Kram, Dabei ist es auch noch etwas simpler als C++ aufgebaut und somit leichter erlernbar. Der Code generell ist zu C++ recht ähnlich und man kann recht leicht von Java auf C++ umsteigen, wenn man die Grundlagen erstmal verstanden hat.

Allerdings bin ich ja auch noch Anfänger und weiss längst nicht so viel wie die oben genannten Herren! =) (wenn Kriz 80% kann, kann ich 15%)

Naja. Wie gesagt man kann auch gut mit JAVA anfangen..... =)

--

void CHudSayText :: EnsureTextFitsInOneLineAndWrapIfHaveTo( int line ) -- Aja?

zum Seitenanfang zum Seitenende Profil || Suche
004
02.04.2001, 15:08
LePrau



Danke für die Infos bis hierhin, ich kann mir jetzt in etwa vorstellen, was an Aufwand auf mich zu kommt...

Aber allein schon aus dem Grund, das C++ die Grundlage heutiger OSes ist, werde ich damit in den Osterferien anfangen.
Ok, Kriz, 4 1/2 Jahre? Und schon 80% ? *gg* Ich glaubs dir an dieser Stelle mal, zumal es eine Selbsteinschätzung ist....

Zu den Details: OOP kann man in TP in Version 7 auch schon (begrenzt) verwirklichen, wobei das an sich nicht sehr übersichtlich gelöst ist.

Egal, an dieser Stelle noch einmal Danke, auch für den Hinweis mit dem Konverter, wobei ich mir nicht vorstellen kann, das der bei etwas komplexeren Programmen noch saubere Ergebnisse liefert...aber trotzdem

danke ich euch recht herzlich :)

--

voice - Ruhe in Frieden

zum Seitenanfang zum Seitenende Profil || Suche
005
02.04.2001, 18:33
Prefect



Ich sag nur, der arme Blaise Pascal

;)

cu,
Prefect

--

Widelands - Gemütliche Aufbaustrategie, Free Software
Noch ein Blog - Lerne, wie die Welt wirklich ist, aber vergiss niemals, wie sie sein sollte.

zum Seitenanfang zum Seitenende Profil || Suche
006
02.04.2001, 19:55
Kriz



@LePrau: C++ ist mein Arbeitsmittel, da Informatiker... :)

--

K:R-I)Z++
"CSS ist cascading style sheets. Und nicht so'n Ranzspiel." - dp
In memory of Voice († 2005/03/30)

zum Seitenanfang zum Seitenende Profil || Suche
007
02.04.2001, 22:02
Prophyle



Weiß net, was habt ihr denn...
Ich finde dass Pascal C sehr sehr ähnlich ist. Ich bin jetzt seit ca. 5 Jahren mit Pascal gut vertraut, und hab mir vor einem Jahr ein C-Buch durchgelesen. Bis auf die Namen der Schlüsselwörter ist alles gleich, die Strukturen sind manchmal etwas anders, aber im Prinzip kann man alles was man mit C machen kann auch auf Pascal umschreiben(Klassen, private/public, was ihr wollt). Trotzdem finde ich C besser, Pascal wirkt(finde ich) so überladen, aber als Einsteigersprache ist Pascal dank Delphi erste Klasse.

naja meine Meinung ;)

--

Prophyle, Coder beim SGT: http://mod.famkos.de.
Delphi, C++, Qt

zum Seitenanfang zum Seitenende Profil || Suche
008
02.04.2001, 22:09
LePrau



Oh, gleich hab ich noch viel mehr Lust aufs C++ lernen :)

Das beruhigt mich doch schon mal sehr, hatte schon Angst, das sich das Univerum nicht um meinen Computer dreht... (jaja, da haben sich bisher wohl alle geirrt :)

....ähm..... oder macht das einen GROSSEN und DERBEN Unterschied ob man von C oder von C++ spricht? *arghh*

--

voice - Ruhe in Frieden

zum Seitenanfang zum Seitenende Profil || Suche
009
02.04.2001, 22:21
DarKnight



Jepp macht es! =)

C ist eine klassische Programmiersprache wie Basic. Erst C++ ist Objektorientiert. Die Syntax hat sich net wesentlich geändert, aber die Features! =)

Naja. Am besten ERST C und DANN C++. So ist es auch in fast allen Büchern!

PS: Mit C kannste auch ne Menge machen, aber doch längst nicht so viel wie mit C++! =)

--

void CHudSayText :: EnsureTextFitsInOneLineAndWrapIfHaveTo( int line ) -- Aja?

zum Seitenanfang zum Seitenende Profil || Suche
010
02.04.2001, 23:59
Another1



also, hab jetzt keine lust *einschlaf* ..... *aufwach* noch viel zu schreiben, aber ich habe auch erst Pascal (vorher Basic), dann Delphi (OO Pascal) gecoded, und habe dann zuerst zu C (lag wohl daran das ich erst ein C Buch hatte) und dann zu C++ gewechselt. Wenn man gut mit Pascal vertraut ist sollte es eigentlich leicht sein, in C einzusteigen. Was mich persönlich als erstes verwundert hat, ist das man nich einfach nen PrintScreen oder so befehl hatte in C, sondern dieses komplexe printf() mit all diesen kryptischen Zeichen, z.B. ein \n am Ende usw, und immer diese %0.1f %2d usw, aber das sollte dich nicht davon abbringen, C zu lernen! (außerdem war es echt verwirrend, warum man für einen string nich string sondern char* schreiben musste, nicht einfach "hello" + "world" machen konnte und irgendwie immer speicher anfordern bzw freigeben musste, das war in Pascal sehr selten gefragt (auf jedenfall seltener als in C) =)

noch was zum Schluss:
Es gibt nichts Gutes, außer man tut es!

@Darknight: mit C kann man alles machen, was man mit C++ machen kann! Was jetzt leichter ist, muss man selbst entscheiden (jaja Kriz, komm gerne mit gegenbeispielen =)

--

Another1

...relaxing..atm =)
... und Schweiz suckt!

zum Seitenanfang zum Seitenende Profil || Suche
011
03.04.2001, 10:09
Kriz



*gähn*

Was, wo???

Ach ja... :) Sicherlich kann man mit C auch alles das machen, was man mit C++ auch machen kann, nur aus wirtschaftlicher Sicht ist C ein hoffnungslos veraltetes Konstrukt aus grauer Vorzeit. Ebenso verhält es sich mit der internen Datensicherheit und -integrität. C ist da löchrig und ungenau, während C++ mit narrensicheren Strukturen daherkommt.

Meine Erfahrungen ähneln denen von Another1: BASIC, QuickBASIC, Pascal, C, C++ (und mittendrin irgendwo Assembler und Java)...

Also, denn LePraun, ich vertrete in der Community die Meinung, daß man C nicht unbedingt vor C++ lernen muß, da man sonst doppelte Arbeit hat und zweitens sich bei C++ wieder umstellen muß bei grundlegenden Dingen. Aber das mußt du selber entscheiden.

Cu

--

K:R-I)Z++
"CSS ist cascading style sheets. Und nicht so'n Ranzspiel." - dp
In memory of Voice († 2005/03/30)

zum Seitenanfang zum Seitenende Profil || Suche
012
03.04.2001, 13:23
LePrau



Tja, da fällt mir die Wahl leicht :)

Ich wollte ja C++ lernen, also tu ichs.... noch zwei Wochen, dann gehts los (dann sind in Berlin Ost-Ferien).

Ich habe das bisher auch so mitgekriegt, das C++ eine Weiterentwicklung von C ist, so wie Turbo Pascal eine Weiterentwicklung von Pascal ist (auch hier haben sich ja massig neue Möglichkeiten aufgetan und wurden Strukturen zusätzlich abgesichert)

Ich muss ehrlich sagen, ich bin erfreut, wie viele (offensichtlich) kompetente Leute sich hier im Coding-Forum finden, die mir so einen guten Überblick beschaffen haben.

Den besten Überblick werde ich natürlich erst in zwei Wochen haben, wenn ich dann bereits meine erste Schleifenkonstruktion gebastelt habe :)

Wusstet ihr, das ganz viele "normale" User immer noch glauben, man bräuchte für HTML oder zum Programmieren (=>erstellen von Quelltext, nicht kompilieren oder interpretieren der Proggies) ein spezielles Bearbeitungsprogramm à la Frontpage?

Das ist das schöne, wenn man weiß, wies funktioniert, kann man auf (nahezu) jedem System seine Proggies schreiben, Pages gestalten etc. (wobei natürlich WYSIWYG-Editoren schon eine Hilfe sind...) und das nur mit einem Texteditor ;)

...das geht sogar soweit, dass man (wenn man durchgeknallt ist und zuviel Zeit hat) sogar .MAP-Dateien von Hand erstellen kann....

Der Vorteil derjenigen, die Ahnung haben liegt definitiv darin, dass alle andern davon ausgehen, etwas sei kompliziert *g*.

--

voice - Ruhe in Frieden

zum Seitenanfang zum Seitenende Profil || Suche
013
03.04.2001, 14:45
DarKnight



Doch. Wie siehts denn mit Multithreading in C aus? Oder Klassen und so weiter? Es kann VIEL weniger, wenn es keine OOP unterstützt. So war das gemeint. Sicher, man kann auch alles mit GOTO machen..... =)

Es war halt auf die programmiertechnischen Möglichkeiten bezogen.

--

void CHudSayText :: EnsureTextFitsInOneLineAndWrapIfHaveTo( int line ) -- Aja?

zum Seitenanfang zum Seitenende Profil || Suche
014
03.04.2001, 22:33
Another1



@LePrau: in Berlin-Ost sind gleiche Ferienzeiten wie in Berlin-West ... glaub mir seit 11 Jahren hat sich doch wenigstens etwas getan (auch Ich bin ein BerlinOstler =)!

--

Another1

...relaxing..atm =)
... und Schweiz suckt!

zum Seitenanfang zum Seitenende Profil || Suche
015
03.04.2001, 23:16
LePrau



@Another1:War eigentlich mehr eine Anspielung auf die Ähnlichkeit zw. Ostern und Osten.... *g*
Und ich bin ja nicht deppert, weiß doch, das Berlin ein Bundesland ist und demnach auch nur einen Ferienplan hat...
Nebenbei sitz ich mir hier in Tiergarten den Arsch ab.... Und eigentlich unterscheidet man ja schon nicht mehr zwischen Ost und West! Naja, Leute aus meinem Jahrgang, die letztes Jahr in Amiland waren, sagen, teilweise wüssten die dort noch nichtmal, dass die Mauer nicht mehr da ist.....

--

voice - Ruhe in Frieden

zum Seitenanfang zum Seitenende Profil || Suche
016
04.04.2001, 15:55
Another1



amis tztztz

--

Another1

...relaxing..atm =)
... und Schweiz suckt!

zum Seitenanfang zum Seitenende Profil || Suche
017
04.04.2001, 16:30
Erasor



Es gibt Amis, die nichtmal über Europa bescheid wissen, also .... ok, gehörte nicht zum Thema, aber musste mal gesagt, werden, liegt wohl am Bildungssystem da drüben...

--

zum Seitenanfang zum Seitenende Profil || Suche
018
04.04.2001, 23:43
Another1



Es gibt sogar amerikanische Präsidenten, die nich über Europa bescheid wissen. (e.g.: Er sieht aus wie ein Affe! Lasst ihn uns zum Präsidenten machen!!!)

--

Another1

...relaxing..atm =)
... und Schweiz suckt!

zum Seitenanfang zum Seitenende Profil || Suche
019
06.04.2001, 14:32
Prefect



LOL Another1

Und wer behauptet hier, man könne mit C kein Multithreading machen? Sorry, aber das ist absoluter Quatsch.

cu,
Prefect

--

Widelands - Gemütliche Aufbaustrategie, Free Software
Noch ein Blog - Lerne, wie die Welt wirklich ist, aber vergiss niemals, wie sie sein sollte.

zum Seitenanfang zum Seitenende Profil || Suche
020
06.04.2001, 15:21
DarKnight



Argh! Es geht um den Aufwand! =)))

--

void CHudSayText :: EnsureTextFitsInOneLineAndWrapIfHaveTo( int line ) -- Aja?

zum Seitenanfang zum Seitenende Profil || Suche
021
06.04.2001, 18:46
Another1



Wieso mehr Aufwand? Das stimmt auch nicht ganz, klassen templates (OOP) machen das nich wirklich einfacher (wenn man von scratch coded muss man auch alle klassen selbst coden!)

--

Another1

...relaxing..atm =)
... und Schweiz suckt!

zum Seitenanfang zum Seitenende Profil || Suche
022
09.04.2001, 11:24
Unreal (Webmaster)



Oh oh! C++ ist nicht gerade einfach ;)!

Ich kenn mich damit kaum aus, kann aber kleine Fenster-Anwendungen damit machen(so mit OK, INFO und BEENDEN Knopf ;D)!

Jedenfalls: erst nach mehreren !!!JAHREN!!! wirst du "gut" mit C++ umgehen können. Unter GUT verstehe ich, das du vieles aber natürlich nicht alles können wirst!

Ich versuche auch zur Zeit, meine Kenntnisse in dem Thema zu erweitern!

--

Unreal Software

http://clix.to/unrealsoft

VISIT NOW!

zum Seitenanfang zum Seitenende Profil || Suche
023
09.04.2001, 14:27
LePrau



Da der Thread ja schonma rausgeholt wurde, kann ich noch ein bisschen dazu schreiben. Ihr habt noch eine Woche Zeit, mir das Vorhaben auszutreiben. Ich glaube nicht, das der Umstieg ein riesgiges Problem sein wird, ich werde mir die Eigenheiten aneignen müssen, halbes Jahr intensiv programmieren?...Und sonst... ich hab heute meine Informatikklausur zurückgekriegt ... 15 Punkte *gg*
Thema: Verundvariablen und Prozedurkonzept (*GÄHN*)

Egal, mal sehn....

...wen's interessiert, ich habe auf meiner Homepage einen Turbo-Pascal-Kurs angefangen...
Wir werden sehen, vielleicht gebe ich ja nach den ersten zwei Tagen mit C++ wieder auf...

--

voice - Ruhe in Frieden

zum Seitenanfang zum Seitenende Profil || Suche
024
10.04.2001, 03:23




(none)

--

zum Seitenanfang zum Seitenende Profil || Suche