• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

Programming Languages

Hi guys,
just getting into programming and not just for FS so that i can appreciate stuff better and make the world a better place(haha!in my dreams). what language would be a good place to start. I would decide on C languages but between C++ and C#. To my understanding, C# is the older brother/expanded C++. So would it be better to jump straight into C#? Or are they some stuff that can only be done in C++ and not in C#? why so many versions in the first place?
Why do we all speak different languages in the world (it would be much easier if everybody just spoke Dutch :D)? I guess that is the same question as why there as so many programming languages.

I guess what you should choose depends on what you want to program in the end. Until now I made most of my tools for FS with VB6, but I am switching to C# now. When you want to make a GUI C# seems a lot easier to use than C++.

But at work when working on simulation software it is usally C/C++ what we use (plus some old stuff in Fortran). So it really depends on what you want.

But if you plan to go to C# in the end, I would not bother and learning C++ first.
Yes, you can do things in C++ you can't do in C#. But it's an outdated programming models where you have to deal with a lot of trivial things yourself and as it has evolved more and more stupidity has been added to it.

C++ is still useful in a few situations (drivers for example as it works closer to the "hardware layer"), and due to the old core in VS it might also be an advantage in some situations when interfacing VS. Hopefully Microsoft will improve this in future versions.

Why so many languages? Why so many car models? Programming is an extremely immature technoligy, so even the most modern environments like C#/.NET are actually hopefully outdated. Hence a lot of work is done desperately trying to get them in a state when they are a bit more useful. Sometimes it can be done by adding new libraries or features. Other times the existing technoligy is just so hopelessly outdated a complete replacement is needed. Over time, the use of the outdated technoligies will fade, but in the transition face (years, possible decades). C++ is widely used, so that will be one of those it will take "decades" to get rid of.

For now, learn C#. It will force you to think object oriented (at least more than C++ will, even though I guess you can avoid it if you really try to make things hard for yourself), and it will deal with a lot of the trivialities for you. If needed you might later pick up C++ to do specific tasks, but if you gt into this, you will probably end up with more ideas for things to program than time to do it, and then you might simply do the things that can be done in C# and skip the rest. :)
My vote would be for C# as well. Especially if it is for general application programming. There are still some things like drivers and interfaces which it might be beneficial to use C++.

I used to use VB.NET but moved over to C# about a year ago and I am very pleased that I did.

This site contains some useful stuff for C# including links to a lot of free book chapters which cover most of C#

Last edited:
thanks guys. i picked up a book on C# from the library to aid in the learning process. its been very nice of you guys with so much experience to enlighten me. C# it is.
No worries - if you get stuck just ask :)