I'm only 18, and as such my initial ventures into programming were the usual 2000s-dominating high-level, paradigm-saturated affairs, complete with obsession with platform independence and 'good' design patterns.
However, I also toyed around with other things. Things like a BBC Micro emulator, GAS and NASM assembly language, and completely UNIX-centric non-portable C code. After playing with these, I came to the conclusion that most of these modern design patterns, 'pure' paradigms, and obsession with platform independence are a real distraction from actually writing fun code. Sure, these things are no doubt important when writing real systems. Yes, coding being 'fun' is probably a minor concern for suits, but isn't the 'fun' factor of coding what drove the best coders around, some of who then did make a lot of money, no doubt pleasing suits?
Being my age, I can't comment on the '80s. Despite that, I'll guess that there was far less debate about language-choice, platform-choice, and programming paradigms on PCs in those days. I know you could get language ROMs for things like the BBC Micro, but didn't everyone just code in BASIC and ASM regardless? I guess there was also wars about 'Spectrum vs C64', but I'll also guess that people in reality got whatever their budget allowed.
As a side note, this is why I don't think the Raspberry Pi will take off. It's not a lack of hardware that's the problem for young people today; it's the wavering stack of complexity to do basic things that were a lot simpler in the olden days. I didn't really miss the dynamic heap and language-level OOP when I was messing around on the BBC emulator, I actually felt a little freed up. Obviously that feeling wouldn't scale for a program of modern proportions, but for a small little game is was more satisfying.
Too Long to Read:
Anyway, this is what epitomizes the point I'm trying to make: from what I remember, you can draw a line on a BBC Micro with one line of code, maybe two. To do the same using C++ with the WinAPI and DirectX is a joke, the same applies to OpenGL and any portable windowing API too, albeit to a lesser extent. Even on stuff like XNA there's considerable framework stuff to sift through to do trivial stuff. Packaging is harder too; from what I gather from the old PCs, you just copied your end-result onto a tape, and let someone else run it on the same platform. Now you have to mess around with endless DLL-incompatbilities, installing missing runtimes, dealing with abstractions that aren't fast enough underneath on certain setups etc.
Has modern trains-of-thought regarding programming made an impenetrable barrier of entry for beginners?