Improving Pre and Post Merging Abilities With Rewriting Core In Python

Improving Pre and Post Merging Abilities With Rewriting Core In Python
2019-04-23 15:23 ` Achow101
  2019-04-26  9:38 ` Hampus Sjöberg
  
From: Ahmer Regos @ 2019-04-23  8:16 UTC (permalink / raw)
  To: bitcoin-dev

[-- Attachment #1: Type: text/plain, Size: 444 bytes --]

I'm proposing re-writing bitcoin codebase in Python for improving pre and
post merging abilities, faster operations and better understandability.
Python is a fast language with C support, it is good with hashing things,
it has a good syntax and everyone can read /  understand it unlike C++.

I am willing the coordinate the transformation operation and i believe it
would be really good the get rid of C++.

- Ahmer Regos from Regain Beaches.

[-- Attachment #2: Type: text/html, Size: 538 bytes --]

 permalink raw reply	[|nested]
2019-04-23  8:16 [bitcoin-dev] Improving Pre and Post Merging Abilities With Rewriting Core In Python Ahmer Regos

  2019-04-27  3:32   ` Peter Todd
  2019-04-26  9:38 ` Hampus Sjöberg
  
From: Achow101 @ 2019-04-23 15:23 UTC (permalink / raw)
  To: Ahmer Regos, Bitcoin Protocol Discussion

[-- Attachment #1: Type: text/plain, Size: 1130 bytes --]

Feel free to re-implement Bitcoin Core in Python. It's open source software and you can do whatever you want.

However Bitcoin Core is not going move to Python and rewrite everything in Python. Besides the fact that Python is far less efficient than C/C++, rewriting Bitcoin Core in any other language would be a huge undertaking and introduce many bugs for almost no benefit whatsoever. Bitcoin Core won't be changing languages for the entire codebase, but you are welcome to port it to Python yourself.

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Tuesday, April 23, 2019 4:16 AM, Ahmer Regos via bitcoin-dev <bitcoin-dev@lists•linuxfoundation.org> wrote:

> I'm proposing re-writing bitcoin codebase in Python for improving pre and post merging abilities, faster operations and better understandability. Python is a fast language with C support, it is good with hashing things, it has a good syntax and everyone can read /  understand it unlike C++.
>
> I am willing the coordinate the transformation operation and i believe it would be really good the get rid of C++.
>
> - Ahmer Regos from Regain Beaches.

[-- Attachment #2: Type: text/html, Size: 1674 bytes --]

 permalink raw reply	[|nested]
2019-04-23  8:16 [bitcoin-dev] Improving Pre and Post Merging Abilities With Rewriting Core In Python Ahmer Regos
  2019-04-23 15:23 ` Achow101

  
From: Hampus Sjöberg @ 2019-04-26  9:38 UTC (permalink / raw)
  To: Ahmer Regos, Bitcoin Protocol Discussion

[-- Attachment #1: Type: text/plain, Size: 1021 bytes --]

Bitcoin is a consensus critical system.
We have already had consensus problems between Bitcoin Core-versions,
rewriting everything in another language would expose us to even greater
risks, and moving to a language like Python I see no benefit whatsoever.

Best
Hampus

Den tis 23 apr. 2019 kl 16:47 skrev Ahmer Regos via bitcoin-dev <
bitcoin-dev@lists•linuxfoundation.org>:

> I'm proposing re-writing bitcoin codebase in Python for improving pre and
> post merging abilities, faster operations and better understandability.
> Python is a fast language with C support, it is good with hashing things,
> it has a good syntax and everyone can read /  understand it unlike C++.
>
> I am willing the coordinate the transformation operation and i believe it
> would be really good the get rid of C++.
>
> - Ahmer Regos from Regain Beaches.
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists•linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>

[-- Attachment #2: Type: text/html, Size: 1650 bytes --]

 permalink raw reply	[|nested]
2019-04-23 15:23 ` Achow101

  
From: Peter Todd @ 2019-04-27  3:32 UTC (permalink / raw)
  To: Achow101, Bitcoin Protocol Discussion;  Ahmer Regos

[-- Attachment #1: Type: text/plain, Size: 1155 bytes --]

On Tue, Apr 23, 2019 at 03:23:27PM +0000, Achow101 via bitcoin-dev wrote:
> Feel free to re-implement Bitcoin Core in Python. It's open source software and you can do whatever you want.
> 
> However Bitcoin Core is not going move to Python and rewrite everything in Python. Besides the fact that Python is far less efficient than C/C++, rewriting Bitcoin Core in any other language would be a huge undertaking and introduce many bugs for almost no benefit whatsoever. Bitcoin Core won't be changing languages for the entire codebase, but you are welcome to port it to Python yourself.

Speaking as maintainer of the Python library python-bitcoinlib, I don't think
using Python for security critical codebases is a good idea. It's just too easy
to make mistakes; I wouldn't recommend new projects use python-bitcoinlib.

Currently I'm doing 100% of my new projects on Rust. That's not to say Rust is
the only language usable for this kind of work. But it fits my style of
programming well and the type system - esp good handling of immutability -
appears to offer significant benefits.

-- 
https://petertodd.org 'peter'[:-1]@petertodd.org

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

 permalink raw reply	[|nested]