Live data from Hacker News

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

news.ycombinator.com

621–630 of 652 posts

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

#621

Earlier quoted context omitted.

That seems quite clever but for this specific use case it likely won’t solve the difficult bits. Namely I am using threads and subprocesses mixed with asyncio and PyAV to transcode real time video. Does DBOS allow you to store the internal state of Python modules written in C? How does it deal with recreating subprocesses and threads?

It saves the inputs and outputs of the function, not the internal state, so most of what you asked isn't directly relevant. We do have async support coming soon though. That being said, real time video processing is probably not a use case that we shine on. We'd be really good for managing everything around that, but not the actual video.

Yeah and that of course is the core thing here. Everything else is both quick and safe to retry/idempotent but when you interrupt a demuxer or an encoder, etc. you can’t restart it without feeding the container headers at least to a new instance.

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

#622
post #494

Earlier quoted context omitted.

> The goal of programming is not to write code (however much I enjoy that part), it is to solve problems. Right, which is exactly why autocomplete is not a huge help.

That makes no sense whatsoever. Autocomplete helps you speed up the writing of the code so you can focus on solving the problems more often.

I switch back and forth between using autocomplete/LSP in an IDE and plain-jane vim. Autocomplete isn't the end-all-be-all of productivity you're making it out to be.

I've only found it truly useful in a codebase, language, or library I'm unfamiliar with or haven't touched in a long time.

It doesn't do much for me most of the time as I'm usually thinking or walking around the code, but the codebases I'm in usually are extremely easy to jump around in with fzf.

Properly naming functions/classes/modules goes a long way.

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

#623
I do most of my programming work in vim on a machine with no X. I will literally use grep to look for definitions, and it really amuses me now much this horrifies people. At the risk of sounding like an ass... I'm exceptionally productive, it works for me.

I feel very strongly that the key to getting things done in the real world is the ability to identify simple tractable solutions to complex problems, not some ability to crank out mountains of code by brute force.

If I'm constantly needing to search for definitions, that tells me I've failed to spend enough time studying the codebase before trying to patch it. I'll shelve what I'm trying to do, and go study the code for awhile before trying again. How can I possibly hope to see the optimal solution, when I clearly don't even understand the basics of how the code is organized!?

I use tools like cscope when jumping into something completely new to me, but I find they quickly stop being useful once I've gotten to know the project.

Spending hours to days studying a large complex codebase is a necessary prerequisite to successfully working with it, IMHO. Shiny IDE tools can juice short term productivity by allowing you to brute force through code you haven't taken the time to understand, but that costs you a lot in the long term.

Of course, you can use the IDE tools for code study: I'm not saying they're inherently bad.

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

#626
post #198

Earlier quoted context omitted.

To think that some people are still writing code like in the 70's. Not using productivity tools is just hurting you. I don't know what sort of misplaced sensation of superiority doing things the hard way may bring to you, but please don't give bad advice like this to young people. If they want to experience writing code without the help of modern tools, they can just use one of the so many languages whose tooling suc…

You seem to be being downvoted but you are correct. I find it hilarious how so many programmers hate using very useful and productive tools. It would be like a engineer refusing to use 3D CAD software.

I'm with both of you from my personal experience, and have definitely seen some programmers lose tons of time fumbling to google a function, scrolling through files to find a definition etc. As a programmer I find myself offended when I see somebody slowing down when the tool could speed them up. Plus if there's machine refactoring (rename, extract) it starts getting ridiculous when folks don't use it.

However, I've also worked with some bona-fide legends who really just use vim and dust everyone around them. Granted I wonder if they could go _even faster_ with automation but I can't fault it.

For me these days I'm leveraging new technologies and languages so often I really need the IDE features to get going. Doing rust without rustanalyzer or ts without vscode if you're noob (but not a noob coder) is a recipe for wasting a LOT of time imo -- I always learn suprising things from the (good) suggestions [and start dutifully disabling the bad ones].

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

#627
Honestly, I've just been too lazy to set up anything beyond the basics. It's that whole "I'll learn a new tool when I have a concrete reason to do so" type of thing. (Admittedly, it's one of my bad habits.) So when I need a non-runtime definition (I have autocomplete for runtime), I just search for it. Or look it up in the auto-documentation. Likewise, for libraries I keep most relevant documentation on hand.

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

#628
post #589

Earlier quoted context omitted.

They said it in their first comment: dynamic typing

Not a good option - then you'll get a whole different set of pedants saying that Python is always dynamically typed, which I think is a lot more reasonable than quibbling over the use of "untyped" to describe Forth.

Adding type annotations doesn't make Python statically typed. Type annotations are borderline meaningless, they're basically just a type of documentation that helps your tools spit out better suggestions and makes your tools yell at junior developers.

Python isn't taking advantage of type annotations to produce better compiled code or anything, it's still a dynamic language that infers types at runtime.

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

#629
post #454

Earlier quoted context omitted.

Of course, but there is a difference between programing using sdk/library/api and some glue, and actually engineering some self standing solution, and everything in between that. I belive blind programer wouldn't fare well in fast churn ci/cd every minute startup, but would be amazing in embedded space with multi year release cycles.

How many large applications are made with no dependencies or frameworks? In another life, I worked on a SaaS app around railroad car repair billing. These are the industry requirements. https://public.railinc.com/sites/default/files/documents/CRB... And this doesn’t include addendums, regulation updates, industry norms, extra requirements by clients etc No matter how well structured the codebase is, it will become la…

I perhaps didn't express my point clear enough. If you're developing net framework, ios or android sdk itself, you're trying to be consistent and well structured, and you'll probably mostly work in one part of the code base. Then app dev will again use your structured expected layout as part of his structured system. The point wasn't to know the whole code base, but rather that it's made in a way that it makes sense how to use nth thing after you use first few.

I developed ios apps, and it's vastly different experience than android or flutter. And then that is not even comperable to JS and dozen build steps, standards, and libraries that are countless and all with different approaches to how they're structured and built...

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

#630

Earlier quoted context omitted.

Not a good option - then you'll get a whole different set of pedants saying that Python is always dynamically typed, which I think is a lot more reasonable than quibbling over the use of "untyped" to describe Forth.

Adding type annotations doesn't make Python statically typed. Type annotations are borderline meaningless, they're basically just a type of documentation that helps your tools spit out better suggestions and makes your tools yell at junior developers. Python isn't taking advantage of type annotations to produce better compiled code or anything, it's still a dynamic language that infers types at runtime.

Yeah that's exactly what I was saying. So what word would you use to mean "dynamically typed without static type annotations"?

> your tools yell at junior developers.

Oh you're one of those...

Post reply on HN