Languages might need a killer application to take off. Here’s why it might be a good idea to target startups.
Less people need to adopt Julia to have a company-wide impact. It is hard to get Julia to a large number of people. With startups, you can have 20 people adopt Julia and get the entire company using it and have big impacts later on.
Efficiency matters the most: Big corporations can afford to be somewhat inefficient.
Risk tolerance: Startups are more tolerant of risks. Using Julia is a new language with certain risks. Startups are less risk-averse.
The ability to leverage an entire language. Julia’s composability is special in this regard that we can act as if we have the backing of the entire language ecosystem to back up anything. This have an outsized impact on startups.
Less customer support issues. Having less customers to support during early growth and having customers be of certain types, early adopters, can be an advantage. While Julia struggles with shipping to a large number of clients with no Julia installed, startups can help early users who are early adopters install Julia in the worst case.
Lowering barrier to entry for metaprogramming and compiler modifications: Some large companies have metaprogramming, fancy interpreters, a custom programming language, etc. Startups often cannot afford to do these with traditional means. Julia can lower the barrier to getting the benefits associated with them.
Finally, startups have an outsized odds on delivering a killer application we need. With large corporations, we may get a small subsystem written in Julia. If we invest in startups instead, maybe we’d get a business with core functionality in Julia.
[In short because Julia Discourse ate my answer, after repeatedly not accepting pressing the Reply button… EDIT: it was found/recovered, see next reply…]
PumasAI is a startup company and product, plus 6+ I can name, including Julia Computing Inc. (now renamed JuliaHub Inc.). @ChrisRackauckas It’s very specialized, and users/customers may not know (or care, even if they know it’s Julia).
I don’t believe killer apps apply to languages (you may have had mass-market killer apps in mind, as opposed to e.g. PumasAI, though I doubt it would help a lot), they don’t form monopolies (or duopolies) for languages, as opposed operating systems and hardware. All publicity is good, and use in education more important I think rather than in killer apps. Many smaller apps may help more than one large.
That said “Coilin.io Cloud” may be a killer app for Julia (but also R and Python, unclear how to me since based on Pluto.jl which only supports Julia natively, though you can call others with interop, but I believe can’t otherwise be the main languages):
Googling “julia jobs” for the (longer) answer, gave me (i.e. the Bing plugin for Firefox), and knowing about jobs may be more/most important:
Certainly! If you’re interested in Julia programming jobs, here are some opportunities:
Data Scientist Fellowship at Delaware Tech Impact:
Location: Wilmington, DE (Hybrid remote)
Salary: $70,000 per year
Duration: 1-year Fellowship Program (June 2024 to May 2025)
Role: As a Data Scientist, you’ll collaborate with partners to design, develop, and deploy production-grade solutions for social good. Your work will directly impact communities in Delaware and beyond. Responsibilities include data analysis, hypothesis-driven approaches, and communicating findings to clients and stakeholders.
Julia Computing is expanding its team and hiring for various positions, including product managers, cloud engineers, sales engineers, compiler experts, and ML practitioners. If you’re passionate about Julia […]
My longer wasn’t actually lost, Discourse recovered it… great, I was a bit defeated seeing it lost.]
We DO have killer applications, but it’s not needed, nor enough. I think adoption in education may be even more helpful, it’s happening for PhDs and trickles down, already taught replacing MATLAB or other (any replacing R in education?), non-first languages, most important might if adopted as first language (or 2nd, or on a shortlist of languages taught after 1st).
Julia has PumasAI, the software, and company, and I believe it was a startup (@ChrisRackauckas still is?). I consider that and more to be killer app, but I don’t know enough about it, it’s used in big pharma, and I’m not sure, but I suspect, most users may not know (or possible know, then maybe not care) that it’s written in Julia.
If the jobs listed here (I just found this by accident, outdated?):
Of the 9 companies listed there, I believe at least 7 are startups including RelationalAI, Julius Technologies, Beacon Biosignals, QuEra Computing and of course Julia computing Inc, now renamed to JuliaHub Inc.
AWS, i.e. Amazon can no longer be considered a startup, nor ASML both very successful, and non-startups help with perception, I consider ASML a very intriguing company (also Airbus adopting, not on that list).
PumasAI is rather specialized, and I would still like to hear of more (killer) applications made with Julia, it doesn’t hurt. Related product, and JuliaSim, and Cedar EDA might already be killer applications. See at Juliahub, also case studies there. Flying drones, i.e. Zipline, is one of favourite example (there), in part helped by Julia (though I believe not running on the drone itself, either way, nobody would know, or maybe care, if customers).
Does it? Maybe it did or PackageCompiler.jl was considered difficult to use or slow, but AppBundler.jl is easy to use and fast. I consider distributing apps to be a solved problem (if you’re ok with either), with the latter (or former or both), a very important new step. It doesn’t compile, or try that is, except (optionally) the dependencies are precompiled. The former may be needed for some companies, also very often the code runs on a server, and code-hiding then non-issue.
I don’t disagree with your list (mostly), startups can help, as you explain. But not make or break like a killer app made Microsoft.
I use the concept as originally defined, for an actual runnable executable (as opposed to e.g. an area of use or a package) sent to end-users (or maybe cloud-base by now):
A killer application (often shortened to killer app) is any software that is so necessary or desirable that it proves the core value of some larger technology, such as its host computer hardware, video game console, software platform, or operating system.
VisiCalc (first) and Lotus 1-2-3 spreadsheets sold PCs and Microsoft DOS, made (with WordStar) Microsoft a monopoly (enabling then Windows), IBM already was. And later Multiplan and Excel, and other word processors, e.g. Word. Maybe you have such in mind for end users, the masses. We have nothing similar (AFAIK), nor a AAA game like Eve Online in (C++ and) Python (still doesn’t mean most adopt Python for games), only a long-tail (yes, getting longer) of packages usable for pretty much any scientist. Julia is still mostly targeted at them, though also excellent for general purpose, e.g. web apps, though other languages may still be better in some cases.
Apps and games like Halo, Tomb Raider and Super Mario Bros. make or break operating systems and hardware platforms (UNIX did to, so C sort of), consoles like Xbox (its Windows), PlayStation and Nintendo’s, but programming languages do not form monopolies (or duopolies) like that.
Agreed. I got a big surprise yesterday when I read a mention of Julia in a book about RISC-V.
However, it’s a shame that the Julia-lang website doesn’t reflect it better like the Flux.jl website does. JuliaCon shows year after year that many super cool projects use Julia, so it would be nice if the Julia-lang website showed better how Julia is used in industry and academia.