What was it like to self-learn programming before Stack Overflow? (2016)
151–160 of 290 posts
Re: What was it like to self-learn programming before Stack Overflow? (2016)
#152Before StackOverflow? Not too bad. Without internet access, though? Much, much harder, or rather, slower - a similar level of information could be obtained but it took phone calls, bus trips to a reference library, etc. Other than that, you just had to figure everything out yourself from the user manuals and experimentation. Of course, back then computers were much simpler and user manuals were much more complete and…
I disagree computers were much simpler. If you wanted to play games, you had to struggle with IRQ, DMA, extended memory mode, smartdrive, config.sys, autoexec.bat, commandline ARJ, zip, rar, floppies or tapes, and so on. If you had Linux, you also had to regularly recompile kernel to make something work (for example a device driver). My pet hypothesis is that puzzle and turn-based strategy games were much more popula…
Re: What was it like to self-learn programming before Stack Overflow? (2016)
#153I'm self-taught, and now in my 50s. I started programming when I was 10, in 1976. In those earliest days of consumer-class computers, there wasn't really a developed market for practical programming books. However, the manuals that came with software or OSes were quite well-written. There were a few magazines, too, like BYTE and Dr. Dobbs Journal, that published source code -- always the best way to learn! It helped,…
Still, I've noticed that the Google/SO approach to troublehooting is, all too often, to collect an exhaustive set of things to try, and begin trying them. If you discover one that works, say yay!, and move on to the next problem. If you're very, very nice, post that it worked so that the solution can be lifted marginally higher in the queue for the next person. My students (who, admittedly are very inexperienced, I suspect this behaviour becomes less prevalent later) seem to spend very little time on what was a critical first step for me: hypothesize about what things could possibly be causing the problem and then come up with an experiment (often involving a simplified program or using only a subset of the system). My initial tests were rarely to isolate the problem: they were to either eliminate or comfirm a class of problems as I successively isolated the specific cause (ok, so it remains if I move it to another block of memory. Maybe it's a race condition? Ok, what if I force this test high, then there won't be any branching in this code block ---that's vaguely recalled from a problem that came down to needing a NOP in one branch path to avoid a fencepost error in some probably over-optimized code). The benefit was that, after a few months of troubleshooting like that, you kmew your system absurdly well. Conversations within the tiny community of fellow travellors (there were about a half-dozen in my high school of more than a thousand students) were heroic tales of bugs run to ground that we all learned from and tried ourselves.
Unfortunately, it's not really possible to learn a system that well any more, they're too complex. But I wonder if the ease of just typing the error message into Google means this generation don't learn the application of the scientific method that good troubleshooting really is. Because, for many of my students, it seems as though if the answer isn't on SO, then it will forever remain a mystery.
Re: What was it like to self-learn programming before Stack Overflow? (2016)
#154Barnes & Noble. That was the go to resource for programming books. I remember back in 2001 I'd been self-taught PHP for about 3 years and was able to be productive, build some stuff that I needed built and was generally comfortable with how things worked. As far as I was concerned I "knew PHP". One day I was stuck on a problem so I actually went to B&N and bought a big PHP book because it looked like it had what I ne…
Are you talking about "Advanced PHP Programming?" I bought that book when I wasn't even as tall as the checkout counter at b&n. The cashier was very confused. I remember learning the fundamentals of object oriented programming from that book, sitting poolside on a Florida vacation. People must have thought I was some sort of super nerd child prodigy.
Re: What was it like to self-learn programming before Stack Overflow? (2016)
#155It's really not Stack Overflow that we should be asking about, it's Google. Programming became a lot easier when you could just type a question into Google and it would find that someone asked the same question in some forum or newsgroup. In 2003 Google would always include results in a site called Experts' Exchange, which was basically an earlier version of Stack Overflow. What was different, though, before Google,…
Expert Sex Change was garbage, though. If it hadn't been as terrible as it was throughout its life, Stack Overflow wouldn't have taken off nearly as easily or as well as it did. I mean, I like to grouse as much as the next graybeard over how SO has gone downhill - and it has - but it's still miles and miles better than the metaphorical and deeply unmourned Superfund site that predeceased it.
Re: What was it like to self-learn programming before Stack Overflow? (2016)
#156Things went a little slower back then. In some respects, I think that was better. You could find decent quality code in magazines and books to learn by. Books stayed up to date longer. I still have a copy of PC Intern that I used when I moved to the PC platform. It had a lot of really good information in it.
But, really, it was more about trying and failing than anything else. Sadly, I've even gotten away from this because it's too easy to reach out to another dev for help. I think this makes learning more superficial. But, then, with how fast everything moves now, you kind of have to pick what you want to learn in depth and just accept the superficial learning for everything else.
Re: What was it like to self-learn programming before Stack Overflow? (2016)
#157I learnt back in the BBC Micro era, when I could get books out of the local library. What I didn't have at that time was a computer - my very first programming had to be done on paper until I could get time on the computers at school. Later I got a Spectrum; later still a PC. It was vital that these came with BASIC. Paying for development tools would not have happened. Eventually I acquired pirated copies of Turbo Pa…
To actually learn C (not ++) I used Bjarne Stroustrup's C all the way. I think it was 150 pages of book with 10 pages of index, not exactly a heavy book, probably no larger than a 13" screen 'ultrabook' and I took it everywhere.
Back then we had attention spans longer than a goldfish, so studying a book that was so concise was the way to go, not to skim search results, copy and paste.
Before then with the BBC Micro again there were just the two manuals, the one it came with and some advanced one. The ZX81 was okay with just the manual it came with.
Computer magazines were actually how you learned new stuff, or at least saw stuff that you wanted to do, even if the reality was typing in hex-dumps.
As for attention spans:
https://geneticliteracyproject.org/2016/07/25/another-modern...
A Microsoft study in 2013 said the attention span of a goldfish is 9 seconds, whereas we had attention spans of 12 seconds in 2000 and 8 seconds in 2013.
There is a lot of 'averages' here, however, we have changed how we expect to learn things. I have no idea whether it is 'needle, haystack' or the other way around for commands I use daily. We just remember where to find stuff on the internets rather than in our own grey matter.
Re: What was it like to self-learn programming before Stack Overflow? (2016)
#158Do people really learn _only_ from SO? I mean sure, it can solve problem at hand but learning a new language or technology? I don't see how it could compete with books in any way
I don't think people learn, but get answers to specific problems. However, I'd say the bulk of your learning throughout your career comes after you "learn" a language.
I'll ask "how do I do in ", check the SO results for a well documented and thought out response (not just code snippets), and start reading. On the side in a notepad I type up the terms/concepts they talk a lot about in that post that seem necessary to understanding their post (which I do NOT usually fully understand). Then I close that tab and start learning about those concepts.
Sometime's I'll also do that with code from SO - find code that works in a microcosm, and tinker on it to see what it does, look at documentation, APIs, tutorials, etc.
I personally have found this to be very effective, far moreso FOR ME than a book ever could be (even a PDF book w/ searching)
Re: What was it like to self-learn programming before Stack Overflow? (2016)
#159(I continued this general strategy of doing way too much stuff and getting way too little sleep all the time until it all came crashing down on me in 2004, and my life changed drastically and permanently.)
Apple released the Mac, and I fiddled around with it. I really loved MacPaint, but there was no way I could possibly scrape together enough money for a Mac. They were twenty-five hundred dollars. It might as well have been a million. Some years my annual income didn't break $5,000.
Nevertheless, my newfound fascination with digital painting led me to start reading everything I could find about programming, mostly in books and hobbyist magazines. There was a plethora of geeky computing magazines in the middle of the 1980s.
Eventually, with my girlfriend's help, I scraped together enough money to buy a bargain-basement Commodore 128. It wasn't a Mac, but it had a BASIC interpreter built in and it could display graphics. They were 8-bit color graphics with huge, fat pixels on a 320x240 screen, but they were graphics.
I started buying COMPUTE! Magazine. Each issue shipped with a piece of software in it, in the form of a BASIC program printed in a column in the magazine. You could type it into the Commodore and presto! You had a new piece of software!
The transformative event for me was typing in an assembler written in BASIC. After that I could write programs in assembly language. I bought a big fat book that documented the Commodore memory map, listing everything in the machine's memory along with all the addresses. It listed the entry-points for all the built-in BASIC subroutines. I could write machine-language programs that used the built-in BASIC graphics routines!
I wrote a crappy little paint program that I called "ChocolatePaint". It was horrible. Trying to write MacPaint for an 8-bit 320x240 screen and a cheap joystick is a terrible idea. However, I also discovered Conway's Life and got sucked into a black hole of cellular automata.
I spent months on successive versions of a 2D cellular automata program that ran several sets of rules simultaneously on the same grid. There were N sets of rules. Each cell of the grid obeyed all N sets of rules at the same time. The color and text-character displayed at each cell depended on the ruleset that caused it to be considered alive (all dead cells were rendered as empty black squares).
I would stay up too late at night fiddling with my cellular automaton, then fall into bed thinking about ways to improve it until I fell asleep, leaving the thing running overnight. I would get up too early in the morning and rush in to see what the program had produced. Sometimes it was a black wasteland with maybe a few live cells here and there. Sometimes it was a riot of color as some ruleset had mostly taken over, occasionally providing fertile habitats for secondary rulesets to thrive in.
One day, when I was juggling work on a graduate degree in psychology, songwriting, working in a bookstore, and this cellular automata craziness, while exploiting the bookstore job to read every book and magazine title that had anything whatsoever to do with programming, I learned that my girlfriend was going to have my child. Uh-oh. Sub-$10K income looked even less attractive than before.
My mother, a member of Mensa, sent me an ad from the Mensa Bulletin asking for people to apply to Apple Computer to work as technical writers. I said to myself, "why not?" And sent in my application.
To my complete astonishment, Apple flew me out to Cupertino to interview, then made me a job offer that would multiply my income by a factor around ten, and that would represent a whole number multiple of the most money I had ever made in a year in my life. To work with and on programming systems for Apple products!
I said, "sure!"
I officially started work in Cupertino on January 1, 1988, but that was a Friday. I don't remember for sure, but I imagine I didn't really start until the following Monday.
Apple drastically accelerated my self-education in programming. It had several resources that were like heaven for me:
- the Internet Apple had one of the earliest domain names assigned, and a great big chunk of IP addresses. It had a dialup network for employees that bridged to the Internet. It supported uucp. Woohoo! Apple had connections to everybody on the net and repositories of all the software anywhere that anybody thought was interesting. Oaklisp! Smalltalk-80! AT&T CFront! Eiffel! Icon! FigFORTH! MIT Scheme! Minix! GNU! I promptly downloaded every free compiler and interpreter and OS I could find and set about learning all I could about them.
- the technical library Apple had a robust library of technical books for any employee to check out. In order to ensure that its library was the best it could possibly be, it had a policy that I took full advantage of: if you went looking for a book there and they didn't have it, you could file a request for them to get it. Not only would they order a copy of the title for the library, they would order an extra copy and give it to the employee who had requested it. I spent hours in there. My collection of technical books on programming and computer science ballooned in size.
- the software library Apple had a software library with policies similar to those of the library of books, except that you couldn't go in and browse the stacks and they wouldn't give you a free copy of the software you requested (a lot of software was pretty expensive). It would, however order enough copies to ensure that you could check one out, and it would allow you to renew your checkout indefinitely. It also had archives of every piece of software that Apple had ever shipped, or that it had ever released internally. My collection of working software ballooned in size. I requested and checked out every compiler and interpreter I could find. I had old versions of Apple Smalltalk and Fabrik and everything else I could find.
- the competitive intelligence library This was Apple's library of actual computing hardware. You couldn't check out the hardware and take it home, but you could reserve time on it. If the machine was connected to the internal network you could get an account on it. They had everything. I spent hours fooling with a Xerox Star. I learned Lisp and Emacs using a Unicos account on Apple's Cray Y-MP. Later I talked someone in ATG into letting me borrow his Symbolics machine. I rolled it into my office, where it stayed for about two years until he decided he missed it and came back and got it.
That, plus lots of conversations and cooperative projects with other programmers working at Apple, is how I did it before Stack Overflow.
Re: What was it like to self-learn programming before Stack Overflow? (2016)
#160It's really not Stack Overflow that we should be asking about, it's Google. Programming became a lot easier when you could just type a question into Google and it would find that someone asked the same question in some forum or newsgroup. In 2003 Google would always include results in a site called Experts' Exchange, which was basically an earlier version of Stack Overflow. What was different, though, before Google,…
> Experts' Exchange, which was basically an earlier version of Stack Overflow Expert Sex Change was garbage , though. If it hadn't been as terrible as it was throughout its life, Stack Overflow wouldn't have taken off nearly as easily or as well as it did. I mean, I like to grouse as much as the next graybeard over how SO has gone downhill - and it has - but it's still miles and miles better than the metaphorical and…
You may want to edit...
Edit: Well; that explains why the service didn't take off