As to why, no idea. I guess some engineer was just familiar with it from their undergrad days like the rest of us.
And which version, I know it’s MINIX 3 but beyond that? No idea. They probably heavily modified it and as Minix is not GPL, Intel never published it. Based on the timelines it’s likely 3.1 as the ME platform has heen around since approximately 2007 iirc.
The original L4 was written in assembler and replaced by different other implementations long before the ME platform was developed. Pistachio was in development around that time and available under BSD.
AIUI Sel4 is just a kernel, so adding all the "management engine crap" - networking stacks, drivers etc. would be a lot of work. Minix came with 'batteries' included.
While it has been a number of years since I last used Pascal (Delphi 5 or Turbo Pascal before that) -- I do like the language but I find the code syntax to be bloated at times. Maybe better to say harder on the eye when looking at large source code compared to C.
Of course - modern Pascal (Free Pascal, Delphi, etc) might have evolved a lot since.
// C
void some_func(int a) {
int b = a + 10;
printf("hello %d\n", b);
}
{ Pascal - Going by memory, so might be a tad wrong }
procedure SomeFunc(a : Integer)
var
b : Integer;
begin
b := a + 10;
WriteLn('hello ', b);
end;
I have been playing around with Odin for a little while, now. It may have been inspired by Pascal in a number of ways but it certainly isn't as cumbersome to write. I am liking the syntax much more.
// Odin
some_func :: proc(a : i32) {
b := a + 10
fmt.println("hello ", b)
}
> low level stuff like parsers, small KV stores and some network programming
That's not actually "low level"; you can pretty well do all of this using JS or TS. Go is very well suited for these kind of topics, and you can master it within a year. I don't see a necessity or clear advantage to learn C++ for these kinds of topics (mastering C++ takes 3 to 5 years).
> I have the FOMO of not learning to manage memory
There is no reason for this. It would be different if you would like to develop resource constrained embedded systems (those with less than a MB of RAM).
what about systems like game engines and softwares like figma. People still use cpp there. Do you see go or go-like languages taking more in this space ?
Well, if you intend to contribute to a game engine written in C++, it is of course of advantage if you can program in C++. But there are also game engines written in Go and other garbage collected languages (see e.g. https://www.dragonflydb.io/game-dev/engines/golang). There are also games written in Go. By the end of the day it's mostly a question of preference. As of Figma, as far as I understand it runs as Wasm; so essentially it can be written in any language which can compile to Wasm (which includes Go).
> Chez and Gambit. Speed competitive with C/C++/Fortran.
That's rather unlikely given that SBCL (known to be one of the fastest CL implementation) is about five times slower in the CLBG benchmarks. Also the author found that Chez is in the "same ballpark as SBCL Common Lisp" and "Gambit performs similarly".
I think for scientific computing, Clasp (see https://github.com/clasp-developers/clasp) is an interesting candidate since it makes a huge number of high-performance scientific libraries accessible to Lisp.
Which version of Minix did they actually use? There is Minix v3.1 (released in 2005 with the book), 3.2 (released in 2012) and 3.3 (released in 2014).
reply