Re: Woo hoo ... a whole new set of compiler headaches!!

Lists: pgsql-hackers
From: "Dave Held" <dave(dot)held(at)arrayservicesgrp(dot)com>
To: <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Woo hoo ... a whole new set of compiler headaches!! :)
Date: 2005-04-22 17:23:06
Message-ID: 49E94D0CFCD4DB43AFBA928DDD20C8F9026184CF@asg002.asg.local
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

> -----Original Message-----
> From: Alvaro Herrera [mailto:alvherre(at)dcc(dot)uchile(dot)cl]
> Sent: Friday, April 22, 2005 12:06 PM
> To: Tom Lane
> Cc: Dave Held; pgsql-hackers(at)postgresql(dot)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. 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.

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.

__
David B. Held
Software Engineer/Array Services Group
200 14th Ave. East, Sartell, MN 56377
320.534.3637 320.253.7800 800.752.8129


From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Dave Held <dave(dot)held(at)arrayservicesgrp(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Woo hoo ... a whole new set of compiler headaches!!
Date: 2005-04-22 17:45:38
Message-ID: 42693842.6070500@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Dave Held wrote:

>>-----Original Message-----
>>From: Alvaro Herrera [mailto:alvherre(at)dcc(dot)uchile(dot)cl]
>>Sent: Friday, April 22, 2005 12:06 PM
>>To: Tom Lane
>>Cc: Dave Held; pgsql-hackers(at)postgresql(dot)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