Live data from Hacker News

Autocomplete as an Interface (2015)

benkuhn.net

181–190 of 197 posts

Re: Autocomplete as an Interface (2015)

#181

Earlier quoted context omitted.

What's often missing from these discussions is the impact on human memory. Back when I started programming, I never used syntax highlighting. It just wasn't a thing for a large part of my early years. Text mode VisualBasic and QuickBasic didn't have it. Nor did GW-BASIC, QuickC, Pascal, I could go on... I was at the point where I could write C code and have it compile the first time. No syntax errors, no compiler err…

Not only this -- but it renders you quite useless if you ever have to use a different environment. Sometimes that's because you have to use a different language that doesn't have as much tooling, sometimes its because a product gets discontinued, or your employer forces a different IDE, etc. I definitely had this experience with CodeWarrior back in the day. I really loved that IDE. But then when Mac OS X came out and…

agreed. i have too also noticed people who don't like IDE's tend to have more wide-spread knowledge (ever since a sys|network admin use an IDE?) they also move around more.

Re: Autocomplete as an Interface (2015)

#182
post #173

Earlier quoted context omitted.

I wasn’t implying one way or the other and I don’t think that the parent post was either. The point I was making that when I was writing C day in and day out and mostly just working with a combination of my own code and my companies vote libraries, it was easy to use just a text editor and the command line to build. But things have gotten more complicated since then. No one could be expected to know the hundreds of f…

Once a code base reaches a million lines of code it gets difficult to keep it all in your head, and even if the software has a nice architecture with module patterns or what not, just the sheer amount of different methods and functions will slow you down. Sure autocomplete will help, but the best productivity solution afaik is to keep the code base small :P

google how linux kernel developers work.

Re: Autocomplete as an Interface (2015)

#183
post #26
post #20

You know, I realize I'm the weird one here, but: when writing code, I almost always turn off autocomplete. Sometimes you basically have to have it on (when the language is demands it) but I usually turn it off. It's too much visual noise, too distracting. It's a thing that pops up that demands your attention. If I want to type if (myVector->empty()) { fillVector(myVector); } autocomplete will pop up a window like 4 t…

I'm right there with you. But there are alternative interfaces for auto complete. I personally prefer the "autosuggestion" style used in fish: https://fishshell.com/assets/img/screenshots/autosuggestion....

i threatened to quit a job because they forced fish on us. it is so distracting that i can't think when using it. they allowed a bunch of us to go back to bash.

Re: Autocomplete as an Interface (2015)

#184
post #120
post #20

You know, I realize I'm the weird one here, but: when writing code, I almost always turn off autocomplete. Sometimes you basically have to have it on (when the language is demands it) but I usually turn it off. It's too much visual noise, too distracting. It's a thing that pops up that demands your attention. If I want to type if (myVector->empty()) { fillVector(myVector); } autocomplete will pop up a window like 4 t…

I agree, and it's part of the heavyweight interfaces of a lot of these modern tools. For example, search is my primary cursor motion command in Emacs, because it's incredibly lightweight and typically faster than any other cursor move command. Whereas invoking search in many programs from word to IntelliJ will move the cursor and focus away from where you're working to some widget elsewhere, and often requires a conf…

swiper?

Re: Autocomplete as an Interface (2015)

#185

I wonder if there is a measurable difference between software written in a very basic text editor vs an IDE. Differences like naming conventions, name length, number of files etc. I've always thought that an IDE, while wildly useful in some scenarios, pushes/allows for unnecessarily complex design choices. Or maybe I'm just trying to justify why I use vim...

For me, I find that having a good autocomplete makes code easier to read because it makes long names easier to type correctly. Compare "save-lisp-and-die" vs "s-l-a-d ". The latter is much easier to type and the former much easeier to read.

funny. we actually have an sdie macro ;)

Re: Autocomplete as an Interface (2015)

#186
post #64

Fish has one of the best auto completion out of the box, I love all you get for free with zero configuration. I used zsh before, which is great, but require so much configuration.

Fish autocomplete when navigating directory trees is a life changing thing.

this is so interesting. i kid you not, as soon as fish starts doing its thing my brain shuts down. i cannot use it not even for a minute. i've tried. i had to try because the assholes where i work forced it on me. so i threatened to quit. it worked ;) ... back to good ole bash.

Re: Autocomplete as an Interface (2015)

#187

> I have 90 files open in emacs right now and I can find any particular one in five keystrokes. Imagine having 90 tabs open in Chrome—you could never find anything! The Quick Tabs extension gives you autocomplete for Chrome tab titles: https://chrome.google.com/webstore/detail/quick-tabs/jnjfein... Just type Ctrl+Q and you get a popup with IntelliJ-style autocomplete. Another trick for Chrome tabs (unrelated to autoc…

400 tabs in Firefox. No special plug-in. No problem. And, to be fair I thought Chrome had copied the Awesomebar by now?

:D

Re: Autocomplete as an Interface (2015)

#188

Autocomplete is the main reason why I preferred Microsoft Visual Studio over other environments when I was in school; and then why I gravitated towards Microsoft tools as a professional. It's not just memorizing: When working with a new or unfamiliar API, it's very easy to guess and navigate this way. To be quite honest, when I work in environments without autocomplete, I feel like I'm learning slower then when I lea…

mostly i don't like autocomplete. but MVS implementation is superb. the closest i've seen to something usable (for me).

Re: Autocomplete as an Interface (2015)

#189
post #27

Autocomplete is the first step. Then you get linting, static analysis, autoformat on save, and code snippets. All built into your fancy IDE with plugins. You are super productive, you learn from its suggestions that you can quickly flip through, and your coworkers are happy that they only have to check your code for correctness and implementation, not style and edge cases.

this is like the self driving car myth. i just don't think computation extends this far. ie, a computer cannot do math in the sense of the https://en.wikipedia.org/wiki/Entscheidungsproblem

Re: Autocomplete as an Interface (2015)

#190
post #35

Earlier quoted context omitted.

I'd argue that it's not benign. I think there are very real costs. First off all, "misuse" of autocomplete can be very annoying. Some autocomplete system autocompletes when you press tab, some when you press enter. Many times I've been typing a thing, finished the line with the autocomplete window still open, pressed enter to go to the next line, and instead have auto-complete enter a bunch of stuff I don't want. The…

> I type while looking at the screen, you should try typing with closed eyes. after some time you see the code directly in your mind.

I tried this once. I can do it easily with natural language but it's much harder to do with code (even code you're familiar with). I think this is because so much of writing new code is back-and-forth:

start writing loop, realize I need another variable, go back and initialize the variable, back to where I was, oh this should be brought out into a function, ah this function should is now getting quite large I need to split it, back to where I was, oh that should be an array not a map etc.

I like Visual Studio's 'jump back to where I was' (Ctrl+-) feature because it leaves a trail of bread crumbs across the many files I'm working in of what I've been doing and what's left to be done to implement feature x.

Post reply on HN