Dave Held wrote:

-----Original Message-----
From: Alvaro Herrera [mailto:[EMAIL PROTECTED]
Sent: Friday, April 22, 2005 12:06 PM
To: Tom Lane
Cc: Dave Held; pgsql-hackers@postgresql.org
Subject: Re: [HACKERS] Woo hoo ... a whole new set of compiler
headaches!! :)

[...]
Why don't we rewrite Postgres in D?

http://www.digitalmars.com/d/

:-D



I see the smiley, but moving to C++ isn't just about switching
to the latest fad language.



No, it's about moving to the fad language about 2 generations back ...

First of all, you would literally
have to rewrite it to use D. There would probably need to be
very little work to make the Postgres codebase a conforming set
of C++ programs (mostly renaming variables/types named 'class', 'virtual', 'bool', etc.). Second, you can find a decent C++
compiler on virtually every platform that has a C compiler.
Third, C++ offers real advantages in type safety, exception
handling, resource management, and even performance.



Unless you did a major rewrite it's hard to see any great advantages. There are over 600,000 lines of code in Postgres by my rough count. The potential rewrite effort is enormous. A thorough job would probably consume a release cycle just on its own.


Also, "virtually every platform" isn't good enough - we have a number of oddballs in our supported list, and it would have to include at least those.

Even doing something as simple as writing a stored procedure
in C is somewhat awkward because of all the boilerplate casting
that must be done.  I'm fairly certain that most of the macros
in the stored procedure interface could go away if a C++ API
were created.




On the downside, some of us (including me) have much more experience in and ease with writing C than C++. I could certainly do it - I write plenty of Java, so OO isn't a closed book to me, far from it - but ramping up in it would take me at least some effort. I bet I'm not alone in that.


So this would not be cost-free - very far from it.

cheers

andrew

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faq

Reply via email to