Previous programming experience recommended - but which kind?

Hi everyone,

I’m looking to get into Gamedev and want to use the Godot engine. I’ve seen the general consensus that it is much easier to have previous programming experience, rather than starting from scratch with Godot.

I’ve recently gotten Codecademy Pro for really cheap due to student rebates. Do you have any recommendation which path/programming language I should go for to more easily grasp the concepts Godot would introduce?

Thanks in advance for you support :slight_smile:


Welcome! :gdparty:

The language you learn does not matter as much as the concepts. Once you know a language (or two) you will start noticing patterns and will be able to apply them to other programming languages too.

If possible I’d try to find a course that teaches programming in the context of games or media in general. It will help learning relevant concepts.

As for which language: Anything object oriented should be fine. The goal is not necessary to learn the language 100%, but instead to learn how to think like a programmer.

Lastly, did you know there is an interactive course for GDScript? It’s made by GDQuest and can be used for free!


Good thing… perhaps. But very limited set of languages — no Russian, Ukrainian or even Polish.

Offtopic Comment (hidden by moderator)

It’s open source so hopefully the community contributes more translations over time.

1 Like
Offtopic Comment (hidden by moderator)

A text version for the site, like official documentation, would be much more convenient — it’s easier to translate.

1 Like
Offtopic Comment (hidden by moderator)

We could bring that suggestion over to the GDQuest folks.

Offtopic Comment (hidden by moderator)

It’s possible to try, but I doubt they’ll listen to it. As far as I understand, doing it the way it is done now is their “trademark”. And they will not do otherwise on principle. But maybe I’m wrong.

It could be suggested to embed a translator — like in Mastodon, for example — DeepL.

Offtopic Comment (hidden by moderator)

‘ru’ - folder is available, but perhaps not yet fully translated or tested. And there is also chinese ‘zh_Hans’, which is also not listed in the WebApp.

learn-gdscript/i18n at main · GDQuest/learn-gdscript · GitHub

Offtopic Comment (hidden by moderator)

Yep, there’s very little translated there and it’s very fragmentary.

These are the lessons for Godot 4. :rofl:

But the Russian language is not enabled from the downloaded version. :roll_eyes:

Offtopic Comment (hidden by moderator)

There is a description, but I haven’t tried it yet.

1 Like
Offtopic Comment (hidden by moderator)

А-а-а!! Это работает!! It’s working!! :tada: :beers:

But, of course, everything is not perfect. I can’t export this version to Android to read on ebook. I’ll have to read it on my comp.

I completely agree with @winston-yallow. The concepts of programming are more important than any specific programming language.
@genkiskp I’d like to add one little thing, though. It might be a good idea to start learning C++, if you they have good learning resources at Codecademy (don’t know the website). Because Godot is written in C++ and it enables you to write your own code in C++ additionally to GDScript while working with the engine.
Another good starting point might be C#, for the same reasons. But as far as I remember it is only for Windows.

C# is cross platform.

I personally wouldn’t start with C++ or any compiled language, I feel like the overhead of learning about compilers is an additional hurdle when first starting out

1 Like

As already stated, it doesn’t actually matter what language you choose. Pretty much any programming experience will be helpful.

When I was getting started, I watched lectures from an old MIT intro to programming course. They have a more updated version of this course now on EDx, which might work for you. They use Python, which is a language that is very similar to GDscript so it will be easier to transfer your knowledge.

Beyond just learning the basics, experience is very important to gaining proficiency. Guided projects and other hands-on learning is essential.

1 Like

I think maybe python could get you started quite well if you want to go the gdscript route later on in Godot.

As the syntax is pretty similar.

Other than that, just go and have fun. Motivation seems to be the best teacher.


Before getting into GDscript I took the CS50 “Introduction to computer science” classes online. I had no prior experience in programming and it gave me a good grasp of all the core concepts I would come across in GDscript. It’s free and provided by Harvard. It’s mostly based on pseudo code, C and a bit of Python. Learning GDscript after that was (almost) a piece of cake.

Then I would order the “Game Programming Patterns” book written by Robert Nystrom (it’s also available for free online I think), it’s one of the smartest thing I’ve ever read.

GDscript is such a light and simple language that it can be the first language to learn. All the more valuable are the courses on it. And I would like them to be more accessible (text version on the site).

While I agree that learning C# or GDScript would be easier to start with, I thought I’d drop a link to a great free learning resource for C++. I used it myself to learn C++ from 0 experience and I thought I’d share it here incase anyone else is interested in learning it.

Could be useful if anyone is interested in contributing to the engine development or writing their own extensions later down the line. :+1: :gdparty:


Agreed with @winston-yallow , the patterns of behavior, layout and interaction are what is important through your career as whatever programmer…

Just a side: As stated, scripting languages offer an already high level abstraction of the behaviors and patterns you would use.

The compiler for instance is abstracted away from scripting languages, memory management etc. etc. Python abstracted { (curly braces) form C/C++/Java code. :rofl: etc. :grinning:

IMHO If you are trying to understand how you want to create an idea, scripting languages rock, if you are trying to create a tool that manages runtime/os things, that is low level and a quite different context.


Take a look at the gdscript doc:

There are lots of fundamentals listed here and searching the web is your friend.

When you get a hang of those syntax and logic concepts of coding you can progress into high levels of thinking like design patterns.

Godot is heavily object-oriented, and has class inheritance. Godot has a signal system for the observer design pattern. Scene trees form the composition design pattern. Etc.