Learning to program does not have to be easy
I have been asked all too often which programming language to learn first. And I’ve heard almost the same number of different opinions. Java or C++? Python or C#? Or maybe C? High-level programming languages like Java offer the big advantage that the entry hurdle is very low. You can quickly put together a functional application that does what it’s supposed to do. The extensive ecosystem allows you to make rapid progress and concentrate on the functionality of your software. But that’s exactly the point that advocates of programming languages like C or C++ criticize. These are generally referred to as " more difficult “, which is due to the lack of abstraction of different system concepts. The most common example is probably memory management. While in C the developer himself is responsible for the allocation and release of memory, in Java this task is abstracted from the developer. Although this is an enormous convenience for the developer in later working life, there is a lack of knowledge about what is actually happening in the background for many developers who have only worked with such languages so far. ...