From: Tom Morris Date: 2009-08-05T04:50:12+09:00 Subject: Re: How Come Ruby is Text-Oriented? On 2009-07-30, Mike Stephens wrote: > I've just been re-reading Byte August 1981 - an edition dedicated to > Smalltalk-80. Often people say Ruby has roots in Smalltalk (amongst > other things) but the thing you notice is Smalltalk is visual ie it has > a graphical interface. How is it that 28 years later we work by typing > text into an editor? Don't fix what ain't broke. I've tried Squeak. And I've tried GNU Smalltalk. I know exactly which I'd rather use. GNU Smalltalk is "the Smalltalk for those who can type". I can type. Therefore, I use GNU Smalltalk. We build software by typing text into an editor because nobody has come up with an alternative that sucks less. Maybe once we have the direct neural interface combined with super-smart predictive AI so you can just think it and the computer will do it, we will be able to uninstall all our text editors and IDEs. That's not to say that there is never any reason for non-text-based programming tools. GUI builders like OS X's Interface Builder or the Java equivalent in NetBeans (and C#/.NET equivalent in VS etc.) are just fine and dandy. I love the visual diff tool in OS X. These are exceptions that prove the rule. It's burned into my muscle memory for the various languages I use how to define classes, methods/functions, loops, conditionals and so on. If I want a conditional, I type something which matches the schema "if [v], [w]; else if [x], [y]; else [z]". The leap to "I drag an 'if-conditional' block off the toolbox, drag the relevant condition in, then wire up what happens if the condition evaluates as true" is huge. And utterly pointless. What benefit is there in dragging, clicking and pointing when it's not needed? The only applications I've found that really needs mousing are computer games, graphics applications and window managers. Why add a GUI and a requirement for mousing where it's not necessary? And, well, if you are intelligent enough to be learning Smalltalk, you are intelligent enough to remember a few keyboard commands. Programmers aren't usually the sort of people who need desperate amounts of hand-holding in order to get by. We don't need it when we are reading our e-mail and we sure as fuck don't need it when we are programming. -- Tom Morris