3 ms·
Perhaps I'm hopelessly out of touch with pragmatism, but I think Dijkstra's comments would still be applicable even if we could trust GPT to write code correctl
by agalunar 3y ago
Perhaps I'm hopelessly out of touch with pragmatism, but I think Dijkstra's comments would still be applicable even if we could trust GPT to write code correctly.
Getting some task done is only half the reason I write programs, even professionally; just as important (if not more important) to me is that I understand something precisely and completely. Writing a program is how I do that. That program is usually in the form of code.
Programs aren't just a means to an end, they're an end unto themselves. Or more correctly, a precise and complete understanding of a problem and its solution is a desirable even if it's unnecessary for the task immediately at hand.
Although I do mean that understanding is valuable in the way that art or music are valuable, or that education is valuable [1], I also mean it's more valuable than any particular program that's a product of it (and I think there are practical reasons why [2]).
[1] https://college.uchicago.edu/student-life/aims-education-address-2002-andrew-abbott https://college.uchicago.edu/student-life/aims-education-add... or https://home.uchicago.edu/~aabbott/Papers/aims2.pdf https://home.uchicago.edu/~aabbott/Papers/aims2.pdf
[2] https://pablo.rauzy.name/dev/naur1985programming.pdf https://pablo.rauzy.name/dev/naur1985programming.pdf
- namaria 3y agoI see the same issue with the interminable line of todo list apps, mental map apps. They confound the utility of the process - surveying my immediate responsibilities and ranking them, connecting concepts being learned in a new domain - with the product. In my view it has to do with a 'productivity fetish'. We feel like we need to be always outputting something, when the real goal often is to internalize concepts.
- tinus_hn 3y agoIn the meantime we’re using programming languages that cause us all kinds of problems because there’s a ton of constructs that cause undefined behavior.