On Fri, Feb 13, 2015 at 7:29 PM, Clint Moore clint@ivy.io wrote:
And hey, if you lack optimism, there's quite a few tools out there that will help you write your own language - LLVM chief among them.
My view of LLVM is it's not a "tool", it's a commitment to a *huge* chunk of code and infrastructure. A rather particular way of doing things that embodies a highly industrialized mentality for how a language developer will spend his/her time. This ain't a clean bootstrap ala a Forth or Scheme.
It seems interesting to note that, in the vein of game development, NVIDIA's CUDA compiler is written on top of llvm. https://developer.nvidia.com/cuda-llvm-compiler
Sure, but unless NVIDIA is giving that code away, or unless you're going to write all your game logic in shader or GPGPU stuff, who cares? I think it says something about writing low level 3D graphics code, but that's only part of game development. An AI for instance, why would you commit the architecture of that to a GPU? Even more generalized geometry processing or game physics, you have to be careful what you lock yourself into. Also whether you've lost track of what the game is and are just writing tech sim code.
Then again, there's Haskell, which might very well be a good solution these days. There's a 4 year old thread on SO at the bottom of this message if you're curious. Haskell is my #2 language, especially when speed is a concern.
I'm trying to remember why I last gave up on Haskell, other than the usual weirdness issues. I think because, FP purity doesn't seem relevant to game simulations? Keeping and modifying state seems to be what many games actually are. Then there are some practical issues like garbage collection behavior and whether anybody bothered to talk to DirectX.
Cheers, Brandon