[Self-interest] slow systems (was: OurSelf trial nowwithout invite!)

Paul Chapman paul at igblan.free-online.co.uk
Sun Dec 6 04:28:04 UTC 2020


David,

> Could I resize them? Change the number of them?
Resize, yes, including quick maximize/restore. Change the number? No. Six seemed like a good compromise between screen space and flexibility.
> I'm wondering what the morals of the story are. What did the experience teach you? Did it change you?
It taught me that my instincts were pretty good. The extra time spent designing a DSL and then building an IDE paid off with a fourfold improvement in development time compared with my first APL interpreter. That’s pretty remarkable for two projects whose end products were functionally identical.
I was lucky that my first paid programming job, in my gap year when I was 19, happened to be writing a compiler, in FORTRAN IV, for a FORTRAN-like DSL for a market research company. Rather precociously, I started by rewriting the spec and sending it back. This was greeted with approval (The MD - an old term for CEO - of that company and I undertook other projects over subsequent years, including that first APL interpreter.) My rewrite simplified and unified various concepts. Thus I serendipitously became a specialist in language design and implementation, although professionally I had many ‘ordinary’ contracts as well.
If anything changed me it was encountering Smalltalk five years later. My hobby programming language of choice switched almost overnight from APL to Smalltalk. And it was the reification of lexical closures which sealed the deal. I’d always wanted to reduce APL’s greed for memory by implementing ‘deferred execution’ (now known as ‘lazy evaluation’) for certain APL idioms, to eliminate the frequent need to compute large intermediate arrays. This would’ve been hard in a low-level language. When I brought a Smalltalk/V install home from work (I later bought Smalltalk/V with my own money!), I had a proof of concept for deferred execution (what is now called ‘lazy evaluation’) running in a few days.
I’ve only written in Smalltalk once on a paid project, in 1997. But for another project, in 1998-2000, I implemented a DSL in VB6 (not my choice!) built around a datatype which was a piecewise linear function (in this case, a banded tax and benefits system). I demonstrated a proof of concept to my new boss on day two of the contract – by bringing my Smalltalk into the office and prototyping the datatype. This appeared to confirm to him that he’d hired the right guy off the street. We’re still friends.
Cheers, Paul
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.selflanguage.org/pipermail/self-interest/attachments/20201206/f2b23453/attachment-0001.html>


More information about the Self-interest mailing list