welche Sprache embedden? Ruby, Falcon, Lisp oder doch Python?



  • okay, ich war ein wenig ungeduldig, meine Fragen zu Javascript werd ich auch durch googlen klären können. Vielen Dank soweit, sieht interessant aus, weitere Meinungen?



  • someone_else schrieb:

    weitere Meinungen?

    Ich denke, Lisp dürfte zu viele Leute abschrecken oder dafür sorgen, daß nichtabgeschreckte Nubes mangels ausreichender Einarbeitung minderwertige Scripts bauen. Falcon, Ruby oder Python? Ruby scheint mir ein wenig "Ideodogie behindert Funktion".
    Aber es hängt sehr stark von der Schnittstelle ab, die Du den Scriptern zur Verfügung stellen willst. Tust Du die total objektorientiert machen oder total SQL-datanbankmäßig oder total C-orientiert oder was. Naja, das hängt auch von der eingebetteten Sprache ab, klar. Und von der Modellierung in der Hauptanwendung. Wahrscheinlich ist es sinnvoll, wenn dazwischen kein großer Unterschied ist.
    Javascript kenne ich nur in Sachen Webseitengestaltung. Da kann ich nur fremde Klassen benutzen und keine eigenen bauen. Ist das noch so? Falls ja, ist das natürlich ein starker Grund dagegen.



  • http://de.wikipedia.org/wiki/JavaScript schrieb:

    Der als ECMAScript (ECMA 262) standardisierte Sprachkern von JavaScript beschreibt eine moderne, schlanke, dynamisch typisierte, objektorientierte, aber klassenlose Skriptsprache, die dennoch allen objektorientierten Programmierparadigmen unter anderem auch – aber eben nicht ausschließlich – auf der Basis von Prototypen gerecht wird. In JavaScript lässt sich objektorientiert und sowohl prozedural als auch rein funktional programmieren.



  • tcl/tk war eigentlich fuer sowas angedacht (also groessere tools zu scripten), ich habe es noch nie benutzt, jedoch kenn ich leute die davon begeistert sind.

    visual basic waere auch ne moeglichkeit, das ist fuers toolschreiben gedacht und die bindings ueber die VB-runtime (bzw .NET) sind relativ einfach zu basteln. Mit version 3.0 soll es fast transparent an c++ koppeln.



  • Wenn nur die 3 zur Auswahl stehen wuerd ich zweifellos Python nehmen.
    LISP scheidet IMO schonmal aus, weil du dir damit alle unerfahrenen Programmierer verscheuchst. Falcon wuerd ich nicht nehmen, weil es eine zu unbekannte Sprache ist.
    Bleiben noch Python und Ruby. Beide sind leicht zu lernen und auch sonst relativ Einsteigerfreundlich. Und zumindest Python ist relativ einfach zu embedden. Wie's mit Ruby auschieht weiss ich da nicht, aber ich vermut mal es hat seinen Grund warum mehrere (auch grosse) Applikationen Python embedden, waehrend mir grad keine einfaellt, die Ruby anbietet. Fuer den Einsatz in Spielen muesste Python ebenfalls schnell genug sein, schliesslich gibts ja auch einige kommerzielle Spiele, die Python zum Scripting einsetzen.
    Bleibt nur zu klaeren warum du Python selbst nicht so gern magst 😕



  • Blue-Tiger schrieb:

    Wenn nur die 3 zur Auswahl stehen wuerd ich zweifellos Python nehmen.
    LISP scheidet IMO schonmal aus, weil du dir damit alle unerfahrenen Programmierer verscheuchst. Falcon wuerd ich nicht nehmen, weil es eine zu unbekannte Sprache ist.
    Bleiben noch Python und Ruby. Beide sind leicht zu lernen und auch sonst relativ Einsteigerfreundlich. Und zumindest Python ist relativ einfach zu embedden. Wie's mit Ruby auschieht weiss ich da nicht, aber ich vermut mal es hat seinen Grund warum mehrere (auch grosse) Applikationen Python embedden, waehrend mir grad keine einfaellt, die Ruby anbietet. Fuer den Einsatz in Spielen muesste Python ebenfalls schnell genug sein, schliesslich gibts ja auch einige kommerzielle Spiele, die Python zum Scripting einsetzen.
    Bleibt nur zu klaeren warum du Python selbst nicht so gern magst 😕

    Hi, welche spiele wären denn das? Ich schwanke selbst etwas wie der Thread ersteller. Bin auch bissl drüber mich in dieses Thema einzuarbeiten. Fand eig. LUA ganz gut. Wieso das jetzt so schlecht gemacht wird verstehe ich nicht ganz. Bin für jede Info dankbar 🙂



  • PRIEST schrieb:

    Hi, welche spiele wären denn das? Ich schwanke selbst etwas wie der Thread ersteller. Bin auch bissl drüber mich in dieses Thema einzuarbeiten. Fand eig. LUA ganz gut. Wieso das jetzt so schlecht gemacht wird verstehe ich nicht ganz. Bin für jede Info dankbar 🙂

    Spontan einfallen tun mir:
    Vampire: The Masquerade – Bloodlines, Battlefield 2, Battlefield 2142, Freedom:Force, Severance: Blade of Darkness

    http://wiki.python.org/moin/PythonGames listet unter "Specific Games" auch noch ein paar, die meisten davon kenn ich aber nicht.



  • naja, so ne Liste gibt es auch für Lua: World of Warcraft, FarCry, Spellforce, Homeworld 2 uvm. [1]
    Von Ruby würde ich abraten, da der Fragesteller was für Spiele braucht! Und da ist Geschwindigkeit wichtig, und Ruby ist das Gegenteil von Geschwindigkeit. 😉 Lua ist mit die schnellste Scriptsprache, und sehr einfach für Nichtprogrammierer zu erlernen, da es keine kryptische Syntax mit irgendwelchen Semikolons und geschweiften Klammern gibt. Lua kann jeder ruck zuck lernen.

    JavaScript und Python würde ich nur nehmen, wenn die Anwender eine Affinität zur Programmierung haben, also auch OOP und Syntax erlernen wollen.

    [1] http://lua-users.org/wiki/LuaUses



  • Python ist das Gegenteil von effizient und leightweight als Embedded-Scripting Sprache, lass die Finger davon, bläht alles auf.
    Außerdem verstößt das massiv gegen den Gedanken hinter der Sprache.

    Ich finde Angelscript ganz gut, an C++ angelehnt, aber eben sicher, dh. ohne Pointer etc
    Äußerst einfach C++-Klassen zu der Scripting-Engine zu exportieren...



  • Ich habe schon im Internet danach gesucht, aber kaum was darüber gefunden, kann mir jemand sagen was die Unterschiede zwischen Javascript und Lua sind? wo welche Sprache besser ist? die beiden scheinen mir recht ähnlich



  • Was meiner Meinung nach noch vergessen wurde, aber ein sehr schöner Kandidat für die Einbettung in C++-Programmen ist, ist AngelScript! 🙂 Die haben auch namhafte User, wie Warhammer: Mark of Chaos.[1]

    [1] http://www.angelcode.com/angelscript/users.asp



  • Icematix schrieb:

    Python ist das Gegenteil von effizient und leightweight als Embedded-Scripting Sprache, lass die Finger davon, bläht alles auf.
    Außerdem verstößt das massiv gegen den Gedanken hinter der Sprache.

    Ist denn Python wirklich (noch) eine Scriptsprache? Ich würde doch eher sagen, das Python eine vollwertige, dynamische Programmiersprache ist. Python gehört in gleiche Reihe wie Java und C#... nur halt dynamisch.



  • someone_else schrieb:

    Ich habe schon im Internet danach gesucht, aber kaum was darüber gefunden, kann mir jemand sagen was die Unterschiede zwischen Javascript und Lua sind? wo welche Sprache besser ist? die beiden scheinen mir recht ähnlich

    Was heißt besser? Lua und JavaScript haben wenig Ähnlichkeiten, bis auf das sie vielleicht dynamische Typen haben.



  • @someone_else
    Ist halt immer schwer Sprachen zu vergleichen, da es oft auf Dinge hinausläuft die Geschmackssache sind und viele Leute haben zu Sprachen eine "starke" Meinung und sind dich nicht zu schüchtern, diese laut bekannt zu geben :).

    Schau dir am besten mal ein paar Beispiele in den genannten Sprachen an und entscheide dann selbst.

    rapso schrieb:

    tcl/tk war eigentlich fuer sowas angedacht (also groessere tools zu scripten), ich habe es noch nie benutzt, jedoch kenn ich leute die davon begeistert sind.

    tcl/tk ist sehr eigen, um es mal so zu formulieren. Außerdem ist es nicht mehr sehr verbreitet. In den 90ern war es wohl recht populär.

    rapso schrieb:

    visual basic waere auch ne moeglichkeit, das ist fuers toolschreiben gedacht und die bindings ueber die VB-runtime (bzw .NET) sind relativ einfach zu basteln. Mit version 3.0 soll es fast transparent an c++ koppeln.

    Basic dürfte viele Leute verschrecken.



  • Was heißt besser? Lua und JavaScript haben wenig Ähnlichkeiten, bis auf das sie vielleicht dynamische Typen haben.

    besser heißt, pros und contras für beide sprachen, ich hab auch nicht nach der besseren gefragt.
    außerdem scheinen sie mir eher sehr ähnlich, auch wenn ich immernoch kein Javascripttutorial gefunden habe, das nicht fürs Web ausgelegt ist, sondern eher für Programmierer geeignet ist, jedenfalls bieten beide Prototypen OOP und funktionale Programmierung und sind relativ minimalistisch aufgebaut, die Syntax ist leicht anders, aber wo sind sonst die Unterschiede?



  • rüdigers Post kam erst später. Interessanterweise hatte ich mehr erfolg im Internet Flamewars zwischen Ruby und Lua zu finden, als zwischen Javascript und Lua, dort schien es eigentlich eher ziemlich still zu sein. Der Grund dafür wäre ebenfalls interessant zu erfahren. Und zu VB muss ich sagen, dass es auch auf Linux laufen soll.



  • rüdiger schrieb:

    rapso schrieb:

    visual basic waere auch ne moeglichkeit, das ist fuers toolschreiben gedacht und die bindings ueber die VB-runtime (bzw .NET) sind relativ einfach zu basteln. Mit version 3.0 soll es fast transparent an c++ koppeln.

    Basic dürfte viele Leute verschrecken.

    'visual' basic vielleicht, aber ansi/iso-standard basic ist sehr einfach. auch für leute, die noch nie programmiert haben.
    🙂



  • Artchi schrieb:

    naja, so ne Liste gibt es auch für Lua

    Lua hatte der Threadersteller ja ausgeschlossen. Sonst waer das natuerlich klar auch eine populaere Option 🙂



  • rein aus Interesse würde ich mittlerweile gerne Javascript mit Lua vergleichen und da gehören Infos zu Lua dazu. Ein Vergleich von Lua zu Python, Ruby oder sonst welchen Sprachen bringt mir allerdings nicht allzuviel.



  • JavaScript kann ich dir nur rudimentär was sagen, da ich es selber nicht benutze. Lua benutze ich dagegen schon.

    Also, JavaScript ist Objekt Orientiert, was Lua (nicht LUA!) nicht ist. Lua ist rein procedural, und nicht funktional (wie von dir gesagt). Du kannst in Lua durch die Brust durchs Auge zwar irgendwie OOP betreiben, aber das kann man auch mit Assembler, wenn man devot veranlagt ist.

    Was die Basis-Bibliothek angeht, kann ich sagen, das Lua da sehr minimalistisch ist. Es ist halt eine Scriptsprache. Ich vermute mal das JavaScript da ganz andere Geschütze auffahren kann.

    Lua hat aber den Vorteil ggü. JavaScript, das es so kompakt ist, das es Lua für so ziemlich jede exotische Plattform gibt, also auch für RISC OS, Amiga u.ä. Ist halt nicht viel zu potieren und man kann diese kleine Lib wirklich überall einbetten. 😃 Vorallen da Lua "nur" procedural ist, lässt es eine sehr einfache Integration zu.

    Wie es da mit JavaScript aussieht, kann ich nicht beurteilen. Ich weiß nur, das JavaScript auf exotischen Plattformen wie RISC OS, Amiga u.ä. durch Abwesenheit glänzt. Wenn dir das egal ist, vergiss diesen Absatz.

    Was noch? Ja, also Lua ist von der Syntax was ganz anderes. Lua ist eher Richtung Pascal-Syntax, JavaScript ist eher C-Syntax. Was ist denn deine Zielgruppe, die die Erweiterungen schreiben sollen?

    Ich finde, man kann hier nicht sagen, das sich die beiden Sprachen Konkurrenz machen! JavaScript ist doch ein ganz anderes Lager bestimmt. Damit kann man sicherlich komplexere Themen behandeln, schon alleine durch die OOP.

    Lua ist dagegen eine Scriptsprache, die mehr zum Konfigurieren und Workflow erstellen gedacht ist. Also, man kann damit z.B. Bildschirmmasken definieren. In Spielen kann man sagen "Wenn Spieler 1 an Tonne 5 lang läuft, explodiert die Tonne 5.". Aber ich würde mit Lua keine komplexen Programmerweiterungen entwickeln. Dafür ist Lua zu simple, was aber nicht abwertend ist.

    Die beiden Sprachen sind meiner Meinung nach für unterschiedliche Anwender konzipiert. Ich kann an Lua auch einen Nicht-Programmierer ransetzen. An JavaScript kann ein Programmierer dagegen Spaß haben.

    Was willst du denn erreichen? Ich finde, du hast hier zu wenig Infos gegeben.


Anmelden zum Antworten