this post was submitted on 28 Sep 2023
43 points (97.8% liked)
Godot
6020 readers
34 users here now
Welcome to the programming.dev Godot community!
This is a place where you can discuss about anything relating to the Godot game engine. Feel free to ask questions, post tutorials, show off your godot game, etc.
Make sure to follow the Godot CoC while chatting
We have a matrix room that can be used for chatting with other members of the community here
Links
Other Communities
- !inat@programming.dev
- !play_my_game@programming.dev
- !destroy_my_game@programming.dev
- !voxel_dev@programming.dev
- !roguelikedev@programming.dev
- !game_design@programming.dev
- !gamedev@programming.dev
Rules
- Posts need to be in english
- Posts with explicit content must be tagged with nsfw
- We do not condone harassment inside the community as well as trolling or equivalent behaviour
- Do not post illegal materials or post things encouraging actions such as pirating games
We have a four strike system in this community where you get warned the first time you break a rule, then given a week ban, then given a year ban, then a permanent ban. Certain actions may bypass this and go straight to permanent ban if severe enough and done with malicious intent
Wormhole
Credits
- The icon is a modified version of the official godot engine logo (changing the colors to a gradient and black background)
- The banner is from Godot Design
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Or, ya know, just learn another language. It's not a big jump.
Edit: Godot 4.x is already slated to support a plethora of languages- including C#.
But even if the devs decided to not support C# for some reason: you're really going to walk away from a game engine over not being able to use C#?
Of all the languages I've used over the years, C# is one of the best I've found recently. I'd rather not.
Fear of change?
Well I mean the biggest thing that would be the ultimate ideal would be anything that can maximize the ability to bring existing unity projects over to godot. IE minimal refactoring needed.
Big thing is not just getting people to start their new projects, but what about those who have spent 3+ years mastering their game, only to have the rug pulled out from under them when it was 80% of the way to release worthy.
It's a single purpose language. Learning it will bring you no benefit other than using Godot.
Learn c# and you can do basicly anything you want.
Also gdscript is kinda ugly.
I disagree. Even if one is new to programming, learning GDScript still teaches one how to program. Loops, conditions, variables, functions... basically all that is programming is still part of GDScript and it would be no more difficult, once learned, to switch from GDScript to any other language as it would to switch from C#, C/C++, Python, etc. That is to say, once you understand how to program, it's nowhere near as hard to switch languages as initially learning your first one.
That said, the same could be argued when working with different engines within the same language. C# in Unity, C# in Godot, and C# in ASP.Net applications all have their idiosyncracies that might make the language feel different, even though, at it's core, it's the same language. How a library functions can have a drastic effect on how you program a language, and if you change one library for another, even in the same language, you may find you have to alter your programming style.
Additionally, languages can be ported. GDScript currently only exists in Godot, but nothing is stopping anyone from writing a python-like or nodejs-like runtime interpreter for the language that allows you to use GDScript sans-Godot.
As for how nice the language looks... that's subjective. I, honestly, find GDScript to be a very clean looking language (much like I do Python... probably unsurprisingly). C#, on the other hand, I find to be a verbose mess, seeming to take 100 lines of course to accomplish something I can do in 10 in other languages. But, again, that's subjective
Personally, I like the idea of using bindings more than using GDscript* in Godot and my preferred language outside of Godot. From what I've seen, even if not perfect it's much less likely to cause confusion having 1 workflow (+some extra context in Godot) rather than 2 (not just syntax, but also technical stuff). Also it's nice to use code that doesn't actually depend much on whatever engine/framework you happen to be using it in (particularly an imported file with procedures).
Though some of my perspective may be that I haven't really used the language that I want to (mentioned in other comment) aside from a bit of tinkering with Raylib bindings (and a bit with Godot 3.X), so (aside from switching back-and-forth making less sense) I need Godot to learn the language just as much as I need the language to use Godot, all the things that motivate me (starting points for projects) are in various stages of viability particularly with how they relate to each other. Which admittedly is not the type of situation people wanting C# are in (...maybe some are with 4.X C# limitations).
Well, that and lacking writing/ideas for actual content. For instance I coded a basic adventure book reader (CYOA-type thing) but had no desire to actually write a story (so I didn't develop it further).
*= I would not totally be against using GDscript (particularly as the language I want actually isn't too different syntax-wise) particularly as I gain more experience, but I don't think it would serve much of a benefit unless it was for a specific calculated reason. As in not my first-step or common use of time. Same with other languages, for instance something like a networking system could be done in any supported language thanks to how Godot handles languages. And that reason for a different language could just be what someone contributing to a project prefers.
That's clearly vast exaggeration, and devalues the rest of your post.
So... my opinion regarding how I perceived C# and followed that statement up with it being subjective (aka, opinion), in your view, devalues the rest of my post. That's your hang up?
Cool beans
It takes no time at all to "learn" GDScript if you are a programmer already. It is that simple
Sure, I magically know all the syntax, the built in functions and whatnot just because I am a programmer
Exactly
i just want enums and interfaces!!!
Gdscript has enums.
I mean people like what they like, also I'd say "learn another language" makes more sense for 3.X where there were a ton of good language options. C# isn't the only thing up-in-the-air due to 4.0's binding system change (that will hopefully be worth it), though C# will get priority for an obvious (and understandable) reason while other bindings will need people in the community to create new efforts for each language that still doesn't have an option.
I say that as someone waiting on Nim-lang bindings (and 1 person working on them is consistently working on it) for 4.X (the 3.X bindings were listed as production ready here). I mean unless there are other languages that also: 1. are usable outside of Godot 2. Have an easily-readable style 3. Have good performance 4. Have (optional) low-level capability/options/flexibility. (I've never actually looked at C# but I don't think I want that ecosystem/setup)
Which, from what I've seen seems unlikely as most things seem to pick a side when it comes to speed/capability or ease. Maybe there's an option with some form of compiled Python but that seems to be a technical mess to get through/decide on and even then said option wrecks its compatibility with Python Godot bindings because obviously it's not interpreted Python anymore.