Paulo Pinto wrote:
The main benefit dynamic languages bring to the table is not requiring to write types everywhere, duck typing, and the flexibility metaprogramming
has.

I'll give you the metaprogramming bit, but duck-typing is rarely a benefit over languages, like D and C#, which support "auto"/"var" keywords. I'd actually argue that getting early compile-time error when I accidentally change variable type (except in areas I explicitly want it) is actually a time saver of statically typed languages. Granted casting types is a bit lower-level concept and can be a pain to type.


Andrei Alexandrescu wrote:
Relevant insight: http://existentialtype.wordpress.com/2011/03/19/dynamic-languages-are-static-languages/

Thanks for the link. I understand all code eventually becomes binary, of course, and I have a pretty good understanding of how V8 JS functions internally. I just can't see why someone would want to use an "expressively straightjacketed" (as the article puts it) language when they have the option not to.


Adam D. Ruppe wrote:
import std.variant;
struct Extendable {
    Variant[string] properties;
    Variant opDispatch(string name)() {
       return properties[name];
    }
    Variant opDispatch(string name, T)(T t) {
       properties[name] = t;
       return properties[name];
    }
}

void main() {
    auto a = Extendable();
    a.sweet = 10;
    a.cool = { a.sweet = a.sweet + 1; }
    a.cool();
}

Awesome! I knew it was possible, just didn't think it'd be that easy! You know, it might be nice to an std.dynamic or extend variant to include a general purpose Dynamic type. Just a thought.


so Wrote:
I'd love to use D but it is not an option is it? At least for the
things i am after, say game scripting.

I think D's a great option. A D compiler would only have to be distributed with the tool-chain/editor, and scripts could be statically compiled with the rest of engine. Safe-D is safe, and comparably easy to understand as other common scripting languages (Unity's uses C# for example) and advanced scripters would have the options of getting real low-level with their logic blocks. Plus, if the rest of the game engine was written in D, integrating the scripts would be completely seamless.


~~~~~~~~~~


On a completely irrelevant, but slightly related note: I have just released my first Unity 3D game for Android/iPhone, Space Pizza Delivery! (https://play.google.com/store/apps/details?id=com.ReignStudios.SpacePizzaDelivery)

Woohoo! It's simple, but fun, and we have a much more ambitious project in the works. Hopefully the start of my game-maker career! :-D (and yes, I am shamelessly advertising ;p)

Reply via email to