* [bitcoin-dev] Improving Pre and Post Merging Abilities With Rewriting Core In Python
@ 2019-04-23 8:16 Ahmer Regos
2019-04-23 15:23 ` Achow101
2019-04-26 9:38 ` Hampus Sjöberg
0 siblings, 2 replies; 4+ messages in thread
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 [flat|nested] 4+ messages in thread
* Re: [bitcoin-dev] Improving Pre and Post Merging Abilities With Rewriting Core In Python
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
2019-04-27 3:32 ` Peter Todd
2019-04-26 9:38 ` Hampus Sjöberg
1 sibling, 1 reply; 4+ messages in thread
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 [flat|nested] 4+ messages in thread
* Re: [bitcoin-dev] Improving Pre and Post Merging Abilities With Rewriting Core In Python
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
@ 2019-04-26 9:38 ` Hampus Sjöberg
1 sibling, 0 replies; 4+ messages in thread
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 [flat|nested] 4+ messages in thread
* Re: [bitcoin-dev] Improving Pre and Post Merging Abilities With Rewriting Core In Python
2019-04-23 15:23 ` Achow101
@ 2019-04-27 3:32 ` Peter Todd
0 siblings, 0 replies; 4+ messages in thread
From: Peter Todd @ 2019-04-27 3:32 UTC (permalink / raw)
To: Achow101, Bitcoin Protocol Discussion; +Cc: 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 [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-04-27 3:32 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
2019-04-27 3:32 ` Peter Todd
2019-04-26 9:38 ` Hampus Sjöberg
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox