Turned around and found the right line
So, for getting started with LibreOffice development e.g. with an EasyHack four things are needed:
- Understanding of Object Oriented Programming
- C++ Language Fundamentals
- Completing a Build from Scratch of LibreOffice master
- Understanding git and gerrit to submit your changes
We traditionally have covered the latter two quite well in our Wiki:
- e.g Building on Linux (video included), Building on Windows and more …
- there exists extensive documentation and tutorials on git and also for gerrit we collected some good documentation, because — while git is a common skill these days — gerrit still isnt that commonly used in open source projects.
However, we did not have hints on where to find good documentation on object oriented programming in general and modern C++ programming. At most universities these days programming is taught with Java, JavaScript and Python, which leaves a missing piece on getting started with C++ programming. So Eike and me started looking for good resources on these topics too. Here is what we added to the General Programming Guidelines:
-
- For Object-Oriented Programming
- For C++ Introductions:
- for online reading: C++ Annotations
- as a course: Stanford University CS106b: Programming Abstractions: winter 2018 lectures playlist, 2016 lectures playlist
The OOP books are using Java as reference language, but they do not get lost in language details and intentionally allow using the concepts on other languages like C++. The university lecture starts off expecting basic knowledge of programming (e.g. in Java/JavaScript) so both together should yield a reasonable coverage of what is needed for your first EasyHacks.
Finding a good and modern starting point for C++ development was by far the hardest topic to cover of those named above. However, looking for them prompted Eike to dig out his personal “developer bookmarks” — a treasure trove that I will keep exploring further for other good content (this is where the “C++ Annotations” link came from).
P.S. As a sidenote and additional motivation: All those books — but especially “Head First: Design Patterns” should provide the context to understand many of the in-jokes found on the oldest wiki ever, the C2 WikiWikiWeb which can be an quite entertaining read once in a while.