Live data from Hacker News

Learn to code, ignore AI, then use AI to code even better

kyrylo.org

131–140 of 150 posts

Re: Learn to code, ignore AI, then use AI to code even better

#131

If nobody learns to code, who will program new AI systems?

Even worse: Who will produce new training data? If everyone only uses AI, then nothing new will be invented. Quality will stagnate or go downhill. It cannot get better

But haven't you heard? AI gets better every month! It's just like Moore's Law and it will keep getting better because why wouldn't it? It's not like there is a dead-end to something fundamentally built around categorization and regurgitation of existing things.

(Noting this is all sarcasm in case I didn't lay it on thick enough)

Re: Learn to code, ignore AI, then use AI to code even better

#132

There are a lot of reasons I dislike the use of LLMs in software, one of which is that I think it's absurd to claim that using such fuzzy and imprecise tools and methods should be considered engineering... But to be honest, I think the main thing is that they just absolutely suck the joy and fun out of an activity. I like writing, I like coding, these are things that I do at least in part because I get some kind of d…

You seem to be saying that you’re more interested in writing code than understanding problems and designing architectural solutions to them that exploit the best available tools to help create the actual code. Which may be LLMs (to some degree) at this point.

But maybe that’s not your intent.

Re: Learn to code, ignore AI, then use AI to code even better

#133
post #82

Earlier quoted context omitted.

You could also be a mixed skilled developer. Good at regular code, architecture, and algorithms but not as familiar with a given UI framework. Having the LLM generate the html and css for a given layout description saves a lot of time looking through the docs.

Does it really? The thing is that there’s a domain model beneath each kind of library and if they solve the same problem, you will find that they will generally follows the same pattern. Let’s take the web. React, Svelte, Angular, Alpine.js, all have the same problems they’re solving. Binding some kind of state to a template, handling form interactions, decompose the page into “components”,… once you got the gist of…

Using myself as an example -- I'm a long time C programmer (occasionally in a professional setting, mostly personal or as a side-item on my primary professional duties). I've picked up other languages through the years, had to deliver a web based application a few years ago so I did a deep-dive into html5, css3, and javascript. Now javascript has evolved since then, and I lost a bit of what I learned.

So now I want to do a new web application -- If I fall back on my C roots, my Javascript looks a lot like C. Example: adding an item to an array. The C style in Javascript would be to track the length of the array in another variable "len", and do something like myarray[len++] = new_value;

I can feed this into an LLM, or even say "Give me the syntax to add a value to an array", and it gives me "myArray.push(newValue)", which reminds me that "Oh yeah, I'm dealing with a functional/object oriented language, I can do stuff like this". And it reminds me that camelCase is preferred in Javascript. (of course, this isn't the real situation I've run into, just a simplified example -- but I really don't have all the method names memorized for each data type. So in that manner it is useful to get more concise (and proper) code.

Re: Learn to code, ignore AI, then use AI to code even better

#134
post #114

The only people saying this kind of thing are coders desperate to stay relevant. There is no future in coding. Its gone in a few years. Instead begin learning the skills required to work with AI to get it create what you want.

https://news.ycombinator.com/item?id=43504924

I run a software development business. I know as good as anyone where things are headed

Re: Learn to code, ignore AI, then use AI to code even better

#136

Earlier quoted context omitted.

Does it really? The thing is that there’s a domain model beneath each kind of library and if they solve the same problem, you will find that they will generally follows the same pattern. Let’s take the web. React, Svelte, Angular, Alpine.js, all have the same problems they’re solving. Binding some kind of state to a template, handling form interactions, decompose the page into “components”,… once you got the gist of…

Using myself as an example -- I'm a long time C programmer (occasionally in a professional setting, mostly personal or as a side-item on my primary professional duties). I've picked up other languages through the years, had to deliver a web based application a few years ago so I did a deep-dive into html5, css3, and javascript. Now javascript has evolved since then, and I lost a bit of what I learned. So now I want t…

I'm sure this is valuable for you, but here is my point of view.

I've worked professionally in many languages like Perl, Python, Kotlin, C# and dabbled in Common Lisp, Prolog, Clojure, and other exotics one. Whenever I forgot the exact syntax (like the loop DSL in CL), I know that there is a specific page in the docs that details all of these information. So just a quick keyword in a search engine and I will find it.

So when I come back in a language I haven't used in a while, I've got a few browser tabs opened. But that only lasts for a few days until I get back in the grove.

So for your specific example, my primary choice would have been the IDE autocompletion, then the MDN documentation for the array type. Barring that, I would have some books on the language opened (if it were some language that I'm learning).

Re: Learn to code, ignore AI, then use AI to code even better

#137
post #63
post #33

Earlier quoted context omitted.

I like to think of AI as a force (or skill) multiplier . If you’re low skill, it doesn’t do much. The higher your skill, the more useful it is.

That hasn't been my experience, nor that of others using the AI. It's a force constant, rather than a multiplier. If you're low skilled, asking it to do a low skilled task, it works fine. If you're high skilled, and asked it to do the low skilled task, you saved a tiny bit of time (less than that of the low skilled person). But it cannot do a high skilled task (at least, not right now). It can pretend, which can lead…

My high skilled example from the other day: I wrote an algorithm out line by line in detail and had Claude turn it into avx2 intrinsics. It worked really well and i didn't have to dig through the manuals to remember how to get the lanes shuffled in the way I needed. Probably saved me 10 minutes but it would have been an annoying 10 minutes. :)

But that's a very low level task, where i had already decided on the "how it should be done" part. I find in general that for things that aren't really obvious, telling the llm _how_ to do it produces much more satisfactory results. I'm not quite sure how to measure that force multiplier - I can put in the same amount of work as a junior person and get better output?

Re: Learn to code, ignore AI, then use AI to code even better

#138
post #31
post #17

Earlier quoted context omitted.

But the usual way of learning the craft is broken. Experienced developers will now work with AI instead of hiring junior developers. Some exceptional individuals might still learn on their own, but the path from junior to senior, learning by doing, could vanish. That's my worry.

Probably too B&W. But I’ve had a lot of discussion about this recently and the general consensus is that there’s something to it—especially developers who just got into the field solely because it’s where they thought the money was.

And what's wrong with that?

Re: Learn to code, ignore AI, then use AI to code even better

#139
post #31

Earlier quoted context omitted.

Probably too B&W. But I’ve had a lot of discussion about this recently and the general consensus is that there’s something to it—especially developers who just got into the field solely because it’s where they thought the money was.

And what's wrong with that?

I'm not making a judgment, just describing a dynamic a lot of people claim to be seeing. One can reasonably assume that the most junior tier (for whatever combination of education, genuine interest, etc.) could potentially feel the impact most to the degree that LLMs really do have a disparate impact on junior people. It's a continuum of course. There are plenty of competent people who enter many fields because it's a job.

I'm also at least somewhat cautious about making "passion" (or whatever) a prerequisite for working in general.

Re: Learn to code, ignore AI, then use AI to code even better

#140
post #94

Earlier quoted context omitted.

This is why platforms(?) like Claude Code, Cursor and Windsurf are essential. Claude Code forces you to create a CLAUDE.md to direct how it works, with Cursor you can (and should) write Cursor Rules. The difference with a good spec + AI vs just vibe coding from scratch is like night and day.

I don‘t use these tools daily because I have a hard time to commit to these workflows. But do I need to do this setup once, once per project or every time for one off things I might code?

You really don't need these for tiny one-off scripts, but they're essential for larger projects where the whole application can't fit into the LLM context at once.

Basically they're just a markdown files where you write what the project is about, where everything is located and things like that. Pretty much something you'd need to have for another human to bring them up to speed.

An example snippet from the project I just happened to have open:

## Code Structure

- All import processors go under the `cmd/` directory - The internal/ directory contains common utility functions, use it when possible. Add to it when necessary. - Each processor has its own subdirectory and Go package

## Implementation Requirements

- Maintain consistent Go style and idiomatic patterns - Follow the existing architectural patterns - Each data source processor should be implemented as a separate command

This way the LLM (Cursor in this project) knows to, for example, check the internal/ directory for common utils. And if it finds duplication, it'll automatically generate any common functions in there.

It's a way to add guidelines/rails for projects, if you don't add anything the LLM will just pick whatever. It may even change style depending on what's being implemented. In this project the Goodreads processor was 100% different from the Steam processor. A human would've seen the similarities and followed the same style, but the LLM can't do that without help.

Post reply on HN