5 ms·
An interesting dynamic here is that, having read Yeggie's article years back, I regarded Smalltalk as being somewhere towards the conservative end of the axis (
by radiowave 5y ago
An interesting dynamic here is that, having read Yeggie's article years back, I regarded Smalltalk as being somewhere towards the conservative end of the axis (at least, in comparison to other dynamic languages.) E.g.: variables declared before use, no truthiness, very few automatic type conversions. It results in a system with a high degree of internal consistency.
And yet, the goal of the language is to enable activity at the liberal end of the axis.
So maybe there's a more subtle goal: you have to enable someone to make a mess, but also equip them to get out of that mess into something more structured, as and when that becomes useful.
As a counter example, spreadsheets are wonderful for making a messy solution to certain kinds of problems - but how do you then it them into a spreadsheet that isn't a mess? I don't know that I've ever seen that happen - it seems like the right means of abstraction and combination to enable that to happen just don't exist in spreadsheet-land.
- igouy 5y ago"LAMBDA: The ultimate Excel worksheet function" https://www.microsoft.com/en-us/research/blog/lambda-the-ultimatae-excel-worksheet-function/ https://www.microsoft.com/en-us/research/blog/lambda-the-ult...
- deleted 5y ago[deleted]
- rektide 5y agoFun comment! What are some things you think that Smalltalk does have or does do that embody the liberal sides of the axis? I want to agree, but trying to describe the image based environment, or how being more messages helps, is challenging for me to elaborate on. Personally, I think we grade really hard on the small but visible differences like "do I have to declare 'MyFoo foo' or is there inference typing &c about", but it's much harder to assess from a big picture what behaviors & differences there are, harder to understand how each language & runtime is going to help us make sense of things. Spreadsheets are an interesting place to turn to next. I'd be interested to see spreadsheets that can also visualize the dependencies of cells, that show how values flow across the sheet. Having that positional sense is interesting, versus, say, a debugger where you can see maybe what lexical scope a value is from, or less interestingly the address on the heap where a value happens to be. There's still, in both spreadsheet & debugging, dependencies, which power the processing that is now underway. I feel like both environments could be much better at helping explore this.