Perl 6′s Killer App - Async
About a week ago I expressed my concerns about Perl 6′s future and people came out of the woodwork to tell me about all of Perl 6′s features, but didn’t really address what I was asking: What are the business cases for Perl 6?
So I decided, maybe I should think about what kinds of cool businesses and apps could be built using Perl 6′s new feature-set. Mind you, I’m not going to build any of these anytime soon. I’ve already got too many businesses for my own good and I’m launching another next month. This is just a mental exercise in the hopes that it might inspire some other folks.
I’m going to start with Perl 6′s async features as a business case, because I think it’s easy for people to wrap their heads around the benefits. In the future I’ll tackle a few other Perl 6 features as business ideas.
3d printing - Did you know that the most used slicing app for 3d printing today is written in Perl 5? Do you know why? It slices faster than the previous best because it handles a bunch of tasks asynchronously. And that’s using Perl 5′s crappy async features. Newer slicers are starting to take it over in speed. Imagine what you can do if you built a new one using Perl 6′s incredible async features. In addition, 3D printing is one of the hottest markets on the planet. Imagine the fame and fortune to be made if you can take a slice of that pie?
Games - Games are all about asynchronous tasks. Games aren’t going away. The indie market is hotter than ever. In addition, everybody wants to be able to play their games from their desktop, their phone, a friend’s web browser, their game console, etc. So why not build an async game server that easily connects all those clients? You’ll need background tasks for game state, resource generation, possibly battle simulators, AI, and all kinds of other tasks. These things need to be async in order to scale to tens of thousands or perhaps millions of players.
Of course there are a lot of other things that need the scalability and speed of async. Off the top of my head: stock trading, drone control, auctions, chat/irc/mobile messaging, network security analysis, telecomm, and artificial intelligence. Any of these could be a great open source project or a business or both if done right and that scratches the right itch.
Don’t limit your thinking to any of the above. Maybe you have knowledge of an underserved market that could benefit from an amazing async app. The point is that we have to find these niches and carve them out using Perl 6 if we want it to be a relevant language with lots of opportunities.
[From my blog.]