3 ms·
If you can type exceedingly fast, where is the incentive to produce better more concise maintainable code? You don't strive for concise code because it takes l
by mechanical_fish 18y ago
If you can type exceedingly fast, where is the incentive to produce better more concise maintainable code?
You don't strive for concise code because it takes less time to type. You strive for it because it's easier to read.
The reason you have to be able to type quickly is that, while your final result may be concise, you may have to type parts of your code several times as you revise it down to that final form. Then you have to type the documentation, the emails to the rest of the team, the blog posts describing your work. Then the specs will change, or your ambition will grow, and you will type some more.
Programming will continue to exist once we have moved on from using keyboards.
I don't see why this would happen. Except for those who are unfortunate enough to sustain a typing injury, keyboards are better than the alternatives. Have you ever tried dictating Perl code to someone? As if reading /^foo+([bB]a+r)$/ wasn't hard enough -- trying to pronounce it is like torture. Are you capable of writing 82 WPM longhand? I certainly can't. Maybe if my notepad had autocompletion, but even then I'm dubious. Keyboards have autocompletion, too, and they have it right now.
Maybe someday we'll perfect the mindreading interface which rearranges text based on pure thought, but until then I suspect that keyboards will always be the first choice. Which is not to say that I'd turn down a notepad that could flawlessly read my writing. The problem with typing 82 WPM is that it's hard to do it all day. I'd be willing to switch back and forth to longhand just for the ability to write digital text while I'm taking a break from the keyboard.
- axod 18y ago"I don't see why this would happen." You can't foresee any time in the future of the universe when we will stop using keyboards to transfer data from ourselves to machines? Before the advent of the typewriter, I'm sure there was a similar argument for Authors - that they must learn to write quickly and neatly with pens. Good advice in the day, but an Author is still an Author, whether they use a pen or a typewriter.
- jimbokun 18y ago"Maybe someday we'll perfect the mindreading interface which rearranges text based on pure thought" So, the post you reply to does foresee a future without keyboards. What intermediate stage do you see between keyboards and mind reading? As pointed out, handwriting and speaking code have significant drawbacks over the keyboard.
- axod 18y agoMaybe some sort of OLED keyboard which predicts what you're going to write and presents the logical options for you in obvious places? For example if you're writing java, there's only a small number of valid syntaxes you could start with, so the 'morphing keyboard' could just present those, then present the next options etc. As you got more used to it, you'd know what it was going to 'morph' to, so would probably be able to go pretty fast. I don't know what might work well though. I'm just saying the keyboard is not the ultimate input method, I'm sure we'll see a whole raft of changes before we get to mind reading.
- jimbokun 18y agoIt would need to be something you don't have to look at. One of the important features of touch typing is you can keep your eyes on the screen.
- 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.
- 18y ago
- dhbradshaw 18y ago"As if reading /^foo+([bB]a+r)$/ wasn't hard enough -- trying to pronounce it is like torture." That's interesting to think about: how would language optimization be different if we spoke instead of typed?
- LogicHoleFlaw 18y agoInterestingly, one of the developers on the Lua mailing list uses Lua in part because he is functionally blind, and the pronunciation of Lua code is unusually human-friendly. This makes both voice synthesis and dictation easier. There have actually been changes to several Lua projects to make the code itself more accessible to the blind, instead of just the end application.
- silentbicycle 18y agoInteresting point. I did some searching and pulled up a few references from mailing list archives, in case anybody else is equally curious: * http://article.gmane.org/gmane.comp.lang.lua.general/47841 http://article.gmane.org/gmane.comp.lang.lua.general/47841 * http://groups.google.de/group/comp.lang.perl.misc/msg/5454cb490aba94c4 http://groups.google.de/group/comp.lang.perl.misc/msg/5454cb...
- jcl 18y agohttp://en.wikipedia.org/wiki/HyperTalk#Some_sample_scripts http://en.wikipedia.org/wiki/HyperTalk#Some_sample_scripts http://en.wikipedia.org/wiki/Inform#Example_game_2 http://en.wikipedia.org/wiki/Inform#Example_game_2