Today's workshop on Unit with @Samuel Timbó is now up on YouTube:
Thanks to everyone who attended, and to Sam for building and demoing such an impressive piece of tech!
08/17/2023, 12:05 AM
I just want to say thanks to all for watching and participating! Kudos to @Kartik Agaram for the curiosity and @Ivan Reese for the leadership! I think we did cover a good amount of Unit basics, at least "enough to be dangerous"... I will tell you my (textual) programmer brain really knoted many times trying to implement some complex machinery in Unit, but when I "get it", it feels really good... it is like a puzzle... 😉
08/17/2023, 12:27 AM
I really appreciated some things about unit.land:
• It doesn't perpetuate the false dichotomy between inside and outside, interface and implementation. The code for a product is just another view on the product, and the interface for browsing the code is designed like a product. That duality and the easy way to bounce between the two promises lots of tight feedback loops in many dimensions. Other projects like Excel share this property, often by dumbing down the internals. Excel focuses on data to the exclusion of code, etc.
• The code feels like an organism, alive. I was reminded of experiences playing StarCraft where you lay out a few things and then can often watch how things play out once the battle starts. The surface the code lies on feels alive like an eco-system, particularly when you take the hierarchical structure into account. It feels like a jungle you could immerse yourself in. And I really like the idea that giving it detailed simulation of physics leads to an aesthetic environment.
• You can see values flowing through the code. Many other programming models struggle to integrate the two. Showing example values next to code feels like a hack compared to this. The way you pause computations feels organic. Spreadsheets hide the dataflow which hinders debugging.
• Mobile friendly. I almost missed this. This is potentially huge. There's an almost 15-year old open question of how people might develop on small screens. This might be the answer.
08/17/2023, 1:09 AM
One of many things that I like: you're always building the code with a bunch of live example values flowing through it as you build. Like, the data is already present and flowing before the code is even plumbed together. This is why I'm so keen of visual programming — a spatial canvas makes it easy to trade off how much space is allocated to the code vs how much space is allocated to other helpful stuff. You can't easy change that balance in a traditional text buffer.
(Meta: Also shared this on HN, Lobsters, and social media.)