StefanL, 27.01.06, 18:18
www.agilemanifesto.org
www.agilemanifesto.org
www.agilemanifesto.org
warming old hats ..
and critizising yesteryears mistakes
inhouse programming
customer relationship
plink, nix, praise or blame!
StefanL, 23.01.06, 01:39
I have reread Guy L. Steele Jr.'s 1998 paper Growing a Language (PDF, download). That was a talk he did for OOPSLA, I think.
Definitely the best Java paper I know and one of the best Computer Language papers ever probably. As far as the knowledge of your humble correspondent reaches, anyhow. Read, reread, reread!
plink, only 1 comment, praise or blame!
StefanL, 30.12.05, 00:10
An old debate in CS (going back to Cobol vs. Fortran and never resolved) on "minimal" vs. "humane" vocabulary and syntax of languages gets an actual treatment in:
The Nexus of Guts and Glitz:
At first blush, this would seem any easy call. My Smalltalk roots (among other things) are likely showing when I say I see no harm in a larger, more expressive vocabulary.
And there I might leave it, if this did not raise an even more interesting issue, which is: What if they are both right? How is that for equivocation?
Now the reader need not fear, for I still intend to cast my lot on the side of the humane, and not the stingy, though when the argument is cast in such terms, it is hard not to feel a tad manipulated, and after all, smaller can be simpler, I suppose... To be anti-humane is to be in favor of what? Euthanizing kittens?
...
(Ahem, to all my knowledge this is the first time that any form of cat content appears in my log save for the headerNav where I have 2 since this Xmas. Did it have to be like so? I guess I earned it in some kind of really bad former life. I'm sorry)
But seriously: layering in abstraction, vocabulary, tightness, robustness and so on in SW development is an old proposition and the balance has to be redefined all the time.
But then, as we heard both Adele Goldberg and Dave Thomas complain about declining levels in math understanding being a large problem in SW culture, it seems better education in that field has to be taken on again, in a way that holds after the end of school and/or the first two semesters. Alan Kay has a modest little piece on that in Squeakland.
Kentaro Yoshimasa uses Squeak eToy to enhance math and science education
motz has a snippet and links Joel Spolsky on an aspect of this. I am stupid and impudent enough to think Joel on Software's analytics are wrong.
Chris has a piece on more advanced stuff (parallelism) that's got to do with yet different developments and the heritage of APL, a language that can do a lot, is definitely on the more terse side of interface and "requires as Chris quotes the Swiss APL User Group the ability of the programmer to mathematically analyse the problems on a high level" to be full used. So for the educated there are still fields to prove their smart abstraction abilities. If you are interested in history, follow his LTU link.
Addendum: Brian's newest post is a link to the reconstructed complete and definitive interview with Carver Mead. Interested in science and human progress? Please go ahead, enjoy!
plink, nix, praise or blame!
StefanL, 29.12.05, 01:23
Important Note: This story allthough a continuity on yesterdays 'everybody programs propaganda' is meant for humans that normally do not program. Why should you read this? Because you work with computers and want to be in charge. Some software people really want to dialogue with you and not only research your behaviour through user interface design labs and search data analysis. I also think that you should reflect on what we geeks do. Please do not force us to research you. Enough shit has happened yet.
Maybe some of you played one or the other of the mentioned games and thus appreciates that the languages I will be talking about have been used by designers and conceptionists to develop funny games. Trying to understand programmers will help you fomulating your ideas and feelings on computing better than by forming user demand coalitions to force us to program what gurus say you should buy. It will also help us better to do things that you can use instead of what theorists and the marketing dept. say. It's a give and take, that's easy enough.
ORF-Ski Challenge '06, which is toughly coded in the quintessential superprogrammer language C++ and runs on Windows only (no offense meant, don't understand me wrongly) made me think back to long ago experiences and reflections on game portability, flying spaceships and niche languages.
Mostly I've got too little time for that now, but that's what jontevs are for: Offer yourself a little peace of mind, have a little שלום
for you and your dearest, lean back and reflect about who and what you forgot in the last years.
Scripting Languages, that were nearly alwas meant for users to easily solve little problems, have a rich history. Very many came and went. Many of them are only in those sad "Where are they now?" obituaries. I for example kind of liked Hypertalk (in Hypercard) and OpenScript (in Toolbook) not bad. UserTalk (Frontier) and Lingo (MM Director) where more of a mixed experience. While being the favorite of early webdays, Perl, which was meant for the administrator, never found favor with me. But, for a while, what finally convinced me and pulled me into the fantasy of objects scripted by users was, when I became enamoured by scripting languages running in virtual machines that where and are called Adventure Game Engines. 3 of them come to my mind quickely:
SCUMM, SCI and LUA.
SCUMM (Script Creation Utility for Maniac Mansion) was developed at Lucasfilm Games by mainly Ron Gilbert and Aric Wilmunder in '87, carried early joystick/mouse (as opposed to keyboard command) driven adventure games like Maniac Mansion, Zack McCracken, Indiana Jones and the last Crusade and LOOM. From its native Commodore C=64 it was ported to many platforms and gave Lucasfilm Games a lot of its initial impact. It incarnated in 8 versions and had only to give in over 2 years when "out of Brazil" LUA (see lower) came along. Mr. Gilbert maintains a weblog with a funny Comic, Grumpy Gamer. "Escape from Monkey Island" contains "an in-game joke about the replacement of SCUMM by Lua: The Hero returns from a journey to find the famous geeky "Scumm Bar" replaced by a more user(=tourist)-oriented "Lua Bar".
The Sierra Creative Interpreter of Leisure Suit Larry and King's Quest Fame created by Jeff Stephenson et alii was yet another of these beasts. Just a bit later in coming than SCUMM (1988) it was originally designed for IBM PCs and compatibles and for the then actual CGA/EGA (Color/Enhanced Graphics Adapter) and 320200 resolution with 16 colors. Vow! It quickly went to 256 colors and then the classic VGA resolution of 640480 and even the ability to run in Windows 3.1. Its time of glory seems to have ended in '96, even shortly before SCUMM that was finally abandoned by LucasArts in '98. Like with SCUMM there are lots of <a href=="agisci.cjb.net">nostalgia buffs who continue to develop free versions. SCI did bring forth one game (Gabriel Knight) that could have interested women, which flopped. Of all 3 languages it seems to have been and helped create the most boyish and geekish environment, which is a problem in many digital games anyway.
*Lua, which was created in 1993 by lnk for the lazyRoberto lnk for the hlf lzyIerusalimschy (what a name!), Luiz Henrique de Figueiredo, and Waldemar Celes at the papal catholic university of RdJ (what a place) still is the supreme principe in medievally inspirated cyberspace. It is one of the many tasty and important ingredients in WOW (World of Warcraft), for example.
Non programmers jump 1§ ahead here
(Lua used to be under the BSD license and is now MIT licensed. It even seems to run on the .NET CLR with the help of Byte Code Translation. Here's a
nice tutorial and there is a lib to luascript Java objects.)
For the really interested (inclusive of die hard computer language buffs) the most interesting texts though are on the docs page of lua.org. You'll find out about other nice stuff, e.g. that Lua was explicitely intended for "users that were not professional programmers". In the Lua History page you will also read a nice example of how strong media power of magazines was back then, a mere 9 1/2 years ago: Lua spread to the gaming world via one single article in "Dr. Dobb's Journal". Having read it one Bret Mogilefsky <mogul@lucasarts.com> (what an email adress) who happened to be the lead programmer on "Grim Fandango" wrote the Lua guys an email with "LUA rocks! Question, too." as the subject and the anouncement that he wanted to try replacing SCUMM with LUA.
In the mean time Lua has not only been used from large industrial applications to bobile devices but also by we do not know how many games companies and more games programmers and designers in even more games. Alone by its name (portuguese for moon, which is female) it has got less of a macho touch. It's "syntactic sugar"1 supports that notion too.
All of these 3 languages and Lua the most deserve study by the interested user who wants control, the software historian, the tech philosopher and extreme implementor alike.
Summary: If we want to stay in charge of where computing is going over the next years, we need more user-techie real-dialog. Better and easier userscripting facilities could broaden and deepen the platform of understanding in this process.
Annotations
1 According to wikipedia syntactic sugar is a term coined by Peter J. Landin for additions to the syntax of a computer language that do not affect its expressiveness but make it "sweeter" for humans to use.
Credits
We have to thank god, the universe, our fellow human beings, whatever, that we now can access the necessary HACOFs (hopefully adequately connected chunks of i.) nicely systematized in a more convient and faster form than yesteryear (Caveat: Fast retrieval and fast thinking's got their own dangers as books, printing, religious wars and radio broadcast effects have proved long ago).
Audience Concept and Intention Disclosure
For an ending to these musings and all ye scripting gurus: This might be old and rotten boring soup to you but, nature helping, this hopefully will one day be read by future UCPMs(UseConfigureProgramMyselfers).
The . problems in this story seem to stem from the usage of right to left oysyes above.
plink, nix, praise or blame!
StefanL, 28.12.05, 10:20
Some ago whilst talking about XP (Xtreme Programming) we also talked quite a bit about EUP (End User Programming) which, for the time being, seems to have ended up in skin editors. More about that later.
Here's a very modest example of reinitiative and of not soooo long agobut. It's buggy and damaged, got broken, was meant as an anchor and I forgot about it for just too long.
End user programming as an imagination has always interested me as well as AAPL, MSFT, GOOG, Bill Atkinson, Paul Allen and many others. But the name and brand was wrong all from the beginning. Put "End" in your phrase in the very first place and you've done it all. There is no such stupid things as naming blunders and no such persons as end users. There still are lots of subtle mistakes to correct.
A current form of EUP, skin editing, could get better and more interesting if we will do it the right way. Having some of the users edit skins the way it is done now is what I'd call a crippled API. I always stop worrying about MSFT and GOOG crippled APIs. Sure they are for professional programmers who have seen better, but ...
With Javascript and PHP the C syntax heritage gets in our way too. Python and Ruby tackled the problem semantically, i think, but their syntactic sugar is definitely for the geek (as goes for Rebol, i think). Basic used to be a bit better there but had and has its own host of ugly problems. Logo, far and out the best tool to teach the mathematically uninitiated recursion, has all but nearly disappeard. Imaging what we would have today, had Logo (and TeX) been used in Austrian (European, World) schools (instead of Office and sometimes Basic) to teach computer handling. But no, impossible, not for children, but for the teachers to learn.
Fucking around with AppleScript, Windows Scripting Host and the likes can teach you it goes where all the better scripting languages go. They begin with the so called end user in mind and, in the very best case, end up in enabling persons with an itch to become professional programmers and thus join the ever growing computing elite.
EUP is an illusion or tiny niche you tell me. Even Kay and Ingalls and others with their Squeak project are outside anything important? I tell you it is not. Goldberg, Merry, Kay and Ingalls were right. Children will do it. If I were a shortsighted rather than midsighted marketing man, I'd call it Web 3.1 and would think of 16 bit windows success. I will not fall for that trap. After all these years EUP still is a vision and its goals are not clear enough.
Still I think it is one of the ingredients that we need to go on forward with. True computer literacy demands it. No User will ever be able to enter in a real dialogue with the technorati club without a basic understanding of programming.
Lets start with making a new name for it. Let's call it something like EP (for everybody programs). Better suggestions are warmely welcomed.
I for myself am still more interested in this than in pulling xmlstructured spreadsheet data around the web. Some of those selfish memes work painfully slow but work they do.
Sorry for not linking enough (save my own) , it's hard (for me) to express my thought while jumping round the web.
Addenda to earlier:
Die Sonntagsblickredaktion in Schwitzerland (mein eigenes Vorurteil) hat antville/twoday weblogs. kris point to that one. It seems to be a mirror of sobli.twoday.net. kris found that out, too. Undermining proceeds.
More sad stuff on Ladio LoserLand
traumwind pointed chris (that snip also has smarties on A+, browser and Ajax) who pointed me to indefinite (which I wrongly interpreted as infinite, thx, earl) becoming quite finite. tiny had only the finite (should be definite) side of it. That's what i like: cooperation in a non deterministic environment. All the interesting things most probably are only 3 links away (or so).
plink, 6 comments, praise or blame!