I'm still learning about these things, so please don't take my words here as genuine wisdom. They are just my current thoughts that I'm sharing with the community. I imagine as I learn my opinions on this topic will likely change considerably. Note that for now I will provide a dictionary for all of the acronyms at the bottom of the post, this should welcome newcomers to block chain.
Ethereum's core fame is in its EVM. It surpasses Bitcoin because it allows dAPPs to be developed on the block chain, more than just simple Smart Contracts. This vision by vitalik cannot be understated. It is a wonderful decision, though the implementation has certainly been a bit rocky. A couple examples include the automatic selling 'feature' provided by some Exchanges that caused the value of Ether to spiral out of control just a few weeks ago, followed by a significant wallet hack.
Wallet Hack (well explained by Ivan on youtube):
I am not a big fan of Solidity so far. It is not being designed with security in mind. Any programmer worth their weight will understand how bad of an idea it is to have implicit function calls of this nature. They are exploits just waiting to happen because as a hacker, all you need to do is find a way to exploit the implicit space. Additionally, Ethereum is having the same scalability issues that Bitcoin is condemned by. That is to say, POW does not scale well AND can also lead to 51% power control grabs. Ethereum is currently switching to Casper, thus the rate of blocks being created is not limited by hashing at all. The great thing about Casper versus other POS systems is that those who bet on blocks will lose their stake if the block is invalidated.
So while I have my complaints with Ethereum, I think it is the correct path for the block chain future, with a major caveat. That caveat is EOS. EOS.io is the true path, because it is providing the block chain with a full virtual environment, beyond just a virtual machine. That is to say, Ethereum is analogous to a JVM, it can compile code on the block chain from the Solidity language. However EOS.io is akin to an actual operating system, it can embrace multiple compilers. The EVM can exist as 1 of many on the EOS.io system.
Now, just like JVM has a significant piece of the programming market over multiple operating systems, I think it is very likely that EVM will hold a similar space on the EOS.io platform. However, if a more robust language than Solidity comes along (quite possible one already exists that I haven't yet discovered), don't be afraid to jump ship and invest in that. Ethereum may have a ton of support right now, but that can change in a heartbeat in the crypto world, especially if it continues to show weaknesses in its code base.
EOS.io on the other hand, is a guarantee (as much as such a thing can ever be said to be, especially in the crypto world). Keep your eyes on this, and watch for other potential block chain operating systems that may be emerging!
Dictionary:
~ Smart Contracts: virtual transactions that are enforced through code (say good bye lawyers, you are no longer needed)
~ Exchanges: virtual currency exchange hubs
~ dAPPs: Decentralized Applications; Apps that exist on the block chain in a decentralized manner (no server!)
~ Solidity: the programming language for the EVM
~ EVM: Ethereum Virtual Machine; the compiler that will run Solidity code (think Java VM)
~ POW: Proof Of Work; refers to the hashing algorithms being processed by block miners to validate blocks already on the block chain
~ POS: Proof Of Stake; blocks are created by those nodes having the most invested Ether, and thus their Ether is at 'stake' if something goes wrong
~ Casper: the name for Ethereum's POS system currently being developed
~ EOS.io: the EOS operating system planned to exist within the block chain framework