To VegasRich:
I saw yesterday another talk with Stroustrup - here is his take on Macros and “De-Macrofication”(time-coded link), he shared your sentiments exactly…
I wouldn’t consider this a minor-issue, especially for UE4, which is HOPELESSLY-RIDDLED with Macros…
Stoustrup talks about tools for “auto-removing” Macros (~60%->~90% of them) - I don’t know what they would be replaced with - probably combinations of features (including Templates, and perhaps even Concepts-Lite?). I really dig where the whole “Concepts” direction is moving - this should allow better safety for templates and might be the final-nudge needed for maintainers of large code-bases for migrating/re-factoring their code…
I really hope that moving-forward Epic would seriously-considered doing such migrations for their code-base, if not for their user’s sanity then at least for their own… Migrating a code-base from C++11 into C++14 should be relatively straight-forward and natural.
To worm:
There has been much hype and enthusiasm about both IL2CPP and .Net-Native - From what I gather for now, most of it is yet unjustified.
For Unity, there are still out-standing/unresolved issues regarding system-components that can-not be “converted-away” (like threads and sockets), so they can’t eliminate the run-time completely - they will be shipping a distilled-down variation of their existing Mono for such cases (if you use these features). For the web-targeting, you can’t do threads anyways (for now), because Javascript is single-threaded, and you can’t use native-sockets (only web-sockets at best) - so if your game depends on such things, you can’t target the web, and IL2CPP will have a hard-time of helping you…
For Microsoft, this only applies to mobile-apps, and as of yet, is NOT targeting non-MS platforms, so they are probably layering that solution onto some C++ system-components that they own/control in “their” platforms (plural). Also, the conversion is done as a service on their cloud, so, have fun with that… (Your bank-account is sure to dislike it…)
When 100% of .Net-code can be freely-converted into ANY platform, we would be able to discuss such solutions - till then…
Performance is a very tricky subject, and very easy to “cheat” with.
Will there be gins to be made - sure. There will be use-cases that benefit from that to varying-degrees.
But how much? What percentage of current/future games/apps would benefit much from that?
It is to early to say, but my guess is - much less that is currently “hyped” about…
Mobile-gaming has been booming for several years now, and Unity is at the fore-front of this space - I think that if scripting-performance was “THE” major issue, they would have solved it years ago - hardware is getting cheaper and faster, so this “performance-problem” - if it exists at all - is diminishing… Why now, then?
There are other factors at play here, and other explanations to consider - political and commercial ones would be my first avenues to check - not technical ones.