Jump to page: 1 2
Thread overview
Developing blockchain software with D, not C++
Dec 30, 2017
aberba
Jan 01, 2018
aberba
Jan 01, 2018
aberba
Dec 31, 2017
Joakim
Jan 01, 2018
aberba
Jan 04, 2018
Tromos
Jan 04, 2018
deadalnix
Jan 04, 2018
Jacob Carlborg
Jan 04, 2018
Tromos
Jan 15, 2018
rjframe
Jan 15, 2018
Nicholas Wilson
Jan 18, 2018
deadalnix
Jan 18, 2018
deadalnix
Jan 18, 2018
Walter Bright
Jan 23, 2018
deadalnix
December 30, 2017
In this video[1] from 2016, developer talks about C++ memory safety features, meta-programming, maturity and few others as main reasons they choose it for developing their blockchain software (the way I got it from a quick view).

Besides, D maturity (which I can't confirm or deny), what else does D miss to be considered a better alternative for blockchain in 2018?

D is also more productive, has safety and unittest built-in.


1. https://www.youtube.com/watch?v=w4jq4frE5v4
December 31, 2017
On Saturday, 30 December 2017 at 16:59:41 UTC, aberba wrote:
> Besides, D maturity (which I can't confirm or deny), what else does D miss to be considered a better alternative for blockchain in 2018?

You can write blockchain software in any language you want. The reference implementation for OpenChain seems to be written in C#.

I don't think "better" in this context is a technical issue, more of a cultural one. Well, portability could be an issue.


December 31, 2017
On Saturday, 30 December 2017 at 16:59:41 UTC, aberba wrote:
> In this video[1] from 2016, developer talks about C++ memory safety features, meta-programming, maturity and few others as main reasons they choose it for developing their blockchain software (the way I got it from a quick view).
>
> Besides, D maturity (which I can't confirm or deny), what else does D miss to be considered a better alternative for blockchain in 2018?
>
> D is also more productive, has safety and unittest built-in.
>
>
> 1. https://www.youtube.com/watch?v=w4jq4frE5v4

The better question is whether blockchain is worth implementing in D? ;) It wastes a ton of energy with the most common proof-of-work approach and, as I've pointed out here before, there are better ways to do it:

https://arstechnica.com/tech-policy/2017/12/bitcoins-insane-energy-consumption-explained/
http://forum.dlang.org/post/xzuzvykrqouqlsjmkvug@forum.dlang.org

But some decentralized approach, if not blockchain, is undoubtedly going to be a huge winner, and of course D would be a great language with which to build it.  The lead developer of Bitcoin Cash, currently the fourth-most valuable cryptocurrency (https://coinmarketcap.com), gave a talk on doing crypto in D at the last DConf:

http://dconf.org/2017/talks/sechet.html

I don't think he's using D since they forked the Bitcoin source though.
January 01, 2018
On Sunday, 31 December 2017 at 09:45:52 UTC, Ola Fosheim Grøstad wrote:
> On Saturday, 30 December 2017 at 16:59:41 UTC, aberba wrote:
>> Besides, D maturity (which I can't confirm or deny), what else does D miss to be considered a better alternative for blockchain in 2018?
>
> You can write blockchain software in any language you want. The reference implementation for OpenChain seems to be written in C#.
That's not the point. JavaScript can also be used (technically), but you don't want to use it (for their use case). Seems you haven't watched the video so you are speaking out of context.
>> what else does D miss
>

> I don't think "better" in this context is a technical issue, more of a cultural one. Well, portability could be an issue.
There is is better when you consider things in context. The talk was focused on a particular context.

January 01, 2018
On Sunday, 31 December 2017 at 10:58:09 UTC, Joakim wrote:
> On Saturday, 30 December 2017 at 16:59:41 UTC, aberba wrote:
>> In this video[1] from 2016, developer talks about C++ memory safety features, meta-programming, maturity and few others as main reasons they choose it for developing their blockchain software (the way I got it from a quick view).
>>
>> Besides, D maturity (which I can't confirm or deny), what else does D miss to be considered a better alternative for blockchain in 2018?
>>
>> D is also more productive, has safety and unittest built-in.
>>
>>
>> 1. https://www.youtube.com/watch?v=w4jq4frE5v4
>
> The better question is whether blockchain is worth implementing in D? ;) It wastes a ton of energy with the most common proof-of-work approach and, as I've pointed out here before, there are better ways to do it:
Maybe, maybe not. Let the developer decide for none of us know the future of such technology with certainty.
>
> https://arstechnica.com/tech-policy/2017/12/bitcoins-insane-energy-consumption-explained/
> http://forum.dlang.org/post/xzuzvykrqouqlsjmkvug@forum.dlang.org
>
> But some decentralized approach, if not blockchain, is undoubtedly going to be a huge winner, and of course D would be a great language with which to build it.  The lead developer of Bitcoin Cash, currently the fourth-most valuable cryptocurrency (https://coinmarketcap.com), gave a talk on doing crypto in D at the last DConf:
>
> http://dconf.org/2017/talks/sechet.html
>
That talk was more about cryptography/performance/security IMO. I don't recall him talking about blockchain software with D. Seems he is in a good position to give such a talk now that blockchain/cryptocurrency is getting loud.

> I don't think he's using D since they forked the Bitcoin source though.


January 01, 2018
On Monday, 1 January 2018 at 10:46:23 UTC, aberba wrote:
> On Sunday, 31 December 2017 at 09:45:52 UTC, Ola Fosheim Grøstad wrote:
>> On Saturday, 30 December 2017 at 16:59:41 UTC, aberba wrote:
>>> Besides, D maturity (which I can't confirm or deny), what else does D miss to be considered a better alternative for blockchain in 2018?
>>
>> You can write blockchain software in any language you want. The reference implementation for OpenChain seems to be written in C#.
> That's not the point. JavaScript can also be used (technically), but you don't want to use it (for their use case). Seems you haven't watched the video so you are speaking out of context.

Well, the video seems to be mostly about building a large key-value store without caching… So whatever language has been used for that before would be suitable, basically any language that can interface well with C/Posix…

But you want static typing or verification when security is an issue, so Javascript is obviously out.

> There is is better when you consider things in context. The talk was focused on a particular context.

Then you need to be a bit more clear on what you mean. You can make a lot of assumptions to shoehorn a project to something specific, e.g. database will not fit in main memory, but that might not hold if you control the nodes and can afford large amounts of memory etc. "Blockchain software" is a very vague requirement… What kind of load do you expect, what are the real-time requirements (nanoseconds vs minutes).

Remember that even Javascript can run at close to 25-50% of the performance of portable C… So it really depends on what you do, what architecture you design and what the long term development process looks like. Mixing languages is often the better choice for many projects.

I am not arguing with their choice, but it was for a C++ conference, so obviously they would praise C++…


January 01, 2018
On Monday, 1 January 2018 at 11:24:45 UTC, Ola Fosheim Grøstad wrote:
> I am not arguing with their choice, but it was for a C++ conference, so obviously they would praise C++…

Btw, I think one should be very sceptical of such presentations in general:

1.  They are there to market their project, so they have a strong incentive to appeal to the audience.  Offending the audience would be a bad strategy.

2.  Developers often have technological preferences in advance and will create arguments to defend their choice on rather subjective terms using "objective" claims.

3. The design and scope of a project tend to grow in the direction that the chosen platform is most suited for.

FWIW, I think the best technical choice for security related infrastructure would be to write a library in C or Ada or some other toolset where proven verification capabilities are available, then tie it together using whatever is most convenient on the platform you target.

January 01, 2018
On Monday, 1 January 2018 at 12:24:29 UTC, Ola Fosheim Grøstad wrote:
> On Monday, 1 January 2018 at 11:24:45 UTC, Ola Fosheim Grøstad wrote:
>> [...]
>
> Btw, I think one should be very sceptical of such presentations in general:
>
> [...]

Come on! Ada?
January 01, 2018
On Monday, 1 January 2018 at 13:34:39 UTC, aberba wrote:
> On Monday, 1 January 2018 at 12:24:29 UTC, Ola Fosheim Grøstad wrote:
>> On Monday, 1 January 2018 at 11:24:45 UTC, Ola Fosheim Grøstad wrote:
>>> [...]
>>
>> Btw, I think one should be very sceptical of such presentations in general:
>>
>> [...]
>
> Come on! Ada?

Ada was designed for DoD projects…

https://www.adacore.com/sparkpro


January 04, 2018
On Saturday, 30 December 2017 at 16:59:41 UTC, aberba wrote:
> In this video[1] from 2016, developer talks about C++ memory safety features, meta-programming, maturity and few others as main reasons they choose it for developing their blockchain software (the way I got it from a quick view).
>
> Besides, D maturity (which I can't confirm or deny), what else does D miss to be considered a better alternative for blockchain in 2018?
>
> D is also more productive, has safety and unittest built-in.
>
>
> 1. https://www.youtube.com/watch?v=w4jq4frE5v4

We can have a full implementation of bitcoin protocol in D, if anyone is interested we can start it..




« First   ‹ Prev
1 2