Julia was created on greed. We wanted everything of a programming language.
Now, we have this cool language, a good foundation.
Now, we want Julia to get into applications. We want Julia to DO something.
Hardship lies ahead in every direction. To keep up its greed, each wish is to be followed by lots of hard work. Some of us may want to launch a server that runs simulation on millions of CPU, build a big database, quickly code lots of efficient microservices, make a triple-A game engine, make real-time control system, etc… We may even want to build a system with many of these requirements combined, for example, a real-time control system that uses machine learning and difeq modeling to control a robot to adapt to its environment. We may want a big climate simulation running on a big server.
Some, if not all, of these will probably be painstakingly coded up by extremely talented members, but as the ambition grows, so is the resistance.
Let’s pick some example applications. These are by no mean necessary for Julia to do but we’re using Julia to do something right?
AWS is comprised of hundreds of different services. To match even a quarter of that, so people with Disks, RAMs, CPUs, and accelerators can build their own servers?
Unity is a game engine company with several thousand employees. To make a game engine to match that?
Controlling robots and so on will also require lots of infrastructure. For example, let’s say you want to formally verify system behavior’s correctness, Julia’s reflection capability might allow good tools to be developed, but these are just theories right now.
Or even developing app GUI efficiently, well, you need a large variety of patterns from buttons, scrolling bar, etc…, lots of styling options, and more, that’s also lots of work. And you want small binaries so add that to a list of work to be done.
So much hardship lies ahead. Where are we heading as the Julia community?