6 ms·
99 out of 100 questions. Solidity is ostensibly designed to let people write smart contracts for Ethereum. More realistically, it is a marketing tool for enab
by avaer 9y ago
99 out of 100 questions.
Solidity is ostensibly designed to let people write smart contracts for Ethereum.
More realistically, it is a marketing tool for enabling and onboarding people onto the Ethereum platform, which Ethereum benefits monetarily (enormously so) from. Security and design are secondary goals to the extent that they help prevent disasters which hurt adoption or churn developers away.
Through this lens it's not a mystery why the language is "hacky". Perhaps being a good language is not even the driving goal.
- samblr 9y ago>> it is a marketing tool for enabling and onboarding people onto the Ethereum platform +1 : My feelings after going thru basics of ethereum.
- vog 9y ago> 99 out of 100 questions. Curious question of a non-native speaker: What does this phrase mean? (in general, and in this context)
- thegavsie 9y agoThe answer to why most things are done is... Money !
- Emilia66 9y agoMy mothers neighbour is working part time and averaging $9000 a month. I'm a single mum and just got my first paycheck for $6546! I still can't believe it. I tried it out cause I got really desperate and now I couldn't be happier. Heres what I do, •••••••••>>http://cutt.us/7N2sG http://cutt.us/7N2sG
- jaytagdamian 9y agohttp://persuasive.net/what-is-the-answer-to-99-out-of-100-questions/ http://persuasive.net/what-is-the-answer-to-99-out-of-100-qu...
- boycaught 9y agoBrilliant... and so true!
- deleted 9y ago[deleted]
- brian_cloutier 9y agoDon't feel too bad, I am a native speaker and I didn't recognize this phrase either.
- jes5199 9y agoa marketing tool that gets your money stolen is probably counterproductive in the long run
- beaconstudios 9y agobut so is making developers write smart contracts in haskell, severely limiting the number of developers who can jump in and start coding, leading to a lack of adoption.
- user5994461 9y agoThe guys who just stole $30M and $70M beg to disagree.
- erikpukinskis 9y agoFrom a Hegelian perspective, the best thing for Ethereum is for it to race back and forth across dialectics as quickly as it can. There will be many money stealing events as we discover how to do cryptocomputing safely. Better to get them over with now while the market cap is small and people know not to rely on it for anything too serious. If they were to be as safe as possible, there would be less news, and they would push the traversal of those dialectics further into the history, when more people are using Ethereum and these kinds of events can do more damage. It's beta. Don't worry about it. Come back in 10 years when the Heroku of Ethereum is released. Buy a couple Ethers now so you'll be rich then.
- federicobond 9y agoBeing a good, secure language for writing smart contracts is absolutely one of the most important goals for Solidity. I can say so because I have been involved as a regular contributor to the compiler for more than a year. If onboarding a lot of people to the platform quickly were the goal instead, they would have ported some crippled version of Java or JS and called it a day. The problem is that it's just not easy to get all those details right from day 1, and interest in Ethereum has grown way faster than its capacity to produce a reliable, mature set of tools around it.
- mrkgnao 9y agoTo pick just one: mutable state by default is very difficult to justify as being a decision intended to promote security in a tool that is literally meant to construct financial/contractual instruments.
- federicobond 9y agoNot that difficult. There is not much point in creating immutable contracts since they act like singletons. This is different from the kinds of objects that you would instantiate in a language like Java, where best practices suggest defining as immutable unless you have a good reason not to.
- int_19h 9y agoJust because a contract is mutable doesn't mean that everything needs to be. For starters, not all functions on the contract are supposed to be mutating. Marking those that are as such would catch accidental mistakes when unnecessary mutations happen. Then there's the issue with structs, collections etc all also being mutable by default, which is separate of contracts. Finally, none of this actually requires any mutability at all. A contract could treated as a pure function that takes initial state as input, and returns the new state as output. Such a function can be written without any mutations at all, by constructing the new state piece by piece from the old one. Sure, it would be a more verbose (although functional languages usually offer shortcuts like "give me a copy of this object, but with these fields set to different values", making it not so verbose after all). But on the other hand, it means that you have to explicitly consider the effect of every operation of the contract on every bit of state. "Don't repeat yourself" is not always a good thing - when it comes to security, you often do actually want to make people do redundant things, e.g.: http://www.atlasobscura.com/articles/pointing-and-calling-japan-trains http://www.atlasobscura.com/articles/pointing-and-calling-ja....