Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

daG

Treue Seele

Beiträge: 130

Wohnort: Hamburg

  • Private Nachricht senden

71

27.02.2011, 16:48

Die Frage lässt sich ja auch nicht objektiv beantworten. Mir kommt es ein wenig so vor als wenn die Diskussion so ablaufen würde:

"Warum kann man nicht Birnen nehmen für einen Apfelkuchen"
"Weil Birnen nicht so gut geeignet sind für einen Apfelkuchen"
"Warum kannst du nicht objektiv widerlegen warum eine Birne nicht genauso gut wie ein Apfel sein sollte"

Das führt doch zu nichts... Denn es IST doch letztlich eine subjektive Frage!

daG

Treue Seele

Beiträge: 130

Wohnort: Hamburg

  • Private Nachricht senden

72

27.02.2011, 16:52

BTW: das sieht auch wie eine nette JS Einbindung für .NET aus: http://javascriptdotnet.codeplex.com/


Zitat

Javascript .NET integrates Google's V8 Javascript engine and exposes it to the CLI environment.


Das ist dann doch zu viel oder nicht? Bei IronJS brauchst du nur eine dll und es läuft nativ (und somit mit Mono auch ohne weiteres unter Linux und OSX)

73

27.02.2011, 16:54

Ok, d.h. einigen wir uns doch auf einen Gleichstand :)
@botlin: Du musst also selbst überlegen, was du besser findest. Wenn du ein größeres Projekt planst, solltest du beides ausprobieren.
Bezüglich der Entscheidung was du nachträglich dynamisch einbauen willst und was du direkt in deine Anwendung einflechtest wäre der Einsatz von C# auch als "Scriptsprache" aber objektiv gesehen sicherer. Da du zur Not auch alles was du doch einflechten willst direkt kopieren/in deine Anwendung verschieben kannst.

74

27.02.2011, 16:57

BTW: das sieht auch wie eine nette JS Einbindung für .NET aus: http://javascriptdotnet.codeplex.com/

Zitat

Javascript .NET integrates Google's V8 Javascript engine and exposes it to the CLI environment.
Das ist dann doch zu viel oder nicht? Bei IronJS brauchst du nur eine dll und es läuft nativ (und somit mit Mono auch ohne weiteres unter Linux und OSX)
Sollte da auch einfach so laufen (per shared library), wie das mit mono aussieht weiß ich nicht, müsste aber eigentlich auch gehen. Das bedeutet IMO einfach, dass man in javaScript direkt auf die .Net Objekte zugreifen kann bzw. die V8 Engine, die ja in Cpp geschrieben ist, eben für C#&Co eingebunden wird. Sieht IMO etwas schicker aus:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Initialize a context
JavascriptContext context = new JavascriptContext();

// Setting external parameters for the context
context.SetParameter("console", new SystemConsole());
context.SetParameter("message", "Hello World !");
context.SetParameter("number", 1);

// Script
string script = @"
    var i;
    for (i = 0; i < 5; i++)
        console.Print(message + ' (' + i + ')');
    number += i;
";

// Running the script
context.Run(script);

// Getting a parameter
Console.WriteLine("number: " + context.GetParameter("number"));


Ferner ist das Ding auch nicht in F# geschrieben und scheint etwas weiter zu sein. Schließlich wird die Google V8 benutzt. Der Drawback dabei: Das Ding kann man dann wahrscheinlich nicht in Unity oder XNA einsetzen (da C++ Code von der V8 im Spiel ist). (V8 implements ECMAScript as specified in ECMA-262, 3rd edition, and runs on Windows XP and Vista, Mac OS X 10.5 (Leopard), and Linux systems that use IA-32 or ARM processors.)

Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von »Chromanoid« (27.02.2011, 17:09)


BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

75

27.02.2011, 17:05

"Warum kann man nicht Birnen nehmen für einen Apfelkuchen"
"Weil Birnen nicht so gut geeignet sind für einen Apfelkuchen"
"Warum kannst du nicht objektiv widerlegen warum eine Birne nicht genauso gut wie ein Apfel sein sollte"

Das führt doch zu nichts... Denn es IST doch letztlich eine subjektive Frage!

Nun, genau genommen baust Du einen Apfelkuchen (C#) und willst Birnen (JavaScript) dafür nehmen. Warum genau Du nicht gleich einen Birnenkuchen machen willst, das ist dann natürlich fragwürdig.

Aber klar, es ist letztendlich subjektiv. Genau das sagte ich ja. Es ist nicht objektiv. ;)
Zwei Sprachen für ein und die selbe Sache zu verwenden finde ich persönlich unsinnig.
Wenn Dir das aber gefällt, dann ist das (wie ich schon sagte) letztlich das wichtigste "Argument", auch wenn es außer diesem Punkt sonst gar keine weiteren rationalen Argumente gibt.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

daG

Treue Seele

Beiträge: 130

Wohnort: Hamburg

  • Private Nachricht senden

76

27.02.2011, 17:08

Sollte da auch einfach so laufen (per dll), wie das mit mono aussieht weiß ich nicht, müsste aber eigentlich auch gehen. Das bedeutet IMO einfach, dass man in javaScript direkt auf die .Net Objekte zugreifen kann. Das finde ich etwas schicker:


Ja, das stimmt. Aber mit Reflections könnte man sich auch relativ einfach seine Objekte "freigeben" lassen. Zudem sogar noch genauer zu beeinflussen. Mal gucken ob das überhaupt geht ^^ ich werd das mal ausprobieren.

Wenn Dir das aber gefällt, dann ist das (wie ich schon sagte) letztlich das wichtigste "Argument", auch wenn es außer diesem Punkt sonst gar keine weiteren rationalen Argumente gibt.

Eben, es gibt so wie so keine rationalen Gründe warum man überhaupt eine andere Sprache als Assembler nutzen sollt :whistling:

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »daG« (27.02.2011, 17:14)


77

27.02.2011, 17:13

Ja, das stimmt. Aber mit Reflections könnte man sich auch relativ einfach seine Objekte "freigeben" lassen. Zudem sogar noch genauer zu beeinflussen. Mal gucken ob das überhaupt geht ich werd das mal ausprobieren.
Wenn der Entwickler von IronJS fleißig ist, ist das wie oben im Code zu sehen natürlich auch bald mit IronJS möglich... Die die V8 integriert haben, machen das ja auch mit Reflexion... Siehe http://javascriptdotnet.codeplex.com/Sou…w/49838#1140816 -> Invoker. Der Code macht mich übrigens ein bisschen stutzig, ich wüsste gerne ob das ganze Konvertieren auch bei IronJS gemacht werden muss (ich schätze nicht), das könnte ich mir als recht Performance-feindlich vorstellen.

Ich hab mich eben nochmal durch den IronJS Code gewühlt. Ich bin mir nicht sicher ob man evt. Objekte/Klassen mithilfe der Obj Klasse direkt in IronJS bekommt. Das wäre etwas direkter als das Interop Zeug bei der V8 Einbindung. Ich weiß nicht was schneller ist... F# Code sieht ja echt mal unheimlich aus ^^

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Chromanoid« (27.02.2011, 17:30)


dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

78

27.02.2011, 17:21

Ich find nicht dass das rein subjektiv ist, ich würde meinen dass hier ein großen Haufen sehr objektiver Argumente für C# als Skriptsprache genannt wurden. Abgesehen davon find ich dass die Apfelkuchen Analogie nicht wirklich funktioniert denn die vermittelt (zumindest mir) irgendwie den Eindruck als würde krampfhaft versucht etwas eigentlich ungeeignetes (Birnen) zu Zweckentfremden (Apfelkuchen machen). C# ist aber genauso ein Apfel wie JavaScript oder Ruby...

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

79

27.02.2011, 17:22

Eben, es gibt so wie so keine rationalen Gründe warum man überhaupt eine andere Sprache als Assembler nutzen sollt :whistling:

Ja, doch. Nennt sich "Rationalität", "Erlernbarkeit", "Lesbarkeit". Genau deswegen wurden Hochsprachen eingeführt. Aber es geht Dir ja scheinbar ohnehin schon lange nicht mehr um eine ernsthafte Diskussion, sondern nur noch um "ich will aber". Dann mach es doch einfach und frag nicht nach anderen Meinungen, Vor- oder Nachteilen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

daG

Treue Seele

Beiträge: 130

Wohnort: Hamburg

  • Private Nachricht senden

80

27.02.2011, 17:32

Abgesehen davon find ich dass die Apfelkuchen Analogie nicht wirklich funktioniert denn die vermittelt (zumindest mir) irgendwie den Eindruck als würde krampfhaft versucht etwas eigentlich ungeeignetes (Birnen) zu Zweckentfremden (Apfelkuchen machen). C# ist aber genauso ein Apfel wie JavaScript oder Ruby...


C# ist keine Skriptsprache, ich denke da sind wir uns einig. Und wenn nicht steig ich bei der Diskussion aus.

Aber es geht Dir ja scheinbar ohnehin schon lange nicht mehr um eine ernsthafte Diskussion, sondern nur noch um "ich will aber". Dann mach es doch einfach und frag nicht nach anderen Meinungen, Vor- oder Nachteilen.


Nicht ich habe gefragt sonder folgendes gesagt:
Aber C# als Skriptsprache zu benutzen find ich trotzdem nicht passend


War von Anfang an eine subjektive Aussage, und wenn du meine Ansichten nicht teilst macht es nichts.

Werbeanzeige