[Frage] Welche Programmiersprache ist besser/schneller?

01/08/2011 18:56 brain1k#1
Hallo Community,

ich bin etwas verwirrt.
Und zwar habe ich mich die letzten 2 Jahre einiges mit AutoIT3 beschäftigt.
Mittlerweile habe ich es dort auch geschafft ein eigenes Schiffe versenken für das LAN zu programmieren, ebenso wie kleine Client/Server Anwendungen.

Schulisch beschäftige ich mich aber (gezwungener Maßen) mit Java (genauer BlueJ) und objektorientierter Programmierung.

Kann mir jemand mal die Vor- und Nachteile von beiden Programmiersprachen vlt etwas genauer erläutern? Vorallem im Bezug Client/Server Anwendungen (das hatten wir in JAVA noch nicht, und wird wohl kaum noch kommen.

Folgende Gesichtspunkte sind am wichtigsten für mich:
->schnelles Erzeugen eines GUI
->Geschwindigkeit beim Programmablauf. Was ist langsamer? (bspw: mir wurde geraten für einen BrowergameBot Java zu verwenden, für Darkorbit)
-> Rescourcen Sparsamkeit.
-> Komplexität und Schwierigkeitsgrad für den Aufbau von Client/Server (auch Datenübertragungen)
-> Genrelle Möglichkeiten der einzelnen Sprache


Allerdings muss ich sagen, das ich nun weis, dass Java in Sachen Primzahlberechnung nach dem Sieb des Eratosthenes AutoIt bei großen berechnungen zeitlich einiges hinterher ist(bsi 100.000 etwa 50% der Zeit, mit For schleifen)
Allerdings auch, dass JAVA beim einzelnen hochzählen von 1 bis 1.000.000 etwa 0,015 sek benötigt und AutoIT3 etwa 6,6sek (while Schleife).

Daher bitte ich um eine Konstruktive Antwort, sodass ich mich nicht zunehmend mit AuoIT3 beschäftige um später festzustellen:
"Verdammt. Jetzt habe ich ein Script in AutoIT geschrieben, und das ist viel zu langsam und verbrauch hinzu zu viele Rescourccen"


Danke für Konstruktive Antworten.
Konstruktive Antworten bekommen ein THANKS!
01/08/2011 19:12 MoepMeep#2
AutoIt ist eine Scriptsprache, Java nicht.

Frage beantwortet?
01/08/2011 21:44 Secredo#3
Java: (Normales Java, kenne BlueJ nicht)
  • Plattformunabhängig (was für die Netzwerkprogrammierung oft sehr wichtig ist, da roots/vServer meistens mit Linux laufen -> AutoIt ist unbrauchbar)
  • Objektorientiert
  • Einfach erlernbar
  • Ein Grundkonzept ist die Netzwerkprogrammierung
  • Große Standartbibliothek
  • ...

AutoIt:
  • -


Quote:
->schnelles Erzeugen eines GUI
Keine Ahnung ob Java da gut ist, habe ich noch nicht gemacht.
Quote:
->Geschwindigkeit beim Programmablauf. Was ist langsamer? (bspw: mir wurde geraten für einen BrowergameBot Java zu verwenden, für Darkorbit)
Java ist eindeutig schneller, AutoIt ist eine Skriptsprache...
Quote:
-> Rescourcen Sparsamkeit.
Hat AutoIt überhaupt einen GarbageCollector? Java jedenfalls schon.
Quote:
-> Komplexität und Schwierigkeitsgrad für den Aufbau von Client/Server (auch Datenübertragungen)
Würde zu Java tendieren, da sogar ein Schwerpunkt von Java die Netzwerkprogrammierung ist.
Wurde vor kurzem "gezwungen" eine Serveranwendung in Java zu schreiben, ohne vorher je mit Java gearbeitet zu haben. Nach etwa 2h Arbeit/Einstudieren hatte ich einen vollständig funktionsfähigen, multithreaded(!) Server und das ohne jeglichem Tutorial, nur [Only registered and activated users can see links. Click Here To Register...]als Nachschlaghilfe!
Quote:
-> Genrelle Möglichkeiten der einzelnen Sprache
Natürlich hat man mit Java viel mehr Möglichkeiten.



MfG Secredo
01/08/2011 21:53 hallamasch#4
Java = Kaffe
Autoit = Cola

if ( Kaffe > Cola )
{
echo " Java is the Winner ;-) ";
echo " Winner Winner Chicken Dinner :-)"
}


Nicht das Java besonders gut ist, aber um längen besser als Autoit.
Und wenn du in Java schreibst kannst du dich auch endlich Programmierer nennen :-D

*Dieser Post enthält eine Menge versteckten und offensichtlichen Humor*

*edit: 3 Leute schaffen es nicht aus dem Sandkasten*
01/08/2011 22:05 SpinnenGetier#5
BlueJ ist eine integrierte Entwicklungsumgebung für Java.

lerne doch lieber mal die sprache netbeans oder eclipse, die sind am schnellsten^^

ansonsten wage ich dir zu prophezeien, dass du niemals eine sprache so gut beherrschen wirst, dass sie dir zu langsam wird :pimp:

spinne
01/08/2011 22:19 xNopex#6
Java wird in etwa gleich schnell wie AutoIT sein. Hängt jetzt vom Interpreter ab, was schneller ist. Java bringt eine relativ leicht zu erlernende GUI Klasse mit sich. Jedoch würde ich anstelle von Java C# bevorzugen.
Kommt es dir auf Geschwindigkeit an, dann musst du auf eine "Compilersprache" umsteigen, die nativen Code erzeugt.
01/08/2011 23:17 brain1k#7
Vielen Dank für die Antworten.

Drum werde ich wohl auf Java umsteigen.

Grundprinzipien kann ich ja aus dem Informatik Unterricht.
blueJ ist dabei eine Entwicklerumgebung. Mit der kann man wie ich herausgefunden habe auch ganz normale Java Anwendungen entwickeln.

Eure Antworten haben mir weitergeholfen, nur ich habe mich wohl eher vor Java gedrückt, weil server Anwendungen zunächst nocht sehr Kompliziert erscheinen.

Ich werde mir die "Java Insel" zu Gemüte führen. Vorallem, da wir in der Schule mit "Stifte und Mäuse" arbeiten, also kaum echte englische Java Befehle kennen.

Ok den Garbage Collector hatten wir vor kurzem in der Schule. Denke nicht das AutoIt den hat.

Danke Danke
01/09/2011 03:25 Solenoid#8
Die Mächtigste Sprache und somit auch die schnellste und Ressourcenärmste ist "Genesis"

Ist eine Mixtur aus Perl und Phyton.. Jedoch objektorientiert und GUIlastig.. Jedoch bevor du in diese Sprache einsteigst.. Es gibt nur sehr wenige leute die sie wirklich fließend coden können da sie eher unbekannt und extrem schwer zu lernen ist, da sie diverse Kenntnisse von toten Sprachen wie Darkbasic in sich hat..

Aber wenn du sie halbherzig nur beherrschst ist sie mächtiger als Java\autoit\C zusammen... verreint.. denn genau das ist diese Sprache.. ein Mix aus allen 3en und man kann damit alles machen..

Bspweise der Blaster wurde damit geschrieben.. und wer sich an den Blaster erinnern kann, der weiß was damals los war :D
01/09/2011 08:11 Secredo#9
Zum Thema Netzwerkprogrammierung mit Java habe ich vor kurzem noch [Only registered and activated users can see links. Click Here To Register...] gefunden.
Damit sollte dir klar werden das, zumindest Netzwerkprogrammierung mit Streams, ziemlich einfach gestaltet wurde.
01/09/2011 08:30 xNopex#10
Quote:
C++
Man sollte das Antwort-Limit auf vier Zeichen setzen, dann bleiben einen solche Replys erspart.

Quote:
Die Mächtigste Sprache und somit auch die schnellste und Ressourcenärmste ist "Genesis"

Ist eine Mixtur aus Perl und Phyton.. Jedoch objektorientiert und GUIlastig.. Jedoch bevor du in diese Sprache einsteigst.. Es gibt nur sehr wenige leute die sie wirklich fließend coden können da sie eher unbekannt und extrem schwer zu lernen ist, da sie diverse Kenntnisse von toten Sprachen wie Darkbasic in sich hat..

Aber wenn du sie halbherzig nur beherrschst ist sie mächtiger als Java\autoit\C zusammen... verreint.. denn genau das ist diese Sprache.. ein Mix aus allen 3en und man kann damit alles machen..

Bspweise der Blaster wurde damit geschrieben.. und wer sich an den Blaster erinnern kann, der weiß was damals los war
Auf meiner Google Tour habe ich leider nichts über diese Sprache herausfinden können. Deshalb bitte ich dich mir Links zu zeigen, die über diese "göttliche" Sprache Informationen bereitstellen. Ich würde doch gerne mal mehr darüber erfahren, vor allem, wie mir so eine Wundersprache so lange verborgen bleiben konnte.

Quote:
Lern einfach Php + htaccess(falls das ne sprache ist xD) und dazu noch bissel c++ usw. wenn es um metin2 modden geht dann lern lua php und assemblar(für die gamefile) und phyton für clientmodding
Sry aber die Antwort ist ein Fail nach dem anderen. Php zu empfehlen, wenn der User sich nicht zwischen AutoIT und Java entscheiden kann, ist schon schlecht genug.
01/09/2011 11:47 mydoom#11
Ich konnte zwar auch keine Programmiersprache namens "genesis" finden, dafür jedoch eine 3D Game-Engine ([Only registered and activated users can see links. Click Here To Register...]).
01/09/2011 14:02 nkkk#12
wisokommt bei der umfrage eig. als gesamtwert nicht 100% raus?
Quote:
Generell: AutoIT3_______________ 6 ___40,00%
Generell: Java _________________11 ___73,33%
Genrell: Beide gleich gut _________2 ___13,33%
für Server/Client: AutoIt3_________3 ___20,00%
für Server/Client: Java___________4 ___26,67%
für Server/Client: Beide gleich gut__2 ___13,33%
01/09/2011 17:52 MrSm!th#13
Ich leide mit dir, ich kenne diesen BlueJ Müll.

Generell kann man nie sagen, welche Sprache besser ist, da jede ihre Vor- und Nachteile hat.
Man kann höchstens sagen, welche Schneller ist und das ist wohl definitiv Java.

Aber in diesem Fall kann man eine Ausnahme betreffend der Qualität machen, da es sich um Autoit handelt:
Ja, Java ist auch besser als Autoit.

Außerdem möchte ich euch bitten, eure Diskussion über C++ vs Java woanders weiterzuführen, wie man im 1. Post sehen kann, hat er C++ gar nicht in Erwähgung gezogen!

Wer hier vonwegen Javafanboy ankommt sollte einfach mal die Klappe halten.
Ich bin hier auf keiner der beiden Seiten, aber nur weil Nopex die Vorteile und Nachteile einer Sprache gegenüberstellt und daraus seinen Schluss zieht, ist er kein Javafanboy.
Außerdem hat er weitaus mehr Erfahrung als so manch andere Poster hier, die die Klappe ganz schön weit aufreißen...
Er sagt sogar noch, dass er C++ keinesfalls runtermachen will und wird trotzdem als Fanboy bezeichnet... :rolleyes: Zeigt irgendwie, dass hier sinnvolle und konstruktive Beiträge nichtmal richtig gelesen werden.

Aber zur Effizienz Nopex:
Du kannst dir diese Bibliotheken aber auch selbst ein Mal schreiben, dann kannst du sie ab da auch sehr komfortabel nutzen, das Zauberwort ist eben Codewiederverwertung, was man mit jeder Sprache tun sollte, auch C++, von daher ist das Argument nicht wirklich der Bringer.

Quote:
Die Mächtigste Sprache und somit auch die schnellste und Ressourcenärmste ist "Genesis"

Ist eine Mixtur aus Perl und Phyton.. Jedoch objektorientiert und GUIlastig.. Jedoch bevor du in diese Sprache einsteigst.. Es gibt nur sehr wenige leute die sie wirklich fließend coden können da sie eher unbekannt und extrem schwer zu lernen ist, da sie diverse Kenntnisse von toten Sprachen wie Darkbasic in sich hat..

Aber wenn du sie halbherzig nur beherrschst ist sie mächtiger als Java\autoit\C zusammen... verreint.. denn genau das ist diese Sprache.. ein Mix aus allen 3en und man kann damit alles machen..

Bspweise der Blaster wurde damit geschrieben.. und wer sich an den Blaster erinnern kann, der weiß was damals los war
Klingt ganz schön imaginär.
Wie soll es schneller als C und ASM sein (du sagst ja schnellste), wenn es eine Verbindung aus Interpreter- und nativen Sprachen ist?
Zumal sie nicht mächtiger als C sein kann, da man mit C auch alles machen kann, sie kann also höchstens genau so mächtig sein, was ich mir bei dieser Beschreibung, die eher wie Wunschdenken aussieht, nicht vorstellen kann.
Das geht so in die Richtung "So mächtig, schnell und hardwarenahe wie C/ASM, so einfach wie Autoit, so sicher und komfortabel wie Java!".

Hättest du mal nen Link zu nem Compiler o.Ä. parat?
01/10/2011 00:08 MoepMeep#14
Quote:
Originally Posted by nkkk View Post
wisokommt bei der umfrage eig. als gesamtwert nicht 100% raus?
Weil man mehr als eins ankreuzen kann? :>
01/10/2011 13:52 nkkk#15
achso^^.


nun, gibt es ein möglichkeit jetzt wo ich schon einmal angestimmt hab mein stimme zu ändern zu mehrere anzukreutzen???