Some of those books were laughably bad. But thing I miss from back then, was the feeling that the book was going to be the key to getting you started writing whatever crazy idea you had for a program in your head.
I think the last time I had that feeling was walking out of Microcenter with a new MacBook and an iPod Touch, ready to make the next Angry Birds...
Yes! I miss it too. For me, that book was Head First PHP & MySQL[0] - Late 2000's, I was living and working in Thailand for a family friends small logistics company in the capacity of a BA, trying to move them into this century. We were trying to find a vendor for any system that would allow us to keep track of the movements of shipping containers within a container yard, and something sparked and I thought "hey, I did a semester of programming at Uni, how hard can it be?!", over the span of the next 6 months or so, this book helped me put together a solution that scarily, they are still using to this day.
Fast-forward 15ish years and here I am, still cutting code, although in the capacity of a dev lead, but after all that, I have the book to thank.
[0]https://www.oreilly.com/library/view/head-first-php/97805961...
I did spend the next year or so adding features, bug fixes, etc. It was very much a case of learning on the job and I was quite fortunate to be in the position that I was. I think it was 2 or 3 years later I managed to land a dev role at Agoda (who had offices in Bangkok at the time)
I don't know who it was, it might have been one of the guys my dad worked with, be they said "You won't be able to write a game with a book like that, but you might be able to write a phone directory." Didn't phase me.
I remember someone asking me later on if I was going to write a game. I just looked at them blankly and said: "I'm going to write a phone directory".
I just learned today that "Sams Teach Yourself C++ in 24 Hours" was co-written by Jessee Liberty, one of my all-time favorite technical book writers. "Programming C#, 2nd Edition" was a great book.
I loved tech stores too. I still have all of the Apple pamphlets that CompUSA had sitting next to the display units.
I learned C first in high school because I found a pirated copy of "Learn C in 24 Hours" online, and I actually felt that they did a reasonably good job getting me started, though if I recall correctly some of their examples with pointers and memory management were actually incorrect. Still, it was enough to make programming interesting to me, and when I dropped out of college the first time I was able to salvage a somewhat decent career because of that interest.
I think the “in 24 hours” thing was more a case of “I’m going to tell you everything I know about XYZ in 24 hours”. Still, I have so many fond memories from the late 80s and 90s spending countless lunchtimes at McGills or the Technical Bookshop in Melbourne (now since long gone), flipping through tech magazines and wondering which of the many weighty tech tomes I’d spend my precious hard-earned on.
Yes in 24h you are not going to learn enough to contribute to Linux kernel - but also will be ahead of something like 80% of general population.
I still firmly believe that the move to transparent bags is what killed them. For me it ruined my annual tradition of buying Christmas presents while family was next door in another store, but I’m sure for others it was being treated like a criminal. Those magnetic readers aren’t great but they aren’t in your face.
Once I stopped going in routinely I stopped going in at all.
I think that’s the challenge he described.
Not the kind of insult or atmosphere anyone should have to put up with, and, further, the generally affluent people of Harvard and MIT, which the store was located right between, weren't accustomed to it.
I called this out in 2000, when I made Web page about assembling PCs, during the rise of Web ecommerce retail. https://www.neilvandyke.org/cheap-pc-2000/
> I actually spent a lot of time checking out the local vendors, but was generally dissatisfied, and used them only as a last resort. If you're in Cambridge, MA, USA, some vendors I looked at: PCs for Everyone (informative Web site, but long waits at their showroom, and they didn't have a floppy drive after I'd waited 30 minutes), MicroCenter (large superstore, mailorder generally has better prices, didn't have advertised CD-RW drives in stock, the three of the four things I bought there were somehow defective), BestBuy (very poor component selection, guards at the entryways), and CompUSA (smaller version of MicroCenter, guard at front door insists upon comparing every shopper's purchases to their receipt as they leave). So much for brick&mortar service.
> UPDATE 2018-12-10: MicroCenter brick&mortar has risen to the challenge, and is now my overall favorite source for PC parts.
That was the only time I’ve been asked to “sir, please keep your voice down” and “sir, we need you to leave”. I still think I was on the right side of that one.
My credit card company eventually handled it for me.
Jeff Duntemann? or was he the Pascal books guy?
Maybe Robert Lafore.
Let beginners cut their teeth on stuff like Python and Go. Rust can wait.
In comparison, Python, Go, Javascript and C# are all much easier to teach and leave students more able to make real software.
For all of Go's faults, "just send it over a channel bro" is easy to explain for trivial cases even if it often risks deadlocks and data races. To avoid the worst risks of this kind of code, Rust makes even trivial cases a big exercise. Go has an opportunity here to become more resistant to bugs without becoming less simple, but resistance to bugs doesn't appear to be a priority even for the Go team itself (e.g. even recently https://github.com/golang/go/issues/64474 )
Java as a first language: won't like the boilerplate but won't have any point of comparison anyway, will get a few NPEs, might use threads and get data races but won't experience memory unsafety.
Go as a first language: much less boilerplate, but will still get nil panics, will be encouraged to use goroutines because every tutorial shows off how "easy" they are, will get data races with full blown memory unsafety immediately.
Rust as a first language: `None` // no examples found
I think Go as a beginner language would be better if people were discouraged from using goroutines instead of actively encouraged (the myth of "CSP solves everything"), otherwise I think it needs much better tooling to save people from walking off a cliff with their goroutines. And no, -race clearly isn't it, especially not for a beginner.
And in one respect I've found Go more of a hazard for experienced devs than beginners: the function signature of append() gives you the intuition of a functional programming append that never modifies the original slice. This has literally resulted in CVEs[1] even by experienced devs, especially combined with goroutines. Beginners won't have an intuition for this and will hopefully check the documentation instead of assuming.
[1] https://github.com/grafana/grafana/security/advisories/GHSA-...
You must not be very familiar with Rust.
It does use features of C89 that may not compile after C99, but those aren't weird.
But, as someone who actually did try to use K&R to teach themselves to program, I agree it's not ideal for that. It's definitely not the best programming book ever, which some people say. The exercises are pretty good, though.
https://venkivasamsetti.github.io/ebookworm.github.io/Books/...
The pdf of the book at this link does not have the error (page 84),
https://seriouscomputerist.atariverse.com/media/pdf/book/C%2...
so hopefully it's just an issue with the pdf from the github link.
So someone will.
I remember transcribing code from the book to attempt to play a sound file when my program opened. I remember being stunned when it actually worked!
What an honor it has been to make a career in software development since.
For me my first programmed action was adding a button to a form, coloring it yellow, and having it exit program. I was absolutely shocked and geeked out.
Still just a hobby for me, but I have something in the works. I hope to share it with you all here soon.
If you google image search for 'aol progz' there are pictures of FateX, AOHell, Revolution, Icy Hot, Rampage Toolz. Crazy trip down memory lane!
Apparently we're not alone: "Steve Case Confirms Zuckerberg as Former AOL Hacker": https://patorjk.com/blog/2014/04/27/steve-case-confirms-zuck...
It connected me back to some of that magic.
The same magic at "computer fairs (faires)". That same magic when you happened across that other nerd in the college/school lab doing something cool and subversive.
For me it was dBASE III PLUS programmer's reference guide from 1987 and it imparted enough knowledge to start a programming career. Read that dog eared thing end to end and still have it in my book collection.
Thank you, Alan Simpson wherever you might be.
This is probably less common now, but remember not to laugh at young girls in the programming section of a bookstore. In the 90s, that was a pretty standard response: no advice, just incredulity.
I can't believe anyone needs a reminder to act like an actual human being, much less not to belittle someone -- anyone! -- who is interested in learning anything constructive.
Unbelievable that anyone, ever, would act that way.
Children/young adults aren’t even necessarily aware that their behaviour is inappropriate as it’s “normal” based on what they’ve seen happen around them their whole lives.
Adults should know better, but may do it anyway due to the human tendency to often dig their feet in, or consciously/actively do it for a reason which really has nothing to with the persecuted group.
Bigotry/racism/sexism persevere largely due to the above.
Another favorite book was Turbo Pascal DiskTutor.
My C++ book was C++ How to Program.
My particular life-changing book was the BASIC manual that came the C64.
This was then reinforced when (~8 years later) I got Turbo Pascal, and it came with everything needed to get up to speed, then further reinforced when I started with Linux in 1995, and discovered that manpages (and info) were installed that basically got me up to speed on everything needed to write programs for that system. Later, late-90s, ISTR reading through the EGCS manual front-to-back.
I miss the days when the software came with all information required, instead of simply requiring you to search google for a product page or a manual.
I guess in about 5 years I'll miss the ability to easily google stuff (which I used to get in manuals) because all the relevant information got posted to discord and remained unindexed.
In early 2000s I learned sockets programming on Linux and FreeBSD completely from the manpages. Later I got Stevens' book and got through it very quickly, thanks to having already tried the manpages and written a few programs.
When I was 16 I was looking at programming books at Borders and a guy handed me a copy of "The C Programming Language"; changed my life.
So much of my career has been shaped by running into developers or just people interested in programming out in the world.
Thanks.