Yeah, the state of relay development is terrible right now.
Discussion
I'm doing my bit by finding ways to get the funding, and others who i associate with also are looking outside the bitcoin bubble.
Funding the development of clients for a server whose pinnacle implementation is in C++ and Perl.
Have you ever heard the expression "putting the cart before the horse?"
The language of the server is irrelevant.
I am more concerned with the lack of competition in the relay dev space. We don't want to end up in the same state as Bitcoin core that only one codebase is relevant.
Let me know if you need help brainstorming ways to fundraise. I can hop into a call if you need.
The language matters. Either the number of free resources of devs who know the language, or the lowest time to useful skill acquisition are critical criteria, these are limiters that no amount of money can solve. Go is important because it was designed from the ground up to be easy to adopt and run with, and fast to iterate with.
I'm already doing my work on it. I've not got much more patience these days for impractical, idealistic operational ideas like "language doesn't matter". I'm also not interested in saying no to money outside Bitcoin coming to help get the work done, especially when their cheap chains make good global disk storage systems, something that Nostr can use for consensus type information.
Sure, language matters, but the language choice is nowhere near the top of problems we face today. If that is the battle you want to fight, go for it, but there are more important deficiencies than the choice of language IMO. Go is fine.
By more important deficiencies, I mean:
- monolithic servers will never scale to the amount we need.
- overall lack of libraries to quickly put together a brand new relays.
- current load-balancing, indexing and caching systems are terrible
- relay maintenance/monitoring tools for devops are non-existant.
- user tools for personal servers are also non-existant.
- performance is quite poor for the amount of resources being used.
- huge architectural mismatch between modern warehouse infrastructure and the codebase
Anyway, there is a lot of work.