Ask Slashdot: Is Computing As Cool and Fun As It Once Was?
dryriver writes: I got together with old computer nerd friends the other day. All of us have been at it since the 8-bit/1980s days of Amstrad, Atari, Commodore 64-type home computers. Everybody at the meeting agreed on one thing -- computing is just not as cool and as much fun as it once was. One person lamented that computer games nowadays are tied to internet DRM like Steam, that some crucial DCC software is available to rent only now (e.g. Photoshop) and that many "basic freedoms" of the old-school computer nerd are increasingly disappearing. Another said that Windows 10's spyware aspects made him give up on his beloved PC platform and that he will use Linux and Android devices only from now on, using consoles to game on instead of a PC because of this. A third complained about zero privacy online, internet advertising, viruses, ransomware, hacking, crapware. I lamented that the hardware industry still hasn't given us anything resembling photorealistic realtime 3D graphics, and that the current VR trend arrived a full decade later than it should have. A point of general agreement was that big tech companies in particular don't treat computer users with enough respect anymore. What do Slashdotters think? Is computing still as cool and fun as it once was, or has something "become irreversibly lost" as computing evolved into a multi-billion dollar global business?
Back in the day, someone dedicated could learn everything he had about a system, from the CPU, registers, RAM, I/O, video, etc. It was relatively simple.
The only way to get that same "cool and fun" feeling is to dive into the 8-bit microcontrollers such as the ATmega328P. Even the latest Arduinos have become too complex with their ARM SoC.
Look on hackaday.com, there's often fun projects based on those basic, entry-level, sub-100MHz 8-bit uC.
Switch to Linux and the cool factor becomes very much alive.
I have thought the same thing.
Of course there are a few fundamental differences between then and now from my point of view:
1. I was a young teen and had tons of time (and energy) on my hands to play with these things.
2. Everything you learned you figured out on your own or as a group share with close friends, supplemented with a few manuals and magazines.
3. The hardware was finite enough you could basically learn everything from the low level access to the hardware to all the software features (basic or machine language). You could literally learn what every location in IO or memory did (53281 anyone??).
4. With a few days or at most weeks time with even modest skill levels you could put together something that could "wow" your friends and perhaps even non-computer family members.
5. Atari / TI / Commodore computer overnight parties where a bunch of us get together to compete to show off the best games etc. in an attempt to prove we had the best platform.
Today we have a lot more learning resources out there, and the hardware is much more powerful but in my mind it just isn't as fun. There is certainly no way to whip up something that would "wow" anyone. It's more a tool now than a fun hobby.
While all true, people seem to forget how hard it was to get software before the internet, especially if you were a kid with no money. These days you can download vast amounts of high quality software, and its source code to tinker with. In some respects we are a lot better off now, and when you had to rely on friends, clubs and magazine cover disks/tapes.
On the other hand, we are definitely a lot further removed form the inner workings of computers now. There is a massive amount of abstraction, which is kind of good for a lot of purposes but also very much encourages people not to look too far beyond really high level library functions. The lack of hacking friendly ports on the hardware side is a big issue too.
But then again you can get a pretty good oscilloscope for peanuts now, so in some ways hardware hacking is a lot easier than it used to be to get into. We don't have those great kits you could buy from magazines any more though, and while people like Adafruit do offer some interesting stuff it's more Arduino level plugging modules together than figuring out why your transistor biasing isn't working.
Personally I like the older stuff. Emulators are great for it actually - back in the day I used to reboot my computer about 900 times a day as I was trying to debug assembler (didn't have a single step debugger and of course no memory protection) and figure out what the hardware was doing, and emulators make it much easier.
const int one = 65536; (Silvermoon, Texture.cs)
SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
Take application development. Pioneering has been replaced by engineering. Great for making complicated and reliable products, not so great for empowerment of the individual. Software engineering tends to be teamwork. Depending on how "standard" the required end product is you can parcel out the interface design, the overall apllication design, the datastructures, the core algorithms, data management, and housekeeping. Could be 3-50 software engineers in a team. Used to be 1 programmer doing all of that.
Take high-performance programming. It used to be an art. Found e.g. in DOD stuff, scientific software, and games. Often in assembler, for speed. Nowadays that's mostly out. Certainly for scientific software. You use compilers of even scripting languages that call libraries to do the heavy lifting. You're quite unlikely to do better than the library builders. If you're writing some really new algorithm, you'll code it in C/C++. If absolutely necessary, you can make that code tunable (array stride, blocksize, etc.) and write an algorithm to optimise those parameters for your specific hardware (like e.g. BLAS). If it's too slow, buy better hardware. If it's still too slow, get access to a Hadoop cluster and parallelise your algorithm.
Take datacommunication. In the early days datacommunication meant controlling some UART and sending squiggles down a wire. Now it's calling a packaged protocol stack and talking to the appropriate protocol layers. More often than not that's the connection or session layer or higher ... unless you are a specialised networking engineer.
As for computer users as clients: the nerdy types are dying out. What today's consumer wants is things like smartphones and tablets. And what do they want it for? To surf the web (shopping, news, amusement (e.g. video torrents, Youtube)), and to waste time on Facebook, Twitter, Instagram and various chats. If they somehow want a desktop computer, they'll only know it for the OS it runs. That would be "Windows" or "Apple" (meaning macOs, but Apple users typically don't know that). And that's what the industry is giving them. Want "Basic Freddoms" ? Bugger off and run Linux, you freak.
So, yes. Computing as a product has become commoditised and geared towards the mass market. It's not easy to turn a buck by catering for nerds: the real money is in serving customers. And it shows. Consumer-grade users get a consumer-grade experience plus consumer-grade treatment (read: DRM, spyware, bloatware).
Those who want to play around with a computer however never had it better. For less than 50$ you can get a complete Raspberry Pi system (or a lookalike) that's more powerful than a clunky old PC. For 500$ you can get performance you used to have only on workstations, and for 1500$ you can get the same power you used to need a supercomputer for.
The only thing stopping you is know-how, time and interest. But that's not the industry's fault,
It is doubtful young people are writing that kind of stuff. It is much harder to write software than it ever was. It used to be fun writing "Hello World" but that won't keep the interest of young people today because they are used to much more sophisticated software.
~35 years ago, I got a Vic-20 for Christmas. It took me an hour to write my first program, including the custom character design. Today, if you got a new Dell laptop for Christmas, you'd be lucky if Windows Update finally allowed you to even *do* anything within the first hour or two. Fuck, even a brand new Xbox One or Wii-U (and probably a PS4) will make you wait at least 30-60 minutes for mandatory updates before it'll allow you to play your first game.
The barrier to entry for nerdy children is much higher now then it was for me.
This is what my 8 year old daughter did:
1. Go to https://scratch.mit.edu/
2. Start coding
Total time to surmount barriers: 10 seconds.
The programmer's toolbox is better now, with more languages, code can have longer, clearer and more complex lines, safer calls, better garbage collection and modularity, a more uniform common user interface, and sophisticated database interactions.
What's missing is that great unknown, limitless potential, the clubs, Dr. Dobbs, and the clueless millions wanting, needing and willing to believe whatever you told them. And they were willing to pay too.
Programming isn't as cool anymore. I know people in IT who look down on programmers, ridicule what they do. They beg their bosses for classes on how to be an administrator and run Windows, Servers, SharePoint, 365, Azure, Exchange, SMS,...
There is big money in programming, but rarely for programmers. Corporate programming jobs are often outsourced with short short term contracts, or just part time, which negatively affects the software product. The corporations don't care, as long as it doesn't affect the bottom line. Further hampering good programming, the sales departments have become dominant, turning software products into advertising platforms - even the operating system. Surveillance has become an indispensable revenue stream, as businesses have learned from Google and FaceBook how to monetize user information.
The game industry rakes in over $20 billion annually. As they've gotten richer, they've gotten more paranoid over DRM. 3rd tier business software is everywhere, with customers paying more every year. Accountants', auditors' and governments' standards demand that certain financial information be packaged according to the rule books. If anything goes wrong, until otherwise proved, it's the local programmer's fault. The one exception: if the programmer is in 'the club', they find somebody/something else to blame.
Yeah, programming can still be fun, but cool - eh.
Computers are a lot more expensive.
Cost of an IBM PC in 1983: $4000.
Cost of a Raspberry Pi in 2016: $29.
The Raspberry Pi is several orders of magnitude faster, and comes with WAY more free development software.