9 ms·
Maybe I'm weird but I enjoy "actually writing the code."
by FeteCommuniste 10mo ago
Maybe I'm weird but I enjoy "actually writing the code."
- pdntspa 10mo agoMe 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.
- n4r9 10mo agoMay 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.
- pdntspa 10mo agoMy 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.
- tayo42 10mo agoHow do you end up with 3 to 4 languages in one project?
- saulpw 10mo agoTypescript 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.
- tayo42 10mo agoI 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.
- pdntspa 10mo agoDude have you even written any hardcore SQL? plpgSQL is very much a turing-complete language
- wosat 10mo agoSorry 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.
- tayo42 10mo agoYou don't have to apologize. It's the internet, pedantic is expected
- tomgp 10mo agoHTML, CSS, Javascript?
- pdntspa 10mo agoOh my sweet summer child...
- merely-unlikely 10mo agoRecently 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.
- zelphirkalt 10mo ago3 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.
- jessoteric 10mo agoi find it's pretty rare to have a project that only consists of one or two languages, over a certain complexity/feature threshold
- theshrike79 10mo agoGo 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.
- skydhash 10mo agoI 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.
- neoromantique 10mo agoNotetaking 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.
- skydhash 10mo agoLooking 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.
- pdntspa 10mo agoAnd 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.
- neoromantique 10mo agoIt 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).
- nyadesu 10mo agoIn my case, I enjoy writing code too, but it's helpful to have an assistant I can ask to handle small tasks so I can focus on a specific part that requires attention to detail
- FeteCommuniste 10mo agoYeah, I sometimes use AI for questions like "is it possible to do [x] using library [y] and if so, how?" and have received mostly solid answers.
- nottorp 10mo agoJust be careful if functionality varies between library y version 2 and library y version 3, or if there is a similarly named library y2 that isn't the same. You may get possibilities, but not for what you asked for.
- stouset 10mo agoOr “can you prototype doing A via approaches X, Y, and Z, and show me what each looks like?” I love to prototype various approaches. Sometimes I just want to see which one feels like the most natural fit. The LLM can do this in a tenth of the time I can, and I just need to get a general idea of how each approach would feel in practice.
- loloquwowndueo 10mo ago“I want my AI to do laundry and dishes so I can code, not for my AI to code so I can do laundry and dishes”
- re-thc 10mo agoSoon you'll realize you're the "AI". We've lost control.
- minimaxir 10mo agoClaude is very good at unfun-but-necessary coding tasks such as writing docstrings and type hints, which is a prominent instance of "laundry and dishes" for a dev.
- loloquwowndueo 10mo ago“Sorry, the autogenerated api documentation was wrong because the ai hallucinated the docstring”
- theshrike79 10mo agoYou can't read? Please don't say you commit AI-generated stuff without checking it first?
- loloquwowndueo 10mo agoI don’t commit ai-generated stuff. Do you?
- theshrike79 10mo agoOf course, but not without review. It’s exactly like working with another human. PR review is there for a purpose.
- mrguyorama 10mo ago>writing docstrings and type hints Disagree. Claude makes the same garbage worthless comments as a Freshman CS student. Things like: // Frobbing the bazz res = util.frob(bazz); Or // If bif is True here then blorg if (bif){ blorg; } Like wow, so insightful And it will ceaselessly try to auto complete your comments with utter nonsense that is mostly grammatically correct. The most success I have had is using claude to help with Spring Boot annotations and config processing (Because documentation is just not direct enough IMO) and to rubber duck debug with, where claude just barely edges out the rubber duck.
- breuleux 10mo agoIn my case, it really depends what. I enjoy designing systems and domain-specific languages or writing libraries that work the way I think they should work. On the other hand, if e.g. I need a web interface to do something, the only way I can enjoy myself is by designing my own web framework, which is pretty time-consuming, and then I still need to figure out how to make collapsible sections in CSS and blerghhh. Claude can do that in a few seconds. It's a delightful moment of "oh, thank god, I don't have to do this crap anymore." There are many coding tasks that are just tedium, including 99% of frontend development and over half of backend development. I think it's fine to throw that stuff to AI. It still leaves a lot of fun on the table.
- vitro 10mo agoI sometimes think of it as a sculptor analogy. Some famous sculptors had an atelier full of students that helped them with mundane tasks, like carving out a basic shape from a block of stone. When the basic shape was done, the master came and did the rest. You may want to have the physical exercise of doing the work yourself, but maybe someone sometimes likes to do the fine work and leave the crude one to the AI.
- theshrike79 10mo agoYou really get enjoyment writing a full CRUD HTTP API five times, one for each endpoint? I don't :) Before I had IDE templates and Intellisense. Now I can just get any agentic AI to do it for me in 60 seconds and I can get to the actual work.
- skydhash 10mo agoWhy do you need a full crud http api for? Just loading the data straight from the database? Usually I've already implemented that before and I just copy paste the implementation and doing some VIM magic. And in Frameworks like Rails or Laravel, it may be less than 10 lines of code. More involved business logic? Then I'm spending more time getting a good spec for those than implementing the spec.