<html><body><div style="color:#000; background-color:#fff; font-family:Courier New, courier, monaco, monospace, sans-serif;font-size:10pt"><div><span><br></span></div><div><br></div>  <div style="font-family: Courier New, courier, monaco, monospace, sans-serif; font-size: 10pt;"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 12pt;"> <div dir="ltr"> <hr size="1">  <font face="Arial" size="2"> <b><span style="font-weight:bold;">From:</span></b> "bitcoin-development-request@lists.sourceforge.net" &lt;bitcoin-development-request@lists.sourceforge.net&gt;<br> <b><span style="font-weight: bold;">To:</span></b> bitcoin-development@lists.sourceforge.net <br> <b><span style="font-weight: bold;">Sent:</span></b> Wednesday, October 23, 2013 3:38 AM<br> <b><span style="font-weight: bold;">Subject:</span></b> Bitcoin-development Digest, Vol 29, Issue 20<br> </font> </div> <div
 class="y_msg_container"><br>Send Bitcoin-development mailing list submissions to<br>&nbsp;&nbsp;&nbsp; <a ymailto="mailto:bitcoin-development@lists.sourceforge.net" href="mailto:bitcoin-development@lists.sourceforge.net">bitcoin-development@lists.sourceforge.net</a><br>When replying, please edit your Subject line so it is more specific<br>than "Re: Contents of Bitcoin-development digest..."<br>Today's Topics:<br>&nbsp;  2. Re: Revisiting the BIPS process, a proposal (Peter Todd)<br>----------------------------------------------------------------------<br>....<br><br>On Tue, Oct 22, 2013 at 09:34:57AM +0200, Martin Sustrik wrote:<br>&gt; On 22/10/13 09:03, Gregory Maxwell wrote:<br>&gt; &gt; On Mon, Oct 21, 2013 at 11:59 PM, Jean-Paul Kogelman<br>&gt; &gt; &lt;<a ymailto="mailto:jeanpaulkogelman@me.com" href="mailto:jeanpaulkogelman@me.com">jeanpaulkogelman@me.com</a>&gt; wrote:<br>&gt; &gt;&gt; Have you seen: <a
 href="https://en.bitcoin.it/wiki/Protocol_specification" target="_blank">https://en.bitcoin.it/wiki/Protocol_specification </a>?<br>&gt; &gt;<br>&gt; &gt; Take care, the information in the wiki is woefully incomplete.<br>&gt; <br>&gt; Imagine myself, with no prior knowledge of Bitcoin looking at the <br>&gt; document. It starts with "Hashes". What hashes? No idea what's going on. <br>&gt; Etc.<br>&gt; <br>&gt; Now compare that to a well written RFC. It starts with introduction, <br>&gt; description of the problem, explains the conceptual model of the <br>&gt; solution, then dives into the details. There's also Security <br>&gt; Considerations part in every RFC that is pretty relevant for Bitcoin.<br>&gt; <br>&gt; As I said, I am willing to help with writing such document, it would be <br>&gt; a nice way of learning the stuff, however, help from core devs, such as <br>&gt; answering question that may arise in the process, or reviewing the <br>&gt;
 document would be needed.<br><br>Writing such RFCs is dangerous due to the consensus nature of Bitcoin -<br>it makes people think the standard is the RFC, rather than the code.<br><br>I hear one of the better intros to Bitcoin is the Khan academy videos,<br>but I've never watched them myself. Once you understand how it works,<br>start reading source code - the Bitcoin codebase is actually really<br>simple and readable. However remember that the implications of that<br>codebase are anything but simple; there's lots of reasons to think<br>Satoshi himself didn't understand Bitcoin all that well, even by the<br>time he left the project.<br><br>-- <br>'peter'[:-1]@petertodd.org<br>000000000000000f155e7a648e84a83589048ae1cacb0c60bfce2437553b6af4<br>-------------- next part --------------<br>A non-text attachment was scrubbed...<br>Name: not available<br>Type: application/pgp-signature<br>Size: 685 bytes<br>Desc: Digital
 signature<br><br>------------------------------<br>I feel that I must respond to the statements that <br>1.<br>the Bitcoin codebase is actually really<br>simple and readable. <br><br>2.<br>However remember that the implications of that<br>codebase are anything but simple; there's lots of reasons to think<br>Satoshi himself didn't understand Bitcoin all that well, even by the<br>time he left the project.<br><br>On point one: if it was/is so readable, why hasn't it been documented better, if at all? <br>Why haven't the obscure names of important items been globally searched and replaced?<br>Why are there still mixed formatting "styles" still in the code. I think it is the fear that C++ <br>is so brittle, that one change may bring the whole house of cards down.<br>I feel that it is the language (C++) that is hindering the expression of ideas in the code.<br>This goes to your point two about Satoshi's understanding. I think just the opposite:<br>that he
 knew what he wanted but that C++ hindered him in expressing and implementing it.<br>I think that if anything, C++ was what Satoshi "didn't understand all that well".<br><br>But then who does understand C++, really? See<br>https://groups.google.com/forum/#!msg/comp.lang.lisp/7xCvdzijzgU/4xCFzLc3d5EJ <br>and the quote:<br><em>Whenever I solve a difficult problem with C++, I feel like I’ve won a bar fight.</em> — Michael Fogus<br><br>I don't think readability is attainable easily in C++. It requires intentionally writing so that <br>others may understand your code. How many programmers have ever done that? And this <br>is like swimming upstream in C++, where things are designed to be hidden! <br><br>Ron<br></div> </div> </div>  </div></body></html>