Hacker News new | ask | show | jobs
by GaelFG 922 days ago
Unless you specifically need a lot of the dot net library (and in this case you can probably theoretically 'just' use a plugin for access) I would encourage you to try gdscript. I went from 5 years of unity pseudo-c# to it in about 2 weeks, and I globally just find it an equivalent if not better experience for the majority of the code base.

Honestly one of my current fears is that they focus on c# integration in place of improving gdscript support (the integrated ide is not specially comfy, and static typing support still lack some feature, collection wise in particular. but nothing really awfull).

2 comments

C# is a real programming language usable outside game dev, as well as transferable to other engines or frameworks like Unity and MonoGame. GDScript is usable only in Godot.
While this is true most of the structure of the language is taken directly from Python, which depending on your interests might be a little more useful than learning C#. The only syntactical differences I’ve found so far are the additions of var, const, match, how the walrus operator is used, and of course all the nice godot editor specific keywords. The built-ins have almost exactly the same naming scheme, you can still use global functions like len on any collection, I could go on…

I would argue that someone who starts programming on gdscript today would be able to transition into Python with little to no overhead.

Maybe if someone is learning their first language that's a semi-important choice but, if you already know a programming language, syntax doesn't really have a steep learning curve.
No disrespect but judging languages on syntax is a lot like judging a book on its cover. Chosing a language is, for the experienced programmer, a choice of ecosystem, libraries, tools, architecture, and also a matter of long term maintenance, evolution, technical debts. Gscript scores very low on all of these, especially compared to the behemoth that is C#. Only unexperienced programmers and sales people use the "it looks somewhat similar so it must be" argument.
For scripting I've yet to see general purpose (with the exception of Lua) languages shine where domain specifically cannot, instead usually from my experience the general purpose language adds complexity when you don't have certain built in features or structures.
What are your thoughts on C++?
Don't worry, they should be prioritizing C# but for now it is still very much a second-class citizen so your beloved GDScript gets to dictate the inefficiency of the API for more type-expressive languages.