On 16 August 2016 at 17:08, Piotr Stefaniak <postgres@piotr-stefaniak.me> wrote:
> On 2016-08-16 18:33, Robert Haas wrote:
>> It wouldn't be that much work to maintain, either: we'd
>> just set up some buildfarm members that compiled using C++ and when
>> they turned red, we'd go fix it.
>
> I think that there exist subtle differences between C and C++ that
> without compile-time diagnostic could potentially lead to different
> run-time behavior.
It seems to me that if we were really keen on attaching in another
"totally compiled" language, that C++ wouldn't seem like the best
choice.
As you say, it's subtly different, which seems a bit dangerous to me.
Further, it's not as if C++ is particularly newer than C. C is about 45
years old; C++, at 33, hardly seems like a "spry young whippersnapper"
whose inclusion ought to lead to vast excitement.
The would-be "spry young things" that head to my mind are Rust and
Go. I'm not sure it's terribly plausible to have parts of Postgres
written in both C and (Rust|Go); they're different enough that
I'm not sure what functionality would mix sensibly. But I think
that would be more interesting, all the same. Perhaps it would
work out well to be able to create background workers in Rust,
or to implement a stored procedure language in Go.
--
When confronted by a difficult problem, solve it by reducing it to the
question, "How would the Lone Ranger handle this?"