Hi all, I'm the author of the post, and also the creator of the website. I'm writing this series of posts to demonstrate the site. Do you guys get what the site's trying to do? Hope you enjoy the post. If you have any constructive criticism you'd like to give regarding either the post or the website, let me know!
Just started to copycat your code to rust, not yet finished, continuing tomorrow
People were saying the same thing about non-C++ back in the day. "Web apps aren't written in scripting languages y'know?"
I view this more as "web apps should not be written in C++ due to security issues that we have long come to understand" than "web apps should be written in C++ due to performance issues we are guessing at"... like, do you believe that in a few years people will decide "no, strongly typed and proof assisted languages were overkill for contracts: it was actually better to code them in a language that has weirdly fluid…
This criticism doesn't apply to Ethereum. Solidity is compiled to a VM. You can write other languages that meet your criteria that still use Ethereum.
professional etherem devs haven't even gotten to the point where they can write correct contracts themselves. but the concept is pretty simple. a "smart contract" is a script that runs on a blockchain to execute terms and manage funds. the problem is that the tools that you use to make these are basically garbage. you don't write fin-tech in what amounts to javascript y'know?
People were saying the same thing about non-C++ back in the day. "Web apps aren't written in scripting languages y'know?"
Difference being that a poorly written web app amounts to some leaked passwords and email addresses.
A poorly written smart contract that handles real money, on the other hand...
People were saying the same thing about non-C++ back in the day. "Web apps aren't written in scripting languages y'know?"
Difference being that a poorly written web app amounts to some leaked passwords and email addresses. A poorly written smart contract that handles real money, on the other hand...
Though I meet the criteria as stated (knowledge level wise - I'm a retired IT Exec/long time geek), yet this still is a bit too esoteric for me. As one of the 'killer apps' for ethereum is smart contracts, I'd like to see this explained in a 'for dummies' high level way, then decomposed into the finer technical chunks needed to make it happen.
Ethereum allows you to write a program that executes on the blockchain. State variables are synchronized the same way that a Bitcoin blockchain synchronizes sums. (This means it's impossible to have private state that's also synchronized via a blockchain, but in many applications private state isn't needed.)
What does the code have access to other than the blockchain? Can it access the internet? The node's computer?
People were saying the same thing about non-C++ back in the day. "Web apps aren't written in scripting languages y'know?"
Difference being that a poorly written web app amounts to some leaked passwords and email addresses. A poorly written smart contract that handles real money, on the other hand...
...passwords that might be reused for the email addresses, and paypal, and...
A web app might not touch real money, but a leak can still have real money consequences for the users.
Difference being that a poorly written web app amounts to some leaked passwords and email addresses. A poorly written smart contract that handles real money, on the other hand...
So? It's their money to lose. Yes, it's crazy, but it's also happening.
Agreed, and the massive hacks and losses will continue as long as smart contracts are written in Solidity.
I view this more as "web apps should not be written in C++ due to security issues that we have long come to understand" than "web apps should be written in C++ due to performance issues we are guessing at"... like, do you believe that in a few years people will decide "no, strongly typed and proof assisted languages were overkill for contracts: it was actually better to code them in a language that has weirdly fluid…
This criticism doesn't apply to Ethereum. Solidity is compiled to a VM. You can write other languages that meet your criteria that still use Ethereum.
I know, and I am very excited for those languages to exist and be usable, and thereby have been tracking a couple such efforts; until then, this is about as useful as pointing out that website development is theoretically possible using a computer. The person did not state that it would always be the case that smart contracts are hard: only that right now, on Ethereum, they are hard, and the comment even used "gotten to the point where" (indicating this is a temporary state) and specifically blamed the "tools", which is all absolutely true and is born out not just in theory but in practice; it doesn't even disagree with your own statements that other different tools would be better. Why are you so defensive about this commentary?