Most active commenters
  • pdntspa(6)
  • skydhash(3)
  • neoromantique(3)

←back to thread

576 points Gricha | 22 comments | | HN request time: 0.016s | source | bottom
Show context
xnorswap ◴[] No.46233056[source]
Claude is really good at specific analysis, but really terrible at open-ended problems.

"Hey claude, I get this error message: <X>", and it'll often find the root cause quicker than I could.

"Hey claude, anything I could do to improve Y?", and it'll struggle beyond the basics that a linter might suggest.

It suggested enthusiastically a library for <work domain> and it was all "Recommended" about it, but when I pointed out that the library had been considered and rejected because <issue>, it understood and wrote up why that library suffered from that issue and why it was therefore unsuitable.

There's a significant blind-spot in current LLMs related to blue-sky thinking and creative problem solving. It can do structured problems very well, and it can transform unstructured data very well, but it can't deal with unstructured problems very well.

That may well change, so I don't want to embed that thought too deeply into my own priors, because the LLM space seems to evolve rapidly. I wouldn't want to find myself blind to the progress because I write it off from a class of problems.

But right now, the best way to help an LLM is have a deep understanding of the problem domain yourself, and just leverage it to do the grunt-work that you'd find boring.

replies(23): >>46233156 #>>46233163 #>>46233206 #>>46233362 #>>46233365 #>>46233406 #>>46233506 #>>46233529 #>>46233686 #>>46233981 #>>46234313 #>>46234696 #>>46234916 #>>46235210 #>>46235385 #>>46236239 #>>46236306 #>>46236829 #>>46238500 #>>46238819 #>>46240191 #>>46243246 #>>46243719 #
pdntspa ◴[] No.46233365[source]
That's why you treat it like a junior dev. You do the fun stuff of supervising the product, overseeing design and implementation, breaking up the work, and reviewing the outputs. It does the boring stuff of actually writing the code.

I am phenomenally productive this way, I am happier at my job, and its quality of work is extremely high as long as I occasionally have it stop and self-review it's progress against the style principles articulated in its AGENTS.md file. (As it tends to forget a lot of rules like DRY)

replies(12): >>46233446 #>>46233448 #>>46233642 #>>46233652 #>>46233782 #>>46234010 #>>46234898 #>>46235480 #>>46238997 #>>46241434 #>>46241981 #>>46242791 #
FeteCommuniste ◴[] No.46233448[source]
Maybe I'm weird but I enjoy "actually writing the code."
replies(6): >>46233475 #>>46233559 #>>46233598 #>>46233879 #>>46234180 #>>46236874 #
1. pdntspa ◴[] No.46233475[source]
Me writing code is me spending 3/4 of my time wading through documentation and google searches. It's absolutely hell on my ADD. My ability to memorize is absolutely garbage. Throughout my career I've worked in like 10 different languages, and in any given project I'm usually working in at least 3 or 4. There's a lot of "now what is a map operation in this stupid fucking language called again?!"

Claude writing code gets the same output if not better in about 1/10 of the time.

That's where you realize that the writing code bits are just one small part of the overall picture. One that I realize I could do without.

replies(3): >>46233530 #>>46233646 #>>46234192 #
2. n4r9 ◴[] No.46233530[source]
May be a domain issue? If you're largely coding within a JS framework (which most software devs are tbf) then that makes total sense. If you're working in something like fintech or games, perhaps less so.
replies(1): >>46233603 #
3. pdntspa ◴[] No.46233603[source]
My last job was a mix of Ruby, Python, Bash, SQL, and Javascript (and CSS and HTML). One or two jobs before that it was all those plus a smattering of C. A few jobs before that it was C# and Perl.
4. tayo42 ◴[] No.46233646[source]
How do you end up with 3 to 4 languages in one project?
replies(7): >>46233779 #>>46233805 #>>46234062 #>>46234205 #>>46235592 #>>46236589 #>>46236949 #
5. saulpw ◴[] No.46233779[source]
Typescript on the frontend, Python on the backend, SQL for the database, bash for CI. This isn't even counting HTML/CSS or the YAML config.
replies(1): >>46234255 #
6. tomgp ◴[] No.46233805[source]
HTML, CSS, Javascript?
7. pdntspa ◴[] No.46234062[source]
Oh my sweet summer child...
8. skydhash ◴[] No.46234192[source]
I would say notetaking would be a much bigger help than Claude at this point. There's a lot of methods to organize information that I believe would help you, better than an hallucination machine.
replies(1): >>46234270 #
9. merely-unlikely ◴[] No.46234205[source]
Recently I've been experimenting with using multiple languages in some projects where certain components have a far better ecosystem in one language but the majority of the project is easier to write in a different one.

For example, I often find Python has very mature and comprehensive packages for a specific need I have, but it is a poor language for the larger project (I also just hate writing Python). So I'll often put the component behind a http server and communicate that way. Or in other cases I've used Rust for working with WASAPI and win32 which has some good crates for it, but the ecosystem is a lot less mature elsewhere.

I used to prefer reinventing the wheel in the primary project language, but I wasted so much time doing that. The tradeoff is the project structure gets a lot more complicated, but it's also a lot faster to iterate.

Plus your usual html/css/js on the frontend and something else on the backend, plus SQL.

10. tayo42 ◴[] No.46234255{3}[source]
I wouldn't call html, yaml or css languages.

Same for sql, do you really context switch between sql and other code that frequently?

Everyone should stop using bash, especially if you have a scripting language you can use already.

replies(2): >>46234416 #>>46236172 #
11. neoromantique ◴[] No.46234270[source]
Notetaking with ADHD is another sort of hell to be honest.

I absolutely can attest to what parent is saying, I have been developing software in Python for nearly a decade now and I still routinely look up the /basics/.

LLM's have been a complete gamechanger to me, being able to reduce the friction of "ok let me google what I need in a very roundabout way my memory spit it out" to a fast and often inline llm lookup.

replies(2): >>46235740 #>>46236931 #
12. pdntspa ◴[] No.46234416{4}[source]
Dude have you even written any hardcore SQL? plpgSQL is very much a turing-complete language
13. zelphirkalt ◴[] No.46235592[source]
3 or 4 can very easily accumulate. For example: HTML, CSS as must know, plus some JS/TS (actually that's 2 langs!) for sprinkles of interactivity, backend in any proper backend language. Oh wait, there is a fifth language, SQL, because we need to access the database. Ah and those few shell scripts we need? Someone's gotta write those too. They may not always be full programming languages, but languages they are, and one needs to know them.
14. skydhash ◴[] No.46235740{3}[source]
Looking up documentation is normal. If not, we wouldn't have the manual pages in Unix and such an emphasis on documentation in ecosystems like Lisp, Go, Python, Perl,... We even have cheatsheets and syntax references books because it's just so easy to forget the /basics/.

I said notetaking, but it's more about building your own index. In $WORK projects, I mostly use the browser bookmarks, the ticket system, the PR description and commits to contextually note things. In personal projects, I have an org-mode file (or a basic text file) and a lot of TODO comments.

replies(2): >>46237204 #>>46237594 #
15. wosat ◴[] No.46236172{4}[source]
Sorry for being pedantic, but what does the "L" stand for in HTML, YAML, SQL? They may not be "programming languages" or, in the case of SQL, a "general purpose programming language", but they are indeed languages.
16. jessoteric ◴[] No.46236589[source]
i find it's pretty rare to have a project that only consists of one or two languages, over a certain complexity/feature threshold
17. theshrike79 ◴[] No.46236931{3}[source]
This is the thing. I _know_ what the correct solution looks like.

But figuring out what is the correct way in this particular language is the issue.

Now I can get the assistant to do it, look at it and go "yep, that's how you iterate over an array of strings".

18. theshrike79 ◴[] No.46236949[source]
Go for the backend, something javascripty for the front end. You're already at two. Depending if you count HTML, CSS or SQL as "languages", you're up to a half dozen pretty quick.
19. pdntspa ◴[] No.46237204{4}[source]
And all that take rote mechanical work. Which can quickly lead to fractured focus and now suddenly I'm pulled out of my flow.

Or I can farm that stuff to an LLM, stay in my flow, and iterate at a speed that feels good.

20. neoromantique ◴[] No.46237594{4}[source]
It is very hard to explain the extent of it to a person who did not experience it, really.

I have over a decade of experience, I do this stuff daily, I don't think I can write a 10 line bash/python/js script without looking up the docs at least a couple times.

I understand exactly what I need to write, but exact form eludes my brain, so this Levenshtein-distance-on-drugs machine that can parse my rambling + surrounding context into valid syntax for what I need right at that time is invaluable and I would even go as far as saying life changing.

I understand and hold high level concepts alright, I know where stuff is in my codebase, I understand how it all works down to very low levels, but the minutea of development is very hard due to how my memory works (and has always worked).

replies(1): >>46239261 #
21. skydhash ◴[] No.46239261{5}[source]
What I'm saying is that is normal. Unless you've worked everyday with the same language and a very small set of functions, you're bound to forget signature and syntax. What I'm advocating is a faster retrieval of the correct information.
replies(1): >>46240096 #
22. neoromantique ◴[] No.46240096{6}[source]
>Unless you've worked everyday with the same language

...I did.