> So let's say that implementing your game in Nim instead of C++ means 20% > larger binary sizes, 20% more RAM usage, and 20% more CPU/GPU usage
Why should Nim be larger, more ram intensive or need more cpu? Thats just wrong to start with. Nim is compiled to C or CPP and there is nothing like a 20% (whatever %) burden on using Nim. There are in my opinion no "general" upsides or downsides using Nim over C++ in those areas. But maybe thats what you wanted to say. Dunno. > And, if you've already invested in decent hardware, for many programs the > performance difference is too minute for the human senses to notice. I don't believe that this is true. There is no "Python can be as fast as C++" if you pay more money for the hardware as you could pay that for C++ too (or have already). And there is no "something is fast enough" besides of having no timeframe for execution, which is seldom if ever. Most stuff even runs in multitasking environments and each slow program brings burden to all other programs and the system. Which leads to my impression that you ignore that we kinda reached the single core speed limit for CPUs and that from that point of view there are very high differences in cost using a slower than native approach. I personally even hate this "the hardware today is so fast, lets waste it with suboptimal coding because developer time cost more than hardware". This is simply not true and we all pay for this with computer software which behaves like software in the 90s using computer which are 10 to 100 times faster. Beside that.. I bet that large projects in any language can be a debugging nightmare. I think this actually depends on other things than the language used. Tooling comes into mind and yes I don't think language == tooling. Tooling is something which may be extended by users. The language is normally not in your reach. I still don't think that a programming language is that important. Most stuff can be done with every language. But some stuff can be done more easily or elegant. Nim has much of that with nearly no artificial bottleneck to the machine. Thats what I like beside the meta programming. You can use it "everywhere" (considering NimScript and different backends). It should be the real Java :)
