Good code should be designed such that it's easy to find where things are to begin with. If you need an IDE, that just means your code is a mess. Ironically, the more messy the code is, and so the more you need the IDE, the more likely it is that the IDE will have trouble coping with the code, becoming extremely slow, or randomly failing to jump into some functions. Ensuring your codebase remains workable without an…
Ask HN: Programmers who don't use autocomplete/LSP, how do you do it?
391–400 of 652 posts
Re: Ask HN: Programmers who don't use autocomplete/LSP, how do you do it?
#392There are tools like ctags that have been around forever and build an index of definitions to let you jump to them, but personally I've never found a use for it, anymore than I ever found a utility for IDEs. I just have multiple terminal windows (or tabs) open along with my editor (emacs).
When I'm deep into a project - even a very large one, I basically just remember where everything is (as well as the code itself), or when needed just use terminal find/grep. For stuff I've written from scratch myself (vs at work working on a large legacy codebase), code organization is certainly part of it - organizing code into file-based modules. I use record/playback editor macros a lot to avoid typing, and occasionally use sed (scriptable Linux command line editor) to perform entire codebase renames etc.
I've tried modern IDEs like VS Code, but really don't find them to be a productivity benefit. I get the appeal of a single tool/environment that does it all (like old-school hard-core emacs folks who treat it as an IDE), but in terms of productivity you can work just as fast with a collection of tools rather than a single one.
Re: Ask HN: Programmers who don't use autocomplete/LSP, how do you do it?
#393Makes me sad :(.
At least xdebug works.
Re: Ask HN: Programmers who don't use autocomplete/LSP, how do you do it?
#394PSA: No matter how good you are, please don't do this if you're working in a tech stack you are not familiar with, in a team with people who are experts and are using fully fledged IDEs. There will be inevitable ultra-basic mistakes, especially if you're also not familiar with testing the code you're actually writing. I say this as a specialist using an IDE and having had PRs sent to me that weren't even syntacticall…
Re: Ask HN: Programmers who don't use autocomplete/LSP, how do you do it?
#395And I’ve noticed my co-workers who use IDEs and multiple monitors are no more productive.
Re: Ask HN: Programmers who don't use autocomplete/LSP, how do you do it?
#396This 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…
Everything is “logically organized” am I suppose to remember every method on every class?
The C#, Java, Go and other SDKs are the same (they are all auto generated by the same definition file)
It doesn’t matter how well structured a codebase is, once it gets large, you’re not going to remember every method on every class
Re: Ask HN: Programmers who don't use autocomplete/LSP, how do you do it?
#397Earlier quoted context omitted.
That doesn't mean you stare at it in stupefied awe. If you can't remember what you're working on you close your computer and walk away.
i never said i stared at code in a stupefied awe. that’s your stuff, not me. the point i was trying to convey with the phrases was my ideal attitude when writing code. this code matters. lets think about it, get it done right and not throw it over the fence for the poor schmuck who comes along in two years time after we’ve all left. i’ve been that schmuck. it was horrible. i don’t want to put other people through tha…
I'm just very confused how the conversation took a turn away from pragmatism and towards the aesthetic.
Re: Ask HN: Programmers who don't use autocomplete/LSP, how do you do it?
#398Autocomplete mostly pisses me off. Most of my completions are triggered accidently. Whether it's because of me, the trackpad, or my crappy keyboard, I dunno.
I want the suggestions off to the side, not in some rando pop-over that's always moving around. So distracting.
My alternate UX notion is for the cursor's focus to always remain in the middle of the editing window. The content (source code) would scroll up and down "under" the cursor.
Then all those inlines, suggestions, autocompletions, popovers, whatever could always appear in the same location. Not dance around or try to fit where there's no room.
Next, since I'm polyglot, I spend a lot of time splunking javadoc (or equiv). I want some kind of hybrid between suggestions and abbreviated javadocs.
--
There is one onerous (to me) task which chatgpt excels. My new tool injests SQL. I'm assembling a corpus of tests, scrapped and copied from all over. Whenever my parser fails, chatgpt helps me to identify the correct dialect (grammar specification BNF) to reference.
For straight coding, I mostly use chatgpt to get oriented, get started. For common tasks I haven't done (any time recently). Like how do today's yoots do command line parsing? Replacing stackoverflow, more or less.
Otherwise, my current (hobby) project is a new take on an old problem. (Re)Invention and innovation. Chatgpt is sometimes helpful (to me) for brainstorming or validating a notion. But I'm too ignorant to know how to get chatgpt to help me create a new (to the world) thing.
If I was doing CRUD or game development, I'm sure chatgpt would be very useful.
Re: Ask HN: Programmers who don't use autocomplete/LSP, how do you do it?
#399Earlier quoted context omitted.
> Not only do I avoid using LSP features, but I’m also opposed to their use. While they can help with navigation, they may prevent developers from experiencing and addressing the underlying structural issues in their code. LSP by itself will not prevent anything. LSP (using the terminology from OP, but any IDE really) is just a tool like any other which allows you to do things faster. It doesn't matter how organized…
Of course that are good things and maybe I wrote in a too much harsh way. Linting features and autocompletes are nice, also autocomplete features are nice to have. The issue that I pointed mostly resonates with the idea that depending on LSP is the big issue. I personally use Neovim with minimal stuff, I run lint and tests manually and not automatically, because it feels to me like push notifications taking my attent…
The entire purpose of computers is to automate things and reduce complexity
Re: Ask HN: Programmers who don't use autocomplete/LSP, how do you do it?
#400Syntax wasn't really graded, its forgivable to make trivial syntax errors on pen and paper. The questions never covered more than a few dozen lines of code. But doing it this way forced us to really actually hold an entire small problem in our heads instead of just whatever slice of it the IDE was helping us focus on at the time and I think developing some of that skillset ended up being hugely useful to me when I started my career and was jumping into codebases far larger than I'd ever navigated before.
Jump-to-definition and search for symbols in RubyMine/IDEA are some of my most used tools today, but I think I'd probably be a worse programmer if I never had to develop the skill of working without them to a certain extent. I'd encourage everyone to give it a shot next time you have a few minutes to sharpen the saw. Grab a yellow legal pad and write a little toy parser/lexer for a toy programming language you just invented.
FWIW: I also love printing out diffs for nontrivial code reviews and marking them up with pen and paper, particularly big SQL views.