DavidS wrote: ↑Wed Nov 14, 2018 8:36 pm
The question of language, you will need to learn one at least. In the modern world everything takes on the structure of C, so that may be a good option. Though it is difficult to point to a true beginners tutorial on using C. The best one I know is the first 8 chapters of
The C Programming Language, 2nd Ed, ANSI C, though that is a book that costs $20 (almost as much as a Raspberry Pi).
I think that there is a reason why "it is difficult to point to a true beginners tutorial on using C". It is, at least in my opinion, a difficult first language for a beginner, and remains less than ideal for a 'casual user'. I have learnt and written substantial applications in many languages, from Apple II BASIC and 6502 Assembly Language through various other BASICS, C, Fortran, PDP-11 Assembler, 80n86 Assembler, and various special-purpose data manipulation languages. C was probably my favorite language when I was using it all the time, but, as a (now) only occasional programmer, I prefer languages that are either interpreted or have a programming environment that allows you easily to exercise bits of your code while you are developing it. I do most of my programming in VB.NET, using Visual Studio.
Python (which I have only started using fairly recently) is very good from this viewpoint, and also offers the ability to plug in modules which make many things that are difficult (particularly for a beginner) in other languages quite easy to accomplish. I think that the odds of a beginner making progress and not getting terminally frustrated are better with Python than with most other potential 'first languages'.