Posted by Damien Pollet
Sun, 01 Oct 2006 19:12:43 GMT
…explains Mark Dominus:
When we identify and document one, that should not be the end of the story. Rather, we should have the long-term goal of trying to understand how to improve the language so that the pattern becomes invisible or unnecessary.
Examples are the iterator methods in Smalltalk and Ruby, or the singleton using once in Eiffel…
(via lesscode)
Posted in Link | Tags design, language, patterns | 2 comments
Posted by Damien Pollet
Fri, 21 Oct 2005 20:16:44 GMT
I just read the article by Dan Ingalls on the design principles behind Smalltalk, published in august 1981 in Byte Magazine.
Many of the principles listed in the article would be recognized by today’s programmers as principles of object-orientation: Objects, Messages, Modularity, Classification, Polymorphism, Virtual Machine. Storage Management doesn’t really exist outside Smalltalk, or as rather crude versions (object-relational mappings vs. the Smalltalk image system). And yet some others relate to very current hype and buzz: the pragmatic programmers’ “Don’t Repeat Yourself” (Factoring, Leverage), domain-specific languages (Purpose of Language, Scope).
But the last two were rather funny, in a way:
Operating System: An operating system is a collection of things that don’t fit into a language. There shouldn’t be one.
Natural Selection: Languages and systems that are of sound design will persist, to be supplanted only by better ones.
About that last one, I must have a strange sense of humor… or maybe 25 years just isn’t long enough?
Posted in Research | Tags language, research, smalltalk | no comments
Posted by Damien Pollet
Wed, 19 Oct 2005 23:05:00 GMT
I just stumbled upon the Asymptote domain-specific programming language for producing vector drawings. I’ve waited for such a thing to exist for some time now since I just couldn’t wrap my brain around MetaPost, from which it is inspired.
Kinda strange to program a drawing, you’ll say. Granted, these tools are not exactly WYSIWYG or even interactive, since you have to run the program to produce the actual drawing. I wouldn’t recommend them for anything other than diagrams, graphs, or technical drawings. But for these kinds of visuals, they can be really powerful.
Read more…
Posted in Link | Tags design, graphics, language | no comments
Posted by Damien Pollet
Wed, 18 May 2005 10:42:00 GMT
Subtext is a programming language where you directly edit the program structures, by copying and linking. The demo explains that better than I could ever write it.
To me it looks very much like the visual dataflow-oriented connect-the-boxes-in-a-patch tools you find in 3D software for expressions and shaders, in Quartz Composer, or in audio software to compose sound effects. However the concise textual representation in Subtext is better suited to complex programs than diagrams.
That paradigm also reminds me of the key-value observing in Apple's Cocoa; I wonder where this dataflow/driven by change stuff will lead us to...
Posted in Link, Research | Tags language, research | no comments