Live data from Hacker News

Why we develop EloqDB mainly in C++

eloqdata.com

51–60 of 94 posts

Re: Why we develop EloqDB mainly in C++

#51
post #28
post #25

Earlier quoted context omitted.

Because they are grasping for reasons not to learn Rust.

Their reasoning is reasonable. And besides, when your existing team is already proficient in Cpp, arguing that "they should learn X instead" seems very risky and unwise.

Then just say so and it is fine. We are a team of c++ experts and we are able to build a high quality program in C++ is a completely valid unassailable reason. Except for the most ardent rust fanatic.

Re: Why we develop EloqDB mainly in C++

#52
post #5
post #4

These articles can always be surmised down to "because we wanted to". Rarely is there some real reason.

As Richard Restak postulates in his book “The Naked Brain”[0]: the limbic system provides a gut feeling (usually from comfort) and we rationalise our way backwards from that without being able to really pinpoint “why”; usually the “why” is secondary and only added as justification for the feeling post-decision. [0]: https://www.amazon.com/Naked-Brain-Emerging-Neurosociety-Cha...

Humans are really just 3 LLMs in a trenchcoat after all

Re: Why we develop EloqDB mainly in C++

#53
Good for them. I like C++. It is a language that supports both being close to the computer and abstraction. I studied Rust a bit but it seems that their rules exclude some perfectly good software designs. If two classes need to work together as equals so class A has a reference to B and class B has a reference to A this is not very well possible. Especially if both A and B have multiple instances that are stored in containers. This is common with the bridge design pattern.

Re: Why we develop EloqDB mainly in C++

#54
post #9

Earlier quoted context omitted.

The "I drive an H-pattern manual transmission" of programming language discussions.

Is this like a dig? Does anyone disagree that manual is much more fun?

I get your point and I like driving a manual car, but there’s a reason the whole world has switched to automatic

Re: Why we develop EloqDB mainly in C++

#55
post #7

I don't know if the stuff about the JVM is even true. I grant that Redpanda is written in C++, but it isn't clear that its performance advantages over Kafka are due to that rather than to the fact that Kafka was implemented in a performance-oblivious way by people who did not know anything about software efficiency. This doesn't reflect on the JVM. You can write a high performing system in Java and the modern JDK is…

The by far biggest issue for Java is that they still haven't gotten their act together on value-types (project Valhalla), going back in time, the one thing someone should have told the designers was to not to release the erasing generics in Java 1.5 and go for something like C# did with value type structs. Not really for "purity" issues, but rather due to the fact that memory speeds and main memory latency patterns t…

Full agree. Value types are underrated. That's one of the best things about C# and Go. They are increasing performance (with contiguous memory) and reducing GC pressure. I also believe that dynamically typed languages like Python would gain a lot by introducing a form of value types/unboxed values. For example, Cinder, Meta's internal version of CPython, supports what they call "static classes": https://github.com/facebookincubator/cinder?tab=readme-ov-fi....

Re: Why we develop EloqDB mainly in C++

#57

Earlier quoted context omitted.

Is this like a dig? Does anyone disagree that manual is much more fun?

I get your point and I like driving a manual car, but there’s a reason the whole world has switched to automatic

There's essentially no learning curve moving from manual to automatic. But moving from C/C++ to Rust, there's a big learning curve.

Re: Why we develop EloqDB mainly in C++

#58
post #9

Earlier quoted context omitted.

The "I drive an H-pattern manual transmission" of programming language discussions.

Is this like a dig? Does anyone disagree that manual is much more fun?

Fun isn't the point, and it's not (necessarily) a dig. I drive a manual transmission car as my daily driver. I enjoy it. I would never try to say it's better than a modern automatic, though - because that would be wholly incorrect at this point by any objective measure.

I'm noting that C++ vs Rust is basically this: every article that someone writes which goes over "we're still choosing C++" has the same vibe as people who choose manual transmissions in 2025. There's no real reason to do so at this point, other than if you want to.

Re: Why we develop EloqDB mainly in C++

#59
post #17

Earlier quoted context omitted.

Is this like a dig? Does anyone disagree that manual is much more fun?

I suspect the H pattern they mean is where the gear shift is on the steering column, not on the floor. I long ago owned a 1945 Dodge truck with that shifting setup.

Nope, but I appreciate the effort. I threw the H-pattern reference in there without thinking about it too much mostly to differentiate the reference from situations where you're shifting but it's not with a lever.

(I've been stuck on planes for 20 hours with little sleep, so ignore it if it doesn't make too much sense lol)

Re: Why we develop EloqDB mainly in C++

#60

As far as I can tell, modern C++20/23 is as safe (if not safer) than rust. So much of rust compares itself to C++99, where modern C++ doesn't use exceptions, has smart pointers (RAII), improved casting and array management, and has an extensive suite of checking tools and flags. The conversations I've seen at my company for using rust tend to be "well it would be tun to do something different", which just aren't very…

> As far as I can tell, modern C++20/23 is as safe (if not safer) than rust.

It is not. Rust will, for example, prevent the following memory-safety issue from compiling:

    std::vector meow;
    T &x = meow[i];
    meow.push_back(...); // Oops, x is now dangling, maybe!
    x.a = ...;
(This sort of pattern is responsible for nearly 100% of the C++ memory safety issues I know I've committed in the past several years.)
Post reply on HN