# WASM Support and Language Perferences

**URL:** <https://talk.harmony.one/t/wasm-support-and-language-perferences/202>\
**Category:** Developers\
**Created:** [January 11, 2019, 3:26pm UTC](https://talk.harmony.one/t/wasm-support-and-language-perferences/202 "2019-01-11T15:26:23Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![john](https://yyz1.discourse-cdn.com/flex035/user_avatar/talk.harmony.one/john/32/34_2.png) [@john](https://talk.harmony.one/u/john)\
**Post date:** [January 11, 2019, 3:26pm UTC](https://talk.harmony.one/t/wasm-support-and-language-perferences/202/1 "2019-01-11T15:26:23Z")

</div>

Hi,

Following up to conversations about [Web Assembly](https://webassembly.org/) and its support by [Harmony](https://medium.com/harmony-one/harmony-2019-roadmap-497d7ed0a98b).  
This is a generic topic about Harmony’s vision for WASM and specifically whether there is perceived advantages of writing Web Assembly in a specific language? (i.e. rust of go vs solidity)

Cheers,

John

Handy WASM Links

> <https://github.com/golang/go/issues/18892>

  

> **[go-interpreter/wagon](https://github.com/go-interpreter/wagon)**
>
> wagon, a WebAssembly-based Go interpreter, for Go. - go-interpreter/wagon

  
[https://github.com/perlin-network/life](https://github.com/perlin-network/life) (GO)  
[https://github.com/paritytech/wasmi](https://github.com/paritytech/wasmi) (Parity Tech WASMI)  
[Adex protocol on Cosmos](https://github.com/adexnetwork/adex-protocol-cosmos)  
[Preparing to build on Polkadot](https://medium.com/polkadot-network/preparing-to-build-on-polkadot-349ff5002885)  
[Conversation on Matrix](https://matrix.to/#/!HzySYSaIhtyWrwiwEV:matrix.org/%2415397870502551198UiLfi:matrix.org)  
[https://github.com/hyperledger/sawtooth-sabre](https://github.com/hyperledger/sawtooth-sabre)  
[https://github.com/EOSIO/eosio.cdt](https://github.com/EOSIO/eosio.cdt)

---

<div class="post-metadata">

**Author:** ![nickw](https://yyz1.discourse-cdn.com/flex035/user_avatar/talk.harmony.one/nickw/32/35_2.png) [@nickw](https://talk.harmony.one/u/nickw)\
**Post date:** [January 29, 2019, 7:19pm UTC](https://talk.harmony.one/t/wasm-support-and-language-perferences/202/2 "2019-01-29T19:19:19Z")

</div>

Hey @john,

Really glad you’re opening up this topic. I am not sure about the advantages of writing WA in Rust or Go versus Solidity. We need some language and compiler guys in here! I’m looking at you @stse!

My best guess is that you would need to write in a functional programming language for formal verification. So Rust would be better for contracts. But I think Go’s primary advantages are in distributed systems which wouldn’t be relevant for smart contract contexts, so I don’t think one would choose to use Go for if you’re writing for WASM smart contracts.

The choice of the language depends on the end application I guess. What are your thoughts?

NIck
