Hi, Why Godot are using ancient program languages? Why we don't use Rust language and so we can throw away 99% of the current bugs that are in GitHub? Why people are still focused in the past? It is so hard to learn?

I'm so close to switch to another game engine...

Tank you for your understand. :)

Godot is free software -- the source code is out there. If you want to start converting to rust, have at it.

I don't do a lot of low-level programming, but I run gentoo, so every time rust updates (which used to happen almost weekly), I get to compile the whole thing, along with llvm -- a huge rust dependency that gcc doesn't require. After a while, I started to hate rust without ever actually having to use it.

And I'll bet you a donut that not even half the bugs on github would be solved by rust.

Godot is free software -- the source code is out there. If you want to start converting to rust, have at it.

Are you joking right? Hehe. NOBODY will be so crazy to convert Godot source code into anything...

If you ever had a chance to take a look into it you will understand how difficult will be to even to try understand it. No comments, No docs... Just a massive code where tons of different people put in piece of code where who is in charge to manage (and they are experts not like me) have to think 1 month before make small change that its possible will be a regression somewhere else. :)

I did it time ago and I run away from it scared.

I think it will more fast (500%) to re-write it in Rust from scratch instead convert it.

Rust is a new language, nevertheless is what thew world need - if we care about evolution.. :)

Honestly curious, what would be the advantage of porting Godot from C++ to Rust? I am not familiar with Rust, but I have a lot of experience in C++. However, I don't use it anymore for much, except for low-level stuff like hardware devices, since the SDKs are almost always in C/C++. I agree that C++ has some issues, but I'm not sure a multi-year effort to switch languages would be a good call. And C/C++ is very portable and can run on literally any computing device made in like the last 30 years. I'm not certain newer is always better in this case.

C++ is one of the most powerful tools out there. I know it's been around for more than 20 years, but still very powerful and always updated. Low level programming can be done with it, plus the higher level programming. I think C++ is much more flexible here. Even better than C# in my opinion.

@Vale-git said: If you ever had a chance to take a look into it you will understand how difficult will be to even to try understand it. No comments, No docs... Just a massive code where tons of different people put in piece of code where who is in charge to manage (and they are experts not like me) have to think 1 month before make small change that its possible will be a regression somewhere else. :)

You must be new to free software, if you think the Godot code base is bad. I'm not going to name names, but I've seen much worse (in the sense of hard-to-read) code, used by many more people, for much longer, before.

And I've had professional programmers tell me that if you need comments to read the source code, it wasn't properly written. However, if you want to rewrite it from scratch, make a start. You might get lots of people to contribute to your project. :)

I've been using godot off and on for three years now, and I've only run into one or two actual bugs, neither of which stopped what I was doing. I'm astonished at how well it works, considering how much it does. I don't agree with some of the design decisions, but those are matters of taste. So, the idea of asking developers to spend time rewriting the project from scratch, in the name of fixing problems I haven't experienced or saving time after the long process of rewriting, doesn't appeal to me.

In other words, "Si non confectus, non reficiat." :)

Also, even without any knowledge of Rust at all, I can call BS that rewriting a 3D engine in another language will magically eliminate 99% of bugs. That makes absolutely no sense. If you honestly believe that, send me 1 Bitcoin, I will send you 99 back.

@cybereality there are lots of comparisons between C++ and Rust out there ;) Among many I think this is good enough to explain it https://www.slant.co/versus/127/5522/~c_vs_rust @newmodels all depend on what you need @duane I'm aware how messy can be a free source.

And I've had professional programmers tell me that if you need comments to read the source code, it wasn't properly written.

very true .

I've been using godot off and on for three years now,

Same here. Newertheless I didn't start graphics so far. Even so I had some issue that forced me to switch from GDscript to C# and now that I'm using C# I still have problems. I'm not an expert of course. But I'm perfectionist. So this my limitation.

Rust don't allow you to write bad code in first place. But you can if yo want to hit your foot ;)

Let me tell you one more thing.. I start in IT when there was not Windows and Dos. When people were using linux, cp-m, and assembler. So I saw a lot in the meantime. C/C++ (Borland) was my first language (if we can take out hexadecimal language / asm)

So I like Rust because the time you need to develop is saved from post production problems/ unit test, integration test and so on.. The only thing I'm still in Godot is because there not yet any game engine that have all the feature Godot have. But ,I think, soon things can change :)

Godot came out in 2014. That's 8 years of development time. It would be a bad idea to throw all that away and start over with Rust. Rust is a great language and does eliminate about 70 percent of common errors, but it's better for a Rust game engine like bevy to keep at it. Godot is just fine where it's at.
I'm sure you know there is godot-rust for scripting. Personally I'm satisfied with gdscript. I think they are doing a great job especially with godot 4 coming out.

@fire7side said: Godot came out in 2014. That's 8 years of development time. It would be a bad idea to throw all that away and start over with Rust. Rust is a great language and does eliminate about 70 percent of common errors, but it's better for a Rust game engine like bevy to keep at it. Godot is just fine where it's at.
I'm sure you know there is godot-rust for scripting. Personally I'm satisfied with gdscript. I think they are doing a great job especially with godot 4 coming out.

I didn't said to throw it out lol. Its a good project that use ancient language :)

I know about godot-rust (seems outdated btw) - reason I didn't use it.

70% is pessimistic. I will choose more than 80% ;) Anyway, This is to give a comparison. About current Rust game engines I will suggest Fyrox instead. I used it a bit. More easy than bevy and it have an editor. Its a nice GE, somewhat incomplete in some aspect but promising. Its community is growing.

@cybereality some said it will be 70% but I still think it will be more than 80%.. :) I will not give you a bitcoin.. Because I don't have it.. not because I don't want :) And you no need to give me back 99 :) When I give something I want nothing in return ;)

I'm still waiting (years?) for some issue will be fixed that make me struggle in using Godot in development. So I'm not very happy at this moment about Godot game engine.

@Vale-git said: Even so I had some issue that forced me to switch from GDscript to C# and now that I'm using C# I still have problems.

Maybe you should reexamine your switch to C#. I've been told that it's still buggy compared to gdscript -- you might do better with a mix of the two, using gdscript when performance isn't critical. So far, the worst issue I've had with gdscript was with performance, but I managed to get around that in the one project where it became an issue.

The only thing I'm still in Godot is because there not yet any game engine that have all the feature Godot have.

I hear you. I know of at least one engine that I prefer to godot, but it just can't do everything godot can (at least not without a lot more effort). I'm less productive writing gdscript, but I'm more productive when testing.

And that brings us to the subject of language experience. When I was managing programmers, I found that the most important consideration in choosing a language (beyond its basic capabilities) was how comfortable the coders were with it. Any decent programmer can use any language, but they won't be as efficient with it, which means you might actually get more bugs with rust. And volunteer developers aren't going to be as motivated to change as google's paid developers were.

I haven't really had any major issues with Godot. There have been bugs and weird stuff, sure, but I'm usually able to hack around it. It's not a huge deal. No engine (or software project as big as this) will be bug-free. It's literally impossible. Especially with hundreds of developers from all over the world volunteering, at different levels of skill. Even Unity and Unreal are buggy as hell and worse than Godot.

@cybereality said: I haven't really had any major issues with Godot. There have been bugs and weird stuff, sure, but I'm usually able to hack around it. It's not a huge deal. No engine (or software project as big as this) will be bug-free. It's literally impossible. Especially with hundreds of developers from all over the world volunteering, at different levels of skill. Even Unity and Unreal are buggy as hell and worse than Godot.

There is a small difference between myself and other AFIK.. When other people see a bug ill see 10 at least... Why? Because I have a deep imagination.

@duane

how comfortable the coders were with it. Yeah.. I know. In effect I don't suggest to change language from C++ to Rust.. (the tread title and the introduction didn't stated that).

My questions were: (TDLR) Why people are focused in the past - ancient languages - instead push themselves to learn to do better every day? Some bugs are in GitHub since years(2,3..). (Yes! they are from myself too) That's depressing because is not that they don't have enough resource. Is the priority that is wrong. Keeping add feature undocumented that nobody will use (beside few expert developers - who did them) that add more bug and break compatibility backward most of the time and add regression somewhere else.

I tell you I don't report issue any more because is pointless to make effort when the bugs you issues remain uresolved in GitHub years after years.. And, of course, in the meantime you are stuck with your project due of these bugs.

I don't need new features while I'm stuck in 2~3 year hold errors!

I will lost my hope soon.

That's my suggestion to use Rust. At least if it run mean it don't have errors (99% is like that)

@Vale-git said: There is a small difference between myself and other AFIK.. When other people see a bug ill see 10 at least...

Seeing things that other people don't see is either genius or delusion.

My questions were: (TDLR) Why people are focused in the past - ancient languages - instead push themselves to learn to do better every day?

If you really want to know, it's because the more common languages work well enough. That's why people stuck with mp3 for so long -- it worked well enough. That's why VHS was the standard for video tapes. A lot of standards worked better, but not enough to matter to most people.

Rust is not so insanely good that it gets many programmers excited. It's just good enough to be interesting.

Also, if I was waiting for three years for a bug to be fixed, I'd probably be motivated to learn the system and fix it myself, assuming I didn't find a better option elsewhere. If I continued to wait, you might be justified in thinking that I didn't consider it to be important.

@duane said: Seeing things that other people don't see is either genius or delusion.

Don't be afraid. I'm from this planet too. But you know, in life everything have a balance. I assure you there are tons of things that I'm less than average and there are some things tath I'm terrified too.

My questions were: (TDLR) Why people are focused in the past - ancient languages - instead push themselves to learn to do better every day?

If you really want to know, it's because the more common languages work well enough. That's why people stuck with mp3 for so long -- it worked well enough. That's why VHS was the standard for video tapes. A lot of standards worked better, but not enough to matter to most people.

Do not mix what people like with what money can do..

Rust is not so insanely good that it gets many programmers excited. It's just good enough to be interesting.

Its your opinion. I respect that. Still valid 80/20 rule.

Also, if I was waiting for three years for a bug to be fixed, I'd probably be motivated to learn the system and fix it myself, assuming I didn't find a better option elsewhere. If I continued to wait, you might be justified in thinking that I didn't consider it to be important.

This is an example when something important became standard.

Like people when they celebrating birthday. Like they do something important.

How I'm able to connect things together? Because I see patterns while people see causality.

I do agree with you about the bugs. I have noticed some major ones that have been known for years and documentated. My point is that switching to a new language that developers are unfamiliar with will probably introduce more bugs. And if the problem is in organization or policy, not technical knowledge, then using a tech solution won't help either.

@cybereality said: I do agree with you about the bugs. I have noticed some major ones that have been known for years and documentated. My point is that switching to a new language that developers are unfamiliar with will probably introduce more bugs. And if the problem is in organization or policy, not technical knowledge, then using a tech solution won't help either.

Try to use Rust and the come back here to say the same if you can

Rust isn't object oriented so my code looked like garbage, same as it looks in any other non OO language.

@fire7side said: Rust isn't object oriented so my code looked like garbage, same as it looks in any other non OO language.

I was surprised too to see its not OO. But I didn't miss it.

Some people say: "OOP is dangerous. Nondeterminism inherent in OOP programs makes the code unreliable." from: https://thenewstack.io/why-are-so-many-developers-hating-on-object-oriented-programming/

Anyway C++ and Rust utilizes LLVM https://en.wikipedia.org/wiki/LLVM

I saw the Rust source code of a game engine and I can say it looks like not so bad even if still need a lot of work too. But for me is a lot more easy to understand than a correspondent C++ code, Even if I learned C++ long time ago.

Fyrox source code give me a secure feeling encouraging me to learn it , while Godot source code scare me.

Fyrox is made in Rust while Godot is made in C++.

Ill tell you. I was capable - ofc with some help and guidance from guys there - to make some minor fix in Fyrox just after 3~4 weeks after I start to learn Rust from scratch.

Never mind In Godot source code. :)