c++ lernen

12/23/2011 11:57 Keyosk#46
Also ich möchte eigentlich schon (fast) alles selbst programmieren, deshalb werde ich dann doch zu c++ greifen
12/23/2011 13:57 xNopex#47
Niemand zwingt dich in C#/Java/... die vorgefertigten Klassen zu nehmen. Dort kannst du auch "alles selber programmieren". Aber wozu das Rad neu erfinden? Du wirst schnell merken, dass...

1. ... das viel zu aufwendig ist
2. ... man unnötig viele Fehler macht
3. ... die fertigen Klassen in Sachen Performance, Nutzbarkeit meistens die Nase vorne haben.

Zum Üben sicherlich keine schlechte Idee einige Sachen mal selber zu versuchen, in der Praxis jedoch völlig untauglich.
12/23/2011 14:11 jacky919#48
Quote:
Originally Posted by xNopex View Post
Niemand zwingt dich in C#/Java/... die vorgefertigten Klassen zu nehmen. Dort kannst du auch "alles selber programmieren". Aber wozu das Rad neu erfinden? Du wirst schnell merken, dass...

1. ... das viel zu aufwendig ist
2. ... man unnötig viele Fehler macht
3. ... die fertigen Klassen in Sachen Performance, Nutzbarkeit meistens die Nase vorne haben.

Zum Üben sicherlich keine schlechte Idee einige Sachen mal selber zu versuchen, in der Praxis jedoch völlig untauglich.
Sehe ich ähnlich. Außerdem bieten viele (Klassen-) Bibliotheken für Grafik/Sound/Netzwerkkommunikation auch den Vorteil der plattformunabhängigkeit.
12/23/2011 14:19 .Crash#49
*Humbuck*


Das selbe Thema wie in jedem Thread wo nach C++ gefragt wird.

Was soll man dazu sagen?

Nenne mir EINE Person die Altdeutsch lernt um danach "einfacher" Hochdeutsch lernen zu können.



Lass dich nicht umstimmen wenn du wirklich C++ lernen willst dann lerne auch das.
Schwer ist jede sprache an der einen oder anderen Stelle wie man das dann handelt liegt halt an jedem selbst.

Und wie du am besten lernst musst du auch selber wissen wie soll dir das jmd sagen der blos ein par posts in einem forum von die lesen kann?

der eine kann gut aus büchern lernen
der nähste kann sich viel besser die sachen aus einem video tutorial rausschauen
wieder ein anderer lernt am besten in freier wildbahn. Editor auf und ran ans coden. <-- was ich für den eigenen Style auf jeden fall am anfang empfehle ;)


Und auf keinen fall höre auf leute die sagen "Du Musst erst C# lernen" denn jeder der schon ein Programm in C++ verkauft hat oder sonstwie erfolge hatte wird dir das selbe raten:

"Du brauchst NICHT Sprache Y um sprache X zu lernen"

Und alles selber machen kann man überall, nur ist es ehrlich gesagt etwas "abgehoben" die über Jahre hinweg gesammelten, verfeinerten und nochmal verbesserten Libs einfach zu ignorieren und diese dann "nachzucoden". Nutze was du haßt.
12/23/2011 14:29 Keyosk#50
(Ich möchte für die Frage keinen extra Thread aufmachen, aber)

Wie findet ihr eigentlich Java? Kann man damit genau so viel machen wie mit c++?
Habe gelesen, dass man damit schnellere Erfolge sieht,
12/23/2011 14:33 MoepMeep#51
Wenn du irgendwas in richtung Gamehacking machen willst, halte dich von Java fern.
12/23/2011 14:35 .Crash#52
Quote:
Originally Posted by Amphion View Post
Was ich ein bisschen schade finde das ein Mod und Level 2 es nicht versteht das C++ keine Programmiersprache der Zukunft ist. Wieso wollt ihr alle so alte Sprachen lernen?

C# bietet dir einfach alles was ein Programmierer braucht.
Ein kleines beispiel.. Mit C# kannst du fuers Windows Phone 7.5(smartphone) apps schreiben und leicht zur xBox(kinect),Win8.. "umschreiben"(sehr leicht machbar ich finde dafuer nur kein gutes wort)

Das lernen ist sehr einfach, MSDN bzw Microsoft bietet dir da einfach alles was du brauchst.

Ich wuerde dir empfehlen C# zu lernen, aber da es hier viele Script Kiddies gibt die sind alle gegen Microsoft produkte was ich nicht verstehe.


C++ bietet im endefeckt alles was C# bietet + noch mehr so gepackt das am ende ein schmalerer Code bei rauskommt.

Für win8 apps sind btw C++ und Java empfohlen.

Wer Apps für Smartphones schreiben will muss meines erachtens sowieso nicht mehr als der korrekten nutzung einer Tastatur und Maus bemächtigt sein da in den Editoren dafür sogut wie alles vorgefertigt ist.


Eine Sprache der "Zukunft" kann wiederum jede sein, kommt es dabei nur drauf an was damit angestellt wird.
12/23/2011 14:36 jacky919#53
C/C++ sind leistungsstärker.
Bei Java hast du totale Plattformunabhängigkeit (sofern es eine Java VM für das System gibt), da nur Bytecode kompiliert wird.
12/23/2011 14:48 MrSm!th#54
Quote:
Originally Posted by Dr. Coxxy View Post
kommt drauf an, wie sehr du in die einzelheiten gehen willst...
wenn du gerne alles selber tuen möchtest z.b. bei e-mails die pop befehle etc. alles per hand abschicken möchtest, inkl. ports öffnen, handshake, etc... dann würde ich c/c++ nehmen.
wenn du dir gerne etwas arbeit von windows und fertigen klassen abnehmen lassen willst, dafür von diesen klassen abhängig bist und die probleme ausschließlich abstrahiert betrachtest, dich die einzelnen kleinen vorgänge beim senden eines bytes, o.ä. nicht interessieren, kommt eher c#/c++ in betracht.
Das musst du mir nochmal näher begründen :rolleyes:

Mit C# kannst du genau so jedes Packet raw senden und dazu nehmen einem die .NET Klassen dafür (und für Strings etc.) noch sehr viel Arbeit ab.

Das was du geschrieben hast, ist überhaupt kein Grund, zu C/C++ zu greifen, wenn du das also wirklich meinst, hast du wohl ein entscheidendes Detail bei der Begründung ausgelassen ;<
12/23/2011 16:31 Dr. Coxxy#55
Quote:
Originally Posted by MrSm!th View Post
Das musst du mir nochmal näher begründen :rolleyes:

Mit C# kannst du genau so jedes Packet raw senden und dazu nehmen einem die .NET Klassen dafür (und für Strings etc.) noch sehr viel Arbeit ab.

Das was du geschrieben hast, ist überhaupt kein Grund, zu C/C++ zu greifen, wenn du das also wirklich meinst, hast du wohl ein entscheidendes Detail bei der Begründung ausgelassen ;<
sorry, wenn ich da danebenliege, kenne c# überhaupt nicht.
war nur mein eindruck, dass es in C# ähnlich wie bei java 'naheliegender' (und einfacher) ist eine fertige funktion der standard library zu benutzen.

weiß nicht, wie gut sich arrays etc. in c# zusammenbauen lassen, hab wie gesagt noch nie darin programmiert, kann also nur sagen, was ich so gehört habe^^

weiterer nachteil:
du verlierst die plattformunabhängigkeit - öfters braucht man mal ne serveranwendung (z.b. für den e-mail server^^) und da man in der regel einen linux server zur hand hat - ...
bin mir nicht sicher, gibt doch jetzt schon c# für linux i-wie oder?
korrigier mich gerne wenn ich falsch liege, c# ist wirklich nicht mein spezialgebiet^^
12/23/2011 16:47 jacky919#56
[Only registered and activated users can see links. Click Here To Register...] ist eine Portierung von c#.
12/23/2011 19:33 MrSm!th#57
Quote:
Originally Posted by Dr. Coxxy View Post
sorry, wenn ich da danebenliege, kenne c# überhaupt nicht.
war nur mein eindruck, dass es in C# ähnlich wie bei java 'naheliegender' (und einfacher) ist eine fertige funktion der standard library zu benutzen.
Es ist selbstverständlich naheliegender und einfacher (auch in C/C++ btw. und überall) und auch schlauer.

Es gibt keinenvernünftigen Grund, dass man sich bei einem Bot selbst die Arbeit macht, alles (fehlerhaft) zu implementieren.

Aber selbstverständlich hat man ganz normalen Zugriff auf die API.

Wenn du die Sprache nicht kennst, dann urteile doch nicht.

Und vergleiche nie wieder C# mit Java ;<
Quote:
weiß nicht, wie gut sich arrays etc. in c# zusammenbauen lassen, hab wie gesagt noch nie darin programmiert, kann also nur sagen, was ich so gehört habe^^
Genau so wie in C o.ô
Quote:
weiterer nachteil:
du verlierst die plattformunabhängigkeit - öfters braucht man mal ne serveranwendung (z.b. für den e-mail server^^) und da man in der regel einen linux server zur hand hat - ...
bin mir nicht sicher, gibt doch jetzt schon c# für linux i-wie oder?
korrigier mich gerne wenn ich falsch liege, c# ist wirklich nicht mein spezialgebiet^^
Bitte was? C++ ist nicht crossplattform. Bei C++ müsstest du alles für Linux und die Linux API neu kompilieren und wenn du nicht direkt schon mit zig #ifdefs arbeitest, musst du es auch neu schreiben.

Für Linux gibt es Mono. Selbstverständlich kann man C# auf einem Linuxsystem laufen lassen.

btw. Selbst Java kann ganz normal die Daten senden; das kann jede Sprache mit Netzwerkunterstützung...wieso sollte man auch nur fertige HTTP Wrapper nutzen können? O.ô Dann wäre die Sprache in dem Bereich ja zu sehr wenig nütze.
Und Java läuft erst recht auf Linux.

Aber trotzdem, ist halt kein Vergleich, unter anderem auch der Performance wegen.
12/23/2011 19:54 Dr. Coxxy#58
Quote:
Es ist selbstverständlich naheliegender und einfacher (auch in C/C++ btw. und überall) und auch schlauer.
er meinte ja, er will normale programme schreiben und etwas lernen.
es gibt leute die bauen ein bereits existierendes protokoll z.b. für POP selber nach um dabei etwas über das protokoll/generell zu lernen und nicht nur stupide receive(), send() aufrufen.
das kann jeder volltrottel.

Quote:
Bitte was? C++ ist nicht crossplattform. Bei C++ müsstest du alles für Linux und die Linux API neu kompilieren und wenn du nicht direkt schon mit zig #ifdefs arbeitest, musst du es auch neu schreiben.
wenn du eine serveranwendung machen willst, ist diese natürlich speziell für linux...
ne serveranwendung für windows wäre ja auch verschwendung in der regel...
wie gesagt, war mir auch nicht sicher mit c# auf linux...
12/23/2011 20:09 MrSm!th#59
Quote:
er meinte ja, er will normale programme schreiben und etwas lernen.
es gibt leute die bauen ein bereits existierendes protokoll z.b. für POP selber nach um dabei etwas über das protokoll/generell zu lernen und nicht nur stupide receive(), send() aufrufen.
das kann jeder volltrottel.
Dann kann man das extra nachlesen bzw. vorher einmal machen, um es zu lernen.

Aber für ein richtiges Projekt, wie einen Bot oder eine Anwendung, nutzt man selbstverständlich eine professionelle Lib oder im Falle von C# oder Java sogar den Standard, alles andere ist unproduktiv.

Außerdem ist es nicht für Volltrottel, alleine die Methoden bringen dir auch nichts. Bei einem Bot ist seine Funktion das Ziel, nicht der Netzwerkverkehr.

Außerdem heißen auch die ganz normalen TCP Funktionen so. Willst du etwa direkt nen Treiber schreiben und in den Netzwerk Stream schreiben, um nicht die TCP Api Funktionen send und recv zu nutzen?
12/23/2011 20:18 Dr. Coxxy#60
nein, wenn ich mich allerdings mit den tcp funktionen auseinandersetzen würde, würde ich das sogar machen^^

er hat ja gesagt er wolle normale programme schreiben und etwas lernen.
natürlich steht bei einem projekt das programm selbst im vordergrund und man kann für nebensächliche dinge libs nutzen.

Dafür wurden sie ja schließlich gemacht.