4 ms·
>However I'm starting to think that scripting languages are a false economy. There is no intrinsic reason you can't have a concise and easy to use language that
by thealienthing 4y ago
>However I'm starting to think that scripting languages are a false economy. There is no intrinsic reason you can't have a concise and easy to use language that can be quickly (in debug mode) compiled to the metal and dynamically linked to the project.
I’m a big fan of interpreted languages like python and the python like godot script. The power of quickly accomplishing tasks because of their fast and loose nature is great, but as I’ve built up some large repos at work written in pure python, I’m starting to regret the loose typing. Bugs caused by a small loss of data because of implicit type casting have been a source of much wasted time. I’m starting to convert to rigidly typed systems of program just for that peace of mind that any calls I make to an API will not compile because I am not passing the right type. It makes sense to switch to a language like CPP/Rust for big projects like a game.
- citizenkeen 4y agoComing from C#, I couldn't handle the untyped nature of GDScript, and quickly took up its static typing.
- m4nu3l 4y agoIt supports optional types. It's not perfect but I use them consistently and it helps.
- elcritch 4y agoAnother option is Nim. Looks and writes like Python but closer to C in performance. It also has static typing so I prefer it for scripting as well. People have built a few games with the Nim Godot bindings: https://github.com/pragmagic/godot-nim https://github.com/pragmagic/godot-nim There’s also an interesting project to do hot reloading using dlls: https://github.com/geekrelief/gdnim https://github.com/geekrelief/gdnim