The Sophia programming language is awesome!

I am bumping this topic to say that the Sophia programming language is awesome!

It’s so much better than Solidity and that alone justifies it’s existence, however, I’d like to share a few suggestions:

  1. build Sophia in a way that it could be useful for other blockchain projects as well, maybe even in ethereum; considering it’s a a good language and open-source, this might happen anyway, but if you lead an effort on it you might attract a portion of the huge eth developer community towards aeternity (if Sophia has extended features on ae, such as state channels/oracles)
  2. build Sophia as a procedural macro in rust; that will practically give you a compiler that can generate WASM/native code without you having to impl a compiler, and it will increase the language’s popularity
  3. using 256 bit sized uints is unnatural and has proved to be a problem in Ethereum, from the point of view that no matter how big your int is, you always have to manage overflows/underflows anyway, but no real hardware is 256bit, so using 256bit word size is expensive .
1 Like

Hey @food-for-thought,

Thank you for testing Sophia and for sharing your thoughts with us :slight_smile:

Here are some suggestions from our devs:

  1. See GitHub - aeternity/aesophia: Stand alone compiler for the Sophia smart contract language (own repo, runs as a stand alone compiler Sophia → aevm code). (The documentatiion is a bit lacking for now).

  2. Currently, we have no plans to work on a rust implementation any time soon (or ever).

  3. One can argue about the word size, I do not think it is a bottleneck in our implementation. Anyway the VM improvements we are working on now will have variable word size and should be much more efficient.
    Plus, we just merged today a PR for Minerva release addressing overflow/underflow…

Best,
Albena

Will give it a try as I’m about to write a thesis for my university degree and I’m looking into new languages as part of it!

2 Likes

That’s definitely a language to track if you are an upcoming programmer or web developer coming out of school. I also had to experiment when I finished my IT university with Python, Java and all sorts of classic languages. I just have a feeling that if you want to be innovative you should look into languages like Sophia. I got this advice after reading several articles regarding IT career mentoring including https://www.computercareers.org/ that has some great points to know. My dream job would be to become an application architect one day.

For people which necrobumped this thread:

  1. It’s possible to compile Sophia to EVM :wink: but right now we don’t plan to do it
  2. Soon due to GitHub - erlscripten/erlscripten: Erlang to PureScript transpiler. Run Erlang in the browser! the sophia compiler will run in the browser
  3. Yes, but IMHO the biggest bullet point of Sophia is that it’s strongly typed and safe by design :slight_smile:
2 Likes

That’s good news! Any plans to integrate with https://getlumen.org/ ?

1 Like

@arpunk.chain
I would love to have the Sophia compiler working in Lumen - the problem is that Lumen is still in early stages of development - it misses a lot of pieces in order to get it working on WASM, also there are some missing BIF’s they need to sort out.
That’s the reason why Erlscripten was created - in order for Sophia to run in the browser:

:slight_smile:
Soon we will publish a more detailed article about the effort.

4 Likes