Conway in HaskellAt this point it’s becoming increasingly clear that I can ask Cursor to read any of the implementations of my Conway and translate that into any other programming language that I want; this is what I’ve done last year with NASM, Scala, and Bash, and this year with Haskell.
Conway in NASMAnd here we go again with vibe coding: this time with Claude, I translated the Turbo Pascal version of Conway into Netwide Assembler or NASM for Linux 64-bit.
Conway in Borland DelphiYet another version of my Polyglot Conway project, this time in good old Borland Delphi 1.0 (which recently celebrated its 30th anniversary!) from 1995, running on Windows 3.1, and as usual you can find the source code on my GitLab account.
Conway in ScalaAnother week, another version of my Polyglot Conway project, this time in Scala, a version bootstrapped with the help of ChatGPT.
Conway in BashI’ve added a new version to my venerable Polyglot Conway project, this time as a good old Bash script, a version bootstrapped with the help of ChatGPT.
Conway in C89Another year, another version of my Polyglot Conway project, this time for C89, also known as “ANSI C”, targeting quite a few compilers of the early 1990s, and some others from our more recent times.
The Core Idea of this Blog is MigrationsThis blog, made of writing pieces I published online in various formats since 1996 to today, is the reflection of the various migrations I’ve experienced through my life.
Conway in Minimal BASICLast Monday I released the 59th issue of De Programmatica Ipsum, my dear monthly magazine about code, developers, and society, and this month I talked about BASIC in all of its flavors. As part of the preparation of this issue, I dived into the world of Minimal BASIC code, the one with source code line numbers, the one that would start immediately after powering up your computer, and the one that brings endless nostalgia.
Conway with the Zig Programming LanguageAs suggested in a previous article, this year’s candidate of my lifetime programming language learning activity is Zig, and I decided to reimplement Conway with it.
On Being a GeneralistThere is a lot of discussion online these days about the relative benefits (and drawbacks) of being a generalist software developer.
Fortune AppsAs part of my work in VSHN, I lately prepared a set of demo applications ready to be containerized and deployed in our new product APPUiO Cloud.
Managing Professional Decline as a DeveloperMy friend Gabriel Garcia Marengo shared a great article by Arthur Brooks a few weeks ago, and it prompted me to reflect on how developers cope with age. This is not a new subject for me; but it is one that, as I approach the glorious age of 50, becomes more and more present in my thoughts.
Polyglot ConwayMy personal project during the pandemic was Conway, a project providing implementations of Conway’s Game of Life in as many programming languages as possible.
On the Need of Minimalist PolyglotsMany companies, at some point of their history, ask themselves a simple question: what programming language should I use? The answer to this question is tricky, and has big, big consequences, for every single line of code of your future products will be written, read and suffered by it. This single choice defines the level of salaries you will have to pay, the skills of programmers you will have to deal with, the relative length and performance of your systems, the availability of tools (or lack thereof), the kind of support you will get (or not), the number of operating systems your code will work in, etc.
Playing With HTTP LibrariesIt’s fun to find out how to tackle the same task in different programming languages; in this case, it’s all about doing HTTP requests over a network: fortunately, there are networking libraries in virtually all major programming languages. In my current project, I’m generating wrappers easing the access to the core of the project itself, a RESTful API. This way, developers interested in using the API can just take a wrapper, include it in their projects, and start coding right away. No need to know this (relatively low-level) stuff; just use the API. The wrappers themselves are auto-generated from the API definition itself, but that’s another story ;)
Preferred Programming LanguagesThere are basically 5 languages that I really like. For several reasons. 2 of them are proprietary, while 3 are open-source. 2 are statically typed, and 3 are dynamically typed. All are fully object-oriented. 3 can be used for web development, 4 for desktop apps. And none is Java.