This is an overview of the programming languages I have experience with.
Desktop & Mobile
These are the languages that can be used for desktop and mobile development.
C# is an allrounder language. It can be used on many platforms like Windows, Linux, Mac, Android, iOS and web applications.
The .NET framework can be used in C# applications on Windows. The open source and cross-platform equivalent is .NET core, which is a lightweight alternative to .NET framework.
C++ is a more low-level language than C#. It is an advancement to the language C.
There also exists a .NET framework for C++ on Windows. For Linux and Mac there is Qt.
Unreal Engine 4 uses C++ for the game logic.
C is widely used in low-level applications. For example, the Arduino platform can be programmed in C. It is the origin of C# and C++.
Front-End web languages
These are the languages that can be used in the front-end of a web application.
HTML is the basic language that's used mainly for websites but can also be included in desktop apps. It defines the structure of the site.
CSS stands for Cascading Style Sheet and is the style language that is used besides HTML. In CSS is the design of the web page defined.
It possibilities reach from basic input validations to complex games, drag-and drop scenarios and more.
Back-End web languages
These are the languages that can be used in the back-end of a web application.
ASP.NET is a framework for building web applications. It is a faster alternative to e.g. PHP because it is precompiled.
It is possible to include ASP.NET in different languages. The most popular is C# but it can also be used in Visual Basic or J#.
Gunicorn is a web server that can be used with the Python language.
Combined with other frameworks like Python-Flask it is a powerful tool to create web applications.
Java is a programming language that can be used in the back-end of an application. Frameworks like Spring and JSP are a widely accepted way of building a web application in Java.
Java is also used in Android App developing, where it is the native language.
It is also possible to create desktop applications in Java with frameworks like Swing.
PHP is a relatively easy programming language for writing web applications. PHP is specialized for managing text, pictures and other media.
SQL (MySQL & MS SQL)
SQL is the language that is used in database systems like MySQL and Microsoft SQL Server. Stored procedures can be used for repetitive tasks, which are written in SQL.
Accessing a database in popular programming languages can often be done through frameworks but knowing SQL and stored procedures still has advantages in terms of speed and reliability.
These languages and tools are ensuring the optimal operation of an application.
LXD container management system
LXD is a container management system that can be used on Linux machines. A container is like a virtual machine, but it uses the same kernel as the host and because of this it is much faster than a virtual machine.
NGINX web server
NGINX is a powerful and fast web server that can be used for serving web applications. The speed comes from its multi-architecture
Another use of NGINX is the reverse-proxy and cache part. This means that certificate management gets easier and can be easily automated with tools like certbot.
Redis cache server
Redis is a caching solution for dynamic web services. It can store requested data and serve them if they haven't changed in the meantime. This improves the overall response time immensely.
Apache web server
Apache is a widely established web server. It is older and not so fast as NGINX, but it is a rock-solid solution for web applications who need sophisticated features.
Linux & Windows Shell (BASH & PowerShell)
The "Bourne Again Shell" or for short BASH is the default shell in nearly all Linux distributions and MacOS. BASH can be used for everyday work on servers and desktop systems, but the language can also be used to write scripts to automate things.
PowerShell on the other hand is only available on Windows. It can be used for everyday work as well but is not so flexible as BASH.
The Windows Command (CMD) is the predecessor of PowerShell and is still widely used by people.
PowerShell and CMD can both be used to create scripts on Windows.
Git is a developer tool that can manage codebases. It is a powerful tool that can save multiple versions of source code and ensures the availability of the code.
Here are the tools listed that are not directly related to programming.
Unreal Engine 4
Unreal Engine 4 is a game engine for creating graphically stunning games.
3D models, lights, materials and more can be imported from Blender or another CAD software which can then be set up in the game scene.
The game logic can be written in C++ or Unreal Engines own blueprint language.
In contrast to Blender is Unreal Engine 4 more professional and laid out for real time rendering instead of prerendering.
Moho Animation Studio
Moho is an animation program which can animate 2D objects. There can be done a lot with Moho, for example:
Character parts can be imported as vector or raster images and rigged to be ready for animation.
A dynamic scenery can be created by adding movement to multiple background layers.
Blender is an allrounder application and it is an established 3D modeling tool. It can also be used to create 3D and 2D animations or games.
The possibilities in Blender are nearly endless since all the objects can be modified with Python scripts.
Inkscape is a vector editor. It can be used to create logos and other elements that can be used in other processes.
In Inkscape one can export an SVG or a rendered rasterized image e.g. for use in a web application.
If you search for an application I worked on you can find all of them on the Projects page.
Me on StackOverflow
You can check out my two StackOverflow profiles too.