> [mailto:pgsql-hackers-ow...@postgresql.org] On Behalf Of Peter Geoghegan
> I think that the best thing about C++ is the ability to encapsulate and
> simplify some aspects of resource management quite well, which necessitates
> reimplementing PG_TRY/CATCH. The worst thing about C++ is that ABI
> compatibility is far messier. This makes a C++ port seem less compelling
> to me than the idea first appears.
> [mailto:pgsql-hackers-ow...@postgresql.org] On Behalf Of Christopher
> 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.
First, I'm neither for nor against rewriting PostgreSQL in C++. But I wonder
whether it would really pay for the cost. I'm worried about these, for example:
* Wouldn't it increase the coding and testing burdon? Coding and testing in C,
and coding and testing in C++. PostgreSQL seem to have many features to
develop, and I'm not sure C++ will help to speed up the development of them.
* Would it really attract more developers of PostgreSQL itself, not extensions?
FYI, Tiobe Index says C is nearly twice as popular as C++.
* Wouldn't it distance some developers if they don't want to learn C++? As
Christopher said, C++ is old and there are many newer languages that attract
developers want to spend time in learning complex C++ now. I learned C++
because it is still the most popular language in game development, but maybe I
would not want to learn C++ anymore if I didn't know C++.
Sent via pgsql-hackers mailing list (firstname.lastname@example.org)
To make changes to your subscription: