It is simply a fact that a large part of the professional gaming industry uses C++. That one might be better off using a language without automatic garbage collection for performance critical parts in many cases is pretty standard wisdom. Not sure what there is to argue about.
> It's certainly easier for devs coming from C++ or Java than "weird python-like scripting language that we had to invent and are now stuck with".
So you have never used GDScript but feel qualified to have a strong opinion on that matter, why is that?
I have, which makes me feel confident in stating that it's a language that didn't have to exist, doesn't have a healthy ecosystem backing it, which pulls focus from the actual good (or to be good) bits of Godot, which there are a lot of, and in the end makes people doubt that the language they would actually be productive in is a first class citizen for the engine vendors.
If you have, you should be aware of the history of the project and then I am perplexed why you would make this claim.
They tried using multiple different languages until finally settled for developing GDScript. It is not a decision they just made willy-nilly but something they decided after using different languages did not work out as they hoped it would.
> doesn't have a healthy ecosystem backing
What ecosystem? The ecosystem is Godot and GDScript is an integral part of it.
> in the end makes people doubt that the language they would actually be productive in is a first class citizen for the engine vendors
If you had proper experience with Godot you would know that GDScript is very well liked in the community and people are actually very critical about C# integration, seeing it as more of a distraction and waste of resources. (Of course people that don't like GDScript might simply not stay in the Godot community, so I admit some self selecting bias might be going it.)
The C# integration was only done because Microsoft paid them to do it.
This is a fair point and it was probably a good fit for their own needs, but I think that the person you're responding to seems to suggest that GDScript and the entire idea behind it basically suffers from NIH - Not Invented Here. So while it may seem like a good idea to them and even many other people out there, they are missing out on a large amount of great tooling (IDEs like Rider or even Visual Studio), lots of development tooling (which they have to write themselves), code style checks, static code analysis tools (I don't think GDScript is supported by SonarQube or has an equivalent to gofmt), as well as a lot of knowledge about design patterns and possibilities of the type systems, which will sometimes feel odd, like Godot's approach to Singletons: https://docs.godotengine.org/en/stable/tutorials/scripting/s...
That's not to say that this will matter for most people - it's likely that for most users it's perfectly sufficient to have a quick and simple language that can have its scripts be edited right there in the editor and is reasonably easy to learn, which is where GDScript shines. Plus, no compile times are really great as well, at least for smaller projects (anyone who has tried compiling large codebases will know how annoying iteration can be in them).
But when you want to hire developers in the industry and take advantage of the existing C#/C++ knowledge, then using either of those and building the whole engine/documentation around them is probably the better choice. If you don't, your efforts might be split a bit thin, e.g. how C# documentation might not be as fleshed out in comparison (a bit like Boo used to be in Unity, which was deprecated eventually), or how C++ might be way lower level (which Unreal Engine also suffers from, because of which they offer their Blueprints system).
> What ecosystem? The ecosystem is Godot and GDScript is an integral part of it.
With time, Godot will probably have lots of possibilities around game development related topics, albeit in a focused manner - there was a terrain plugin written in GDScript, some efforts to get dynamic rendering scales up and running, probably some game logic related stuff and libraries for working with splines and whatnot. That said, many of these will feel a bit barebones and underdeveloped, because Godot doesn't have a large (or any) paid assets scene, which in turn means that the majority of packages will be volunteer efforts, for example: https://godotengine.org/asset-library/asset/231
That said, GDScript absolutely does not have a large ecosystem around general purpose computing tasks. Suppose I want a file server embedded in my multiplayer game, to allow users to fetch asset packages dynamically, like Half Life community server maps, which might turn out a bit difficult with GDScript. Similarly, if I want a WebSocket connection to subscribe my game to announcements from a central server, that might be difficult to get working. Similarly, if I want gRPC calls or to consume messages from RabbitMQ, there might also be no support from that. Talking among multiple other peer servers with PKIX or JWT? Probably not too easy to do. OAuth2 flows or something like OIDC? Connecting to a database from a server, to fetch player profiles? Nope, still need an additional separate API app that will talk through a RESTful API that GDScript might allow me to consume - even when I know that I will only be running the servers myself and don't need to think about the n-tier architecture. Of course, I think there were attempts at getting SQLite support working, which was pretty cool!
Of course, most of what's mentioned are just ideas around larger projects that might need some sort of a networking implementation, but the same might apply to image processing, audio processing, parsing data formats etc. That's not to say that Godot won't get around to at least some of those eventually, but in the case of C# and .NET/Mono in general, it might just mean pulling a NuGet package and reusing some of your old code from Unity/Stride projects (at least the non game engine specific parts).
That's not relevant for like 98% of the games out there like single player platformers, shooters etc., but you'd be surprised about how many cool ideas people have around general purpose computing in games!
> If you had proper experience with Godot you would know that GDScript is very well liked in the community and people are actually very critical about C# integration, seeing it as more of a distraction and waste of resources.
This is definitely a pain point and an issue that will cause division - since most game engines won't fare too well supporting multiple languages, especially if already spread thin without the support of a million/billion dollar org behind it all.
That said, you can hire C# developers and C# game developers, with experience in other engines. In that regard, GDScript might be a tough sell. The current community doesn't care much about that, or the things I've mentioned before, because they're largely hobbyists who generally develop games due to their own passion, instead of what a Gantt chart says. Thus, there might be a bit of a self-selection going on.
Either way, here's hoping that Godot will have a bright future ahead of it, currently still considering using it over Unity due to its open nature, albeit primarily using C# with engine agnostic code libraries. I do hope that C# support doesn't fizzle out, because personally I find it to be a pretty great language with a nice ecosystem around it.