Re: [GENERAL] C++ port of Postgres

From: Christopher Browne <cbbrowne(at)gmail(dot)com>
To: Piotr Stefaniak <postgres(at)piotr-stefaniak(dot)me>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Jim Nasby <Jim(dot)Nasby(at)bluetreble(dot)com>, Gavin Flower <GavinFlower(at)archidevsys(dot)co(dot)nz>, dandl <david(at)andl(dot)org>, Adam Brusselback <adambrusselback(at)gmail(dot)com>, Joy Arulraj <jarulraj(at)cs(dot)cmu(dot)edu>, kang joni <kangjoni76(at)gmail(dot)com>, Dmitry Igrishin <dmitigr(at)gmail(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>, Peter Eisentraut <peter_e(at)gmx(dot)net>
Subject: Re: [GENERAL] C++ port of Postgres
Date: 2016-08-16 23:12:31
Message-ID: CAFNqd5VmfA0UmzeBdxaC-Byp_QWC5B4G4mKN8k-9SFhN==2hWg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

On 16 August 2016 at 17:08, Piotr Stefaniak <postgres(at)piotr-stefaniak(dot)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?"

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Joy Arulraj 2016-08-17 00:41:59 Re: [GENERAL] C++ port of Postgres
Previous Message Adrian Klaver 2016-08-16 22:07:23 Re: Any reasons for 'DO' statement not returning result?

Browse pgsql-hackers by date

  From Date Subject
Next Message Alfred Perlstein 2016-08-16 23:37:36 Re: Why we lost Uber as a user
Previous Message Andres Freund 2016-08-16 23:05:17 Re: Patch: initdb: "'" for QUOTE_PATH (non-windows)