Richard Bucker

Rust v Go

Posted at — Sep 23, 2022

This post started as a rust v go rant but then it became something else. The whole point of high level languages is to make reasoning and implementation easier to accomplish; by extension GSD.

Yesterday I was considering starting a new project and beginning with rust. I made a mental list of some simple goals and then started some lite reading. I was left in a vague state but with some ideas.

I’ve written and maintained millions of LOC in assembler. C makes assembler/assembly easier to reason. The early C implementations were just transpilers making it simple to reason but then came optimization and that made the resulting assembly code harder to reason. The original C++ was easy to reason (see Borland C++ for DOS) Later incarnations not so much.

Having spent a great deal of time disassembling byte-code I just do not want to do that anymore.

… in conclusion …

What we need is a language and toolchain that we can trust to work on all operating systems forever. Then we need a low-code macro layer on top with some shims to various libraries. We need to be able to split a file in one or two lines of code and we need to be able to generate a report from a database in the same. Change a flag and it’s HTML, csv, tsv etc… I see picol.c and picol.go and I see the answer.