Images as illustrations in the code:
Yeah, sure, it would be nice to have the Vitruvian Man in the code, but it's also nice to be able to re-open your text file in 5 years, when development on the IDE has stopped and it no longer runs on current operating systems. Also, animations would be hugely distracting.
Code cells:
With jupyter and spyder I have been bitten by lingering obsolete state from re-running cells or code blocks various time. I find the program much easier to debug if it runs on a clean slate and builds all the state from scratch. If building state takes long, I try to cache, save it to disk, and go from there.
Nonetheless, an interesting perspective.
I imagine this as an Emacs package that recognizes tree-like code patterns (like what he showed in the video) and replaces those patterns inline when you toggle it. Your code is still the same plaintext. But your editor can display chunks of it as graphs.
Emacs does this already in latex-mode and org-mode for math formulas.[1] It shouldn't be a stretch to do this for other types of code, too.
[1] See this example in markdown-mode: https://external-preview.redd.it/ETo2U5C7vh5o4482sMcnYbkZ6Lx...
Hm, reading this just made my brain connect the reasons I don't like Jupyter with the reason I am baffled by people who like Smalltalk. An image that you can't fully restart just... doesn't seem like a pleasant development environment.
It's not inserting images into the code. It's a structured editor presenting an alternative view of the code. It's just code. That's all there is to this. Man, frustrating.
I'm guessing you have never tried these things but image based Smalltalk implementations have supported VCS for decades now, literally. In Pharo this is with git using Iceberg:
https://github.com/pharo-vcs/iceberg
They even wrote a tutorial to make it easier: https://github.com/pharo-vcs/iceberg/wiki/Tutorial
It's not magic, it's not even a problem, because the problem you're imagining doesn't actually exist. So long as the user of the system has at least half a brain (and maybe less) they will be capable of distributing their code with git these days.
I will not agree, and I hope you will understand why after I give some evidence. Here's what Pharo advocates typically point people towards:
https://mooc.pharo.org/#week1 - I've linked to the week1 anchor so you can see that Iceberg makes it in pretty early. I hope you understand that despite your hopes for me I cannot agree. Sorry to crush your hopes, I hope you can forgive me.
> it's also nice to be able to re-open your text file in 5 years, when development on the IDE has stopped and it no longer runs on current operating systems
Export the code to normal text, manually translate the images to ASCII or just keep them as Markdown-style links to images.
The cognitive benefit from having actual images in your code will massively outweigh the expected small one-time cost of having to perform a one-time task to migrate them a fraction of the time (and it's more likely that a particular software project will die than an editor that it's written in).
> I have been bitten by lingering obsolete state from re-running cells or code blocks
Make cells explicitly show you what state/inputs they use.
If you're not using purely functional programming languages or design patterns, then having the ability to re-use state will also massively outweigh the occasional transient issues from accidentally doing so.
The upsides of both of these techniques massively outweigh the downsides. Not to say that you have to use them, of course - there are still people trying to implement large software projects using UNIX shell scripts.
Honestly, I don't have the slightest idea what's going on with you.
I was having fun with the word "hope" which I find to be a weird sentiment because it expresses a lack of agency or control over a situation. But you didn't lack agency or control, you had an opportunity to persuade. An opportunity to convince me of your position and to try and bring me into agreement, but you didn't use that opportunity. It would have made more sense to me to express a hope for agreement if you had at least taken the chance to provide evidence for your claim.
>> I hope you will agree that this is not how Smalltalk is usually advocated.
You offered no evidence, you just hoped (asserted a lack of control in persuading) that I would agree with a bald assertion. I offered evidence to the contrary, the Pharo MOOC, which turns up in most discussions I've seen, here and elsewhere, about Pharo in particular and Smalltalk in general. Interestingly, to me, you didn't even engage with my evidence, which is unsatisfying.
You could have responded to it. You could have provided your own counter-evidence. But you didn't.