4 ms·
You may be right, but chances are it would have pushed Godot in the right direction of avoiding Unity mistakes namely using custom scripting language which Unit
by neonsunset 2y ago
You may be right, but chances are it would have pushed Godot in the right direction of avoiding Unity mistakes namely using custom scripting language which Unity ultimately gave up on. In this case, however, the forced API decisions that are contrary to performant interop patterns of C# are even more painful, and I keep getting casual reports that there is something wrong with the way Godot embeds .NET that leads to its consistently worse performance vs when being used standalone. I don't know the details and if anyone can shed more light on this, I'd love to dig into that.
In any case, even if we skip the subject of performance, GDScript is not a particularly good language comparatively speaking.
- gdscripter 2y agoI can tell you if Godot abandoned GDScript and went all in on C# then I would stop using Godot. I do not think C# is even remotely enjoyable as a language and GDScript works really well.
- jayd16 2y agoWhy? What are the features in GDScript that don't exist in C#? Personally I find C# to be a fantastic language with both high (eg. pattern matching, dynamic) and low level (eg. value types, Span<T>) features as well as amazing tooling (eg. Rosylyn Analyzers) that come in very handy.
- gdscripter 2y agoMy dislike of C# is nothing but syntax. Godot writes their examples in both C# and GDScript and you can see that GDScript is a much more concise language with almost no boilerplate compared to C#.
- danbolt 2y agoI’ve used both, and personally, I find a lot of features in C# not necessarily contributing to standing up the gameplay I’m looking for. It has more functionality like you mention, but GDScript integrates with the engine nicely and doesn’t have GC pauses to worry about. If performance is an issue, or I want to do something that GDScript doesn’t lend well too, I’d probably just jump to C++.
- pjmlp 2y agoPity that it doesn't have a JIT or AOT compiler like C#, though.
- kruuuder 2y ago> and I keep getting casual reports that there is something wrong with the way Godot embeds .NET that leads to its consistently worse performance vs when being used standalone. This is the first time I hear that. Do you have any sources for that? Reposting unfounded "casual reports" isn't helpful.
- neonsunset 2y agoI'm not saying that they are well-founded, only that there seems to be a consistent anomaly I keep getting told about and would like to hear if this tracks or does not track with the experience of active Godot + C# users. It's just something I would like to know more about, with the best outcome of being proven wrong.
- Buttons840 2y agoGDScript is fine and I rarely encounter errors because of the GDScript language. The typing is optional, but if used it works well enough and the editor gives good autocompletions and will mark type errors before runtime. GDScript also hasn't screwed up any of the fundamentals, like implicit type coercion in if-statements (see JavaScript), and is thus capable of improving without breaking backwards compatibility.
- pjmlp 2y agoApparently they have done the same strange anti-pattern as Unity, regarding magic methods called via reflection.