PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [c++] talent?


amida maru
2007-01-27, 12:24:30
Guten Morgen liebe Community. Hmm ich bin irgendwie frustriert weill einfach nichts klappt mit C++.
Ich hab jetzt alles durch mit C++ ausser Klassen und fortgeschrittene Themen wie stl.... Wenn ich mir jetzt diesen Code hier anschaue:

}
#include "..\..\include\hge.h"

HGE *hge = 0;

// This function will be called by HGE once per frame.
// Put your game loop code here. In this example we
// just check whether ESC key has been pressed.
bool FrameFunc()
{
// By returning "true" we tell HGE
// to stop running the application.
if (hge->Input_GetKeyState(HGEK_ESCAPE)) return true;

// Continue execution
return false;
}

int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
// Here we use global pointer to HGE interface.
// Instead you may use hgeCreate() every
// time you need access to HGE. Just be sure to
// have a corresponding hge->Release()
// for each call to hgeCreate()
hge = hgeCreate(HGE_VERSION);

// Set our frame function
hge->System_SetState(HGE_FRAMEFUNC, FrameFunc);

// Set the window title
hge->System_SetState(HGE_TITLE, "HGE Tutorial 01 - Minimal HGE application");

// Run in windowed mode
// Default window size is 800x600
hge->System_SetState(HGE_WINDOWED, true);

// Don't use BASS for sound
hge->System_SetState(HGE_USESOUND, false);

// Tries to initiate HGE with the states set.
// If something goes wrong, "false" is returned
// and more specific description of what have
// happened can be read with System_GetErrorMessage().
if(hge->System_Initiate())
{
// Starts running FrameFunc().
// Note that the execution "stops" here
// until "true" is returned from FrameFunc().
hge->System_Start();
}
else
{
// If HGE initialization failed show error message
MessageBox(NULL, hge->System_GetErrorMessage(), "Error", MB_OK | MB_ICONERROR | MB_APPLMODAL);
}

// Now ESC has been pressed or the user
// has closed the window by other means.

// Restore video mode and free
// all allocated resources
hge->System_Shutdown();

// Release the HGE interface.
// If there are no more references,
// the HGE object will be deleted.
hge->Release();

return 0;
}


..kapier ich fast nix ausser vielleicht include und instanzen..
aber mehr auch nicht.
Brauch man fürs programmieren talent und ich hab das nicht?
C++ ist die einzige Sprache die ich kann d.h. das ich direkt mit c++ eingestiegen bin.

MfG
amidamaru

Spearhead
2007-01-27, 12:33:07
also wenn du bei C++ Klassen nich nicht gemacht hast, dann würd ich das mal nachholen, objektorientiertes programmieren ist eine ziemlich verbreitete Sache mittlerweile und meiner Meinung nach auch sehr nützlich ;)

Die stl würde ich auch so bald wie möglich anschaun, bietet einem sehr praktische Sachen wie Maps, Sets, Vektoren, Strings...

Der Code da oben ist ziemlich aus dem Zusammenhang gerissen, dazu sollte man sich erstmal die Doku von dem "HGE" anschauen, dann versteht man auch die Funktionsaufrufe besser. Aber so schwer scheint mir der Code nicht zu sein, ehrlich gesagt.

amida maru
2007-01-27, 12:35:21
hmm dann bin ich entweder untalentiert oder ich hab noch nicht genug erfahrung oder können...

ps: ist da auch windoof programmierung mitdrin?

Spearhead
2007-01-27, 12:38:09
wie lang machst du denn schon was mit C++?

Windows Programmierung mitdrin, wo? In C++ STL an sich nicht, die ist plattformunabhängig gemacht.

Gauron Kampeck
2007-01-27, 12:39:38
Talent vielleicht ein wenig, aber auch ne Menge Durchhaltevermögen. Ich hab damals auch C/C++ als meine erste Programmesprache gelernt (neben der Schule) und es hat sicherlich ein Jahr gedauert, bis ich mit höheren Konstrukten wie Bäumen und Listen umgehen konnte und sie auch selbst erstellen/einsetzen konnte (womit ich nicht sagen möchte, dass es nicht schneller gehen kann, wenn man es nicht nicht nur "so nebenbei macht"). Such dir einfach ein paar Grundlagen-Tutorials zu C++ aus dem Netz (wo's vielleicht auch nur um DOS-Programme geht, denn die WinAPI verwirrt doch anfangs etwas:smile: ), und arbeite die durch.
Zu deinem Beispielprogramm kan ich dir nicht viel sagen, außer dass eine Instanz irgendeiner Klasse HGE (erzeugt wahrscheinlich ein Fenster) erstellt wird, die dann in der WinMain ein paar mal aufgerufen wird. Um zu sagen, was genau gemacht wird, müsste man aber die Klassen kennen.

amida maru
2007-01-27, 13:10:37
hmm ich würd sagen so halbes jahr^^(bin 14)
in dem sourcode ob da windoof programmierung drin ist

BavariaBlade
2007-01-27, 15:08:36
hmm ich würd sagen so halbes jahr^^(bin 14)
in dem sourcode ob da windoof programmierung drin ist
Ja is drinn...

"...int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)..."

Willst du unbedingt Windows Fenster machen, oder reicht dir erst einmal ein Konsolenprogramm?

WinApi als Einstieg in C++ Programmierung ist nämlich alles andere als ratsam.

Xmas
2007-01-27, 15:35:45
Man braucht fürs Programmieren auch ein gewisses Talent, aber ich denke dir fehlt es einfach nur an Erfahrung (möglicherweise auch an Englischkenntnissen). Vor allem musst du lernen, Dokumentation zu lesen.

Wenn du sagst dass du den Code nicht "kapierst", meinst du damit dass dir Sprachkonstrukte nicht bekannt sind, oder du einfach nur nicht weißt was ein "HGE" oder ein "LPSTR" ist?

Du kannst nämlich noch so viel Ahnung von C++ haben, verstehen kannst du solchen Code wie unten auch erst wenn du dir anschaust wie die entsprechenden Symbole (Wörter) definiert sind:
duck horse(dog, const pig* giraffe, emu lion)
{
if (giraffe->fish(giraffe->cow()))
{
lion("$xMooooh!%A%", 12, -1, ZOO_APE | ZOO_ELEPHANT, giraffe);
}

amida maru
2007-01-27, 17:20:35
hmm also den -> operator kenn ich nicht und den _ operator auch nicht und den | operator auch nich.
Ok also was sollte ich machen wenn ich so in C++ alles durch hab und verstanden hab?

Gast
2007-01-27, 18:16:08
Du hast dich noch nicht ernsthaft mit C++ beschäftigt.

Coda
2007-01-27, 18:57:36
den _ operator auch nicht

Dann schau ihn dir an! Der ist besonders wichtig!

del_4901
2007-01-27, 19:24:59
Dann schau ihn dir an! Der ist besonders wichtig!
Du hast heute wieder deinen guten Tag, nich war?

Aber um mal beim Thema zu bleiben, wenn mich heute jemand fragen würde, mit welcher Programmiersprache er anfangen sollte, dann würde ich sagen Java oder C#. Ich hab damals mit C angefangen, und mir oft so jämmerlich in den Fuß geschossen, das es mir kaum was gebracht hat. Mit C++ ist das sogar noch viel schlimmer. Wenn man halbwegs Java oder C# kann, lernt man C++ noch nebenbei OHNE sich in den Fuß zu schießen. Bzw. auf sehr Fuß-schonender Basis. Das bringt nämlich alles niks mit C++ anzufangen und sich falsche Sachen an zueignen. Das passiert insbesondere, wenn man auf biegen und brechen versucht irgendetwas zu programmieren, wofür noch nicht "bereit" ist junger Padawan. Denn das führt zur dunklen Seite ^^.

tokugawa
2007-01-27, 19:58:29
Ja, auf jeden Fall mit einer einfacheren Sprache anfangen.

Ich schäme mich ja nicht einmal (so sehr) dafür dass ich mit GWBASIC angefangen hab, und mich dann über QuickBasic und Visual Basic zu Delphi und schließlich zu C/C++ gearbeitet hab (wobei der Übergang von Delphi auf C/C++ rein pragmatisch war - ich war es einfach leid immer auf DirectX-Bindings zu warten für Delphi, noch dazu waren die Delphi-DirectX-Units damals buggy oder nicht aktuell. So war ich einfach gezwungen C/C++ zu verwenden wenn ich eine aktuelle DirectX-Version verwenden wollte).

Gast
2007-01-27, 20:15:14
Du kannst kein C++, wenn Du diesen Operator -> nicht kennst.
Tips zum guten Lernen:
1. Besorg Dir ein gutes Buch:
z.B.: C++ für Kids, Schumann, Hans-Georg
C++ IT-Studienausgabe, Lippmann, Stanley; Lajoie Josée
C++ Lernen und professionell anwenden , Prinz, Peter; Kirch-Prinz, Ulla
C++ IT-Tutorial, Schildt, Herbert
C/C++ - Von den Grundlagen zur professionellen,
Kaiser, Ulrich; Kecher, Christoph
Mehr dazu auf http://www.c-plusplus.de
2. Viel Lesen und Ausprobieren.

3. Lass am Anfang die Finger von der Windowsprogrammierung. das ist ein eigenes Thema mit 1000 Seiten Lesefutter (Petzold arrrrgh)

Ansonsten hab ich ab und zu bei Deinen Threads das Gefühl einen Troll zu sehen.
Aber ich kann mich irren.

Matrix316
2007-01-27, 21:09:12
hmm also den -> operator kenn ich nicht und den _ operator auch nicht und den | operator auch nich.
Ok also was sollte ich machen wenn ich so in C++ alles durch hab und verstanden hab?

Das komplizierteste an der ganzen Sache ist eigentlich der -> Operator. Das ist nämlich im Prinzip das gleiche wie der . Operator, nur dass du von einem Pointer aufrufst.

Bsp.:

class CKlasse {
public:
int x;
};

void funktion(void)
{
CKlasse ckl;
ckl.x = 0;

CKlasse *pckl;
pckl->x = 1;
}

_ ist eigentlich kein Operator, sondern steht da nur, damit das jeweilige Wort nicht so eng beieinander steht. ;)

#define HALLOWELT 2
#define HALLO_WELT 2

| ist nix C++ spezielles sondern C, nämlich der Bitweise ODER Operator.

Sprich (Binär) 101 | 110 = 111;

del_4901
2007-01-27, 21:19:45
Das komplizierteste an der ganzen Sache ist eigentlich der -> Operator. Das ist nämlich im Prinzip das gleiche wie der . Operator, nur dass du von einem Pointer aufrufst.


Das ist gar niks besonderes fu->bar(); ist nur syntaktischer Zucker, man kann dafür auch (*fu).bar(); schreiben.

Coda
2007-01-27, 21:43:30
Nicht wenn -> überladen ist *scnr*

Elemental
2007-01-28, 01:24:40
...
Bsp.:

class CKlasse {
public:
int x;
};

void funktion(void)
{
CKlasse ckl;
ckl.x = 0;

CKlasse *pckl;
pckl->x = 1;
}


Lang, lang ists her. Tu mir immer wieder schwer, wenn ich mal C++ sehe, weil in der Arbeit nur noch C# verwendet wird...


pckl->x = 1;


ist doch das gleiche wie


(*pckl).x = 1;


Oder? Man man, wenn man nicht ständig mit Pointern arbeitet...


edit:
Ups, man sollte die anderen Postings vorher lesen. Steht ja schon zwei Postings weiter oben... *peinlich*

tokugawa
2007-01-28, 02:44:08
Das ist gar niks besonderes fu->bar(); ist nur syntaktischer Zucker, man kann dafür auch (*fu).bar(); schreiben.

NEIN. Bitte sag nicht dass du "syntactic Sugar" öfters sagst...


Erinnert mich an einen Vortragenden an meiner Uni...

del_4901
2007-01-28, 04:49:16
NEIN. Bitte sag nicht dass du "syntactic Sugar" öfters sagst...


Erinnert mich an einen Vortragenden an meiner Uni...

Keine Angst, das kann ich (noch) an einer Hand abzählen. :naughty:

Gast
2007-01-28, 10:59:19
_ ist eigentlich kein Operator, sondern steht da nur, damit das jeweilige Wort nicht so eng beieinander steht. ;)

#define HALLOWELT 2
#define HALLO_WELT 2

| ist nix C++ spezielles sondern C, nämlich der Bitweise ODER Operator.

Sprich (Binär) 101 | 110 = 111;


_ das ist weder eigentlich noch uneigentlich ein C++ Operator

Und Defines in C++ sind Sünde wider OO und wird mit gwbascic nicht unter 2 Jahren bestraft.

Gast
2007-01-28, 11:00:19
Nicht wenn -> überladen ist *scnr*
Wer sowas tut, soll VB proggen.

Gast
2007-01-28, 11:47:58
Und Defines in C++ sind Sünde wider OO und wird mit gwbascic nicht unter 2 Jahren bestraft.
So einen Schwachsinn hört man Gott sei Dank selten.

@andere: Falls der Threadersteller wirklich 14 ist, ist eure Diskussion über Syntactic Sugar etc ziemlich daneben. Er wird eh nichts damit anfangen können. Coda ist scheinbar wieder zusätzlich auf seinem Ego-Trip.
Die sinnvollen Postings kann man an einer Hand abzählen (Gastpostings mit Literaturhinweisen, xmas, tokugawa).
Ich würde auch empfehlen auf eine einfache Sprache umzusteigen. Mit C++ dauern die ersten Erfolge meistens viel zu lang um als Anfänger nicht die Lust nicht zu verlieren.

amida maru
2007-01-28, 12:43:24
ok. könnt ihr mir dann eine gute anfängersprache sagen und n paar inet tutorials herschreiben?danke


mfg amidamaru

Gast
2007-01-28, 13:02:49
C++

http://www.cpp-tutor.de

clm[k1]
2007-01-28, 13:12:09
ok. könnt ihr mir dann eine gute anfängersprache sagen und n paar inet tutorials herschreiben?danke


mfg amidamaru

Anfängersprache vielleicht nicht, aber der Einstieg dürfte leichter sein: Java

Wichtige/gute Literatur dazu:
http://www.galileocomputing.de/openbook/javainsel5/

Und die API-Dokumentation die man oft braucht:
http://java.sun.com/j2se/1.5.0/docs/api/


just my 2 cent
clm[k1]

amida maru
2007-01-28, 13:41:18
am besten online tutorials bitte weil ich das kostet ganz schön viel^^ thanks

Gast
2007-01-28, 13:56:51
Naja,
mit Talent hat das denke ich nicht viel zu tun.
Vielmehr beruht der Quelltext in deinem ersten posting hauptsächlich auf den Headerdateien und den dort verwendeten Klassen. Außerdem wird dort der WIN-API verwendet(vielleicht um DirectX nutzen zu können?).
Wenn du sowohl keine Ahnung von Klassen als auch von der Windows-Programmierung hast soltest du nicht versuchen solche Quelltexte zu verstehen.
Meistens sind die Headerdateien an sich ohne Dokumentation kaum zu verstehen und wenn man entscheidene Sprachelemente wie Klassen noch nicht beherscht ist es kein wunder, dass man zur Verzweifelung getrieben wird.
Die "Operatoren" die du aufgelistet hast sind entweder gar keine Operatoren oder haben etwas mit Klassen zu tun.
Am besten du geduldest dich einfach noch ein bischen und arbeitest erstmal ein Tutorial über Klassen durch oder befasst dich mit einem C++ Buch.

Da du bereits erwähnt hast, dass du allerdings andere Grundlegende Sprachelemente verstanden hast, solltest du meiner Meinung nach nicht mit einer neuen Sprache anfangen, da du dort ebenfalls ersteinmal alle wesendlichen teile der Sparche beherschen musst bevor du versuchst mit größeren Quelltexten zu arbeiten.

MFG

Matrix316
2007-01-28, 14:02:13
Das ist gar niks besonderes fu->bar(); ist nur syntaktischer Zucker, man kann dafür auch (*fu).bar(); schreiben.
Sicher kann man, aber es ist umständlicher. ;)

Gerade bei DirectShow/X sachen sieht man sowas:
http://msdn2.microsoft.com/en-us/library/ms783787.aspx

BavariaBlade
2007-01-28, 14:24:15
am besten online tutorials bitte weil ich das kostet ganz schön viel^^ thanks

http://www.galileocomputing.de/openbook/visual_csharp/index.htm

oder wie schon gepostet:

http://www.galileocomputing.de/openbook/javainsel5/


Und nein für jemand der über Grundkenntnisse in Java verfügt ist ein C++ Einstieg auch nicht leicht. Wenn man mit C++ Windows Programme erstellen will muss man sich mit vielem alten Zeug abquälen, oder eines der vielen Frameworks benutzen die wieder ganz ander funktionieren. Bei C# hast du fast alles Out-Of-The-Box, auch ein riesen Vorteil.
Also, wenn du nur in Windows unterwegs sein willst -> C#
Wenn du auf dem Mac / Windows und Linux und Handys Programmieren möchtest -> Java

Wobei C# unter Windows sehr viel mächtiger ist als Java (sonst würden ja alle Java programmieren *g*)

amida maru
2007-01-28, 14:37:20
was ist c# eigentlich? so ähnlich wie c++ leichter oder schwerer?

Gast
2007-01-28, 14:56:00
c# ist eine von Microsoft entwickelte Programmiersprache die angeblich einfacher als c++ ist und gleichzeitig Fehlerunanfälliger.
C# ist allerding nur empfehlenswert wenn du wirklich ausschließlich für Windows programmieren willst.
Natürlich kommt es auch wieder auf den Anwendungsbereich an.
Der Umfang der Sprache ist allerdings nicht wesentlich geringer als der von c++.

Ich möchte aber hier keine weiteren Informationen geben, da man wie jedesmal alles über google finden kann.
Um weitere Informationen zu bekommen siehe hier:
http://www.microsoft.com/germany/msdn/library/net/csharp/DieSpracheCSharpImDetail.mspx?mfr=true

maximAL
2007-01-28, 15:24:52
C# ist allerding nur empfehlenswert wenn du wirklich ausschließlich für Windows programmieren willst.
begründung?

amida maru
2007-01-28, 15:58:01
hmm kann man damit auch directX machen und so?

BavariaBlade
2007-01-28, 16:00:00
hmm kann man damit auch directX machen und so?

Ja, kann man.

amida maru
2007-01-28, 16:13:31
hmm irgendwie schaut das sehr unübersichtlich aus. ich finde ja c++ leichter^^.

ethrandil
2007-01-28, 16:15:53
http://www.diveintopython.org/

Gucks dir mal n Stündchen an und entscheide selbst.

mfg
- eth

TheGamer
2007-01-28, 16:16:17
C# ist allerding nur empfehlenswert wenn du wirklich ausschließlich für Windows programmieren willst.

Wer behauptet sowas?

Spasstiger
2007-01-28, 16:38:06
@amida maru:
C# ist wie Java eine streng objektorientierte Programmiersprache. Objektorientiertes Programmieren ist imo recht schön, wenn auch nicht in jedem Fall der einfachste Weg. Aber sobald man ein etwas komplexeres Programm hat, sind objektorientierte Programme deutlich überschaubarer als die prozedural geschriebenen Versionen.

Mal als Beispiel, was Objektorientierung bedeutet: Du möchtest ein einfaches Brettspiel wie "Mensch ärgere dich Nicht" programmieren. Dann hast du verschiedene Objekte wie die Würfel, die Spielfiguren und die Spielfelder. Die Objekte werden von den zugehörigen Klassen erzeugt und mit Funktionalität versehen. Deshalb gibt es dann auch eine Klasse Würfel (erzeugt Würfel-Objekte), eine Klasse Spielfigur (erzeugt Spielfigurobjekte) und eine Klasse Feld (erzeugt Feld-Objekte, also die einzelnen Felder des Spielbretts).
Außerdem braucht man noch eine verwaltende Klasse Spiel, welche den Spielablauf steuert.

Die Klasse kann den Objekten verschiedene Parameter mitgeben, z.B. verfügen Würfelobjekte jeweils über eine Variable "Zahl", Spielfiguren über einen Parameter "Spieler", Felder haben die Parameter "naechstesFeld" und "Spielfiguren".
D.h. jedes Feld weiß, welches Feld als nächstes kommt und welche Spielfiguren sich auf ihm befinden. Und jede Spielfigur weiß, zu welchem Spieler sie gehört.

Dann stellen die Klassen noch Methoden für ihre Objekte zur Verfügung. Z.B. kann jede Spielfigur den Namen ihres Spielers zurückgeben, der Wüfel besitzt eine Methode "wuerfeln", welche den Parameter "Zahl" ändert.

Das mal nur als kleine Einführung ins objektorientierte Programmieren, damit du eine Idee davon bekommst, was Objektorientierung überhaupt bedeutet.

Gast
2007-01-28, 16:46:16
http://www.diveintopython.org/

Gucks dir mal n Stündchen an und entscheide selbst.
Mit 14 wird er sich da u.a. mit der Sprache noch etwas schwer mit tun. ;)

Früher haben eigentlich alle mit Basic oder Pascal angefangen. Heutzutage bestimmt auch kein Fehler, obwohl diese Sprachen leider auch komplexer wurden. Ich würde trotzdem VisualBasic oder Delphi(Pascalnachfolger) vorschlagen. Da gibts viele deutsche Tutorials.

Java und C# sind von der Einsteigerfreundlichkeit auch nicht viel besser als C++. Es ist einfach zu viel und erschlägt einen. Phyton find ich heute noch teilweise verworren. X-D
OOP mag zwar schön sein, aber ist für den Anfang imo auch zu viel. Visual Basic und Delphi können einen aber auf dem Weg zum Erlernen der Grundlagen und danach OOP gut begleiten.

HajottV
2007-01-28, 17:00:45
Mal als Beispiel, was Objektorientierung bedeutet: [...]


Das Problem mit der OO (und der Matrix :biggrin:) ist, daß man sie nicht so einfach erklären kann. Man muß sie am eigenen Leib erfahren... ich weiß noch sehr genau, wie ich mir damals im Alter von 12 oder 13 ein Buch über C++ gekauft habe, weil OO damals in aller Munde war. Die Beispiele in dem Buch waren nur alle so popelig und simpel, daß ich überhaupt nicht verstanden habe, was der eigentliche Knackpunkt an der OO ist. "Das ist doch wie prozedurale Programmierung?!" habe ich damals gedacht.

Amida Maru ist Anfänger... glaubt ihr ernsthaft, daß er OO wirklich verstehen und auch noch sinnvoll anwenden kann?

Meine Empfehlung wäre mit VisualBasic anfangen. Damit kommt man sehr schnell zu Ergebnissen... wenn man Sandburgen bauen will, braucht man keinen Bagger.

Gruß

Jörg

amida maru
2007-01-28, 17:21:09
hmm naja ich glaub ich schau mir jetztmal verschiedene programmier -scriptsprachen an und schau dann mal. obwohl ich eigentlich gerne in c++ programmier habt ihr recht und sollte vllt erstmal in ne andere programmiersprache einsteigen.
ok danke.

Gast
2007-01-28, 17:21:38
@amida maru
Du hast dir warscheinlich zu hohe Ziele gesteckt wenn du ohne Kenntnisse der OOP versuchst irgendeinen Quelltext du verstehen, der über Methoden auf Membervariablen zugreift.
Ich denke mal weder das Wort Membervariable noch Methode sagt dir etwas.
Außerdem denke ich, dass jeder Mensch C++ lernen kann(auch als erste Programmiersprache).
Die einzigen vorrausetzungen,wie so oft im Leben, sind Fleiß, Durchhaltevermögen und natürlich Motivation.
Wie es im moment den anschein hat, lässt das Durchhaltevermögen bei dir nach,
da du ja in betracht ziehst, nachdem du schon einen guten Anteil der Grundlagen beherschst, auf eine andere Programmiersprache umzusteigen.
Wenn du dann merkst, dass du beim nächsten Anlauf wieder Schwierigkeiten bekommst hörst du vielleicht ganz mit dem Programmieren auf.

Fazit:
Egal welche Programmiersprache;
Man braucht immer mehrere Monate(wenn nicht Jahre) um der Grundlagen mächtig zu sein.
Ich sehe im moment keinen Grund, wieso du auf eine andere Programmiersprache ausweichen willst, wenn du sowieso schon viele der nichobjektorientierten Aspekte in C++ beherschst.

Wer anderer Meinung ist soll diese bitte angemessen begründen.

tokugawa
2007-01-28, 17:41:26
c# ist eine von Microsoft entwickelte Programmiersprache die angeblich einfacher als c++ ist und gleichzeitig Fehlerunanfälliger.
C# ist allerding nur empfehlenswert wenn du wirklich ausschließlich für Windows programmieren willst.
Natürlich kommt es auch wieder auf den Anwendungsbereich an.
Der Umfang der Sprache ist allerdings nicht wesentlich geringer als der von c++.

Ich möchte aber hier keine weiteren Informationen geben, da man wie jedesmal alles über google finden kann.
Um weitere Informationen zu bekommen siehe hier:
http://www.microsoft.com/germany/msdn/library/net/csharp/DieSpracheCSharpImDetail.mspx?mfr=true


Da er sowieso DirectX als Ziel hat, ist sowieso klar dass er sich auf Windows beschränkt.

Und C# mit DirectX funktioniert wirklich wunderbar, Managed DirectX oder von mir aus auch XNA sind wirklich sehr schöne APIs.

hmm irgendwie schaut das sehr unübersichtlich aus. ich finde ja c++ leichter^^.

Dann müsstest du in C++ keine Probleme haben. Hast du aber.






C# ist schon eine sehr schöne Sprache zum Anfangen. Ich würde ja sonst auch Delphi vorschlagen, aber C# ist da sehr ähnlich komfortabel.

Gast
2007-01-28, 17:46:15
Mhhh,
hat er je behauptet, dass er Probleme mit C++ hat?
Also für mich hat er nur gefragt ob er talentlos ist, weil er den Quelltext nicht versteht, den er in seinem ersten posting geschrieben hat.
Da er allerdings noch nicht mit OOP gearbeitet hat kann er das listing gar nicht verstehen.
Also für mich war dieser Thread nach den ersten 3 Antorten eigendlich schon gegessen.
Die Antworten sind immer mehr abgeschweift und das Hauptproblem ist verloren gegangen.

amida maru
2007-01-28, 17:52:45
hmm. ich hab ja grad bei der neuen c't den report über D gelesen. Da wurde D ja sehr gelobt. Bringt es überhaupt was wenn ich mit c++ anfange und später eh D lernen muss?

Gast
2007-01-28, 18:12:45
Am besten du wartest auf E. Lohnt sich doch nicht mit D anzufangen, wo E schon in den Startlöchern steht.

Gast
2007-01-28, 18:17:00
Da die Programmiersprache D erst vor kurzem erschienen ist, ist sie natürlich noch lange nicht weit verbreitet.
D baut außerdem hauptsächlich auf C und C++ auf beinhaltet allerdings auch teile von Java und C#.
Ich denke nicht, dass D sich wirklich durchsetzen wird, allein schon wegen der Anzahl an Leuten die zur Zeit mit C Programmieren.

Fazit:
D ist sicherlich keine nutzlose Programmiersprache, hat außerdem sehr starke ähnlichkeit mit C++ und falls es einmal nötig wird kann man sehr einfach von C++ auf D umsteigen.
Ich rate dir ersteinmal C++ zu lernen und abzuwarten wie der verlauf von D ist.
Nachher kann man immernoch sehr leicht umsteigen.
Einen kurzen Bericht findest du hier:
http://www.golem.de/0701/49690.html

MuLuNGuS
2007-02-02, 19:20:52
Du hast heute wieder deinen guten Tag, nich war?

Aber um mal beim Thema zu bleiben, wenn mich heute jemand fragen würde, mit welcher Programmiersprache er anfangen sollte, dann würde ich sagen Java oder C#. Ich hab damals mit C angefangen, und mir oft so jämmerlich in den Fuß geschossen, das es mir kaum was gebracht hat. Mit C++ ist das sogar noch viel schlimmer. Wenn man halbwegs Java oder C# kann, lernt man C++ noch nebenbei OHNE sich in den Fuß zu schießen. Bzw. auf sehr Fuß-schonender Basis. Das bringt nämlich alles niks mit C++ anzufangen und sich falsche Sachen an zueignen. Das passiert insbesondere, wenn man auf biegen und brechen versucht irgendetwas zu programmieren, wofür noch nicht "bereit" ist junger Padawan. Denn das führt zur dunklen Seite ^^.

warum überhaupt noch mit C++ anfangen wenn man denn schon einigermaßen C# kann?

ich würde sagen man lernt die sprache mit der man entwickeln will, abgesehen davon würde ich C# nicht als einstiegssprache bezeichnen...
®

Coda
2007-02-02, 20:11:57
Da die Programmiersprache D erst vor kurzem erschienen ist, ist sie natürlich noch lange nicht weit verbreitet.

Das Ding ist schon ewig in Umlauf. Ich kann mich erinnern dass es schon vor mindestens 3 Jahren einsetzbare Compiler gab (halt nicht Version 1.0).

hmm. ich hab ja grad bei der neuen c't den report über D gelesen. Da wurde D ja sehr gelobt. Bringt es überhaupt was wenn ich mit c++ anfange und später eh D lernen muss?

Hat keinerlei Industriesupport. Kannst bleiben lassen.

ScottManDeath
2007-02-02, 20:20:11
Jo, Dinge ohne Industriesupport bringen nix. Siehe ADA ;)

tokugawa
2007-02-02, 21:57:36
Soll aber niemanden, der aus Interessensgründen damit rumspielen will, daran hindern, es sich anzuschauen :)

Industriesupport ist wichtig wenn man Sprachen für die Produktion betrachtet, aber für rein "akademisches" Interesse spricht eigentlich nichts dagegen.

ScottManDeath
2007-02-02, 22:02:09
Klar, akademisches Interesse ja, wenn man denn genügend Kentnisse hat.

Allerdings sollte man sich, wenn man anfängt einer Mainstream Sprache mit genügend Tools & Tutorials widmen, wenn man einigermaßen vorankommen will.