How to bring back the creative atmosphere of old school computing?, Is it possible?
I feel that the abundance of choice and tools is what is having a negative impact on creativity. Somehow the non-ending stream of new tools/techniques/languages/frameworks is limiting our ability to create. It should be the other way but it's not. It seems like right now we are chasing the (non existent) perfect toolchain, and people are jumping from one tech stack to another without really producing valuable things.
The big problem is the short attention span that is caused by abundance of choice. When people jump to a new technology it will be fun because of the novelty, but the possibility of mastery is lost because everytime one has to ditch a lot of the knowledge that was starting to accumulate. This is specially bad in Web development, but it affects most of the computing areas.
We don't feel confortable embracing limitations and sadly that's a key ingredient of creativity. We prefer to spend long hours researching another tools. How can we "simulate" the lack of options that old school computing had? Is it possible anymore?
I think this is why people like the Arduino/Raspberry Pi ecosystems. There's always a contingent of people saying "you should have used a microcontroller dev kit instead" in the comments on any Arduino project, but then you'd have to choose which microcontroller. Arduino restricts needless complexity and enables people to get on with their project.
Another subtle issue is that 'platform' == community. Sometimes this is an advantage, sometimes it isn't, and evaluating the community that you'll be joining by picking a tool is even harder than evaluating the tool.
Web programming is just a shifting dunescape of reinvented wheels.
I'm not a professional programmer, but I have the very strong impression that the one area of programming that is most saturated with frameworks etc. is web programming. So if you want to be more of a generalist, choose another platform where the suction of individual technologies is weaker. I write desktop programs (as a hobby), and often switch between Python, Common Lisp, Java, sometimes C/C++, depending on what I need.
I've only skimmed the article (it's in my Pocket for later), but I think the author gives the answer: embedded programming. You can make your environment as constrained as you want then.
Boy, I relate directly to this. I grew up essentially in the ghettos of Baltimore, and my first computer was a Vic-20. I had only a single ripped up 6502 manual, and one of Vic Games programming. I had no datasette in the beginning, and so I started with graph paper, coloring in squares, and computing graphics. I PEEK'ed and POKE'ed stuff directly until I got some primitive stuff going. Later, by reading magazines, I was able to enter by hand, the code for my first machine language monitor, from there things got much better, although I had to be extremely careful not to crash my machine or turn it off, until I could afford a datasette.
Eventually, I got a C64, learned cracking, demo programming, NTSC fixing, and that was pretty much my gateway out of a bad neighborhood into the comfortable spot at Google I have today.
Here's an old compilation I made of some crack/intro screens I made for various groups in the 80s.
I grew up in a similar environment, saw lots of friends and family destroy their lives out of boredom and general bad company.
One of the reasons I hold so much affection for my childhood computers ( Atari 800XL, C64 and the Amiga ) are because they probably saved me from a sad destiny and gave me the opportunity to have a nice profession.
If it wasn't for those machines I might not have been where I am today.
> Lesson learned: Language skills, natural and coded ones, are gateways, opening paths not just for more expression, but also to paths in life.
This is a fantastic quote. I lived in Tokyo for 3 years and while I picked up some of the language and had a phenomenal time, I saw friends who were fluent in Japanese and the experiences and interactions they had and was and am still extremely jealous.
As someone learning lisp for fun, with no expectations, this article was inspirational and reinforced my faith that I am undertaking a worthwhile endeavor, if only to change the way I think about programming.
The first six paragraphs made me a bit teary. I can't relate my own coming of age in computing with having to deal with the socio-political implications of the Berlin Wall.
I wish that like the author I could devote 100% of my working time to this, but I am still lucky to be able to do a bit of it in my spare time.
Some of the people in this space that I admire:
http://www.iquilezles.org
http://www.mine-control.com