Live data from Hacker News

Teach Yourself Programming in Ten Years (1998)

norvig.com

161–170 of 323 posts

Re: Teach Yourself Programming in Ten Years (1998)

#161
post #120

Earlier quoted context omitted.

I feel most of my time as a professional software engineer has been learning stuff that I didn't need to. And I would argue that the majority of debugging time goes into debugging external code from libraries, the language itself, company-provided platforms, code, libraries, DLLs, experimentally figuring out how to use a system or tool that isn't documented, and more. It's pretty miserable. It'd be like being a carpe…

All of these things are the craft of software. If you don’t find figuring out how to efficiently debug and understand things that are complex you’re probably in the wrong field. The point isn’t that day to day is full of brilliant insight, but that process year over year you become really adept at these things you’re struggling with and you see patterns more clearly and can cut through the struggle faster and focus m…

“When art critics get together they talk about Form and Structure and Meaning. When artists get together they talk about where you can buy cheap turpentine.” ― Pablo Picasso

Re: Teach Yourself Programming in Ten Years (1998)

#162
post #97

Earlier quoted context omitted.

> I can’t think of anything that was a waste to learn other than scrum. Believe me, I have plenty of criticisms of that entire culture but it has a lot of good ideas. What in particular (besides the obvious overwrought ceremony) do you find not worthwhile?

The more skilled I become over the decades the more I prefer either Hickey’s hammock-driven development or a simple kanban setup.

Thank you for this recommendation. I've never heard of it before and now I'm reading: https://github.com/matthiasn/talk-transcripts/blob/master/Hi...

It's giving me energy this Monday holiday(USA)!

Re: Teach Yourself Programming in Ten Years (1998)

#163

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…

I miss CompUSA.

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.

Re: Teach Yourself Programming in Ten Years (1998)

#164
post #102
post #73

This essay holds a special place in my heart, since I first read it as a teenager when I was just starting to learn to code. Re-reading it now, I was surprised to see references to Malcom Gladwell, since I didn’t remember Outliers becoming a thing until much later. Then when I saw the reference to Ratatouille, I realized the article had been updated since its posting in 1998. The original is still available on archiv…

I can see myself now, reading this in the university library computer lab a decade ago. And now I've taught myself programming. The journey was much more difficult and winding than I was imagining it back then!

As someone who doesn't have a traditional CS background and is on a similar journey, I'd love to know: do you have any advice or insights to share?

Re: Teach Yourself Programming in Ten Years (1998)

#165

It's never been easier then now. For example, if you want to learn how to make games... There's a guy on youtube called clearcode. He will teach you how to make games, in a Bob Ross voice...pretty much from scratch. You can also use ChatGPT to help you out. The resources for learning are so much better. Socratic method of just asking questions is now possible with AI. I think Sam Altman said that he is seeing x3 prod…

Personally, I’d like to see the data/research behind the “3x” claim to buy it. Especially when it is hard to imagine Sam Altman as an unbiased observer when it comes to benefits of AI.

One angle to these multipliers would be this: A generalist programmer can take other tasks of sw-engineering than just programming with the support of ChatGPT. Like DevOps, DBA and test-automation. For small team or company that is then actually saving or postponing FTE hires

Re: Teach Yourself Programming in Ten Years (1998)

#166

Earlier quoted context omitted.

Then there's C++. After ~30 years of it, I realized that I don't know how to initialize an object anymore. So I've given up.

I've been doing C++ since 93. What's changed that makes you feel this way?

Everything, man. Everything.

From the perspective of pulling some C++ programmer in 1993 into 2024, and dropping them into a large C++ code base consistently written with the latest C++ idioms.

(And yes, this is humorous exaggeration. But the name of C++ is apt. A C language dedicated to accumulating features.)

Re: Teach Yourself Programming in Ten Years (1998)

#167
post #28

> The key is deliberative practice: not just doing it again and again, but challenging yourself with a task that is just beyond your current ability, trying it, analyzing your performance while and after doing it, and correcting any mistakes. Then repeat. And repeat again. I think this is the really important part, you have to challenge yourself and go outside of your comfort zones to keep learning.

I wonder how people’s learning habits will change with AI tools like GitHub Copilot. I used it for several months but randomly got logged out and am now finding myself valuing the slight inconvenience of looking up official documentation (and surprised how much more sluggish I felt for the first week). Going through extra steps to learn something through primary sources and valuing being uncomfortable at times are im…

I've worked with a fair number of less experienced, ChatGPT focused engineers and they aren't all that different from the Java engineers of yore that were completely helpless outside of an IDE and could only work extending existing code. These latter engineers where the exemplar "blub" programmers from PG's famous essay [0].

But clearly using an IDE does not make one a bad programmer any more than using ChatGPT will in the future. The bigger issue is the field is awash in people not really interested in programming. There's nothing wrong with this as everyone has to make a living, but this has a far bigger impact on the quality of engineers out there than the nature of the tools used.

Not long ago I was at a hip Bay Area startup and I don't think any of my coworkers, senior or otherwise, spent a second of their free time thinking about programming. For me I program for a living because it's great to get paid to do my hobby during the day. Getting started in the field during the shadow of the dotcom bust, the majority of the senior engineers that inspired me were likewise obsessed with programming and would be programmers even if it paid minimum wage. I don't think I would have necessarily become a programmer today since I wouldn't have been near enough the flame to ignite my own spark.

0. https://paulgraham.com/avg.html

Re: Teach Yourself Programming in Ten Years (1998)

#168
post #158

I am at times more of a book learner, but find that attitude is often more helpful for non-CS disciplines that change slower (eg, math/physics). A recent negative book example for me is the Quantum Programming book from O'Reilly. I found that it did not discuss quantum circuits in a detail that helped me really understand what I was doing -- though I suppose that is a conceit of quantum computing. Perhaps I will retu…

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

+1. What are the fundamentals of CS? Algorithms?

Re: Teach Yourself Programming in Ten Years (1998)

#169
post #158

I am at times more of a book learner, but find that attitude is often more helpful for non-CS disciplines that change slower (eg, math/physics). A recent negative book example for me is the Quantum Programming book from O'Reilly. I found that it did not discuss quantum circuits in a detail that helped me really understand what I was doing -- though I suppose that is a conceit of quantum computing. Perhaps I will retu…

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

Yeah, I'm comfortable buying a book on C/C++, or Swift even, but for React or Vue or whatever, I'm buying a digital copy.

Re: Teach Yourself Programming in Ten Years (1998)

#170
post #158

I am at times more of a book learner, but find that attitude is often more helpful for non-CS disciplines that change slower (eg, math/physics). A recent negative book example for me is the Quantum Programming book from O'Reilly. I found that it did not discuss quantum circuits in a detail that helped me really understand what I was doing -- though I suppose that is a conceit of quantum computing. Perhaps I will retu…

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

Just for the moment, consider the idea of implementing the requirements shown in the figure using a network of connected microcomputers, one microcomputer per bubble.

Structured Analysis and System Specification, Tom DeMarco, 1978.

Post reply on HN