The most essential programming languages for automated driving are:
Language (with link to subpage) | Difficulty | Application |
---|---|---|
C++ | hard (but worth it!) | manually written code whose execution must be as fast as possible |
Python | easy (but also worth it!) | training neural networks, prototyping, and many other things |
Universities usually teach at least one higher-level programming language to technical students. If you are taught Java oder MATLAB there, still try to make the best out of it because learning those also helps you learn other languages later on.
To avoid confusion, make sure to start with only one language, but learn that language in depth. Choose the language you need most for reaching your next goal. You can learn the other language later on.
No matter which language you learn, you should cover
- basic syntax like functions, loops, if-else, switch case etc.
- reading and writing from files and from the command line
- object-oriented design
- the standard library and other most common libraries
- common data structures like arrays, lists, maps/dictionaries
- graphical user interfaces
Also experienced programmers don't hesitate to google all kinds of programming issues. This workflow could help you:
- You are programming
- You get stuck, e.g.
- you have forgotten the syntax of a for-loop in C++
- you get a strange error in the command line when compiling or executing your program
- You google
- "for loop cpp"
- or use the copy-pasted error message as a search string
- If the first three results don't offer what you are looking for, chances are you should refine your search string
- e.g. "for loop cpp example syntax" or "range-based for loop cpp 17 example"
- try to remove all parts of the error message that are specific to your individual program
- If the search result is an answered question from a forum such as www.stackoverflow.com
- First, read the code snippet from the first reply. Often, this is what you are looking for.
- If it does not help you immediately, only then read the question etc. to get the context
- If the search result is an official code documentation, then you might want to look for example code.
- It is often easier to understand than a detailed theoretical documentation.
- You can directly copy-paste it into your own project and adapt it there according to your needs.
- It is common to have ~100 search queries on a day of coding.
- Further resources:
- 10min YouTube Video How to Google like a Pro Developer