Delphi oder C++?

Ein Hallo an alle, das ist mein erster Post in diesem Forum:

Also, ich denke diese Frage ist sehr bekannt:
Welche Programmiersprache soll ich denn lernen?

Ich will von Anfang an klar machen das ich keiner von diesen Leuten bin die die
ihr erstes Hallo-Welt Programm schreiben und dann meinen sie wären 1337-Hacker.
Ich habe mich schon mit Delphi und C++ auseinandergesetzt, in anderen Bereichen
weniger evtll. auch ein bisschen HTML.

Meine persönlichen Eindrücke von C++ waren:

Es ist schon einigermaßen kompliziert, aber ich denke dass ich die Grundlagen schaffen
könnte, würde ich nicht immer so schnell aufhören. Außerdem habe ich gehört das
man mit C++ wirklich, also sehr viel machen kann - Wenn man es klar ausdrücken
will, kaum eine andere Programmiersprache kommt an das Volumen und Nutzen von C++
ran (,oder?)

Meine persönlichen Eindrücke von Delphi waren:

Mit Delphi ging das alles etwas leichter - ich habe meine ersten kleinen Erfolge
schnell erzielt und das arbeiten mit dem GUI-Creator hat mir auch sehr viel Spaß gemacht. Jetzt habe ich aber Ängste, dass ich mit Delphi nicht das machen kann was ich
mit C++ machen kann.

Aber um mir zu helfen müsstet ihr vielleicht erstmal meine eigenen Programmier-Ziele
kennen. Ja ich weiß das ist nicht gern gesehen, aber es ist schlicht und einfach
das Cheaten (/Hacken) in Multiplayer-Spielen. (FPS,EGO-Shooter Spiele, z.B Wolfenstein : ET,CS...)

Sämtliche Anfragen zu illegalen Aktivitäten jedweder Art sind unerwünscht und führen zu einer sofortigen Sperrung des Accounts

Ich kenne diese Regel aber solange ich sie nicht Online benutze, ist es doch nicht illegal oder?

Trotz meiner Warnung oben werdet ihr jetzt denken , aha also doch so ein Möchtegern - kann ich verstehen würde ich auch denken.

Nachdem ich dann Delphi und C++ einigermaßen "kann" sollte ich dann nach meinen
Informationen ASM (Assembler) "anlernen", was ich für schwierig halte.

Ich hoffe ich stoße jetzt nicht auf eine Wand, wenn es um solche Dinge geht, vor
allen bei den Leuten die von Cheatern in Multiplayer-Spielen die Nase voll haben.
Aber denkt bitte daran, ich bin noch lange nicht so weit das ich meine eigenen Hacks
schreiben könnte und außerdem, was ihr mir bestimmt nicht glauben werdet
Ich will oder muss ich sie nicht Online einsetzen - also bitte helft mir.

CracKPod
 
assembler ist nicht besonders schwierig zu erlernen, wie ich finde, was nicht zuletzt auf der kleinen Anzahl an Befehlen beruht, die man benötigt, um lauffähige Programme. Aber da es nur die "Grundfunktionen" gibt, kriegt man damit als Durchschnittsuser in vernünftiger Zeit nichts brauchbares zusammen.
Und was das Reverse-Engineering angeht: das ist wieder was anderes, das ist kein Programmieren (naja wenig), sondern vielmehr der Versuch, zu verstehen, wie ein Programm funktioniert und es dann nach seinen Wünschen abzuändern.
Tutorials dazu findest du haufenweise im Netz.
Zum Cheaten in online-spielen brauchst du also gar keine Programmiersprache wie C++ oder Delphi, sondern du musst nur assembler können.
Es ist aber trotzdem so, dass die Leute, die Assembler können, auch noch eine oder mehrere Sprachen beherrschen.
Ich persönlich würde dir als Sprache für normale Programme C++ empfehlen, da ich nicht so viel von Delphi halte :P
 
Dankeschön!
Das war eine tolle Antwort :D!
Gut ich wende mich dann in Richtung C++ und probiere die Sprache in den Sommer-Ferien
mehr oder weniger "anzukratzen".

Kannst du mir evvtl. ein paar Seiten im Netz über C++ empfehlen? Am besten gut verständlich und
Deutsch (Ich kann zwar auch Englisch, aber bei Fachbegriffen wie sie in Programmier-Sprachen vorkommen lässt mich mein Englisch im Stich)

Original von Heinzelotto
Zum Cheaten in online-spielen brauchst du also gar keine Programmiersprache wie C++ oder Delphi, sondern du musst nur assembler können.

Ist das wirklich so? Kennst du z.B einen Wallhack oder Aimbot? Ich denke dafür braucht
man doch eine Hochsprache oder? Ich denke fast du redest jetzt von sowas wie
MMORPGS (Kalonline,WoW...), liege ich falsch?

CracKPod
 
naja, um dann das Programm zu programmieren, dass die entsprechenden Werte im speicher dann verändert, brauchst du schon eine Hochsprache, aber für das Herausfinden der zu verändernden Werte brauchst du erstmal nur asm. Der Rest ist dann ja ein Kinderspiel ;)

Über C++ gibts unmengen Seiten im Internet, ich kann dir keine spezielle empfehlen, ich hatte mal eins, mit dem ich die Grundlagen gelernt habe, das war aber nicht wirklich gut. Dann hab ich das ganze mit Büchern gelernt :)
Bei online Tutorials ist es halt manchmal das Problem, dass es nicht wirklich gut erklärt wird, bei Büchern ist das seltener der Fall. Es gibt aber nichtsdestotrotz bestimmt auch gute Internet tutorials, da muss dir aber jemand anders helfen :)

Und was die Sprache angeht: Um Englisch wirst du beim Reverse-Engineering wohl leider nicht herumkommen, das ist da die mit Abstand meistgenutzte Sprache.
Tutorials zu Assembler findest du auch massig im Internet und speziell zum Reverse-Engineering werden in diesem Thread einige vorgeschlagen. Besonders dieser Post von CDW ist besonders hilfreich:
Das Problem ist, dass die meisten "Tutorials" diese Bezeichnung nicht verdienen, da sie nur Schritt für Schritt Anleitungen darstellen.

Ansonsten: qualitativ hochwertig sollte Beiträge
von: ARTeam,BIW sowie CodeBreakers Journal sein: http://www.codebreakers-journal.com/

Dazu gibt es noch tuts4you - allerdings muss man da stark schauen, die Qualität schwankt so ziemlich. Als einzige Videotutreihe ergibt (imho) eigentlich nur die von Lena151 einen Sinn (Olly-GUI bedinung) - da gibt bei tuts4you sogar ein Unterbreich dafür.

Deusche Anlaufstellen: GRN,CIP,TNP. Bieten Foren/Tutorial und Linksammlungen, so dass man dann auf den Rest selber kommen sollte. Zumindest "TNP (the newbiez project)" sollte bei Google auftauchen - den Rest findet man dann in TNPs Linkbreich.

Ich fand besonders die Videtutreihe von Lena151 bei tuts4you sehr gelungen (ist aber wie vieles aus diesem Bereich auf English. So schlimm ist das mit den englischen Fachbegriffen aber auch wieder nicht, einfaches nachschauen z.B. in Wikipedia reicht da meistens schon)
 
Dankeschön!

Original von Heinzelotto
Der Rest ist dann ja ein Kinderspiel ;)

Kannst du so gut C++? 8) 8o

Nun, soll ich jetzt erst C++ anfangen und dann mit ASM weitermachen?
Und wenn ich C++ lerne, welche IDE würdest du mir empfehlen?
Am besten kostenlos. (Bloodsheed Dev-C++?)

Danke wegen dem Tipp mit Wikipedia evtll. schaffe ich das ja wirklich :D!

CracKPod
 
Kurzum:

Delphi
+schöner lesbarer Syntax
+RAD
-fette EXE
-kaum verbreitet
-meist Eigenbrötler die alles neu erfinden wollen

C++
+extrem weit verbreitet
+beliebig hardwar nah/fern
+geringer Ballast (in EXE)
+sehr viele Entwicklungstools/IDEs
+guter Überstieg zu C# möglich
-meist Eigenbrötler die alle so kurz wie möglich schreiben wollen

Für dein Ziel C++ sehr zu empfehlen aber ist der steinigere Weg. Assembler wäre da auch nötig wie bereits erwähnt!
 
Danke nochmal für die Bestätigung 01 (Weird Name ^^).
Ich fange dann in den Sommerferien an und halte euch auf dem laufenden
(Obs euch intressiert oder nicht :P ;) :D)

CracKPod
 
Bitte nicht übel nehmen Crackpod aber ich denke 99% der Computerfreaks haben so angefangen, erst was illegales probiert, dann aufgegeben aber irgendwann Spass am "normalen" coden entdeckt ;)

Also ich bin ja Delphianer aber kann mich auch für C begeistern. Als IDE ist MS VisualStudio schon nett (Anwendungen auch zusammenklickbar) aber ebend fett. www.Codeblocks.org ist auch ganz nett und free.

Ach und spätestens jetzt solltest du Mathe ganz aufmerksam verfolgen :D
 
Computerfreak... Ich nehme das wirklich als Kompliment :D!
Ich denke es wird so kommen wie du sagst. Außerdem ist das ja gar net Illegal :]!
(Siehe dazu oben)
Trotz allem werde ich probieren dieses Ziel im Auge zu behalten.

Kannst du mir noch ganz kurz erklären wo der Unterschied in Visual und Non Visual ist?

Also Bloodsheed Dev-C++ (Kein Visual erwähnt)
Visual C++ (Visual, ist mit Visual [Visuell] die IDE [GUI] gemeint?)

CracKPod
 
IDE steht für integrated development environment und heißt einfach, dass editor, linker, compiler in diesem Program vorhanden sind.
Mit Bloodsheed Dev-C++ kannst du auch visuelle Programme erstellen, wobei ich glaube, dass bei Visual Programmen es "Schablonen" oder vorgefertigte Sachen speziell zur Grafikentwicklung gibt.
 
Ja das mit der IDE, wusste ich ja so einigermaßen, aber leider ist mir jetzt
immer noch nicht klar warum es Visual heisst.

Tut mir leid wenn ich etwas schwer von Begriff bin.

CracKPod

EDIT:

Sorry, habe mich wie ein DAU benommen ^^.
Bei Wikipedia wird sehr gut erklärt warum es Visual heisst.

Visual C++ 2005 verfügt über einen erweiterteten C++-Befehlssatz, der u.a. die Nutzung der .NET-Programmierung vereinfachen soll.

Jetzt muss ich nur noch sehen was genau die .NET ist.

Danke!

PS:

@OwnZ lass die Signatur drin ^^ - Sonst hätte ich mich nicht selber zum denken
bewegt ^^. (Gemeint ist der Text der dahinter liegt)

.NET [?dTtn[t] ist eine Plattform für Programme, die mit unterstützenden Programmiersprachen entwickelt wurden. .NET ist eine Technologie, die verschiedene Betriebssystem-Funktionen zusammenfasst und an einem zentralen Punkt anbietet und soll veraltete Technologien und Vorgehensweisen der Programmierer, wie z. B. COM oder API-Aufrufe im Programmcode, ersetzen

Das habe ich trotzdem leider nicht verstanden, könnte sich jemand dazu bewegen
mir das genauer zu erläutern?

Meines Verstehens sind in .NET Bibliotheken (Befehle) implementiert die es so
in C++ nicht gegeben hätte.

EDIT:

Ich glaube jetzt habe ich es ^^,

Die .NET-Plattform stellt mit der Common Language Infrastructure (CLI) eine Basis zur Ausführung von Programmen, die mit unterschiedlichen Programmiersprachen erstellt wurden, her. Dies wird durch die Verwendung einer (objektorientierten) virtuellen Maschine und der Framework Class Library (FCL) ? einer gemeinsamen Klassenbibliothek ? erreicht.

Soll heißen das z.B .NET C, .NET VB,.NET C# und .NET C++ zusammen entwickelt
werden können - da sie vor dem ausführen in Common Language Infrastructure (CLI)
übersetzt werden und somit zu einander kompatible sind, oder?

CracKPod
 
Also "Visual Studio" ist der Produktname für MS Entwicklungsumgebung. Visual ebend weil es Rapid Application Development (grafische Oberflächendesign,....) unterstützt.
Neben der Ausprägung C++, gibt es auch C# (also rein formal C.NET), was die Befehle der Programmiersprache C++ mit der .NET Technologie verbindet. Es werden dann vereinfacht gesehen nicht mehr die C++ Framework mit in die .EXE eingebunden sondern es wird ähnlich wie JAVA kein richtiger x86 Code erzeugt sondern etwas was von .NET interpretiert wird.

Ja genau *eigentlich* soll das ermöglichen, dass an einem Projekt jeder mit seiner eigenen Programmiersprache werkeln kann und das Programm trotzdem zusammengefügt werden kann.

Gerne würden ich noch mehr dazu sagen aber dass führt dann wirklich in den Sumpf von Objeckt Orientierter Programmierung, Klassen,...
 
Gut, Dankeschön!
Ich denke ich habe jetzt einigermaßen verstanden und bin zu dem Schluss gekommen,
dass ich erstmal nichts mit .NET zu tun haben will :D.

CracKPod
 
Verstehe ich auch nicht, C# (was "formal" NICHT C.Net genannt wird (so ein quatsch) - es gibt C++.Net aber das ist nicht C# (.Net)) ist eine der herrausragendsen "neuen" (gibt es ja auch schon ne ganze weile - damals auf der Cebit vorgestellt (ich war da ;)) Sprachen und spart viel an entwicklungszeit da herkömmliche aufgaben abgenommen werden - wie die Speicherverwaltung usw.
 
Sprachen und spart viel an entwicklungszeit da herkömmliche aufgaben abgenommen werden - wie die Speicherverwaltung usw.
So viel Zeit muss sein und Jahre dauert das auch nicht.
Außerdem unterstützen das viele Sprachen, wie z.B. Java oder D und hätte ich die Wahl zwischen Java oder .Net, glaub mir, ich würde Java nehmen ;)

Warum? Was ist an .NET schlecht? Also ich kann nur empfehlen, sich mal damit zu beschäftigen.
Ich habe mich mit .NET beschäftigt, sowohl mit C# als auch mit VB8. Mir persönlich gefallen die Sprachen und das Framework nicht und ich halte es _noch_ für unnötig auf Sprachen wie C#/Java umzusteigen (erzählt mir nicht, man könne C# nicht mit Java vergleichen). Ob sich dies ändern wird, bezweifle ich.

Außerdem ist es nur für Windows gedacht und das Framework muss stets installiert sein.
Dazu kommt noch die Ausführungsgeschwindigkeit und der restliche Käse, der schon x mal besprochen wurde.

Was mono angeht; davon halte ich derzeit nicht wirklich viel, es ist noch nicht weit entwickelt genug, _finde ich_.

> Meine Meinung :)

PS: Ich will keinen Flame-War anzetteln, wollte nur das sagen, was ich denke, respektiert das bitte :>
 
Ich hab so ne ziemlich ähnliche frage ..

Was sind die Unterschiede (Vorteile , Nachteile ) von Java und C++ ??

Ich lern momentan java und werde in nächster zeit auch erstmal nicht umsteigen ,aber würde mich mal interessieren.
 
Zurück
Oben