Want People to Use Your Language Under Windows? Do This.
Programming in the 21st Century - James Hague - July 28, 2009Whenever I hear about a new programming language or new implementation of an existing language, I usually find myself trying it out. There’s a steep cost—in terms of time and effort—in deciding to use a new language for more than just tinkering, so I’m not going to suffer through blatant problems, and I admit to being sensitive to interface issues. Nothing gets me disinterested faster than downloading and installing a new language system, double-clicking the main icon…
...and being presented with an ugly little 40x24 character Microsoft command window using some awkward 1970s font.
(Now before the general outcry begins, be aware that I’m a regular command line user. I’ve used various versions of JPSoft‘s enhanced command processors for Windows for close to 20 years now, and I usually have multiple terminal windows open when using my MacBook.)
The poor experience of this standard command window is hard to underestimate. It always starts at a grid of 40x24 characters, even on the highest resolution of displays. Sometimes even the basic help message of an interpreter is wider than forty characters, causing the text to wrap in the middle of a word. The default font is almost always in a tiny point size. Cut and paste don’t work by default, and even when enabled they don’t follow standard Windows shortcuts. And, rather oddly, only a small subset of fonts actually work in this window.
It’s possible to do some customization of the command window—change the font, change the font size, change the number of rows and columns of text—and these will take it from completely unacceptable to something that might pass for 1980s nostalgia. But that’s a step I have to take manually. That initial double-click on the icon still brings up everything in the raw.
Basic aesthetics aside, the rudimentary features of a monochrome text window limit the opportunities for usability improvements. I’m always surprised at how many Windows ports of languages don’t even let me access previously entered commands (e.g., using up-arrow or alt-P). Or how about using colors or fonts to differentiate between input and output, so I can more easily scan through the session history?
If you want me to use your language—and if you care about supporting Windows at all—then provide a way of interacting with the language using a real Windows application. Don’t fall back on cmd.exe.
Some languages are brilliant in this regard. Python has the nice little IDLE window. Factor and PLT Scheme have gone all-out with aesthetically-pleasing and usable environments. Erlang and REBOL aren’t up to the level of any of these (Erlang doesn’t even remember the window size between runs), but they still provide custom Windows applications for user interaction.
Categories: Blogs Programming in the 21st Century
Comments
So, instead of blaming Microsoft for neglecting the command line in their own OS, you blame all the other programmers for focusing on the core of their respective products instead of fighting the quirks and limitations of Windows. How is that fair? Especially since, as you admitted yourself, the problem is easily fixed?
On the other hand, I agree about the lack of command line history in some interpreters, it’s annoying. Then again, I can use rlwrap, and spare the programming language developer some duplicated effort. True, rlwrap doesn’t work on Windows, unless you have cygwin. See above for who’s to blame.
Posted by Felix Pleșoianu on 09 Aug 2009 at 20:08The poor experience of this standard command window is hard to underestimate. It always starts at a grid of 40x24 characters, even on the highest resolution of displays.
Posted by Search engine optimization company in india on 11 Aug 2009 at 08:00You have traced the drawback. Nice analysis.
Posted by web developer on 28 Aug 2009 at 12:39Now I know who the brainy one is, IÂll keep lioonkg for your posts.
Posted by Issy on 05 May 2011 at 15:39
Add comment
Erlang on Twitter
» hnakamur2 (Hiroaki Nakamura): Erlang/OTPは“a true dream technology”とのことです。まだ仕事で使ったことはないけど、私も同感だなー。
[erlang-questions] The future of Erlang and BEAM http://t.co/QRR5w029
» setyawanSH (setyawan): Mbok ra koyok cah cilik ndra RT @Harindraa: Dewa erlang, dewi kuan’im, paman pikolo, paman kweceng, bibi lung, mbak yoona, mbak seohyun podo
» Harindraa (Haryndra Nugraha): Dewa erlang, dewi kuan’im, paman pikolo, paman kweceng, bibi lung, mbak yoona, mbak seohyun podo ning endi? Aku butuh sandaran :’(
» quantymt (高橋誠(MakotoTakahashi)): えwww!!!、erlangってソースが71MBもあるの?
» bestjobsonline (Best Jobs): Senior Erlang Engineer - relo to SF available - http://t.co/BaKJm1J3 #jobs #CyberCodersEngineering #NewYork
» agnesMRPS (A . M . R . P . S): @doni_erlang ora !
» agnesMRPS (A . M . R . P . S): @doni_erlang tlg y pke bhsa yg merakyat . Aku dk ngerti kw pke bhsa planet mna ? :p
» eComjobs (Henry James): Ecom Jobs USA Senior Erlang Developer - Principal Erlang Engineer - Erlang: IN-Indianapolis, CyberCode… http://t.co/9t8gRwA7 #ecomjobs
» agnesMRPS (A . M . R . P . S): @doni_erlang apaan si ? :p
Statistics
Number of aggregated posts: 10456
Number of comments: 1446
Most recent article: February 06, 2012
Latest comments
» vindisesl on Pretend This Optimization Doesn't Exist: I completely agree with you. I really like this article. It contains a lot of useful information. I can set…
» simple smile on Scale means Skills: Very informative article. Pretty sure people would love to go to that place for shopping. Specially to those who are…
» simplesmile on 27 January 2012: Erlang Solutions embarks on an Erlang Embedded KTP: Your article will make the world better. Thanks again and good luck to you in your life. See you next time.simplesmile