5 ms·
You're remark suggests that there is a trend overstating the value of safety. I'd argue that there is a trend under stating its value. Given that it's all subje
by cdaringe 6y ago
You're remark suggests that there is a trend overstating the value of safety. I'd argue that there is a trend under stating its value. Given that it's all subjective, I would ask a different question, which would be "when will we begin to see a trend of people appreciating diversity of opinion on the matter."
Honestly, I would have preferred not to author the project. Instead, I would have preferred to mod straight in c++, rust, vlang, or some other machine-level code that factorio would compile on load and link in. But, the factorio team didn't offer this to me, and I appreciate their diverse values, suggesting that Lua is adequate.
- CivBase 6y ago> You're remark suggests that there is a trend overstating the value of safety. I'd argue that there is a trend under stating its value. I guess all I can do is disagree there. > I would ask a different question, which would be "when will we begin to see a trend of people appreciating diversity of opinion on the matter." I don't think it's a matter of respect. I think it's just the result of a simple cost-benefit analysis. It's costly to support additional runtimes in your application. That's why despite the popularity of many JS alternatives, none of them are natively supported by browsers. Chromium even has a branch with a native Dart runtime but Google's own web browser doesn't want to take on the added cost of supporting Google's own web scripting language[0]. > But, the factorio team didn't offer this to me, and I appreciate their diverse values, suggesting that Lua is adequate. I assume they didn't chose Lua because of the language syntax. I'm sure they chose it becaude it's a language intentionally designed to be easy to embed into other applications. Lua even describes itself as "lightweight" and "embeddable"[1]. [0] https://news.dartlang.org/2015/03/dart-for-entire-web.html https://news.dartlang.org/2015/03/dart-for-entire-web.html [1] https://www.lua.org/about.html https://www.lua.org/about.html
- kwdc 6y agoI regard lua as essentially trivial to embed and to use to script a host application. The ease of hooking to/from the host application written in C is very straightforward and painless. Its possible to have lua call C which calls lua which could call C. That reentrancy is underrated but so very useful. The simple design also means you can have multiple independent lua interpreters with no overlap. Isolation is quite achieveable with no real effort. Just create a new lua state. Contrast this with python. Ouch. But python also supports embedding and can import C functions etc. Quite a bit more effort though. Multiple interpreters isn’t so nice. Not when you've experienced lua's ease of embedding. The GIL isn’t great either but not a big deal if everything about a script is in a single thread.