Bot Programmieren-Welche Sprache?!?

10/30/2014 17:32 Krabat2#1
Hey Leute ich wollte mit dem programmieren anfangen und wollte Bots für Browsergames programmieren können (Das ist nicht das Ziel und auch nicht der Sinn wieso ich überhaupt anfange zu programmieren, keine Sorge) doch ich habe mich gefragt welche Sprache dafür? ich habe etwas gegooglet und viele verschiedene Meinungen gefunden
Ruby, JavaScript, C++, C#, PHP, Perl

Deswegen weiß ich nicht welche ich lernen soll...

Ich habe auch irgendwo gelesen dass C++ sehr anfängerfreundlich ist um allgemein die Syntax zu lernen, man danach Java lernen sollte und anschließend C# weil C# eine Mischung aus beiden sein soll.

Deswegen wollte ich eure Meinungen wissen welche Sprache und wieso genau diese...
10/30/2014 18:17 warfley#2
Ach gottchen, diese Frage schon wieder

Schlag die PHP und JavaScript mal ganz schnell aus dem Kopf, falscher Anwendungsbereich.

Hier eine kleine Liste guter Sprachen, die als homeentwickler komplett ausreichend sind:

Java
Vb
C#
C++
Obj-C(Mac)
Delphi/Pascal
Python
Ruby

Jede hat vor und Nachteile, Java z.b. läuft auf allen Systemen gleich, mit vb c# und delphi lassen sich ziemlich leicht guis entwickeln, python und Ruby sind als Script Sprachen unglaublich gut für kleinere Projekte, C++ und delphi sind nativ, d.h. laufen sie viel näher am System

Ich persönlich programmiere in delphi, relativ easy, umfangreich und läuft AIF den meisten System ohne Einschränkungen (mit lazarus)
Die c Syntax oder auch die fehlende typisierung in z.b. python mag ich persönlich nicht.
10/30/2014 18:26 Krabat2#3
Am meisten sprechen mich davon C++ und C# an Java evtl auch, aber sollte ich mehrere lernen oder nur eine? manche sagen viele etwas manche sagen auch nur eine komplett, und welche wäre am besten für so etwas wie Browsergame bots o.ä.
10/30/2014 20:03 warfley#4
Mit einer Sprache kommst du, sofern du deine Anforderungen an die Sprache nicht um 180° änderst, problemlos klar.

Natürlich ist es auch gut mehrere Sprachen zu kennen, so kannst du vor einem Problem stehen das du mit Prolog in 2 Minuten löst, dich mit einer logischen Programmiersprache wie c++ dich aber dumm und dämlich programmierst.

Neue Sprachen zu lernen ist immer von Vorteil, aber darüber solltest du Vllt erst so nach 2-3 Jahren nachdenken

Zu den Sprachen, mit c# kannst du sehr schnell funktionierende Programme schreiben, Javas Haupt Attribut ist die plattformunabhängigkeit
10/30/2014 20:12 Krabat2#5
Mein Hauptziel für die nähere Zeit ist es ja ein Browsergamebot zu entwickeln, ich habe gelesen das man dafür den Browser "faken" muss, ist dass mit C# möglich? Und WireShark ist auch sehr wichtig für so einen Bot oder?
10/30/2014 20:27 warfley#6
Das nennt sich webrequest und lässt sich mit allen von mir genannten sprachen verwirklichen. In C# ist es auch sehr einfach.

Und statt wireshark nimm lieber fiddler, ein wunderbares kleines programm was dir direkt die webrequest auswirft
10/30/2014 20:49 AnotherBadPun#7
Hallo.

Ich habe selbst mit C++ angefangen und diese Sprache seitdem immer wieder für Windows Anwendungen verwendet.
-> Objekt-Orientierte-Programmierung mit der Visual Command Library (VCL)
Der Syntax ist bei C++ wirklich sehr einfach zu verstehen und somit auch anfängerfreundlich.
Speicherreservierung, globale Variablen und Funktionsparameter sind hier ebenfalls einfach zu erlernen.

Auch ich habe i-wann mal angefangen einen Bot für das Browsergame "Die Stämme" zu programmieren
und habe diesen dann vorwiegend über HTTP-Requests und das Auslesen vom Quelltext gesteuert.
-> als Anfänger kann dies aber echt schwer sein...

---

Im Januar 2012 habe ich dann zum ersten Mal mit JavaScript (TamperMonkey für Chrome) angefangen.
JavaScript hat schon große Unterschiede zu C++, vorallem was die Speicherverwaltung angeht.
-> im Vergleich ist C++ da angenehmer

Ich persönlich würde dir Greasemonkey (Firefox) oder Tampermonkey (Chrome) empfehlen,
sofern du einen Bot für Text- und Grafikbasierte Browergames (wie "Die Stämme") schreiben willst.
Bei Flashgames würde das allerdings nichts bringen...

Mit JavaScript kommst du auf jeden Fall bei Browsergames schneller voran als mit C++.
Bei C++ musst du dich erstmal um die Benutzeroberfläche (GUI) kümmern.
Dann musst du dich um die Speicherreservierung und das Speichern deiner Variablen, Werte und Logfiles kümmern.
Außerdem musst du ja die Verbindung zum Browsergame i-wie herstellen.
Somit brauchst du also HTTP-Requests oder andere ähnliche Optionen.

Wenn du nun einfach JavaScript mit einem der AddOns für Firefox oder Chrome verwendest,
dann sparst du dir da sehr viel Zeit. Denn du führst dein Skript direkt im Browser aus und hast
somit durch den Dokument-Objekt-Manager (DOM) direkten Zugriff auf alle Elemente im Browsergame.

Du kannst also mit JavaSkript direkt das Aussehen der Website anpassen, Eingabefelder hinzufügen und
eben auch bestimmtes Verhalten anpassen oder bei bestimmten Ereignissen Nachrichten ausgeben lassen.
-> Bei "Die Stämme" kann man mit JavaSkript relativ einfach die Map auslesen und sich somit automatisch FarmListen generieren lassen.
-> Würdest du darauf mit C++ zugreifen wollen, wäre das deutlich komplizierter.

---

Wenn du also nur einen Bot für ein Browsergame brauchst, dann würde ich dir JavaSkript empfehlen.
-> Einfach weil es für Dinge im Browser einfacher zu handhaben ist, als der Umweg mit C++.

Solltest du aber generell Programmieren lernen wollen und später auch mal andere Bots, Trainer
oder generelle Windows-Anwendungen programmieren wollen, dann wäre C++ der bessere Einstieg.

Von Visual Basic (VB) würde ich wegen dem unglaublich schlechtem Syntax abraten.
-> persönliche Meinung - aber der Syntax ist echt unter aller sau. ^^


---

Zum Thema Webrequest kann ich noch sagen:
Google Chrome bietet da integrierte Funktionen, die ebenfalls alle Aufrufe mitloggen können.
Nennt sich auch Entwicklerkonsole. =)
10/30/2014 21:35 Krabat2#8
Das ist nicht das einzige Forum wo ich mich erkundigt habe und in einem anderem hat mir einer Phyton ans Herz gelegt. Was haltet ihr davon? ER sagte es wäre damit zielich leicht
10/30/2014 22:36 warfley#9
Quote:
Das ist nicht das einzige Forum wo ich mich erkundigt habe und in einem anderem hat mir einer Phyton ans Herz gelegt. Was haltet ihr davon? ER sagte es wäre damit zielich leicht
Python ist auch gut, jede der von mir oben genannten Sprachen ist für entsprechende einsatzmöglichkeiten gut, und das was du machen willst kann auch jede dieser sprachen

Die Quwal der Wahl
10/30/2014 22:40 Krabat2#10
Ich denke ich werde mich für C++/Java/C# entscheiden da ich sehr wahrscheinlich Informatik studieren möchte und diese Sprachen relevanter sind als zb. Phyton .. und Vorwissen wäre ja auch nicht schlecht ^^

Im moment spiele ich noch etwas mit Wire Shark herum und ich bin erstaunt was das alles kann bzw was man alles mit der fritz box mitschneiden kann...
10/30/2014 23:14 Black Tiger ツ#11
[Only registered and activated users can see links. Click Here To Register...]


c# oder python
10/30/2014 23:55 Krabat2#12
Quote:
Originally Posted by Black Tiger ツ View Post
c# oder python

Direkt mit C# anfangen? Manche sagen es ist sinnvoller mit C++ anzufangen
10/31/2014 00:07 Brendan Jordan#13
Quote:
Originally Posted by Krabat2 View Post
Direkt mit C# anfangen? Manche sagen es ist sinnvoller mit C++ anzufangen
Kommt drauf an was man machen will.
10/31/2014 01:45 warfley#14
Quote:
Ich denke ich werde mich für C++/Java/C# entscheiden da ich sehr wahrscheinlich Informatik studieren möchte und diese Sprachen relevanter sind als zb. Phyton .. und Vorwissen wäre ja auch nicht schlecht ^^
An der Uni fängt man komplett bei 0 an, man beginnt mit was ist eine sprache, was ist eine syntax, was ist eine semantik, und danach lernt man erst schritt für schritt programmieren, vorkentnisse werden überhaupt keine benötigt. Danach brauchst du dich überhaupt nicht zu richten. Im Gegenteil, viele die vorher schon Programmieren konnten gehen nicht mal in die Vorlesungen, weil sie sich dann denken "wieso auch" (schlechte Idee).

Daher such dir eine sprache raus die dir zusagt, und keine wo du denkst dass du sie brauchen wirst (Die TU Hamburg benutzt glaube ich z.b. auch Smalltalk, das ist eine komplett andere syntax als Java).

Zu der frage C++ vor C#, C# ist um Welten einfacher (Du erziehlst wesentlich schneller Ergebnisse als mit C++), und (meine meinung) das 2 Dateien system (Header in seperater datei) richtig nervig
10/31/2014 01:51 #FaiL'#15
Im normalfall ist es so das du mit dem Verständnis von C++ die meisten Sprachen leichter erlernen kannst, allerdings das Verständnis für C++ aufzubauen ist schwieriger als für C#.

#FaiL'