I write my first software in 2017, so after this time, i think i have some experiance and recommendations, if you want to try yourself in this art.
It's better to practice with someting easy first, maybe not related to programming directly, like learning HTML+CSS, it's give you a better understanding of working with computer, charsets, metadata, and work with files on computer.
I recommend you to try web development with Mozilla Developer Network (offline version) manual. They are have a great articles, that give all you need to know, and tasks, that motivate you to paint covers for your projects, record video and audio, make website structure plans, and respect web standarts. I try this, and i get only positive feelings, maybe i can say, that this website change my life. Now i am not just programmer, i am also designer, that sometimes paint something.
The best way to learn programming, it's reading official documentation. I think like that, because documentation written by users of it's language and technology, where every part and module documented.
As great example - "The C Programming Language" by Brian Kernighan and Dennis Ritchie. Maybe, this cannot be called documentation, but like MDN, it's have all useful information to understand programming from the inside, with exercises, that also can be used for learning any other language.
If we look in Python and Lua documentation, we also can found, that information very structured, so learn programming with documentation only - is possible, and more efficient, than take information from a few sources.
I am write all my software and this website in Mousepad (Notepad for Linux), and i don't have a lot of themes and plugins, i prefare to just see a clear screen. This time, you wasted on configuration and styling can be wasted on personal things or hobbies. All code editors the same, and in the beginning you don't have any profit of Visual Studio or IntelliJ IDEA, but because you don't use more than 5% of theirs functions.
If you want to understand all you need, don't use things like autocomplete, Emmet, and others. Only in this way you understand 100% and every line of code, you write. sometimes writing the same pieces of code can be boring, but if you need HTML template, you can create it, put on ~/Templates, and just open this template in Mousepad (i think, other text editor support it too).