Live data from Hacker News

I want to be a Journey Programmer Again

hexhowells.com

41–50 of 79 posts

Re: I want to be a Journey Programmer Again

#41
post #6

Feels like we're heading towards a world where computer languages disappear, and we just use human language to tell machines what to do. Kinda like how typewriters got replaced by computers in the 80s. Back then, people spent so much time making sure there were no typos, they'd lose focus on the actual story they were trying to write. Same thing's happening now with code. We waste so much time dealing with syntax, fi…

> Back then, people spent so much time making sure there were no typos, they'd lose focus on the actual story they were trying to write. Were you a published author in the 80s? Because I highly doubt this was how writers in 80s thought of their job.

No, but I've studied the history of computers and keyboards. There's plenty of evidence that writing with typewriters was much slower than using a computer. Writers were also more limited creatively, since they couldn't easily edit or move things around once the page was written.

Re: I want to be a Journey Programmer Again

#42
post #41

Earlier quoted context omitted.

> Back then, people spent so much time making sure there were no typos, they'd lose focus on the actual story they were trying to write. Were you a published author in the 80s? Because I highly doubt this was how writers in 80s thought of their job.

No, but I've studied the history of computers and keyboards. There's plenty of evidence that writing with typewriters was much slower than using a computer. Writers were also more limited creatively, since they couldn't easily edit or move things around once the page was written.

Slow doesn’t necessarily mean less creative. In fact it’s been argued that being slow and deliberate actually pulls you out of automated patterns of thinking and gives you time to mull over what you want to say.

This is even enhanced when you create a superficial barrier such as writing in all caps.

Re: I want to be a Journey Programmer Again

#43

Earlier quoted context omitted.

Perhaps solving the real problem implies using programming languages?

Or perhaps it doesn't. An architect also solves a real problem, even though he's not laying brick.

I think this is a good point. But just as we see in the real world the execution of the architect's solution is often sub par, so the "debugging" involves both architectural specs as well as builder's execution.

I think that in programming we will still have to understand the builder's execution, which should remain deterministic, hopefully not at the level of assembly.

Re: I want to be a Journey Programmer Again

#44
post #9
post #6

Feels like we're heading towards a world where computer languages disappear, and we just use human language to tell machines what to do. Kinda like how typewriters got replaced by computers in the 80s. Back then, people spent so much time making sure there were no typos, they'd lose focus on the actual story they were trying to write. Same thing's happening now with code. We waste so much time dealing with syntax, fi…

As much as I'm finding LLMs incredibly useful, this "world where computer languages disappear" doesn't resonate with me at all. I have yet to see any workflows where the computer language is no longer a critical piece of the puzzle, or even significantly diminished in importance. I think there is an important difference between LLM-interpreted English, and compiler-emitted Assembly, which is determinism. The reason w…

I predict we enter a world where these wand waving prompts are backed by well-structured frameworks that eliminate the need to dig in the code.

Originally I thought LLMs would add a new abstraction layer, like C++ -> PHP, but now I think we will begin replacing swaths of "logically knowable" processes one by one, with dynamic and robust interfaces. In other words, LLMs, if working under the right restrictions, will add a new layer of libraries.

A library for auth, a library for form inputs, etc. Extensible in every way with easy translation between languages. And you can always dig into the code of a library, but mostly they just work as-is. LLMs thrive with structure, so I think the real nexy wave will be adding various structures on top of general LLMs to achieve this.

Re: I want to be a Journey Programmer Again

#45

Earlier quoted context omitted.

Perhaps solving the real problem implies using programming languages?

Or perhaps it doesn't. An architect also solves a real problem, even though he's not laying brick.

It is the blueprints (the detailed design, plans sections etc) that is analogous to code, not bricks. Software designers (compared to building designers) are lucky that the process of turning design (code) into artifact (running software) is virtually free in terms of cost and time. However software designers are unlucky that what they do is so misunderstood - not least by them themselves.

Re: I want to be a Journey Programmer Again

#46
I love solving problems, ideally with somewhat creative solutions. Code is one way of accomplishing that, and there are many fun parts to that process. The composition of functionality, the design and structure and so on. The most enjoyment however I get from getting something solved, and if I have to leave the intricate dance with the code to the machine to get there faster and often better, I'll happily do it.

Re: I want to be a Journey Programmer Again

#47
I could never relate to the programmers who wrote code for the sake of writing code. I write a lot of code, but for me the code is a means, not an end.

So I look at tools like LLMs as just the latest incarnation of tools to reduce the number of hours the human has to spend to get to the end.

When I very first started programming, a very long time ago, the programmer actually had to consider where in memory, like at what physical address, things were. Then tools came along and it’s not a thing. You were not a programmer unless you knew all about sorting and the many algorithms and tradeoffs involved. Now people call sort() and it’s fine. Now we have LLMs. For some things people think they’re great. Me personally I have not found utility in them yet (mostly because I don’t work on web, front end, or in python) but I can see the potential. But dynamic loaders and sort() didn’t replace me, I’m sure LLMs won’t either, and I’ll be grateful if it helps me get to the end with less time invested.

Re: I want to be a Journey Programmer Again

#48
post #6

Feels like we're heading towards a world where computer languages disappear, and we just use human language to tell machines what to do. Kinda like how typewriters got replaced by computers in the 80s. Back then, people spent so much time making sure there were no typos, they'd lose focus on the actual story they were trying to write. Same thing's happening now with code. We waste so much time dealing with syntax, fi…

English is not well-specified or unambiguous. Programming languages aim to be. This is a massive difference. Recall that laws are specified in English.

Re: I want to be a Journey Programmer Again

#49

Does this not just prove how much the software industry has ignored building "boring" libraries for decades? Why do we want this stuff to be written by AI?

In my opinion, this falls into the "apologies the letter is so long, I did not have time to write a shorter one" camp because turning boring stuff into a write-only approach via an intern doing codegen is way easier than doing the deep thinking required to make a good, secure, stable library for just about anything

Re: I want to be a Journey Programmer Again

#50
post #8

Let me share a problem I solved recently (well, a year ago god I'm getting old)! I had to write this template loader for my space sim... reference resolution, type mapping, and YAML parsing. This isn't the code I wanted to write. The code I wanted to write was behavior trees for AI traders, I'm playing with an idea where successful traders can combine behavior trees yada yada, fun side project. But before I could tou…

OP here, I whipped this up in like 10 minutes after modelling the problem from a new perspective (I want to be less of a perfectionist with my blogs) so there are definitely grey areas I didn't consider/cover. I do think LLMs can be good for certain boilerplate code whilst still allowing you to enjoy the problems you care about, and as far as my binary definitions this is more of a grey area. I guess for me, this has…

Maybe you could ask the LLMs to stub out whatever you consider fun leaving you with a LeetCode style problem to solve. I could see that being fun. I actually really like LeetCode in the same way some people like doing Sunday crossword puzzles.
Post reply on HN