# Is Julia Falling Behind in Relevance? (because it's not used in LLM research?)

**URL:** <https://discourse.julialang.org/t/is-julia-falling-behind-in-relevance-because-its-not-used-in-llm-research/99048>\
**Category:** Offtopic\
**Created:** [May 18, 2023, 9:02am UTC](https://discourse.julialang.org/t/is-julia-falling-behind-in-relevance-because-its-not-used-in-llm-research/99048 "2023-05-18T09:02:16Z")\
**Posts on this page:** 10\
**Page:** 4

<div class="post-metadata">

**Author:** ![compleat](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/compleat/32/8958_2.png) [@compleat](https://discourse.julialang.org/u/compleat)\
**Post date:** [May 25, 2023, 9:02am UTC](https://discourse.julialang.org/t/is-julia-falling-behind-in-relevance-because-its-not-used-in-llm-research/99048/61 "2023-05-25T09:02:00Z")

</div>

> [@albheim](#):
>
> What is it that doesn’t work?  
> Just tried the “AttentionIsAllYouNeed/copy” from the examples folder, and seems to train well.

```julia
julia> using Transformers.Layers
ERROR: UndefVarError: Layers not defined
Stacktrace:
 [1] macro expansion
   @ ~/.julia/packages/CUDA/BbliS/src/initialization.jl:52 [inlined]
 [2] top-level scope
   @ ~/.julia/packages/Metal/X47vU/src/initialization.jl:33

```

---

<div class="post-metadata">

**Author:** ![nilshg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nilshg/32/2283_2.png) [@nilshg](https://discourse.julialang.org/u/nilshg)\
**Post date:** [May 25, 2023, 9:09am UTC](https://discourse.julialang.org/t/is-julia-falling-behind-in-relevance-because-its-not-used-in-llm-research/99048/62 "2023-05-25T09:09:51Z")

</div>

I would recommend starting a new thread on this, and make sure you follow the usual structure from

> [@Please read: make it easier to help you](https://discourse.julialang.org/t/please-read-make-it-easier-to-help-you/14757):
>
> Welcome to the Julia Discourse! We are enthusiastic about helping Julia programmers, both beginner and experienced. This public service announcement (PSA) outlines best practices when asking for help. Following these points makes it easier for us to help you and more likely you’ll get a prompt, useful answer. Keywords are highlighted to make it easier to refer to specific points. Choose a descriptive title that captures the key part of your question, eg “plots with multiple axes” instead of …

so that people can actually reproduce your issue.

---

<div class="post-metadata">

**Author:** ![compleat](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/compleat/32/8958_2.png) [@compleat](https://discourse.julialang.org/u/compleat)\
**Post date:** [May 25, 2023, 9:18am UTC](https://discourse.julialang.org/t/is-julia-falling-behind-in-relevance-because-its-not-used-in-llm-research/99048/63 "2023-05-25T09:18:58Z")

</div>

> [@nilshg](#):
>
> so that people can actually reproduce your issue.

Thank you, I may do that, but my point here is that if even the most simple  
examples provided for the most basic package (Transformers.jl) are not working for casual users like myself, it may be indicative of a lack of accessibility for the ‘curious’.

---

<div class="post-metadata">

**Author:** ![aplavin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aplavin/32/222056_2.png) [@aplavin](https://discourse.julialang.org/u/aplavin)\
**Post date:** [May 25, 2023, 9:20am UTC](https://discourse.julialang.org/t/is-julia-falling-behind-in-relevance-because-its-not-used-in-llm-research/99048/64 "2023-05-25T09:20:49Z")

</div>

> [@compleat](#):
>
> ```julia
> julia> using Transformers.Layers
> ERROR: UndefVarError: Layers not defined
> 
> ```

Just tried – the same works for me, are you using the latest version?

---

<div class="post-metadata">

**Author:** ![mcreel](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mcreel/32/30088_2.png) [@mcreel](https://discourse.julialang.org/u/mcreel)\
**Post date:** [May 25, 2023, 1:45pm UTC](https://discourse.julialang.org/t/is-julia-falling-behind-in-relevance-because-its-not-used-in-llm-research/99048/65 "2023-05-25T13:45:02Z")

</div>

The following code runs without errors in an empty directory, using Julia 1.9.

```julia
using Pkg
Pkg.activate(".")
Pkg.update()
Pkg.add("Transformers")
Pkg.instantiate()          
using Transformers.Layers                          

```

---

<div class="post-metadata">

**Author:** ![1153dent](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/1153dent/32/43968_2.png) [@1153dent](https://discourse.julialang.org/u/1153dent)\
**Post date:** [May 25, 2023, 8:18pm UTC](https://discourse.julialang.org/t/is-julia-falling-behind-in-relevance-because-its-not-used-in-llm-research/99048/66 "2023-05-25T20:18:34Z")

</div>

maybe not  
[ai and non intrusive detection](https://www.youtube.com/watch?v=Z1DVyZ2JBqo)

---

<div class="post-metadata">

**Author:** ![soylent\_greene](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/soylent_greene/32/217728_2.png) [@soylent\_greene](https://discourse.julialang.org/u/soylent_greene)\
**Post date:** [July 15, 2025, 1:02pm UTC](https://discourse.julialang.org/t/is-julia-falling-behind-in-relevance-because-its-not-used-in-llm-research/99048/67 "2025-07-15T13:02:05Z")

</div>

This post was temporarily hidden by the community for possibly being off-topic, unfocused, inappropriate, or spammy.

---

<div class="post-metadata">

**Author:** ![Kirby\_Zhang](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kirby_zhang/32/36204_2.png) [@Kirby\_Zhang](https://discourse.julialang.org/u/Kirby_Zhang)\
**Post date:** [July 16, 2025, 4:30pm UTC](https://discourse.julialang.org/t/is-julia-falling-behind-in-relevance-because-its-not-used-in-llm-research/99048/68 "2025-07-16T16:30:57Z")

</div>

Let’s not knock this response from Gemini Pro. I can personally attest a deeply researching AI can write better papers than most people.

I’m particularly interested in " **2. The Infiltration Strategy: Be the “Performance Layer” for Python**". This also melds with current efforts toward static Julia.

> **Summary**
>
> Of course. It seems you’re frustrated because you feel the responses in that thread are dismissive and fail to grasp the existential threat that Python’s dominance in AI, particularly with LLMs, poses to Julia. You see the OP as someone sounding a necessary alarm, while the community is plugging its ears.
> 
> A “smart” response—one that would be given by a strategist or a senior technical leader who acknowledges the gravity of the situation—wouldn’t be dismissive. It would validate the OP’s concern, analyze the problem from a market and strategic perspective, and then lay out a realistic path forward.
> 
> Here is how such a person would likely respond to the OP, addressing the core of the problem head-on.
> 
> * * *
> 
> ### A Strategist’s Response to “Is Julia falling behind?”
> 
> Thank you for raising this. This isn’t just a valid question; it’s arguably the **most critical strategic question** facing the Julia community today. Dismissing the dominance of Python in the LLM space would be an act of profound strategic malpractice. You are right to point out the sheer scale of the challenge.
> 
> Let’s break this down without sugarcoating the reality.
> 
> #### **Part 1: Acknowledging the Uncomfortable Truth: The Python Moat**
> 
> First, let’s be crystal clear about the situation. You are correct: Julia is not a significant player in mainstream LLM research and development _right now_. The ecosystem is dominated by Python, not just by chance, but due to a powerful confluence of factors:
> 
> 1. **The Gravity of Corporate Investment:** Google (TensorFlow/JAX) and Meta (PyTorch) have poured billions of dollars into their Python-based frameworks. This isn’t just about code; it’s about tutorials, pre-trained models (like Hugging Face’s ecosystem, which is almost entirely PyTorch/TF), cloud infrastructure, and dedicated engineering teams. This creates an enormous “ecosystem moat” that is nearly impossible to assail directly.
> 2. **First-Mover Advantage & Network Effects:** AI/ML development exploded in Python. The first widely successful libraries were there. This meant the first wave of talent learned it, the first tutorials were written for it, and the first research papers published code in it. Every new researcher who enters the field finds a mountain of existing work in Python, making it the rational choice for them, which in turn reinforces the cycle.
> 3. **“Good Enough” Performance:** For a huge portion of LLM work (training massive models on massive hardware), the bottleneck isn’t the host language (Python) but the GPU kernels (CUDA). Python’s role is to be the “glue” that orchestrates these highly-optimized C++/CUDA operations. While inefficient, this “two-language problem” has been deemed an acceptable cost by the industry, as long as the core computations are fast.
> 
> To deny these points is to deny reality. The OP is right to be alarmed. Simply saying “but Julia is faster” or “but the two-language problem is bad” misses the point entirely. The market has already decided that Python’s convenience is worth the technical debt, at least for now.
> 
> #### **Part 2: The Wrong Strategy: The Head-On Assault**
> 
> So, what do we do? The first thing is to recognize what _won’t_ work.
> 
> Trying to build a “Julia version of PyTorch” to compete head-to-head is a losing strategy. We don’t have the corporate funding, the massive user base, or the ecosystem of pre-trained models. It would be like trying to launch a new social media site in 2024 to compete with Facebook and TikTok. You’d be starting with zero network effects against entrenched giants. It’s a noble but doomed effort.
> 
> This is where the frustration with some community responses is understandable. Pointing to niche technical superiorities without a go-to-market strategy is like bragging that your rowboat is made of a stronger wood than a container ship. It might be true, but you’re not going to win the shipping business.
> 
> #### **Part 3: The Right Strategy: The Flanking Maneuver and The Long Game**
> 
> Smart strategy isn’t about fighting the enemy on their strongest front. It’s about finding and dominating high-value territory they can’t easily defend. For Julia, this means focusing on areas where Python’s fundamental weaknesses are not just an inconvenience, but a **showstopper**.
> 
> **1. The Flanking Maneuver: Dominate Scientific Machine Learning (SciML)**  
> This is Julia’s current beachhead and its most promising front. LLMs are just one part of AI. The fusion of traditional scientific modeling (e.g., differential equations for climate, pharmacology, or aerospace) with machine learning is a domain where Python struggles mightily.
> 
> - **Why Python fails here:** The “two-language problem” becomes crippling. You can’t easily differentiate through a physics simulator written in Fortran or C++.
> - **Why Julia wins:** Julia’s composable, fully-differentiable ecosystem allows you to treat a climate model and a neural network as a single, unified object. This isn’t just a “nice-to-have”; it enables a whole new category of science.
> - **The Strategy:** Double down on SciML. Make it the undisputed best-in-the-world ecosystem for this work. This attracts serious scientists and engineers from high-value industries (pharma, energy, aerospace, manufacturing) who have problems that PyTorch _cannot_ solve. This creates a defensible niche that generates real value and prestige.
> 
> **2. The Infiltration Strategy: Be the “Performance Layer” for Python**  
> Instead of replacing Python, make it better. The “two-language problem” is Julia’s biggest opportunity. Everyone who drops into C++ or Fortran from Python for performance is a potential Julia user.
> 
> - **The Strategy:** Make Python-Julia interoperability so seamless that writing a performance-critical kernel in Julia is a no-brainer for a Python developer. Focus on tools like `PythonCall.jl` and `juliacall`. The value proposition isn’t “abandon Python,” it’s “accelerate your existing Python code with a language that’s as easy as Python but as fast as C.”
> 
> **3. The Long Game: Position for the Next Paradigm Shift**  
> The current paradigm is “massive model, massive data, massive hardware.” But this is creating new problems:
> 
> - **Bloat and Inefficiency:** Models are becoming untenably large and expensive.
> - **The “Black Box” Problem:** It’s hard to make models reliable, verifiable, and controllable.
> - **Integration with the Real World:** AI is moving from the cloud to the edge—robotics, autonomous systems, medical devices. In these contexts, the latency and overhead of the Python “glue” language are unacceptable.
> 
> This is where Julia’s core design philosophy becomes a killer feature. A language designed from the ground up for performance, composability, and dynamicism is the ideal substrate for the _next_ generation of AI—one that is more integrated, efficient, and scientifically grounded.
> 
> - **The Strategy:** Frame Julia not as a PyTorch competitor, but as the solution to PyTorch’s fundamental limitations. It’s the language for when you need to compile a novel AI algorithm to a novel piece of hardware, or when your AI needs to be provably correct as part of a control system for a self-driving car.
> 
> ### **Conclusion: From Denial to Action**
> 
> The OP is right: there is a problem, and denial is the path to irrelevance. A smart response is to:
> 
> 1. **Acknowledge the Reality:** Python’s moat in mainstream LLMs is real and formidable.
> 2. **Abandon Losing Strategies:** Stop trying to fight a head-on battle we can’t win.
> 3. **Execute a Winning Strategy:**
> - **Short-Term:** Dominate the high-value niche of SciML where we have a unique, 10x advantage.
> - **Mid-Term:** Become the best performance-acceleration language for the Python ecosystem through seamless interoperability.
> - **Long-Term:** Position Julia as the foundational language for the next, more rigorous and efficient paradigm of AI.
> 
> This requires focus. It means prioritizing SciML libraries, world-class Python interop, and compiler tooling over trying to replicate every feature of the PyTorch ecosystem. It’s a harder, more disciplined path, but it’s one that leads to a sustainable and valuable place in the technical world, rather than a slow fade into irrelevance. Your alarm is not only justified; it’s necessary.

---

<div class="post-metadata">

**Author:** ![mbauman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mbauman/32/31082_2.png) [@mbauman](https://discourse.julialang.org/u/mbauman)\
**Post date:** [July 16, 2025, 4:47pm UTC](https://discourse.julialang.org/t/is-julia-falling-behind-in-relevance-because-its-not-used-in-llm-research/99048/69 "2025-07-16T16:47:01Z")

</div>

The only reason this topic was resurrected was because someone wanted to dunk on an old comment. We don’t need to do that, nor do we need to keep it alive with AI-generated commentaries that rehash many thoughts that have already been very well expressed right here; this is a community of humans.

If you’re interested in Julia being the “Performance Layer” for Python, let’s focus that in:

> [@Gradual Julia-ization of Python libraries](https://discourse.julialang.org/t/gradual-julia-ization-of-python-libraries/117828):
>
> Context Python has a large community[[1]](#footnote-558563-1). However, many of its most-used numerical libraries – numpy, scipy, scikit-learn, pandas, pytorch, jax – are not written in Python. Instead, a frontend API is written in Python, hiding a high-performance backend which is usually C/C++. Speaking from [experience](https://arxiv.org/abs/1708.00720), the interface between Python and C/C++ is quite a pain to deal with for development, and each library does it a bit differently. Compare the complex build systems of [numpy](https://github.com/numpy/numpy/tree/main/meson_cpu) with [pandas](https://github.com/pandas-dev/pandas/blob/main/setup.py) with [pytorch](https://github.com/pytorch/pytorch/blob/main/setup.py).…

---

<div class="post-metadata">

**Author:** ![mbauman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mbauman/32/31082_2.png) [@mbauman](https://discourse.julialang.org/u/mbauman)\
**Post date:** [July 16, 2025, 4:47pm UTC](https://discourse.julialang.org/t/is-julia-falling-behind-in-relevance-because-its-not-used-in-llm-research/99048/70 "2025-07-16T16:47:19Z")

</div>

Closed on July 16, 2025, 4:47pm UTC



[Previous page](https://discourse.julialang.org/t/is-julia-falling-behind-in-relevance-because-its-not-used-in-llm-research/99048.md?page=3)
