What needs to be done to make Julia become one of the mainstream programming languages in which to develop servers and IoT devices programs?
A thought experiment about how IoT and Servers programs development happens when using Go programming language and what differs in Julia would help a lot to spot missing things.
Right now all is focused on the scientists needs?
Now it is the time to add some stuff for the mainstream programmers as well.
I cannot say really. Note please that Julia runs happily on Raspberry Pi and Nvidia Jetson Nano.
I assume that it will run on similar boards to the Pi.
Could you say more about the IoT functionality which you are thinking about?
The idea is about doing one full Continuous Delivery cycle from one end to another, including generating standalone executable files or Docker images, and seeing what could be improved.
That executable files topic could be the first thing to do. (Go is good example for that)
Julia has some huge supporters who would pay and donate people to help make that happen?
That does not mean that they should be allowed to change the language into yet another Java.
It is all about adding some stuff to make Julia easy to use also in servers stuff programming in classical simple stupid easy programming projects.
Are you thinking about cases where you are deploying on small servers in perhaps a factory environment, a secure location or a hospital. Somewhere the device does not have internet access?
At the moment you could do this using a docker container and PackageCompiler if I am not wrong. I could be very wrong!
I feel like it is there (mostly)…I deploy Julia (and my application) in a docker image. I run the docker image on a server. It exposes a port that that receives HTTP requests and sends HTTP responses. My script to setup the docker image forces the download of all the dependent modules and get’s them to pre-compile. So the resulting docker image is ready to go when it’s deployed with code that I have tested.
What would be nice is the compile to executable functionality, but that is in the works. All that’s probably left is more module to do whatever functionality people want/need. But that’s mostly a product of becoming a “popular” language.
I guess a good tutorials and documentation writer for most popular business style programming tasks would help make that happen by making the language easy for newbies. Then it would become a mainstream language.
The example is Google Android JetPack activity which makes Android apps programming accessible to the newbies too.
Some of those newbies would progress and become the programmers for the scientific projects too
The more people use the programming language, the more resources and publicity for its development.
Julia Parallelism stuff allows creating one super Computer which automates Smart City.
That same about just Smart Home Computer. Smart Hospital Computer, etc.
Some modeling activities in this direction would allow to create a list of needed things too.
How to make Julia the ONLY tool to create Smart Cities?
There would be several categories of the programmers who would do that. Some of them data scientists, some web services or socket servers or security or whatever programmers.
How about creating open source Smart City project based on the Julia? (Julia City) (Julia Home) (Julia Car) (Julia Airplane)
Making a programming the ONLY tool for a very generic, fuzzily defined task is not a feasible or reasonable goal.
Reasonable programming language communities stopped chasing world domination a couple of decades ago. Now they are focusing on making the language and the related ecosystem better for people who want to use them. If someone doesn’t, that’s fine.
Regarding IoT: some people do use Julia in embedded environments, but that’s not the comparative advantage of the language at this point. Different languages serve different purposes.
If you do want to use Julia for IoT, I would recommend working on a project related to that and then asking concrete, technical questions here if you run into problems.