# Roadmap for small binaries

**URL:** <https://discourse.julialang.org/t/roadmap-for-small-binaries/99266>\
**Category:** Internals & Design\
**Tags:** question\
**Created:** [May 23, 2023, 8:41am UTC](https://discourse.julialang.org/t/roadmap-for-small-binaries/99266 "2023-05-23T08:41:09Z")\
**Posts on this page:** 7\
**Page:** 7

<div class="post-metadata">

**Author:** ![Raf](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/raf/32/3383_2.png) [@Raf](https://discourse.julialang.org/u/Raf)\
**Post date:** [December 22, 2023, 12:03pm UTC](https://discourse.julialang.org/t/roadmap-for-small-binaries/99266/121 "2023-12-22T12:03:50Z")

</div>

Yeah its really not exciting… but a lot of us have numeric packages that could get 10x more use if they were more accessible in R or Python. And imagine if Rs `src` directory could contain Julia instead of C++. I know a lot of scientists writing awful C++ because they have to for their hot loops in R.

---

<div class="post-metadata">

**Author:** ![LaurentPlagne](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/laurentplagne/32/10103_2.png) [@LaurentPlagne](https://discourse.julialang.org/u/LaurentPlagne)\
**Post date:** [December 22, 2023, 12:11pm UTC](https://discourse.julialang.org/t/roadmap-for-small-binaries/99266/122 "2023-12-22T12:11:21Z")

</div>

In addition, It is often the case where you can’t directly switch the language for a large simulation software, and easily callable Julia libraries could greatly help the **progressive** adoption of Julia.

---

<div class="post-metadata">

**Author:** ![LaurentPlagne](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/laurentplagne/32/10103_2.png) [@LaurentPlagne](https://discourse.julialang.org/u/LaurentPlagne)\
**Post date:** [December 22, 2023, 12:13pm UTC](https://discourse.julialang.org/t/roadmap-for-small-binaries/99266/123 "2023-12-22T12:13:46Z")

</div>

In (further) addition, for commercial dev using Julia, it can be necessary to be able to provide closed-source piece of software (binaries).

---

<div class="post-metadata">

**Author:** ![Janis\_Erdmanis](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/janis_erdmanis/32/10869_2.png) [@Janis\_Erdmanis](https://discourse.julialang.org/u/Janis_Erdmanis)\
**Post date:** [December 22, 2023, 12:26pm UTC](https://discourse.julialang.org/t/roadmap-for-small-binaries/99266/124 "2023-12-22T12:26:31Z")

</div>

For Apple you would actually need a compiled launcher/entry point if your would like to sign the software. This is however hardly an issue as it is possible to tell a compiled launcher to launch the bash script next to it as I have done so in AppBundler.jl.

---

<div class="post-metadata">

**Author:** ![oheil](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oheil/32/220745_2.png) [@oheil](https://discourse.julialang.org/u/oheil)\
**Post date:** [December 22, 2023, 2:00pm UTC](https://discourse.julialang.org/t/roadmap-for-small-binaries/99266/125 "2023-12-22T14:00:36Z")

</div>

> [@Raf](#):
>
> Yeah its really not exciting

It absolutely **IS** exciting! (IMO) 🙂  
Both scenarios, numeric libraries AND e.g. standalone apps with UI, **are** exciting use cases where Julia currently isn’t well suited.

At least I am excited to see this thread again with some news on this topic 👍

---

<div class="post-metadata">

**Author:** ![Raf](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/raf/32/3383_2.png) [@Raf](https://discourse.julialang.org/u/Raf)\
**Post date:** [December 22, 2023, 2:20pm UTC](https://discourse.julialang.org/t/roadmap-for-small-binaries/99266/126 "2023-12-22T14:20:25Z")

</div>

If you love writing R/Python wrappers for Julia binaries, that’s great 😉

I do think its _really_ important to make easy numerical binaries from Julia for the majority use-cases in many fields of science, but also not at the cutting edge of anything we do here except that its technically hard.

For me it means pre-bundling some configurable algorithms on a limited set of standard types, like you normally get from a C++ backend in R or Python, just written in Julia. Rather than allowing add-hoc user-defined functions on arbitrary types and total freedom to customise anything - and have it compile at runtime like it’s hand tuned C++. The open-endedness of Julia is what is exciting to me, but I also know its a 10% use case, and the standard stuff is the 90% use case.

---

<div class="post-metadata">

**Author:** ![Deduction42](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/deduction42/32/9206_2.png) [@Deduction42](https://discourse.julialang.org/u/Deduction42)\
**Post date:** [November 10, 2024, 7:29pm UTC](https://discourse.julialang.org/t/roadmap-for-small-binaries/99266/127 "2024-11-10T19:29:48Z")

</div>

I know I’m a bit late to the party, but I’m really following this topic with enthusiasm now since this year’s JuliaCon. I work in the field of industrial data science, developing apps for engineers/technicians. To me, creating small c-callable Julia binaries that can be easily integrated in other software environments is extremely exciting for a few reasons:

1. Engineering principles are broad, but the applications are very different. Flexibility is still non-negotiable if we want to scale, but for harder problems, performance is important too.
2. Being able to statically compile Julia to small binaries really reduces the barriers to deployment at the edge where a lot of customers want things to be done, and allows us to more easily protect our I.P. in these applications.
3. Being able to statically compile the same Jula code for different top-level types effectively allows us to re-optimize our codebase for different applications with a fraction of the effort for a language like C++.

In the space of industrial data science, the last two points spell significant competitive advantage for anyone adopting Julia vs any other language out there. The open-ended nature of Julia is still really important, but it’s the ability to seamlessly distill that into something that is closed-ended, optimal and deployable for different applications that would make it so powerful. This problem may seem niche, but it’s a very profitable one. I’m really looking forward to more news on this.

[Previous page](https://discourse.julialang.org/t/roadmap-for-small-binaries/99266.md?page=6)
