On Thu, Mar 15, 2012 at 3:56 PM, F i L <witte2008@gmail.com> wrote:
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. 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)

Got a score of 292 while spending most of the time with just a sliver of life.  Those sneaky health powerups kept getting knocked off the screen before they'd reach me.  Fun though.

Regards,
Brad Anderson