Live data from Hacker News

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

news.ycombinator.com

461–470 of 652 posts

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

#461

Earlier quoted context omitted.

>If you work without it, I would similarly suggest turning it in for a month. In the past when I've tried to use IDEs, I've often given up within minutes because they would keep doing things that disrupt my flow - like popping up an entire menu of autocomplete suggestions in a way that obscures other code I'm trying to read, or autotyping a close bracket that I would have typed anyway by muscle memory, or not making…

Autoclosing parens, brackets, braces -- one of the most annoying things to me, for example in tools like JupyterLab, but also in IDEs.

Yeah that's something I disable in every tool I touch. Especially when I'm typing something like foo(), by the time any autocomplete inserts that closing parenthesis, I will have already typed it, and now I'm distracted.

I don't mind suggestions if they are unobtrusive, but anything that interrupts my typing is an immediate no-no.

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

#462
post #64

Earlier quoted context omitted.

Sure, but isn’t this just “why don’t you use the backup camera that all cars have had for a decade or more” / “I learned to drive without one, and you could too”?

Are we trying out car analogies? How about instead of backup cameras, which are consistent and provide extra information, you have a camera that randomly guesses things around your car? Sometimes it's right, sometimes it's wildly wrong, but mostly it doesn't affect your driving speed.

My car has blind-spot warnings. They do go off when I'm not changing lines or nothing is there. However, it has probably saved me at least once and is therefore totally worth it.

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

#463
post #273

Earlier quoted context omitted.

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.

Surely you didn't memorize the entire 3rd party ecosystem of a programming language?

I memorize everything I work with. Knowing my tools makes me a better developer.

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

#464
I write a lot of code for 9front within 9front, all of which is done through the sam editor. While sam does have a powerful general purpose editing language, it doesn't do syntax highlighting or any sort of language aware tooling (LSPs, jump to def, autocomplete, whatever). However I didn't start off with this, I'm not too old (in the second half of my 20s now) so I did take the tour through Java IDE's, tricked out vim configs and vs code as I was learning how to program. However when I moved to working on 9front I actually felt like the lack of these features made it easier for me to focus.

I like to think of code as not that much different than prose, they are both strings of text for communicating information, typically in a fashion of one thing after the other. I think most people would find syntax highlighting for prose to be more annoying than not (outside of perhaps seeing grammar rules for learning). Once I tried reading and writing code without syntax highlighting I found that it encouraged me to actually read and digest code instead of just skimming it. Compare it to reading prose with and without certain subsections highlighted.

Autocomplete strikes me as optimizing the wrong end of the problem. When I'm writing code I generally am spending a lot more time thinking about the problem space or considering possible implementations then I am having my fingers on the keyboard actively typing it out. In general I think the more you're able to think carefully about code in general the smaller it gets, so I find it hard to believe that by making it easier to quickly dump large amounts of text on the screen you're really gaining much. I think there should be a larger focus on reading and understanding code than writing it.

Stuff like code search is quite nice, and even in 9front we do have some scripts and tooling built-in to help us do that. We have programs like 'Bfn' which can search for a function and send it to your text editor, file names with line numbers can also be quickly sent to the editor as well. I think advancements in tooling that helps people move around in code are generally great, the time spent searching for something is generally not something I enjoy. This was perhaps the nicest part of LSPs in my experience. However I do also think that if you make it quite easy to jump around to lots of different files there is less of an incentive to carefully consider how you're laying out your code. How 9front works where there is some tooling to reduce the monotony but not enough to make it easy to traverse a couple million line java project strikes a nice balance for me.

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

#465
vim with zenburn theme. grep/find when I need to look for something.

I've been programming professionally for about a decade, and the basic Unix tools have always "just worked." They're available everywhere, my dotfiles are easily portable, and there's no licensing or procurement to worry about with corporate beancounters.

I'm sure I'm giving up some marginal level of efficiency, but I've watched so many fads come and go that I'm OK with the tradeoffs of "old reliable."

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

#466

Earlier quoted context omitted.

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…

>If you work without it, I would similarly suggest turning it in for a month. In the past when I've tried to use IDEs, I've often given up within minutes because they would keep doing things that disrupt my flow - like popping up an entire menu of autocomplete suggestions in a way that obscures other code I'm trying to read, or autotyping a close bracket that I would have typed anyway by muscle memory, or not making…

This is also exactly my take. I've been coding over 40 years, long before autocomplete was really a thing, and that's probably the main reason I find autocomplete and all the stuff that pops up in modern IDEs to be annoying for all the reasons you described.

Autocomplete and all the other bells-and-whistles just get in my way, most of the time. It's literally the first thing I disable for myself when I install a new developer machine. The few times I set up a new machine and don't disable it, I am reminded why I want to disable it very quickly.

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

#467
post #243

Earlier quoted context omitted.

> 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".

If your language lets you add a number to a string or divide a dictionary by a boolean, that's .. exciting, but also the sort of thing that produces https://www.destroyallsoftware.com/talks/wat

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

#468

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…

> a good programmer should organize software in such a way that every piece of code has a clear and logical place How many programmers have the luxury to organize the code in the way that exactly suit them? most of the time, I work on code I didn't write myself. In the past, I used to try to refactor but I grew tired of having to justify why it's useful. Nowadays, I just deal with the code the best I can, and LSP is…

I do think - my pet theory - there is two sorts of « good » code :

- The solo programmer’s code : it’s smart, small, straightforward, does what it needs to do and it benefits from being able to fit in the author’s head but it would be a team’s nightmare, hard to add unanticipated features.

- The team’s code : it’s verbose, full of boilerplate, follows strict programming patterns and rules, is easier to modify/add features. Anyone in the team can add or maintain parts but give it to a solo programmer and it would become a nightmare to just maintain.

For a long time in my career, I opposed the two. Being too straightforward and not strict enough in a team setting is often a recipe for disaster in the long term. In the contrary, being too professional in your solo project is often the way to abandon it.

Being able to write those two types of code is an incredible skill - that I mostly don’t have.

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

#469
post #324

Earlier quoted context omitted.

>If you work without it, I would similarly suggest turning it in for a month. In the past when I've tried to use IDEs, I've often given up within minutes because they would keep doing things that disrupt my flow - like popping up an entire menu of autocomplete suggestions in a way that obscures other code I'm trying to read, or autotyping a close bracket that I would have typed anyway by muscle memory, or not making…

> In the past when I've tried to use IDEs, I've often given up within minutes because they would keep doing things that disrupt my flow All the things that can be turned off/tuned. Strange that you don't spend the time learning the tool you admonish others for using

I don't in any way "admonish others for using" IDEs and I have no idea where that accusation came from.

And no, of course I'm not going to spend time learning an IDE that someone else recommended to me. I spend my tool-learning time on tools that I selected because I expected them a priori to be useful for me.

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

#470
post #467

Earlier quoted context omitted.

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".

If your language lets you add a number to a string or divide a dictionary by a boolean, that's .. exciting, but also the sort of thing that produces https://www.destroyallsoftware.com/talks/wat

True, but also irrelevant. Python is strongly, but dynamically typed. You cannot do the things you describe in Python, but it's still considered "untyped" in that framework because it performs its type checks at runtime.
Post reply on HN