6 ms·
I agree with your observation, but I don't agree with your diagnosis of the cause. I think it's mostly down to the increasing abstraction and ease of using soft
by blackbagboys 9y ago
I agree with your observation, but I don't agree with your diagnosis of the cause. I think it's mostly down to the increasing abstraction and ease of using software. When I was a kid, I wouldn't have described "computing" as a hobby, but just getting certain games to install and run on my parent's cheap Gateway PC would require a lot of fiddling around. My younger siblings have no more or less interest in computing than I did, but if they want to play a game they can seamlessly download and run it from Steam or the app store.
- mathgeek 9y ago> but just getting certain games to install and run on my parent's cheap Gateway PC would require a lot of fiddling around Ah, that brings me back to memories of boot floppies in order to change the memory settings of the system.
- stryk 9y agoIRQ conflicts! Holy mother of hell IRQ conflicts! particularly when dealing with those early gen Sound Blasters -- and trying to get that Roland MT32 you borrowed from the greasy weirdo in your big brother's band hooked up and pumping out that sweet, sweet midi
- stinos 9y agoIRQ conflicts! Recently I had this surface, some RT kernel extension we use would display possible conflicts. Despite programming a lot these days, my background is electronic engineering, so I still have a rough idea of what an IRQ is and does even on the lowest level. However had no luck trying to explain that to a 'pure' programmer.
- ZenoArrow 9y ago> "However had no luck trying to explain that to a 'pure' programmer." Interrupt requests are easy to explain to even a novice computer user if you frame them in the context of something they're familiar with. For example, when you press a key on your keyboard an interrupt request will be created to make sure the computer knows you've pressed the key. So in simplified terms, you could say when you press the "A" key on your keyboard, there is a part of the computer that says "pause what other things you're doing, respond to the "A" key press, then continue with what you were doing before".
- pjmlp 9y agoHello Autoexec.bat and config.sys. :)
- u801e 9y agoAnd, in some cases, himem.sys :)
- arbie 9y agohimem.sys seemed like black-magic to me at the time.
- drxzcl 9y agoIt still does. I mean, it pokes the keyboard controller in order allow the processor to control an additional bus line to the memory controller. Then, thanks to 8086’s overlappping segmentation architecture, you can access 65519 additional bytes that were never intended to be there in the first place. There’s Cthulhu mythos that is more acc si le than that.
- Flow 9y agoWasn’t there himem on the 286 as well?
- bananaboy 9y agoThat is in fact when the A20 gate was introduced. I suspect the poster above was referring to 80x86 and not specifically the 8086. The 8086 (and 8088, 80186) could only address 1Mb of memory and only have 20 address lines, while the 80286 has 24 address lines. In real mode the 80286 is supposed to be compatible with the 8086. However, it has a bug where the A20 line is not 0 in real mode, which can cause problems with real mode software that relies upon address space wraparound using seg:ofs addressing. So Intel introduced the A20 gate which could be controlled by software and allowed or prevented address line 20 from being seen on the bus. Enabling it allowed your 80286+ real mode software access to an extra 65520 bytes of memory.
- gt_ 9y agoI agree. My first computer had Windows 3.1, then soon upgraded to Windows 95, and I was probably worse off because of it. I made Angelfire sites with HTML for a summer but it didn’t hold my interest. I still don’t care for making HTML/CSS websites, but eventually learned I love programming. I firmly believe that if I were required to use command line simply to interact with my computer at that early stage, I would have pursued more programming.
- m_fayer 9y agoI think you're exactly right. I learned my way around computers as a kid because I wanted to do the same stuff that kids today want to do. Play games, prank my brother, talk to random people online. And I just followed that thread until it got me what I wanted. That thread involved some basic shell programming, learning what IRQs are, the difference between TCP/IP and IPX and what they did, how to setup the modem so call waiting wouldn't interrupt the connection, dealing with the rather technical nature of early IRC, usenet, BBSs. I wasn't trying to learn computers, it just happened along the way, and pursuing the same goals today won't teach you anything along the way.
- narrator 9y agoProgramming is not harder than it used to be. For example, I was programming Macs in the pre-Internet era which meant lots of thick books. If you got stuck there was nobody who was going to help out and you just had to puzzle it out vs the example in one of the few how-to books like the famous Mac Programming Primer. Also, there was little open source, so you couldn't read the library source to figure out how things were supposed to work. Simple data structures that come with every language these days were something you had to pay a significant amount for or handcraft. If you hit a null pointer dereference, the machine crashed and you had to reboot. This happened fairly often.
- eropple 9y agoMaybe programming isn't, but perhaps finishing something is? Because while the hands-on-the-keyboard, moment-to-moment writing of code is almost certainly easier than ever, actually making a thing out of that is nowhere near as simple as it used to be. Building a nontrivial thing in QBasic was really, really easy. Building a nontrivial web app--whether it's strict server-side PHP or strict client-side JavaScript or whatever--is really, really hard, requiring the consideration of a lot more stuff, and the failure cases are much bigger and much nastier.
- NortySpock 9y agoI do feel that one has to do some careful thinking and digging to find an appropriately sized project, library, and toolset before you can start working on a decent sized project you have a chance of finishing. It took me 5 years of screwing around with Java, Python, and C++ "I want to help humanity" projects before I found that I really should just write small game clones in P5.js for fun. I'm a new stepdad, and if I want to be motivated to work on side projects in my tiny amount of free time, it's going to have to be a game. Project: 80's game clone. Library: P5.js. Toolset: Notepad++, Python SimpleHTTPServer.
- JeremyNT 9y agoYou can make a rails app and run it in heroku within an hour into your first tutorial. You can get an interactive JavaScript environment in any web browser. I cut my teeth on c++ on lab computers. I was crap at it. The compilation and debug cycle was slow and frustrating. I couldn't Google for answers on anything. It's easier than ever to start programming, without any question, and so many batteries are included everything else is easier too. People in some ways do expect more from their software now, and to help deliver all that there are tons of open source libraries available that can feel overwhelming at times, but that's moving the goalposts. Somebody learning to code doesn't need all that just to get something basic and interesting working. If you're tasked with making a functionally equivalent piece of software now versus 20 years ago, it's better and easier in every single way.
- elihu 9y agoI think there's also an aspect of people's expectations changing. Twenty or thirty years ago, no one expected new software to run on a ten-year-old computer and no one expected Windows software to run on a Mac or vise versa. (Linux was pretty far outside the mainstream.) Now, we have a proliferation of computing environments, and it's hard to give people generic advice about how to install and use a tool that would apply equally across all those various environments. Browser standards seem to be the one thing that's relatively common across platforms, so a lot of that stuff moves online.