Clients, contract languages, implementations

Hi all,

Can somebody simply explain what's with all those clients, contracts languages and implementations? There are three languages that contracts can be written in, LLL, Mutan and Serpent. There are three implementations, too, Cpp, Go and Python. Also three clients... Why this many proper names, for God's sake? Cpp implementation goes with the client AlethZero, as far as I understand. So there are two names to describe one thing, which is the Cpp implementation. There are two sub-forums for it, one regarding the language and the other for the client. Well, I bet one of those three contract languages will also correspond to Cpp implementation.

There must be a table to show their relations. Which one is which... It seems so messed up this way.

Comments

  • vaXvaX Austin, TXMember Posts: 78 ✭✭✭
  • StephanTualStephanTual London, EnglandMember, Moderator Posts: 1,282 mod
    Let me simplify it for you @Najska‌:

    There are three highlevel smart contract languages: LLL (lisp-based), Mutan (go-based) and Serpent (python-based).

    There are 3 (5 if you include the community submissions) clients. More clients is good! It allows us to build client interoperability faster and identify these nasty bugs quickly. AlethZero (In c++), Mist (in Go, previously known as ethereal), and PyEthereum (in Python).

    In theory all three would work on all clients, because ultimately they all compile down to EVM-code, which is run by each client's virtual's machine.

    In practice we are in the middle of the implementation of ethereum, so not clients contain all the compilers required.

    Right now:

    - Serpent will run on the python client and AlethZero
    - Mutan runs only on Mist
    - LLL runs only on AlethZero

    No need for a diagram as fragmentation is not our goal so there's nothing to 'keep track' of, and as Vax said, Solidity could very well end up replacing all three.
  • NajskaNajska Member Posts: 4
    Oh, thank you, Stephan! Solidity seems nice. I hope it'll work on AlethZero.
  • StephanTualStephanTual London, EnglandMember, Moderator Posts: 1,282 mod
    @Najska‌ : Yes, since Gav is building it, it's likely it will work on an AZ PoC first :)
Sign In or Register to comment.