back

by tosh·12y ago·view on hn ↗
> My takeaway is this: Doing something quick and dirty for a first draft and improve it later on often leads to better results in the long run than planing and over-engineering a solution beforehand, because you can start refining details much earlier or throw away bad approaches without investing too much time.

I like Dart because it supports what you've described really really well. Optional type annotations enable you to don't worry about types when you do rapid prototyping.

Once your understanding of a good solution solidifies you can sprinkle type annotations over function signatures and wherever it makes sense to get great tooling support and to fortify core parts of your code base :)

In a nutshell it enables project lifecycles many companies go through many times (something written in Ruby eventually might have to be rewritten in Java for performance and tooling/collaboration support) yet being able to stick to one language which removes a ton of complexity.

1 comments
I agree, Dart offers alot regarding prototyping. Maybe I'm thinking too much, but I believe native os and mobile targets are simply too important in the gaming industry and therefore it's difficult to leverage the device capabilities if your primary target is the web & webgl.

I guess, what I miss most is cross compilation, which would be totally awesome. But Dart moves slowly and I'm very hesitant to invest in a platform where its fate relies on the adoption in browsers. (how long until the Dart VM runs in chrome, ff, ...?)

The dart people seem to be focussed on getting it to generate code that is at fast as handwritten JavaScript. If they get there then you won't have to worry about a dart VM in a browser (won't happen in a non Google browser anyway). You still have really rapid development and rich debugging with the dartium browser (like notch) and you can use a dart VM on the server for faster than js performance.