This is my first real new post since 2020. All the ones posted at the end of 2023 were written back in 2020, and have been backlogged while we dealt with personal issues. New year, new posts!
In my previous posts, I’ve explored some basic generative art in a variety computer languages and art frameworks. We tried Javascript with p5.js , Clojure with Quil , and Java and Processing . I don’t have any post to document it, but in the past few years, I also experimented with Kotlin and Go for artwork.
All of these have their strengths and weaknesses. Which one to choose might depend on many reasons, some of which boil down to personal preference. Useful work can be done in any of these, plus many others.
Recently, I have settled on Rust for most of my personal and professional work. Why Rust? I like that it is fast – it compiles to an executable program instead of something which has to be interpreted at runtime like every language listed above except for Go. I like the memory management, which offers safety from memory leaks that other languages do not. I like the tools that come with the language, making it easier to develop in and manage the build process. I like that rust makes me think differently about how a language should work, and that being able to develop in Rust make me more critical of how I develop in other languages.
Am I telling you to drop what you are doing and switch to Rust? Or to start with Rust as your first programming language? Ha ha, no. Rust has quite a learning curve. I think it could be a first programming language for someone, although that would be a difficult path to walk. It can be difficult even for an experienced developer to learn, just because there is so much that is different from other languages. However, it is perfectly adequate to demonstrate concepts. It is at least as readable and easy to follow for anyone with some basic programming experience. So I think it will work well here to explore generative art. I will not be trying to teach Rust here.
Rust does have a generative art framework, Nannou . I used it to generate the image at the top of this post. In the next few posts, I’ll talk about Nannou; how to set it up and how it works. Then we can go back to making some art!
Stick around, and let’s see where this goes…