Comment by TulliusCicero

9 hours ago

Still doesn't have full static typing support to my knowledge, which is a dealbreaker to me.

The other things are that it just has less support for structuring your code in different ways, and of course the performance is vastly worse. My game does some state space exploration for the enemy AI, so having code that runs an order of magnitude slower just doesn't work for me.

It has support for typing Arrays and Dictionaries these days. Yes, nested Arrays are still a problem but I am sure they will get to it.

As for performance well the GDExtension support has also gotten much better. You can always go down to C++, Rust, Nim, Zig or whatever. It is really easy to set up.

  • But then I have to code in those other languages, languages that require manual memory management that I'm not as familiar with. C# is many times faster than gdscript, and I don't have to think about memory hardly at all. And it's easy enough to code the whole game in it.

    • You can use C#. It is well supported except for the (currently) missing web target and Microsoft is funding C# support so it will not get abandoned.

      You can also use other garbage collected languages. I once tried the Lua bindings and they worked fine.

      The problem with C# is that its garbadge collection is not really suited for game dev. The creator of the Mono runtime actually calls using C# his Multi-million dollar mistake and instead works on swift bindings for Godot: https://www.youtube.com/watch?v=tzt36EGKEZo

      But if you really love C# nothing is stopping you. I prefer GDScript.

  • This line of reasoning is silly, because no one in their right mind would choose to use gdscript for any program that was not in Godot. You can't even type a nested array, among many other issues. That is because gdscript is a bad language objectively. It being part of Godot doesn't change that. Why would I choose to write my game, the thing that is very hard and will take years, in an objectively bad language? I would not choose that, because that doesn't make any sense to do. Writing code is like 90% of the work if I hire artists. I am not going to do 90% of years of work in a shitty language, because I don't have to do that, being a skilled developer in real languages.

    So when people come out and defend gdscript for being not that bad, it's like, okay, but it's still really shitty compared to any normal language like C# or even Python. It is made by a game engine, used by thousands of people, instead of being made by gorillions of dollars poured into it by tech companies and used by millions of people. I'm just going to use good languages instead.

    • The Godot devs tried bindings to other languages first and it sucked: https://docs.godotengine.org/en/stable/about/faq.html#what-w...

      GDScript might be a bad general purpose language but it is a good language for Godot.

      You say Python is a "normal" language for me while I love Python, modern Python has gotten way too complicated and clunky with lots of new features added. For me GDScript feels much closer to the original pythonic ideal. Plus it is much easier to learn for people that are not professional programmers.

      Maybe you don't enjoy using GDScript and that is fine but saying it is a "objectively bad" language is really uncalled for. For many devs it is the right fit.