Live data from Hacker News

Teach yourself programming in ten years (1998)

norvig.com

131–140 of 142 posts

Re: Teach yourself programming in ten years (1998)

#131

Earlier quoted context omitted.

Cutting-edge models are capable of much more than generating CRUD apps and understanding the details is orthogonal to whether you wrote the lines yourself or not.

Yeah, I disagree on the latter point by a lot :-). Really, is it truly "orthogonal"? Not really, you will understand the details better by writing them yourself. On your first point, they are pretty good at a lot of stuff, given that they have seen it before. A lot of the time, I'm writing code that no LLM has seen before. That sounds super smug, but it's "da tru tru".

I welcome you to prove this conjecture, otherwise it's just vibes.

> A lot of the time, I'm writing code that no LLM has seen before

I hear this tired point over and over from people who cannot fathom that others who use LLMs successfully could possibly also be working in a specialized domain. Frontier models are excelling at difficult, long-horizon tasks now. I write all sorts of esoteric stuff, and I can confidently hand a frontier model specification for a language it's never even seen before, working in a domain it's never encountered, and likely get good results, provided I have the knowledge and experience to guide the model.

The reality is that this "they are only good at things they have 'seen before'" talking point that often gets parroted is vaguely defined and largely based in opinion. Obviously, models perform worse when the input or expected output are out of distribution.

But this was much more true a couple years ago than it is today; the gap has closed considerably, and those who are learning to think deeply with these tools will be better positioned than those who arrogantly think that their process cannot be augmented by the most intelligent systems ever created.

Re: Teach yourself programming in ten years (1998)

#132

Earlier quoted context omitted.

It's like hiring someone to do part of your job for you, which is a rather proven approach to getting more done in less time. A proud tradition going back hundreds of thousands of years.

Except when you buy tokens instead of hiring someone, you buy Sam Altman a yacht instead of buying somebody dinner.

Yeah, though unfortunately paying anyone I know to fix my code sure isn't going to go nearly as well as asking Claude. Or at all.

A word of advice from an European: Tax the rich. Then you no longer have these problems. Even running a local model just shifts the yacht to Jensen Huang instead.

Re: Teach yourself programming in ten years (1998)

#133

Earlier quoted context omitted.

Yeah, I disagree on the latter point by a lot :-). Really, is it truly "orthogonal"? Not really, you will understand the details better by writing them yourself. On your first point, they are pretty good at a lot of stuff, given that they have seen it before. A lot of the time, I'm writing code that no LLM has seen before. That sounds super smug, but it's "da tru tru".

I welcome you to prove this conjecture, otherwise it's just vibes. > A lot of the time, I'm writing code that no LLM has seen before I hear this tired point over and over from people who cannot fathom that others who use LLMs successfully could possibly also be working in a specialized domain. Frontier models are excelling at difficult, long-horizon tasks now. I write all sorts of esoteric stuff, and I can confidentl…

This is HN, most of it is vibes. Lol, conjecture, touch grass man. I do PL research, it's not that good at that stuff, do you think I'm not trying using it?

Re: Teach yourself programming in ten years (1998)

#134

One of may favorite things to do was to spend some time tinkering around to learn a new programming language. I collected quite a few and it was fun to learn new paradigms and how to organize programs. But now since AI… idk I just can’t do it, it seems just completely useless in the age of AI. Like getting better at the technical aspects of programming just doesn’t feel important anymore. I don’t think I’ll ever be a…

I used to have this feeling, and I just got over this hurdle. I now continue coding by hand with zero AI usage. It's amazing how much better you feel when you get to use your brain. What really helped me was many perspective shifts perspective shift 1: the people that never cared about programming/engineering finally left the room. the people chasing the trends, trying to grift, or just after money are finally gone.…

> quality is an event that occurs before you mind has differentiated yourself from the thing subject/object you're admiring - and in that moment, quality arises from the care you give it. there must exists energy and care towards what you're doing for quality to arise. generating anything with AI will never bring that fruition.

This sounds very closely related to "ownership", something we've been trying to get rid of through agile/scrum and "bus factor" talk for over a decade.

Re: Teach yourself programming in ten years (1998)

#135

When I was 11, I pulled a book off the shelf at the nearby library called "Teach Yourself C++ in 21 Days". I remember thinking the title was clearly nonsense, but if I could even learn a fraction of it, that would be pretty cool. We didn't have a computer at home yet, so I wrote out the exercises by hand. I think I got about a third of the way through. I knew (debatably) what inheritance was, that a Dog is an Animal,…

I had this same book, only made it to chapter 3 or so (making an OK button) is how I remember it.

Ended up in Accounting, dabbled with Python and now back to programming with Cursor/Claude.

It did get me just far enough so I could see that computers were complicated but not actually magic and like you did change my life.

Re: Teach yourself programming in ten years (1998)

#136

One of may favorite things to do was to spend some time tinkering around to learn a new programming language. I collected quite a few and it was fun to learn new paradigms and how to organize programs. But now since AI… idk I just can’t do it, it seems just completely useless in the age of AI. Like getting better at the technical aspects of programming just doesn’t feel important anymore. I don’t think I’ll ever be a…

> learn a new programming language. I collected quite a few and it was fun to learn new paradigms Let's be honest here: how many actually distinct paradigms are we really talking about here? I challenge you to name more than 5 which are not just flavors of the same core approach. Bonus if they are actually all relevant for production software.

The two major distinctions in computer languages (in my opinion) are declarative and imperative.

For declarative, where you describe what you want, not how to get it, you have Prolog, Make and SQL (maybe others but I haven't heard of them). Yes, they technically aren't purely declarative as they usually have an escape hatch to imperative for performance reasons, but you can get quite far with them just in a declarative style.

The imperative, where you tell the computer how to do something, you have procedural (Pascal, Ada, C, BASIC, Cobol, Fortran) that's your classical programming style of actions working on data. There's object oriented (Smalltalk, Java, Erlang) which structures things a bit differently than procedural, where data is told what to do (via methods or message passing). Functional languages are more about avoiding globals and controlling side effects (and typically are lazily evaluated, but I don't think that's foundational to functional). You have concatenative (Forth, Postscript, Joy) which centers around a point-free style of programming (implicit data on the stack instead of explicit in variables) and data-flow (or array-centric) languages (APL, J, K) which work natively on array data.

Each of these paradigms have their pros and cons. Procedural if you have a lot of actions on a small set of types. Object oriented if you have a lot of types and a small set of actions. Functional if you want easy-to-reason about code. Data-flow to help with parallelism. Concatenative if you don't want to name piece of data. Declarative to have the computer figure things out for you. All of these I can see a reason to use in production.

Re: Teach yourself programming in ten years (1998)

#137

Earlier quoted context omitted.

Python, Go, Rust, Lua, Racket, and of course Pony. Python and Lua being probably the most similar of the bunch. The point is not that you would use any of these production (although you could), the point is to get your feet wet in a new setting. You see what's different and what's the same. I think it's a very important part of maturing as a programmer.

> Python, Go, Rust, Lua, Racket, and of course Pony. I was asking about paradigms. These are 6 languages and the distinct paradigms they cover are hardly 6. Unless we have different notions of what a paradigm is. I see imperative and functional paradigms covered in your list. Am I missing anything else? Object orientation could be counted as a separate paradigm but how much different that is from basic imperative pro…

That’s a fair point, they don’t really span the whole range of paradigms. I do think just looking at the paradigm is a reductive view.

All of those languages are very different in how they handle concurrency, safety, objects, meta programming, etc, in ways that force you to adapt how you approach and deconstruct problems. Certainly not as much as a whole different paradigm would, but still in ways that are valuable to explore.

Re: Teach yourself programming in ten years (1998)

#138

Earlier quoted context omitted.

I welcome you to prove this conjecture, otherwise it's just vibes. > A lot of the time, I'm writing code that no LLM has seen before I hear this tired point over and over from people who cannot fathom that others who use LLMs successfully could possibly also be working in a specialized domain. Frontier models are excelling at difficult, long-horizon tasks now. I write all sorts of esoteric stuff, and I can confidentl…

This is HN, most of it is vibes. Lol, conjecture, touch grass man. I do PL research, it's not that good at that stuff, do you think I'm not trying using it?

You're claiming that one cannot understand the details of well-documented and well-written code which they did not write themselves, and I'm pushing back asking for proof. We can move on from this though, I'm more interested in where you currently feel they fall short doing PL research. I think the state of frontier models today in this area is a lot better than it was even six months ago and I think there's still room for improvement.

Re: Teach yourself programming in ten years (1998)

#139
post #62

Earlier quoted context omitted.

I wonder if people writing these comments actually do this hands on. That's because I do and a one line fix rarely costs anything but cents. Unless you first need to let it figure out which line it is, but that's not a fair comparison because you'd also first need to find out. And if it takes you an hour then instead paying $10 could be a reasonable price to pay.

Only way it's costing $10 is if you're putting your whole code base in without without any work or guidance, which is what people who don't use AI day to day think is what happens.

It ain't gonna be 10 bucks for long

Re: Teach yourself programming in ten years (1998)

#140
post #113
post #105

good thing - these articles keep getting shared so often. yeah people's attention might be shot. but it's still a blessing to those who read it the first time, and the ones that re-read it. the unfortunate thing in the 'llm' era - we seem hell bent on destroying the foundations of knowledge.

> the unfortunate thing in the 'llm' era - we seem hell bent on destroying the foundations of knowledge. I disagreee with this. I personally have filled large gaps in my underlying concept knowledge through deep conversations with LLMs. Its so easy to learn huge amounts when you can pull on whatever thread that sparks your imagination. Just being able to keep drilling down into the core of a complex subject without h…

True! But it is also true that you learn better by doing yourself. The knowledge acquired by chatting endlessly is vast but shallow, that acquired by researching yourself and practicing is deep but narrow. We should be equally afraid of both.
Post reply on HN