I haven't used Typescript yet, but I'm very keen on it. How fast is the compiler currently for you? (eg. seconds or minutes?, and how big is your codebase? (eg. 10k or 100k?)
Real-time is definitely the future of development, but disappointed to see no mention of real-time client side technologies like the one I'm working on (http://playir.com). That allows you to update client-side source code across mobile web & native platforms.
I loved it back when it was using a fixed Wednesday deadline and saved bandwidth by linking to private YouTube videos, (rather than hosting nReduce copies).
Great post! I'm a huge C++/Anti-GC/Games developer here.
Few notes.
On performance, most of the time, I'm GPU bound when writing games. In this JavaScript based game for iOS: http://imgur.com/XQdGKHw,swTBC9T#0
That's 11ms using iOS JavaScript which isn't JIT optimised.
Granted CPU will go crazy if I try running advanced Physics using JavaScript, but I tend to push Math intensive functions to C++ using a hybrid approach.
On GC, I'm not a fan, I like managing my memory. However, UnrealEngine, which is super-awesome, has a built in garbage collector. In my experience with it, whenever someone tries to blame its GC for performance/memory abuse, to my dissatisfaction, the problem usually lies elsewhere.
Main reason I've full on switched to the JavaScript world for development is its ability to re-interpret code on the fly. Allowing me to write and tweak, code/ui/design changes in real-time across multiple-devices.
I imagine you can do both in a really small or one man team, but to do both in anything bigger will require a very difficult context switch between job functions.
That's really interesting actually. Is JavaScript still considered a scripting language or given it's modern web development application, is it now a fully fledged programming language?
C++ is awesome, but I kinda went the other way with my stuff for more flexibility. JavaScript as the main programming language and C++ only for the performance and driver access bottlenecks. (More info: http://multiplay.io)