Live data from Hacker News

On The Need For Understanding

blog.information-superhighway.net

41–49 of 49 posts

Re: On The Need For Understanding

#41

There are a few emotional trigger points that LLMs seem to cause in programmers and this is a common one -- the need for deep, first-principles understanding that LLMs make obsolete. One thing that gets me in a lot of pieces like this is they kind of assume people have no agency, that now that these tools exist we won't be able to help ourselves but use them despite our better judgement. The broader topic which I don…

> There are a few emotional trigger points that LLMs seem to cause in programmers and this is a common one -- the need for deep, first-principles understanding that LLMs make obsolete.

Is it also an "emotional trigger point" that causes people to treat their hunches as facts?

Re: On The Need For Understanding

#42

There are a few emotional trigger points that LLMs seem to cause in programmers and this is a common one -- the need for deep, first-principles understanding that LLMs make obsolete. One thing that gets me in a lot of pieces like this is they kind of assume people have no agency, that now that these tools exist we won't be able to help ourselves but use them despite our better judgement. The broader topic which I don…

> we won't be able to help ourselves but use them despite our better judgement.

Who is we, exactly. Programmers are very rarely the people that are making money in businesses that develop software. In fact they typically represent a massive expense. So in a huge portion of the cases 'we the programmer' will be told what to do in the sense they have to use LLMs to increase their productivity.

When looking at what we tell LLMs to do, you realize there are a lot of cases were humans have less agency than they think.

Re: On The Need For Understanding

#43
I feel weirdly fortunate I came up working on open source CMSes in the late 00's --- the docs were typically woefully inadequate, but it taught me to read source and then drop debuggers and trace to confirm my theories about how the source behaved. Often when I see programmers hit a wall, they are for some reason stuck on poking at the underlying code like a black box instead of just trying to understand it. And understanding complex code is hard intellectual work, but to me it's always been more fun than the guess and test of pretending the source is closed.

Re: On The Need For Understanding

#44
post #24

This article helped me understand something I've been grappling with for a while. I've been looking for the optimal game development environment for a while. That basically boils down to having batteries included. (I have the opposite of Jonathan Blow's situation, I need to be able to get up and running in a few hours for game jams.) But there seems to be this tension between convenience and control. Either APIs are…

"Progressive disclosure" is the name of the UX principle that aims to provide a continuum between the user need for simplicity versus fine-grained control.

Re: On The Need For Understanding

#45
This excellent article reminded me a lot of something I tried to get at a while back:

https://journal.stuffwithstuff.com/2010/11/26/the-biology-of...

When I wrote that article, it didn't seem to resonate with anyone at the time. I've been thinking about it more lately in the era of LLMs.

Re: On The Need For Understanding

#46
When documentation is lacking, if the 3rd party library is source-available then reading the source code is my next step. This almost never fails me. Source code is usually understandable, generally speaking many brilliant people have put in decades of effort to make source code and the tools we use that way. I've long considered that the ability to understand source code by sitting down and reading as the most important asset a developer could have. Given that, I wonder how the latest trend seemingly against understanding source code will turn out. Maybe it will turn out to be less important, who knows. But it is really weird to live through.

Re: On The Need For Understanding

#47
post #22
post #12

Earlier quoted context omitted.

What do you do to learn new programming construct? What did you do to learn programming - didn't you write #include int main() { printf("Hello World"); return 0; } while having no idea what 'stdio.h' is?

Funny you should mention hello world. Kernighan and Ritchie presented it in TCPL as a little anatomical diagram of close to the smallest possible functional C program with the different parts labelled. The first line is labelled "include information about the standard library". What this means in detail is explained in that chapter. Furthermore, if you were compiling on a Unix system, stdio.h was readily available as…

Not in my version: https://pasteboard.co/DWUSR9qHf8It.jpg

Re: On The Need For Understanding

#48
post #34
post #12

Earlier quoted context omitted.

What do you do to learn new programming construct? What did you do to learn programming - didn't you write #include int main() { printf("Hello World"); return 0; } while having no idea what 'stdio.h' is?

When you first learn anything you don't really understand it - that takes longer. When you learn woodworking you won't know why you have to hold the saw a certain way. When you learn chemistry you don't know how we know atoms exist. You start by doing the fun stuff and fill in the gaps later.

You can use vibe coding for learning. It is very effective.

Re: On The Need For Understanding

#49
post #24

This article helped me understand something I've been grappling with for a while. I've been looking for the optimal game development environment for a while. That basically boils down to having batteries included. (I have the opposite of Jonathan Blow's situation, I need to be able to get up and running in a few hours for game jams.) But there seems to be this tension between convenience and control. Either APIs are…

"Progressive disclosure" is the name of the UX principle that aims to provide a continuum between the user need for simplicity versus fine-grained control.

Also known as build the cockpit and use it to build things you want to do with the computer
Post reply on HN