Hi, I’m an entrepreneur, ICP investor, I had a product idea that made a click on my mind that can leverage ICP decentralized cloud properties, I’m going to start hiring a couple of Devs on my country but i need to know exactly what i have to ask in order to get the right people.
I know ICP offers tons of different programming languages, but i want to know if there are any specific limitations regarding scaling of my app, I mean if i choose to build in typescript is the same like building on another language? In terms of scalability, or accessibility to specific frameworks or features of the IC?
Do i get the same properties like i get if choose the native language of ICP?
What are the main differences?
We scale multisubnet, i know yral team created a whole architecture for their app, is this something that can be used by another team? Or can see to understand easily how scaling works on ICP?
Hey, we went through the same journey couple of years back. So for backend you need someone with either Motoko or Rust. Motoko being the language of ICP, you will find in limited supply amongst the general dev population(depending on where you are and ICP penetration in your country). Although I would say Motoko is simpler, but still evolving in terms of libs and resources. You will definitely find devs for Rust, it’s been around for some time. Even if they have rust, it will take them sometime to understand how it works with ICP. For front end, you need react, typescript etc. ICP is a full stack so even if they are rust based and worked on other chains it will take some learning curve, but resources are there. A good tech lead and a couple of devs would not take a lot of time if they come from a rust background.
No, a well-written Rust canister will outperform a poorly structured Motoko app and vice versa. The language gives you more control, but it’s the engineer’s skill that ultimately determines efficiency.
You pay for computation, no matter which language you use.
If your code is inefficient and executes many unnecessary instructions, you’ll end up paying more because you’re consuming more computational resources.
The idea that you might use fewer cycles with Motoko comes from the fact that it’s designed and optimized specifically for the Internet Computer.
However, as mentioned, it’s ultimately the engineer’s skill that determines how efficient the code will be.
The architecture is the same. The result is the same. The ultimate goal is to produce webassembly, that is what actually runs. Both Motoko and Rust can do it very well.
There are some libraries proposing to expand this possibility to typescript, python and others but i think maybe some functionalities are still not supported.
So, choose Rust or Motoko.