
A Quick Look at PostgreSQL Source Code - ktRolster
http://www.zerobugsandprogramfaster.net/essays/3.html
======
jrapdx3
Not a _deep_ dive into pgsql source, but it does show some of the informative
comments in the code. The author points out how well organized the source is,
and the naming consistency in the sections shown makes it easy to follow the
programmers' intentions.

I've used pgsql for a long time, since 1998, and while far from a SQL expert,
the database has always worked well for me. I attribute that to the extremely
high quality of documentation, not only in the source, but also for users.
It's rare to find comprehensive documentation suitable for both neophytes and
experts, serving as both beginner's guide and technical reference manual. The
project deserves high accolades for this accomplishment.

I wish other projects would follow PostgresQL's example. Some team out there
should research the hypothesis that there's a correlation between software
success/performance and the quality of its user/developer documentation. For a
long time it's been my hunch there's a strong effect of this nature.

Measuring the parameters is probably the hard part. As it is I use the idea as
a guide in selecting tools, libraries, etc. As a rule, if the documentation is
a mess or non-existent, the software will be incomplete, full of bugs or soon
abandoned. IOW, the better the documentation, the more valuable the software.

~~~
joepvd
Excellent remark. You might want to install `ponysay` and wander around `info
ponysay` as a data point.

~~~
voltagex_
[https://github.com/erkin/ponysay/blob/master/ponysay.pdf](https://github.com/erkin/ponysay/blob/master/ponysay.pdf)

I've never quite understood the My Little Pony craze, but that's some high
quality documentation.

------
banku_brougham
Thank you, that was amazing. I work in oracle and PG SQL a lot at work, but I
never would have dared enter the source code. Mental barrier, broken through.

~~~
ktRolster
Awesome! Next thing you know, you'll be adding debug statements, fine-tuning,
and fixing bugs!

------
barrkel
About select vs scan: sql's select is functionally a map - it's a transform,
it has no searching semantics. Select and scanning are not strongly related,
except that selection can influence how wide a data stream you need to scan
is.

------
chrisseldo
Loved this -- more please :)

------
ausjke
small typo though: ./configure && make, not ./Configure&&Make

