Live data from Hacker News

Teach Yourself Programming in Ten Years (1998)

norvig.com

311–320 of 323 posts

Re: Teach Yourself Programming in Ten Years (1998)

#311
post #200

I bought a copy of "Sams Teach Yourself C++ in 24 Hours" at a CompUSA in 1999. The guy at the checkout looked at it, laughed, and told me about this article. 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. Th…

For me it was "Visual Basic Professional 3.0 Programming by Thomas W. Torgerson" from Barnes and Nobles in 1997. I had downloaded Visual Basic 3.0 from 100 different email attachments on AOL and wanted to learn how to make punters/progs. 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…

Bro you and I had the same origin story. Remember Rampage Toolz!?? I ended up learning a lot from that author. Winsock.

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.

Re: Teach Yourself Programming in Ten Years (1998)

#312
post #200

Earlier quoted context omitted.

For me it was "Visual Basic Professional 3.0 Programming by Thomas W. Torgerson" from Barnes and Nobles in 1997. I had downloaded Visual Basic 3.0 from 100 different email attachments on AOL and wanted to learn how to make punters/progs. 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…

Bro you and I had the same origin story. Remember Rampage Toolz!?? I ended up learning a lot from that author. Winsock. 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.

Funny I was just searching youtube for any videos of VB 3.0 found this guy going through his old programs: https://www.youtube.com/watch?v=hKctfEqXVZ4

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...

Re: Teach Yourself Programming in Ten Years (1998)

#313

Earlier quoted context omitted.

What are the typographical errors? I didn't think it had any. 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.

In the section on Pointers and Addresses there are a few spots where the pointer or dereference operator is not included in the code examples.

Sorry for the late reply. Could you specify some page numbers as examples? (There's only one version of the book, so the pages are all the same.)

Re: Teach Yourself Programming in Ten Years (1998)

#314
post #208

Earlier quoted context omitted.

One of the hills on which I am prepared to die on is that "The C Programming Language" is the best programming language book I've ever read. Every developer should read it and learn C at least once, even if they promptly forgot it all.

You’re not going to die on that hill. There are so many people that share your opinion that you might have trouble finding space, but you’re not going to die on that hill.

suffocation can also be a reason for death

Re: Teach Yourself Programming in Ten Years (1998)

#315
post #304

Earlier quoted context omitted.

At least in woodworking, tool setup and maintenance is a significant portion of the craft.

That's true, but the tools work for their given purpose. If only software tools required basic setup and maintenance.

Yeah, it’s not quite the same.

On the other hand the tools are mostly very simple and highly standardized. The simple tools are applied to the problem through a combination of applied experience and constructed jigs. I guess the equivalent in the software world would be classic non-fat Unix as your base tools, and building your own libraries and toolkits as your jigs (no or very limited third party deps), while aggressively avoiding complexity. You’ll get reliability this way; of course, there are serious tradeoffs.

Don’t misunderstand me, though. I agree that the modern software treadmill is horrible and needs to be tamed.

Re: Teach Yourself Programming in Ten Years (1998)

#316
post #304

Earlier quoted context omitted.

At least in woodworking, tool setup and maintenance is a significant portion of the craft.

That's true, but the tools work for their given purpose. If only software tools required basic setup and maintenance.

You know, I'd actually like to add to my earlier comment.

> Yeah, it’s not quite the same.

I actually don't know quite why I wrote what I did, because the concession really isn't true. I can only imagine we were discussing some romanticized view of the subject. My own experience, however, shows that reality is otherwise.

Cheap tools usually don't work well or last; you end up constantly complaining about them and constantly replacing them. This is true whether you're talking about power tools or simple hand tools. (How much do you pay for most of the software and libraries that you use?)

For the hand tools --- some things like hammers basically work, but other things, unexpectedly, do not. Handsaws and handplanes are two good examples of simple tools that are fundamentally broken from the manufacturer, and in many cases simply cannot be fixed due to design. Other tools can be salvaged, but don't work out of the box. You can shell out inordinate amounts of money to a company like Lie Nielson, or hope to get lucky on the purchase of an antique, but the typical products you might expect to work, don't.

For power tools, the cheaper tools might technically do a job, but they often function in ways which are detrimental to the work or to personal safety, and don't last long.

You might think the solution is to spend more money for quality tools, but this doesn't always work out either. I'm thinking of a DeWalt biscuit joiner and a Makita pin-nailer; both are well-respected brands for "real contractors" who rely on their tools and expect them to work. The Makita pin-nailer doesn't load its nails right, so I have to futz with it after every nail --- which kind of defeats the purpose of the tool (it didn't do this originally, but it didn't take much use before the problem developed). The biscuit joiner, despite being a well respected model, cuts slots that have so much slop in them that there's no point in using the tool at all.

Now lets talk about machines briefly. My radial arm saw (no longer a common tool, but once quite common both in homes and on jobsites) cannot be calibrated to proper specifications. One of the adjustments cannot be made to spec and it throws off several of the others. The result is a tool that, while useful, is only half-functional. I have theories, but don't know exactly what is causing the issue (I got it second-hand); I would need to completely tear it down and grok the entire design, then rebuild it, to properly fix the issue. By the way, the calibrations it does have need to be periodically checked and corrected (the RAS takes a lot of flak for this, but I find this is true of any machine with adjustments).

This is usually about the time where the internet gets up in arms and tells you to throw away the RAS and use a table saw, so lets talk about my table saw --- the fence can't be calibrated to lock parallel to the miter slots. I don't think the fence is broken by design, but I don't know exactly what's wrong. The calibration process is logical, it just inexplicably doesn't work. I suspect one of the fence rails may be slightly out of alignment. I could fix this by building my own high-quality fence system --- I have the skills --- but this is analogous to throwing out your third party library or tool and writing your own.

In all of the above cases concerning power tools, the answer is maintenance/repair, but in all cases (aside from building a new fence), it is not the work I want to be doing, nor is it work in which I am experienced, nor is the necessary work obvious through casual investigation.

Of course, I have plenty of tools that work great and never give me trouble, other than periodic maintenance, but it's the problem tools that stand out. Software is the same for me; most of it works fine, some of it breaks down due to bit rot (maintenance required), some of it is broken from the manufacturer (out-of-box repairs required), and some of it is just piss-poor in design (see hand tools above).

I still hate the treadmill just as much as you appear to, but romanticizing the life of a tradesman is probably a mistake. Entropy is everywhere, poor design and unfortunate occurrences are everywhere. I don't know if you have any personal insight into the life of a tradesman, but they deal with all kinds of BS, from all angles, that just isn't commonly discussed outside the field in question.

=== Addendum:

I keep mentioning software libraries, but those really aren't tools. They're more analogous to prefab construction components, so in that case we could talk about items such as pre-hung doors and prefab cabinetry that is supposed to save time and require less skill to install. That's great, until you discover that the item was assembled out of alignment at the factory, defeating the entire purpose. I could go on ad nauseam, but I imagine you probably get the point by now...

God, it's all just miserable and depressing when you really start digging into it, isn't it?

Re: Teach Yourself Programming in Ten Years (1998)

#317
post #184

I am quite impressed that the ancient Amazon.com link [0] on the page (with quite a few non-trivial query params) still returns relevant results today. A good case of Cool URIs don't change [1]. [0] http://www.amazon.com/gp/search/ref=sr_adv_b/?search-alias=s... [1] https://www.w3.org/Provider/Style/URI

Funny, because the Amazon link returns an error for me.

The first result is coding with Roblox Lua for me!

Re: Teach Yourself Programming in Ten Years (1998)

#318
post #158

Earlier quoted context omitted.

Fundamentals don't change. Sure there's a new frontend framework every week but they're all just generating html.

It's often hard to tell what information is truly fundamental, and what will age badly. I look at many books of software engineering that were popular in the early 2000s, like The Pragmatic Programmer, Agile Software Development or the Design Patterns book by the gang of 4. Those books aren't taking about technologies that we expected to be superceded in 5 years. And yet, a lot of the text regarding object orientatio…

I'm sure whatever you were using to write GUIs was still just rendering nested rectangles and styling them.

Re: Teach Yourself Programming in Ten Years (1998)

#319

Earlier quoted context omitted.

In the section on Pointers and Addresses there are a few spots where the pointer or dereference operator is not included in the code examples.

Sorry for the late reply. Could you specify some page numbers as examples? (There's only one version of the book, so the pages are all the same.)

Looks like I downloaded a bad copy... the following has an error at the top of page 87 (there are a few other errors in the same chapter but I don't have my notes handy)

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.

Post reply on HN