Live data from Hacker News

A coder considers the waning days of the craft

newyorker.com

911–920 of 1001 posts

Re: A coder considers the waning days of the craft

#911

It's quite amazing how divisive the AI topic turned out to be in HN. My opinion is that AI proponents extrapolate too much and too optimistically; they always assume linear or simply uninterrupted improvement, and they assume they breadth of AI will increase as well. I see no proof for any of those so far. Time will tell, obviously, and they may very well turn out to be correct. I just wonder why people get so worked…

AI proponents need to provide the equivalent of a JSfiddle or Codepen when saying "AI can fix this" on long-standing challenges. Something that shows a rough prototype of how AI would be used to solve the problem.

That would greatly help improve the perception of such people who otherwise sound like the mindless AI boosters posting shallow engagement-bait on Twitter.

Crypto-optimism has poisoned the well. Too much unchecked boosterism.

Re: A coder considers the waning days of the craft

#912

Today I already have trouble doing git archeology to understand why a piece of code was done in a certain way. Now imagine debugging more and more code that was created by LLMs. Debugging will become more of a voodoo witchcraft kind of thing. I pity anyone who decides to make a living out of that. Probably will earn a lot and die young.

Aren't we going to get copious amounts of documentation for free? To me chatGPT logs look like JIRA descriptions, commit messages, and basic design specs in disguise. And they are not optional anymore.

On a related note, I'd expect the "DSL+generated code" approach to grow in popularity for common domains. Think gRPC or JOOQ. A terse IDL snippet and you get a lot of functionality that you don't even need to test or even put under version control.

Re: A coder considers the waning days of the craft

#913

Earlier quoted context omitted.

It is especially sad that VC money is currently being spent on developing AI to eliminate good jobs rather than on developing robots to eliminate bad jobs.

I think the impact of AI is not between good jobs va bad jobs but between good workers and bad workers. For a given field, AI is making good workers more efficient and eliminating those who are bad at their jobs (e.g. the underperforming accountant who is able to make a living doing the more mundane tasks whose job is threatened by spreadsheets and automation)

I worry the effects this has on juniors…

Re: A coder considers the waning days of the craft

#914
post #258

Earlier quoted context omitted.

Spreadsheets didn’t replace accountants, however, it made them more efficient. I don’t personally believe AI will replace software engineers anytime soon, but it’s already making us more efficient. Just as Excel experience is required to crunch numbers, I suspect AI experience will be required to write code. I use chat-gpt every day for programming and there are times where it’s spot on and more times where it’s blat…

Spreadsheets actually did put many accountants and “computers” (the term for people that tallied and computed numbers, ironically a fairly menial job) out of business. And it’s usually the case that disruptive technology’s benefits are not evenly distributed. In any case, the unfortunate truth is that AI as it exists today is EXPLICITLY designed to replace people. That’s a far cry from technologies such as the teleph…

> Spreadsheets actually did put many accountants

https://cpatrendlines.com/2017/09/28/coming-pike-accountants...

Not really seeing any correlation in graduation rates. Excel was introduced in 1985. Every accountant had a computer in the 80s.

Re: A coder considers the waning days of the craft

#915
post #911

It's quite amazing how divisive the AI topic turned out to be in HN. My opinion is that AI proponents extrapolate too much and too optimistically; they always assume linear or simply uninterrupted improvement, and they assume they breadth of AI will increase as well. I see no proof for any of those so far. Time will tell, obviously, and they may very well turn out to be correct. I just wonder why people get so worked…

AI proponents need to provide the equivalent of a JSfiddle or Codepen when saying "AI can fix this" on long-standing challenges. Something that shows a rough prototype of how AI would be used to solve the problem. That would greatly help improve the perception of such people who otherwise sound like the mindless AI boosters posting shallow engagement-bait on Twitter. Crypto-optimism has poisoned the well. Too much un…

I've been saying the variations of the same and I'm always mercilessly down voted. Guess they have taken over HN?

Re: A coder considers the waning days of the craft

#916
> At one point, we wanted a command that would print a hundred random lines from a dictionary file. I thought about the problem for a few minutes, and, when thinking failed, tried Googling. I made some false starts using what I could gather, and while I did my thing—programming—Ben told GPT-4 what he wanted and got code that ran perfectly.

This is pretty basic stuff. It should not even require Googling unless you don't really know the language. This supports my belief that ChatGPT is simply going to replace the very bad programmers. But we never really needed them to begin with. I have no faith that GPT-4's code actually "ran perfectly"; this programmer clearly does not have the chops to tell whether or not the code was correct. And we're talking about, like, 100-level CS homework here.

Re: A coder considers the waning days of the craft

#917

Earlier quoted context omitted.

I'm not the person you're responding to, but here's an example of it failing subtly: https://chat.openai.com/share/4e958c34-dcf8-41cb-ac47-f0f6de... finalAlice's Children have no parent. When you point this out, it correctly advises regarding the immutable nature of these types in F#, then proceeds to produce a new solution that again has a subtle flaw: Alice -> Bob has the correct parent... but Alice -> Bob -> Alice…

I'm not really sure what I'm looking at. It seems to perform flawlessly for me... when using Python: https://chat.openai.com/share/7e048acb-a573-45eb-ba6c-2690d2... I only made two changes to your prompt: one to specify Python, and another to provide explicit instructions to trigger using the Advanced Data Analysis pipeline. You also had a couple typos. I'm not sure if "Programming-like tool that reflects programming…

F# fields are immutable unless you specify they are mutable. The question I posed cannot be solved with exclusively immutable fields. This is basic computer science, and ChatGPT has the knowledge but fails to infer this while providing flawed code that appears to work.

An inexperienced developer would eventually shoot themselves in the foot, possibly long after integrating the code thinking it was correct and missing the flaws. FYI, your Python code works because of the mutation "extend()":

    alice.children.extend([bob, carol])

Re: A coder considers the waning days of the craft

#918

Earlier quoted context omitted.

I'm not the person you're responding to, but here's an example of it failing subtly: https://chat.openai.com/share/4e958c34-dcf8-41cb-ac47-f0f6de... finalAlice's Children have no parent. When you point this out, it correctly advises regarding the immutable nature of these types in F#, then proceeds to produce a new solution that again has a subtle flaw: Alice -> Bob has the correct parent... but Alice -> Bob -> Alice…

>F# Barely exists in training data. Might as well ask it to code some microcontroller specifically assembly, watch it fail and claim victory.

> Barely exists in training data.

Irrelevant - this is basic computer science. As far as I know, you can't create a bidirectional graph node structure without a mutable data structure or language magic that ultimately hides the same mutability.

The fact that ChatGPT recognizes the mutability issue when I explain the bug tells you it has the knowledge, but it doesn't correctly infer the right answer and instead makes false claims and sends developers down the wrong path. This speaks to OP's claim about subtle inaccuracies.

I have used ChatGPT to write 10k lines of a static analyzer for a 1k AST model definition in F#, without knowing the language before I started. I'm a big fan, but there were many, many times a less experienced developer would have shot themselves in the foot using it blindly on a project with any degree of complexity.

Re: A coder considers the waning days of the craft

#919

Earlier quoted context omitted.

What makes you say that? There are constant improvements in how they’re being trained and what they’re being trained with; there really isn’t any particular reason to believe we’re at a maxima. Especially with multimodality being introduced!

My understanding is that essentially they have been trained on everything (meaning the whole internet), so there is not much left except niche sources adding incremental benefit. But granted I can imagine the data being used more effectively for training, though I doubt there would be a step change in capabilities coming from that - my suspicion is that as well as the data, the techniques have reached a maximum or cl…

There's still plenty of data out there, including in other languages and undigitised books - and that's before you get to data in other modalities, like speech and videos. Synthetic data can also be used quite effectively if you're trying to distill a model instead of trying to grow capabilities, as Phi-1.5 demonstrates.

For capability growth, well, we don't know what we don't know. There are still many unknowns when it comes to architecture, training, data, modalities, incremental learning, alignment, self-critique, and more. There's plenty of companies and governments trying to find their angle here.

Even if we're at the very peak of what LLMs are capable of -- which seems unlikely -- there's still potentially decades of research in making what we have more effective.

Re: A coder considers the waning days of the craft

#920
post #6

Maybe I’m in the minority. I’m definitely extremely impressed with GPT4, but coding to me was never really the point of software development. While GPT4 is incredible, it fails OFTEN. And it fails in ways that aren’t very clear. And it fails harder when there’s clearly not enough training resources on the subject matter. But even hypothetically if it was 20x better, wouldn’t that be a good thing? There’s so much of t…

> Maybe I’m in the minority. I’m definitely extremely impressed with GPT4, but coding to me was never really the point of software development.

I've come to state something like this as "programming is writing poetry for many of your interesting friends somewhere on the autistic spectrum". Some of those friends are machines, but most of those friends are your fellow developers.

The best code is poetry: our programming languages give a meter and rhyme and other schemes to follow, but what we do within those is creative expression. Machines only care about the most literal interpretations of these poems, but the more fantastic and creative interpretations are the bread and butter of software design. This is where our abstractions grow, from abstract interpretations. This is the soil in which a program builds meaning and comprehension for a team, becomes less the raw "if-this-then-that" but grows into an embodiment of a business' rules and shares the knowledge culture of the whys and hows of what the program is meant to do.

From what I've seen, just as the literal interpretations are the ones most of interest to machines, these machines we are building are most good at providing literal interpretable code. There's obviously a use for that. It can be a useful tool. But we aren't writing our code just for the solely literal minded among us and there's so much creative space in software development that describes/neeeds/expands into abstraction and creative interpretation that for now (and maybe for the conceivable future) that still makes so many differences between just software and good software (from the perspectives of long-term team maintainability, if nothing deeper).

Post reply on HN