3 ms·
I think the idea is that the language is focused towards games. Games generally have some inherent shared qualities, mainly that they need to be real time and t
by mostly_harmless 12y ago
I think the idea is that the language is focused towards games. Games generally have some inherent shared qualities, mainly that they need to be real time and the language should be minimal overhead. On the otherhand, a language focused on enterprise software would sacrifice speed and low overhead to instead add some safety features like a garbage collector.
Its not a language only for games, but it is a general purpose language where the main feature set is chosen to benefit professional game development.
- efnx 12y agoYes I agree that the games he's designing the Lang for have certain shared qualities, but IMHO those concerns are best dealt with using libraries or (E)DSLs in a host language. That way you can still support games like zork, which don't have to be real time - as well as games that transcend what the "game specific Lang" was designed for. I personally don't see why there is a distinction between "a game" and "an enterprise app" - some enterprise apps need real time rendering and low overhead (unity, blender, arcgis, cad, etc). My point being - a language that is good at describing all games is good at describing all programs.
- yazaddaruvala 12y ago1. It will still be turing complete. In that sense its always going to be a general purpose language. 2. From what I've been taking away, all he is looking for is a way to remove some of the redundant parts of his day to day C++ code/process. Nothing more. Thats why, while I get that it is a full compiler, very intentionally (I think), a lot of the time it just seems like very nice syntax sugar (maybe "program sugar") for C++.
- chr1 12y agoA language that tries to be good for describing all games, will end up not being good at describing any of them, because different types of programs require different tradeoffs
- efnx 12y agoExactly - and those trade offs will be handles at the library level.