2 ms·
"The future of the universe"? Who can predict that? Let's stick with "in the working lifetime of anybody reading this". And "transfer data from ourselves to ma
by mechanical_fish 18y ago
"The future of the universe"? Who can predict that? Let's stick with "in the working lifetime of anybody reading this".
And "transfer data from ourselves to machines" is far too general as well. We're talking about programming, right? In the future -- in the present, really -- we're all going to use cameras and mics and touchpads and accelerometers and (god help us) mobile-phone keyboards for most of our human-computer interaction... but for writing software? Am I going to write software by doing an interpretive dance?
(Actually, that would be kind of fun. And it might be great to have a system that can, say, watch a human move some stuff around on a monitor and then mimic the moves N times using a robot. But we're not going to write Javascript interpreters with dancing. Some tasks require precise specification.)
So, yeah. I don't see it. I'm still a believer in precisely formatted plain text, and keyboarding is a great way to create that. Although I'm really looking forward to using the table-sized multi-touch handwriting-aware Minority Report megadisplay of the future, I'm not confident that writing code is one of the things I'll do with it. Can anybody from (e.g.) the Media Lab, or another place where they have such displays today, point me to a substantial piece of software that they've written using handwriting recognition, or voice recognition, or intelligent circles-and-arrows recognition? That might help me to transcend my blind spot. But it seems like, when they sit down to code, the smart folks all use emacs or vi.
Obviously, just because I don't see it coming doesn't mean it won't happen. You're right: Most of the folks born before the typewriter became practical didn't foresee the typewriter. They just got really good at using pens.
- axod 18y agoSo what about an adapting morphing keyboard that presents options applicable to what you're doing? For example, you could start up an editor, be writing javascript, and the keyboard would know what is and isn't valid, and give you the options... Does anyone remember the ZX Spectrum keyboard? "For" was on the F key, "Next" was on the N key - made for pretty fast typing once you got used to it. I agree, formatted text seems the best method for programming, and keyboards are the best we have at the moment, but I'd expect there to be some surprises in our lifetime. I don't expect to be writing code using a keyboard in 50 years time.
- mechanical_fish 18y ago"For" was on the F key, "Next" was on the N key - made for pretty fast typing once you got used to it. Okay, I've been trying to control my inner lecturer but now I'm just going to come out and say it: You need to learn emacs. The features you're describing have been built into my text editor for years, and they could be yours today! (Cue the dancing girls and the fabulous music!) The emacs term for a feature that turns a key sequence like "f <TAB>" into "for" is snippets. Check out this screencast demo of the YASnippets package: http://www.youtube.com/watch?v=vOj7btx3ATg http://www.youtube.com/watch?v=vOj7btx3ATg I don't really use snippets myself (although the screencast might inspire me to try again). I find that autocompleting "for" is not very interesting, because I can type it really fast. What I do use all the time is hippie-expand: http://badbyteblues.blogspot.com/2007/12/hippie-expand-and-autocompletion-in.html http://badbyteblues.blogspot.com/2007/12/hippie-expand-and-a... I have that bound to a special key of my own, so that I can continue to use TAB for other purposes like intelligent code indenting. With hippie-expand I rarely type the same symbol name twice. The first time it's "drupal_set_message", but after that it's just "dru" followed by one to five keypresses to scroll through the options. The other thing I'm just bursting to say is: you need to learn to type. Touch typists do not care about key caps that change their labels. We don't look at the keys. I can't type 80 WPM while looking at the keys. I've met typists who type Dvorak on QWERTY keyboards, for whom looking at the keys would break their typing. My own keyboard has an "End" key that's actually Escape, an Escape key that's actually Caps Lock, a Page Down key that functions as Page Up if you hold down shift, Page Up and Home keys that are actually Option... (Hint: http://www.kinesis-ergo.com/advantage_pro.htm http://www.kinesis-ergo.com/advantage_pro.htm).
- axod 18y agohehe even after advocating "macro"/"tab completion" etc type programming, personally I'm not sure I could do it. I remember doing it fine on the ZX Spectrum, but those were "learning to program" days. Now I want full power, and that means the computer listening to exactly what I type - If I type "f, tab" I want it to show "f, tab"... auto completion would completely get in my way and irritate the hell out of me. I don't look at the keyboard either. I was meaning more that instead of a qwerty keyboard, the keyboard would change shape/configuration to show macros, which you could configure and remember when they appear etc - you would still not look at the keyboard, but it'd just make things a bit more obvious rather than have special emacs key sequences etc.