Live data from Hacker News

Ask HN: Programmers who don't use autocomplete/LSP, how do you do it?

news.ycombinator.com

271–280 of 652 posts

Re: Ask HN: Programmers who don't use autocomplete/LSP, how do you do it?

#271

This question reminds me of the first time I met a blind programmer. I asked him how he managed to code, and he replied with something that stayed with me: a good programmer should organize software in such a way that every piece of code has a clear and logical place. The organization should be so intuitive that anyone could build a mental model of the structure and navigate it easily, even without seeing it. It felt…

I feel much the same way about how to write the code, but the idea of losing my sight is still horrific. I can't imagine having an easy time adapting to it and can very easily imagine giving up on coding.

Re: Ask HN: Programmers who don't use autocomplete/LSP, how do you do it?

#272
post #243

Earlier quoted context omitted.

some colleague some time ago argued that one can write code without much/any spaces, because, "you can see, it's colored differently".. sounding like, "i am breathing". All these IDE+- things may be nice-to-have but most soon become crutches, and then you cannot live without them, and only walk their walk, not yours. Just turning off syntax coloring freaks recent developers.. even quite good ones.. i observed it. The…

> pollute untyped-languages' codebases with so-called-"typing" noise Yeah, this is going to be extremely controversial: your so-called untyped language actually has types in, and they're important, but only the program can see them at runtime because you've not written them down anywhere. The real solution to "repeating myself writing down types" is Hindley-Milner inference, which dates back to 1958, and more languag…

Yeah, but even there, if one were to use no LSP or other completions, Hindley Milner doesn't help while editing as you won't see the inferred types. It comes down back to good naming and the compiler at the end.

Re: Ask HN: Programmers who don't use autocomplete/LSP, how do you do it?

#273
post #90

You should try turning off those features yourself for at least a month and see what happens ;) You’ll learn the answers yourself, much better than us trying to explain them. You’ll learn where all the reference docs live for your language, libraries, and frameworks, and along the way you’ll learn more by actually reading the docs. You’ll learn the value of good project organization and file naming, and explicit impo…

Autocomplete is more for discoverability than saving on typed characters, letting you rely less on documentation and more on the actual interface you're interacting with

That's exactly the problem: You don't know the code. You're relying on autocomplete to tell you what the signature of the function you're looking for is.

I rely less on documentation because I've got it all memorized due to not relying on autocomplete.

Re: Ask HN: Programmers who don't use autocomplete/LSP, how do you do it?

#274
post #247

Earlier quoted context omitted.

I greatly enjoyed this comment of yours daltonpinto. Thank you. I do not rejoice with code bases where every file has no logic or code in it but there are hundreds of methods and files with everything spread out. I have no idea how those projects fit together because the actual logic is spread out. For my personal side project hobby work it's all in one file.

> For my personal side project hobby work it's all in one file. Ok, so this is work, but: find . -name '*.cs' -type f -print0 | wc --files0-from=- 1035617 3438912 47446211 total Not many editors are comfortable with a million line document that's 47MB. And that doesn't include generated code (which I very rarely need to look at, but is right there under F12 if I do)

Thanks for the hint about `--files0-from`, BTW. I thought I needed `xargs` for this.

Re: Ask HN: Programmers who don't use autocomplete/LSP, how do you do it?

#276
post #243

Earlier quoted context omitted.

some colleague some time ago argued that one can write code without much/any spaces, because, "you can see, it's colored differently".. sounding like, "i am breathing". All these IDE+- things may be nice-to-have but most soon become crutches, and then you cannot live without them, and only walk their walk, not yours. Just turning off syntax coloring freaks recent developers.. even quite good ones.. i observed it. The…

> pollute untyped-languages' codebases with so-called-"typing" noise Yeah, this is going to be extremely controversial: your so-called untyped language actually has types in, and they're important, but only the program can see them at runtime because you've not written them down anywhere. The real solution to "repeating myself writing down types" is Hindley-Milner inference, which dates back to 1958, and more languag…

IMX, people who use the term "untyped language" generally: a) use languages with Hindley-Milner inference; b) don't consider things that can "only the program can see at runtime" to qualify as "types".

Re: Ask HN: Programmers who don't use autocomplete/LSP, how do you do it?

#277

This question reminds me of the first time I met a blind programmer. I asked him how he managed to code, and he replied with something that stayed with me: a good programmer should organize software in such a way that every piece of code has a clear and logical place. The organization should be so intuitive that anyone could build a mental model of the structure and navigate it easily, even without seeing it. It felt…

Of course I agree that code should be organized logically, but I wonder if you could expand on what you mean. Do you drill down into finer and finer directories of detail, code units, classes and functions? I work with someone that navigates the tree structure of all our directories every time they need to look for something. It is painfully slow to watch and if you ask me, they produce fairly spaghetti architecture.…

>You might even get a bit of a Conway’s Law effect by committing unnecessarily to a specific, onerous work style.

I don't find it onerous at all. I consider it the same kind of responsibility as writing tests and documentation. And I certainly don't think Conway's Law applies, since for my own projects I'm generally creating deep hierarchical call graphs while being the only person in the "organization".

Re: Ask HN: Programmers who don't use autocomplete/LSP, how do you do it?

#278
post #210

Earlier quoted context omitted.

> I have no idea how those projects fit together because the actual logic is spread out. There are two kind of mazes: - those that are so tangled up that you can't make out any kind of structure. - those that are so regular that you can't make out any kind of structure.

Exactly! Not because it is split it means that was well split. If you can reason where something should be, it may be badly organized. Even single file projects can be organized. If is small enough and makes sense, why not? But even in a small file, how is it organized? Utility functions maybe at bottom so you keep business logic together and visible? Maybe some other logic to make it cleaner? The way functions are n…

A word cloud could be a useful navigation technique if the words were clickable and the sizes of words could be customized.

They could also link to other word clouds

Generated and updated automatically

Re: Ask HN: Programmers who don't use autocomplete/LSP, how do you do it?

#279

You should try turning off those features yourself for at least a month and see what happens ;) You’ll learn the answers yourself, much better than us trying to explain them. You’ll learn where all the reference docs live for your language, libraries, and frameworks, and along the way you’ll learn more by actually reading the docs. You’ll learn the value of good project organization and file naming, and explicit impo…

I agree on turning it off to find out. I disagree with almost all of your takes though. If you work without it, I would similarly suggest turning it in for a month. > You’ll learn where all the reference docs live for your language, libraries, and frameworks, and along the way you’ll learn more by actually reading the docs. I know where they are. I use them every day. But reaching for them to check every argument if…

I upvoted both you and GP.

There are times when the "programming" job is best done with vim or even just a notebook in a quiet place.

Other times, an LLM or IDE can help get a new project going faster. Especially if you are unfamiliar with the language or framework. But in the latter case, do review the output until you understand it. So far even the best LLM will make subtle bugs, but unless its in a language you know well, you might have a hard time spotting them!

Re: Ask HN: Programmers who don't use autocomplete/LSP, how do you do it?

#280
I would say advanced programmers were using some kind of autocomplete way before Microsoft popularised it.

The concept of IDE was invented by lisp machines, and emacs inherited a great deal of that functionality, but without the visual IDE. Great programmers were using shortcuts for accessing documentation at incredible speeds. The go-to-definition was there although limited to supported languages only, usually lisp dialects.

What Microsoft did was popularising it, standardising for different languages and making it easy to use/visual-graphical interfaces and destroying the competition the MS way, like Borland.

I would say, except copilot, all those features existed 30-40 years ago. It was just a pain in the a$$ to set or very expensive(Lisp Machines IDEs) or difficult to pirate(very important for Microsoft success).

Copilot can be replaced by competitor's products, like Claude. I use them outside Microsoft ecosystem. I use my own automatic system to access the AI.

Post reply on HN