Live data from Hacker News

Teach Yourself Programming in Ten Years (1998)

norvig.com

111–120 of 323 posts

Re: Teach Yourself Programming in Ten Years (1998)

#113

Earlier quoted context omitted.

It is a rapidly advancing field because it is young, so it makes sense that we’d accumulate a lot of ephemeral information. It feels like we’re still in the alchemist days. Eventually the chemists will come along. They’ll systemize our ad-hoc observations and jettison a ton of them. Until then… Neuton was an alchemist and he still made some pretty big contributions.

The chemists are already here, the Knuths and such - it's just being ignored or isn't directly "relevant" yet. It's like building buildings without "building science" - which, surprisingly, we have actually been doing in many ways to the current date . There aren't really formal schools of "be a carpenter and build a house" - it's all very master/apprentice even if it is not formally so everywhere. And since things l…

“Building Science” is normally called civil engineering.

Re: Teach Yourself Programming in Ten Years (1998)

#114

Earlier quoted context omitted.

The chemists are already here, the Knuths and such - it's just being ignored or isn't directly "relevant" yet. It's like building buildings without "building science" - which, surprisingly, we have actually been doing in many ways to the current date . There aren't really formal schools of "be a carpenter and build a house" - it's all very master/apprentice even if it is not formally so everywhere. And since things l…

“Building Science” is normally called civil engineering.

It's a term thrown around by various people to refer to "building houses with something slightly later than 1950s designs".

When people hear "civil engineering" they think "skyscrapers, bridges, roads" - this is more like "if you wrap a house in insulation, it's insulated better, but that can also cause moisture capture, which destroys it" type engineering.

Re: Teach Yourself Programming in Ten Years (1998)

#115

Earlier quoted context omitted.

It is a rapidly advancing field because it is young, so it makes sense that we’d accumulate a lot of ephemeral information. It feels like we’re still in the alchemist days. Eventually the chemists will come along. They’ll systemize our ad-hoc observations and jettison a ton of them. Until then… Neuton was an alchemist and he still made some pretty big contributions.

The chemists are already here, the Knuths and such - it's just being ignored or isn't directly "relevant" yet. It's like building buildings without "building science" - which, surprisingly, we have actually been doing in many ways to the current date . There aren't really formal schools of "be a carpenter and build a house" - it's all very master/apprentice even if it is not formally so everywhere. And since things l…

It's not in its infancy. The fundamental problems regarding algorithms and data structures, OS theory and formal language theory are well understood and have articles on Wikipedia. We know Amdahl's law, the CAP theorem and the ABA problem.

The problem is the explosive decentralised development of tools, languages and frameworks under a hyper-competitive neoliberal economic system. Someone invents a language to lock programmers to their platform. Another programmer creates a tool to transpile that language to their half-assed dialect of another language. This leads to a huge problem of entropy and inefficiencies at all levels.

Re: Teach Yourself Programming in Ten Years (1998)

#116

Earlier quoted context omitted.

It is a rapidly advancing field because it is young, so it makes sense that we’d accumulate a lot of ephemeral information. It feels like we’re still in the alchemist days. Eventually the chemists will come along. They’ll systemize our ad-hoc observations and jettison a ton of them. Until then… Neuton was an alchemist and he still made some pretty big contributions.

I agree with the first part, but not sure about the second. I believe software is much more engineering than science. The challenge is in organizing the bits. Most of the things learn, debate and design in software are more less arbitrary structures created to facilitate our own cognition. The hard science behind computers is much more cleanly abstracted away, compared to, for example, chemical engineering. For that…

A better analogy for software engineering is search. Given our current position and a desired change, we search for a solution in the fog. Analogies to other problem domains often fall short as search doesn’t feature as prominently.

Re: Teach Yourself Programming in Ten Years (1998)

#117

Earlier quoted context omitted.

Using ChatCPT to help you after you have been stuck and struggled would be equivalent to asking a senior. A senior might hallucinate an answer too, but either way you will get pointed in a generally useful direction. That’s usually all it takes But as a senior, I can’t imagine using an LLM at this stage for solving anything meaningfully complex.

A friend of mine in a senior role uses it all the time and says it 2-3x'd their productivity. He architects everything using experience but simple but time-consuming sub-routines are done via an LLM. He also uses it to create tests for his code and is quite happy with how it performs in these areas.

What language does he program in? ChatGPT and CoPilot have increased my productivity, sure, but I don't know if they've multiplied it by 2, and definitely not 3. I mostly program in Rust, and while they are good, they still often produce things that don't compile. Iterating back and forth to get something that works takes time, and it feels to me like sometimes doing it alone would've been almost as quick.

I could possibly be way off in my estimations, though. A true comparison would be having me do a task with and without it, but of course once I've done it once, the next time I will do it faster.

Re: Teach Yourself Programming in Ten Years (1998)

#119

Just doing something for 10 years doesn't make you an expert, I started coding 11 years ago- as a kid. But my knowledge became so diffuse across topics I was interested in that I never really became an expert in any of it.

You became an expert in learning a variety of topics

Re: Teach Yourself Programming in Ten Years (1998)

#120

I can't source the video that I watched 5-6 years ago [0] but it made a point about the increasing numbers of programmers and how the majority had less than 5 years of experience. It made sense in the context of IT/web continually having a larger involvement in our lives. [0] https://youtu.be/ecIWPzGEbFc?si=A4qBR2YdX-0CV2bM thanks to comment by wild_egg Can safely say after 20 years that there's maybe a bunch of info…

After 40 years of programming, 33 of that professionally, I can’t think of anything that was a waste to learn other than scrum. Syntax is something I never learned, I programmed with man pages and manuals open at all times. But every language and technology I learned taught me something useful about a fundamental problem in computing and systems. The way we address problems gets wrapped in different clothes but the p…

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 carpenter or mechanic but spending the majority of your time debugging, fixing, and communication with manufacturer's of broken or poorly working tools.

If only I got to spend my time writing interesting code and learning interesting things.

Post reply on HN