Any software engineers here? I just dabbled a bit in Solidity but holy shit what a joke is that. Why is Ethereum held in so high regard? It is babby's first programming language.
>integer overflows are a thing >array indexes wrong way around >can't have maps in memory, only in storage >each line of code costs gas, instead of actual computational power used >no garbage collection >byte is actually 256 bits here comes the best part >no floating points, has to be done by hand
It is beyond me why anyone takes ethereum serious.
I can rationalize most of these but >array indexes wrong way around >byte is 256 bits the fuck?
Luis Gonzalez
Yeah like people here know anything about the technology they 'invest' in. Most people here just gamble and they are happy to throw their money at something if they hear the word moon
Lincoln Myers
>>byte is 256 bits >the fuck? Is it actually byte or is it word size?
Aaron Powell
also without even talking about the code one word. cryptokitties
Ethereum is a nice proof of concept tho
Daniel Williams
Cardano will redeem us
Liam Morales
That's why I'm holding ARK instead of ETH. It supports every single commonly used language. I predict that it's what most blockchain projects are run on within 2 years
I checked out Buterin's github and jesus fuck he writes some shitty code, am I missing something or is this guy overrated? All his repos are python/js, why exactly is he so worshipped around here?
Ayden Martinez
opcodes cost gas, not lines of code 'wrong array indexing' - opinion discarded
Jayden Wilson
Byte by definition is 8 bits, i don't recall there being a byte type, or that's it's commonly used, if you mean byte32 then it's pretty obvious, 8*32=256 So a byte32 is 256 bits.
I agree ethereum isn't perfect but I'm sure there's rational behind these design decisions, there's certainly room for improvement and you can see it in newer smart contract platforms.
Jayden Gray
>never used C++
Josiah Walker
>each line of code costs gas, instead of actual computational power used literally wrong. Each opcode executed costs a certain amount.
Daniel Bennett
Last time I tried to use a serious Ethereum smart contract (on etherdelta), I was charged 15$ worth of ETH just on failed method call. I mean I didn't buy anything, but still I was charged. I understand it as a programmer, because whole network was computing all these instruction, but it's such a bullshit. How are normies supposed to use this? It's so expensive. I bought EOS after this failed transaction, because I think all these ETH smart contracts are such bullshit, that no one is going to use them seriously. What do you think about this?
Angel Wilson
Aren't there test nets for this kind of thing?
Brayden Lee
this lol. how ironic op calling it babby's first programming language when he has 0 experience with the godfather of all programming languages
Justin Carter
I used smartcontract on erherdelta to buy tokens, and instead of buying them, my order failed (Probably because someone has bought it right before me), so my transaction for buying it has failed, and still I was charged. It's debugged contract, why would I use testnet?
Tyler Moore
python is one of the most efficient programming languages. Why the fuck would you shit on someone just because they don't write functional languages?
Isaiah Brown
Can we have one discussion without ad hominem attacks?
>no garbage collection most application logic should be done in a higher level language with calls to solidity, right? smart contract languages should be low level and simple as possible. >each line of code costs gas, instead of actual computational power used do you have a better way to calculate power used? >integer overflows like C and C++? it's low level.
your entire post screams java kiddie
Hunter Butler
So what do you propose the use for decentralized computing on the EVM is? Just for keeping track of tokens?
Jack Lopez
are you implying nothing of consequences can be built with it?
is there something insecure about writing a program in another language and only doing the money stuff in solidity?
Hunter Hall
I can't think of any platform or product where you want "only the money stuff" on a public blockchain.
Zachary Martinez
do you have brain damage? try to articulate your point more clearly.
Jack Allen
>python is one of the most efficient programming languages.
Please be a troll
Blake Clark
Yep. Decentralized computation at a huge scale wasn't ever meant at this stage, that's why scalability is such a big deal to the foundation. Smart contracts don't necessarily even need to run at such a high level. AION, for example, is creating a cross-chain solution that will allow ethereum smart contracts to run efficiently as a basic logical unit in conjunction with other chains. Entire networks become kernel-ized.
Henry Myers
>beyond me
nigger let me give you a rare and valuable advice. you are the modern day bricklayer, maybe even the modern day architect if you are not merely the pajeet. respect kiddo. but consider will your pillow waifu be more impressed by. katy perry et al, or the jew that built the stadium she performed in?
Brody Robinson
lol are you serious?
Colton Young
The most efficient language is smalltalk, boyo. python isn't even in the top 20 most efficient languages
Aiden Price
(Platforms like RLC will handle actual computational overhead for your faggot-ass bloated dapps, so get the fuck out with your double nigger assertions about system architecture).
Justin Martin
All true, but there are no real smart contract platform alternatives to Ethereum. Everything is either vaporwave or not decentralized.
Nicholas Green
roll
Ethan Green
It's an architectural implementation, if there was something easily deployable (and interoperable) they could rebase it. Creating a vm is pretty fucking time consuming.
Nathaniel Carter
roll
Ian Evans
ROLLIN
Nathaniel Smith
So which is the best language to use in the future? I'm thinking Go Which blockchain platform supports this? roll
Benjamin Evans
Elixir is the obvious choice to me. >tfw nine nines
Jace Rogers
rolll
Carson Green
rollin
Landon Diaz
yikes
Owen Jackson
>can't have maps in memory, only in storage Because there is no memory to store it in. Its not a normal computer, its a blockchain. There is no distinction between RAM and HDD because everything must be stored there in order for contracts to be validated
Tyler Evans
roll
Ryan Long
I don't give a shit what I roll, Mandy Flores is mine.
Jacob Butler
op = broke dev with no completed projects that talkshit programming language he's barely used LOL
Lucas Jenkins
wrong faggot, we're sharing.
Robert Lopez
Now you know the reason behind x billions of stolen/hacked/frozen ETH A shit tier language, a shit tier implementation
Oliver Edwards
>stolen wrong >hacked wrong >frozen correct.
Ian Sanchez
retard /t.
Ian Sanchez
incredible that there are people on this board that still believe technology matters... the fucking pajeets are literally years ahead of these self proclaimed absolute mothbreathing faggots.
John Williams
"software engineers" like op are precisely why a 19 years old kid launched a multibillion dollar network on shaky code most of you are drones too busy wanking over syntax to actually innovate passively aggressively whining about what others do has never built anything, and your superiority complexes are unwarranted
Justin Howard
what are you holding
Sebastian James
Exactly this. I do SE myself, but I can't stand the loser mentality anymore. "Muh language, muh tools, my code quality", even though they have 0 users and unhappy customers. Sure, hacking away some shitty untested code is a bad practice, but spending months (think of costs) to deliver zero value is ridiculous.
Anyways, I checked Solidity myself. I was surprised how simple it is to make your own coin and use it for some simple use cases. I was expecting it to be more technically challenging... No wonder we have ICOs daily.
Thomas Martin
lambos and shit
Owen Lewis
I won't share a woman even if she is an old whore, get near my Mandy and I'll use some of these crypto gains to make you regret it.
Landon Thompson
rollo
Juan Murphy
based
Gavin Howard
How is Bitcoin's code?
Hunter Robinson
Rolling for milf.
Isaac Phillips
>most of you are drones underrated I can't think of more than a handful of programmers in my 20 years in the industry that aren't
Sebastian Harris
Tell me about it, I'm ready to kill myself from anxiety everytime I deploy a smart contract to mainnet.
btw did you know that block.blockhash(n) returns 0 if n is more than 256 blocks back? That's how people broke the bank of the ethereum lottery
Cameron Robinson
Haven't done much in sol but here's my thoughts
>>integer overflows are a thing Extremely awful. It's like they want catastrophic vulnerabilities to happen routinely. >>array indexes wrong way around non-problem >>can't have maps in memory, only in storage Are you supposed to implement your own maps with arrays if you want this or what? >>each line of code costs gas, instead of actual computational power used This is dumb but maybe the language does a good enough job limiting the amount of instructions one line can require >>no garbage collection Really? >>byte is actually 256 bits uhuuuuh, what >>no floating points, has to be done by hand just kek
Luis Edwards
checked but you didn't roll mandy kiddo. your gains don't scare me at all. i am literally accumulating scientists to biologically alter my sac to produce full blown fucking autists, she'll convince you they're yours. enjoy your life.
Jacob Russell
>>byte is actually 256 bits > uhuuuuh, what
Yes, to "simplify" things the EVM works only with 256 bit unsigned integers so something that should be one instruction (adding two bytes) in assembly is now like 100+.
>>no floating points, has to be done by hand > just kek
The reason they give for this is that "nobody should handle money using floating point arithmetic", even though not everything being done on the EVM is using money.
Also the EVM is stack machine designed in 2015 about 10 years after people realized that register based virtual machines were far superior.
Also the creator of Solidity and the EVM Gavin Wood wrote a multisig wallet that got hacked and lost people >150 000 ether
ETH and solidity both are insecure by design only tech illiterate support this monstrosity
Liam Ross
Yeah, roll
Michael Martin
Another thing to notice about Ethereum is the addresses, they are just hex encoded 160 bit numbers WITHOUT checksums, this makes it extremely easy to send your ethereum to the wrong address and burning them forever.
Camden Wood
What about Bitcoin's protocol?
Jayden Sanders
Rollerino
Joshua Wood
>accumulating scientists lmao this is the best Veeky Forums by far
Matthew Miller
>Yes, to "simplify" things the EVM works only with 256 bit unsigned integers so something that should be one instruction (adding two bytes) in assembly is now like 100+. >The reason they give for this is that "nobody should handle money using floating point arithmetic", even though not everything being done on the EVM is using money. Yep, I'm sure there was rationale behind both of these things but still they're clearly very questionable choices like a lot of people seem to acknowledge. Dismissing established CS and field practices isn't the best thing to do when you're designing a critical piece of software like this
>Also the EVM is stack machine designed in 2015 about 10 years after people realized that register based virtual machines were far superior. Again: really? I've never taken a serious look at the Ethereum repo but this thread sparked my curiosity
Tyler Myers
larpers? C does not suffer from being incomplete at all
Anthony Lopez
if any of you doubt that developing around ethereum isn't a nightmare go look at the python libraries. No seriously, go try to decode messages with python. that mariamwhatever guy maintaining the python stuff is doing about as bad of a job as I can imagine anyone, even myself doing which is pretty bad considering that I don't give a flying fuck about ethereum.
Zachary Moore
Your not wrong there.
Ryder Cruz
As if blockchain technology, in general, is worth anything. 10 years+ old and still no real use cases
Gabriel Myers
Yo how bout checking other smart contract platforms though. Thoughts on NEO, ARK, QTUM, and STRATIS?
Chase Watson
Tezos will soon wipe the floor with Eth. It was a kiddie shit Proof of Concept
Chase Brown
itt: FUDing weakhanded faggots on shit that was solved 3 years ago
Casper is running webassembly (which was supposed to be eos thunder)
ethereum network isn't limited to one language
Cooper Gomez
Aww, cute. You think that's all of it?
All state is mutable by default (this includes struct fields, array elements, and locals). Functions can mutate state by default. Both are overridable by explicit specifiers, much like C++ "const", but you have to remember to do so. Even then, the current implementation doesn't enforce this for functions.
Integers are fixed-size and wrap around, so it's possible to have overflow and underflow bugs. Granted, with 256 bits of precision by default that's harder to do than usual... but still pretty easy if you e.g. do arithmetic on two inputs.
Operators have different semantics depending on whether the operands are literals or not. For example, 1/2 is 0.5, but x/y for x==1 and y==2 is 0. Precision of the operation is also determined in this manner - literals are arbitrary-precision, other values are constrained by their types.
Copy is by reference or by value depending on where the operands are stored. This is implicit - the operation looks exactly the same in code, so unless you look at declarations, you don't know what it actually does. Because mutability is pervasive, this can can have far-reaching effects.
William Kelly
Map data type doesn't throw on non-existing keys, it just returns the default value.
The language has suffixes for literals to denote various units (e.g. "10 seconds" or "1000 ether"). This is purely syntactic sugar, however, and is not reflected in the type system in any way, so "10 second + 1000 ether" is valid code.
Statements allow, but do not require, braces around bodies. This means that dangling "else" is potentially an issue, as is anything else from the same class of bugs (such as the infamous Apple "goto fail" bug).
Functions can be called recursively with no special effort, but the stack size is rather limited, and it looks like there are no tail calls. So there's the whole class of bugs where recursion depth is defined by contract inputs.
Order of evaluation is not defined for expressions. This in a language that has value-returning mutating operators like ++!
Scoping rules are inherited from JS, meaning that you can declare variables inside blocks, but their scope is always the enclosing function. This is more of an annoyance than a real problem, because they don't have closures, which is where JS makes it very easy to shoot yourself in the foot with this approach to scoping.
I never understood why they chose such a hacky language (an a VM model that encourages these kinds of languages), and expect people to write supposedly secure (in the sense of: obviously correct!) code with it.
Any remotely popular functional programming language created over the last years shows a better design (and taste) than this one.
Gabriel White
You think you're smarter than Vitalik and everyone else on his team?
Thomas Fisher
I don't think you understand. Solidity can differentiate between memory and storage. Memory is a temporary storage, while storage is permanent.