Stefano Rodighiero

@eslr
98 Followers
85 Following
267 Posts

Software developer. Interested in programming languages, data engineering, biking and #bikepacking. I like Lisp

Current header picture represents Lago di Santa Croce, in Italy (province of Belluno), taken in April during #venetogravel 2025

#emacs #commonlisp #clojure

Personal websitehttps://stefanorodighiero.net
Bloghttps://stefanorodighiero.net/blog/
Linkagehttps://stefanorodighiero.net/linkage/

studying raymarching because why not

#sundayscreenshot #lisp #graphics

Commander Keen Games (free book)

https://forgottenbytes.net/

Welcome to webpage of Bas Smits

@mxchara yes. In my experience, the language itself is quite easy to learn: there are just a few principles, and it's overall a small language. What's more difficult to deal with is the API provided with the development environment: there's a lot of stuff and it's easy to be confused. Thankfully, one can examine and even modify the inner workings of the entire system (it's in the image), so in a sense there's plenty of examples. And there are tools that facilitate discovery
@mxchara I recommend it. Among the programming environments I am familiar with, Smalltalk is one of the most fun to use
@mxchara A later version of my system put the rendered image in a window, and I re-used the very same elements that are used for the IDE to add a little "scene editor" (I know that calling this a scene editor is a stretch :) ) into the "application"
@mxchara Note that on the bottom right corner there's the image produced by the raytracer, plus a button I just added in the workspace, that sends a render message to the scene. In the playground you can see the code that adds that button, and you can see how it's wired to the rest of the system
@mxchara As an example, here a (very) simple toy renderer I was writing, just for fun. The first screenshot shows the development environment: the Playground window is for evaluating snippets of code and exerimenting my changes. The window at the center is a System Browser, where the development itself happens
@mxchara One can distribute a Smalltalk application as a headless artifact (i.e. not including the IDE component), or you can distribute the "image", that can be loaded on another machine provided they have the Pharo runtime installed (similar to having a language interpreter installed, if you will); or, one can create an executable that includes the runtime _and_ the image
@mxchara Do you know Smalltalk? There are several implementation you can experiment with: Pharo, for example (and you can find resources here: https://books.pharo.org/ -- I suggest to go through the tutorial in chapter 6 of "Pharo by Example", to get an idea of how it feels to develop in the environment). Another alternative is the Glamorous Toolkit, which is a sort of "more opinionated" tool, built on top of Pharo
Pharo books