Using other Language in Canister

We come from all different backgrounds of programming languages and wanting to learn new platform like Dfinity really effectively.
I watched the Dfinity presentation at Stanford Blockchain Conference and learned that as long as you can translate your bytecodes of your language into Wasm, you can utilize canister and run your application seamlessly.
I myself come from Java background and like the language very much. i was wondering what would you foresee if you have all different languages translated into wasm and run in canister, is there any anticipated problems with this?
(just opening the discussion, will be doing this experiment as well near future…)

9 Likes

I have related question.
From public speeches we know that Motoko is a garbage collected language. From technical point of view this means that Motoko delegates memory deallocation to wasm bytecode executor (the virtual machine). But what if the source language is aware of it’s garbage and handles deallocation itself (like Rust or C)? How will VM react on such code? Will it just fire GC shots anyway or somehow understand awareness of the source language about memory management and give up? If the last option is the case - is this safe?

2 Likes

Just a thought on Rich’s question, there could be a degree of coding discipline required by developers when using non-functional programming languages, whereas functional programming languages’ compilers will enforce certain practices for them. Good libraries will help though.