Challenge when developing Solana Program as of Q4 2021
Lack of documentation:
The official source released by Solana is simply not enough. The developer team have crawled from many forum sites such as Stack Overflow, Medium and Reddit. The information from there sometimes help us solve the problem but sometime is outdated and causes noise too. Its ill-structured data from community is also a huge challenge when trying to collect knowledge about Solana system. Looking on the bright side, this does open opportunities for us to get more reputation on those knowledge-sharing platform.
One more feedback loop, which is slowing down development process and need improvement, is the compiler / runtime error message. Some of them is just simply computer saying message to itself, not to developer. We had to do a lot of trial and error along the way to write our program.
Completely change of mental model, which is less familiar:
Switching from Ethereum platform which is very popular at the time due to the fact that many platform share their architecture while Solana does not make us have to put more effort into R&D phase. Learning a less popular language in the web development field also take us tons of time although the rustling
program is the coolest onboarding tutorial I have ever tried. The NFT program on Solana look nothing like what we have in the Ethereum at the diagram level but it does serve the same function (well, it has to be). Luckily, after a while of struggling now we are getting a hang of it and will step by step port our work from EVM to Solana Program more confidently.
Limitation on datatype and memory slot’s capacity:
There will always be trade-off like two sides of a tangible coin. With many huge gain on TPS, currently we have a lot of friction for not being able to use computing-intensive datatype such as String or Hashmap. In addition to that, memory is limited within a fixed size make some feature need more work on allocating big chunk of data into smaller pieces.My guess is that these is going to be a hindrance as the dapplication scale in the long run but also we are trying our best to find the workaround.