Re:Redpanda – A Kafka-compatible streaming platform for miss...
by agallego on Monday November 16, 2020 @10:11AM
(#25112601)
Hi there!
Sure thing. I basically was playing with an RPC framework to make my old company project fast in 2017 see github.com/smfrpc/smf
I wanted to play with dpdk then.
When I started this in 2019 I wanted to use a framework that was battle tested, so seastar.io fit the bill.
There is also a big part of it that I had been professionally programming in c++ for many many years.
Last, this evolved from a prototype on my laptop in miami to company.
I think rust would he am excellent choice as well and I bet we'll write a bunch of rust in the not too distant future.
Looks like the project is mostly written in C++ and Go. What was the reason for this choice? Have you considered other languages, like Rust, Zig or similar instead of C++? TBH not sure what an alternative to Go would be, maybe JVM AOT-compiled with NativeImage (but AFAIK that's still experimental).
Did Go's GC and/or C++'s lack of GC help/impede the project? IMO memory management is one of the main differences between languages... the other is concurrency / memory model / undefined behavior, where JVM is significantly ahead of the rest (no undefined behavior), I'm not sure exactly where Go stands (there seems to be a memory model, but no mention of undefined behavior or lack thereof).