# What don't you like about Julia for "serious work"?

**URL:** <https://discourse.julialang.org/t/what-dont-you-like-about-julia-for-serious-work/54591>\
**Category:** Community\
**Created:** [February 4, 2021, 5:49am UTC](https://discourse.julialang.org/t/what-dont-you-like-about-julia-for-serious-work/54591 "2021-02-04T05:49:56Z")\
**Posts on this page:** 20\
**Page:** 8

<div class="post-metadata">

**Author:** ![gitboy16](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gitboy16/32/24906_2.png) [@gitboy16](https://discourse.julialang.org/u/gitboy16)\
**Post date:** [March 1, 2023, 9:23am UTC](https://discourse.julialang.org/t/what-dont-you-like-about-julia-for-serious-work/54591/161 "2023-03-01T09:23:01Z")

</div>

@adamslc , I am curious. Did your advisor transition to Julia at the end? In either case what was the reasons (pro/cons)?

---

<div class="post-metadata">

**Author:** ![merlin](https://avatars.discourse-cdn.com/v4/letter/m/8baadc/32.png) [@merlin](https://discourse.julialang.org/u/merlin)\
**Post date:** [March 6, 2023, 4:48pm UTC](https://discourse.julialang.org/t/what-dont-you-like-about-julia-for-serious-work/54591/162 "2023-03-06T16:48:54Z")

</div>

Thanks. Its really beyond me, looking through the Apache parquet codebase. Maybe you could help out here? Its the Julia community that really makes the language shine.

---

<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:** [March 6, 2023, 4:50pm UTC](https://discourse.julialang.org/t/what-dont-you-like-about-julia-for-serious-work/54591/163 "2023-03-06T16:50:47Z")

</div>

I already maintain like 40 packages, and don’t use Parquet, so probably thats a no 😉

It was all beyond me at some stage too.

(Julia packages are surprisingly easy to start or contribute to, and should be much cleaner than the apache codebase in other languages)

---

<div class="post-metadata">

**Author:** ![tim.holy](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tim.holy/32/52_2.png) [@tim.holy](https://discourse.julialang.org/u/tim.holy)\
**Post date:** [March 8, 2023, 10:16pm UTC](https://discourse.julialang.org/t/what-dont-you-like-about-julia-for-serious-work/54591/164 "2023-03-08T22:16:30Z")

</div>

Today is your lucky day: [[ANN] New tools for fixing performance problems in Julia](https://discourse.julialang.org/t/ann-new-tools-for-fixing-performance-problems-in-julia/95773). It still may not be _easy_, but hopefully it’s a lot easier!

---

<div class="post-metadata">

**Author:** ![prittjam](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/prittjam/32/21267_2.png) [@prittjam](https://discourse.julialang.org/u/prittjam)\
**Post date:** [March 8, 2023, 10:47pm UTC](https://discourse.julialang.org/t/what-dont-you-like-about-julia-for-serious-work/54591/165 "2023-03-08T22:47:17Z")

</div>

Thanks for the tip @tim.holy Look forward to trying these more friendly tools.

---

<div class="post-metadata">

**Author:** ![FrancisKing](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/francisking/32/24966_2.png) [@FrancisKing](https://discourse.julialang.org/u/FrancisKing)\
**Post date:** [April 17, 2023, 9:44pm UTC](https://discourse.julialang.org/t/what-dont-you-like-about-julia-for-serious-work/54591/166 "2023-04-17T21:44:19Z")

</div>

> [@ufechner7](#):
>
> And Makie has breaking changes all the time

Yes, me too…

---

<div class="post-metadata">

**Author:** ![TheLateKronos](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/thelatekronos/32/12824_2.png) [@TheLateKronos](https://discourse.julialang.org/u/TheLateKronos)\
**Post date:** [April 23, 2023, 9:27am UTC](https://discourse.julialang.org/t/what-dont-you-like-about-julia-for-serious-work/54591/167 "2023-04-23T09:27:30Z")

</div>

If you never want your code to break, pin the versions. If you like new features, API improvements, and better internals, things break some times. I view that as an advantage, not a problem - new breaking versions often bring awesome features, and fix stuff that seems inconsistent and ankward. It makes me sad whenever a package luggs around some clearly bad/wrong way to do/define something for too long to avoid tagging a breaking release.

I just wanted to express this view, as I feel that the “this update broke my code and that is bad” view is overrepresented on forums like this.

---

<div class="post-metadata">

**Author:** ![adamslc](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/adamslc/32/3452_2.png) [@adamslc](https://discourse.julialang.org/u/adamslc)\
**Post date:** [May 11, 2023, 12:21am UTC](https://discourse.julialang.org/t/what-dont-you-like-about-julia-for-serious-work/54591/168 "2023-05-11T00:21:33Z")

</div>

> [@gitboy16](#):
>
> Did your advisor transition to Julia at the end?

He retired! So inconclusive I guess?

---

<div class="post-metadata">

**Author:** ![lrnv](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lrnv/32/19373_2.png) [@lrnv](https://discourse.julialang.org/u/lrnv)\
**Post date:** [May 11, 2023, 9:29am UTC](https://discourse.julialang.org/t/what-dont-you-like-about-julia-for-serious-work/54591/169 "2023-05-11T09:29:49Z")

</div>

> [@TheLateKronos](#):
>
> I just wanted to express this view, as I feel that the “this update broke my code and that is bad” view is overrepresented on forums like this.

Maybe we dont communicate enough on the pinning possibilities. Maybe the most read tutorials could show-case this possibility, so that more people know how to do it properly (commit manifest file, pin versions when updating other packages, etc).

For a personal return of experience, the first serious project I did in Julia, learning the language, I did not take care of that. I knew from the tutorials that the packages management tools were capable of increased stability, but i did not make the appropriate operations. Thus, a few months later, I broke something by installing another package or just updating something (I think I updated Julia itself from 1.5.x to 1.6.x). I did not know how to restore what I had before and ended up loosing previously saved runs (serialization was updated and not backward-compatible if I recall correctly). Nothing really important, just a lot of cluster runtime.

---

<div class="post-metadata">

**Author:** ![DOT](https://avatars.discourse-cdn.com/v4/letter/d/dc4da7/32.png) [@DOT](https://discourse.julialang.org/u/DOT)\
**Post date:** [May 11, 2023, 10:47am UTC](https://discourse.julialang.org/t/what-dont-you-like-about-julia-for-serious-work/54591/170 "2023-05-11T10:47:55Z")

</div>

What are the odds of adding mandatory declaring of variables before use to the Julia syntax in v2.0? 🙂

Or is there a way to find a typo in a variable- or field name in any other way than having 100% code coverage in the tests?

---

<div class="post-metadata">

**Author:** ![Sukera](https://avatars.discourse-cdn.com/v4/letter/s/ce7236/32.png) [@Sukera](https://discourse.julialang.org/u/Sukera)\
**Post date:** [May 11, 2023, 11:45am UTC](https://discourse.julialang.org/t/what-dont-you-like-about-julia-for-serious-work/54591/171 "2023-05-11T11:45:38Z")

</div>

> [@DOT](#):
>
> Or is there a way to find a typo in a variable- or field name in any other way than having 100% code coverage in the tests?

Use JET.jl.

---

<div class="post-metadata">

**Author:** ![DOT](https://avatars.discourse-cdn.com/v4/letter/d/dc4da7/32.png) [@DOT](https://discourse.julialang.org/u/DOT)\
**Post date:** [November 20, 2023, 4:01pm UTC](https://discourse.julialang.org/t/what-dont-you-like-about-julia-for-serious-work/54591/172 "2023-11-20T16:01:37Z")

</div>

After trying out JET.jl thoroughly in a larger project, I find that it doesn’t really help much. I still find a lot of “not found” errors only by covering the specific code (i.e., JET.jl missed them) that in C/C++ would have lighted up while I type… 😞

---

<div class="post-metadata">

**Author:** ![ParadaCarleton](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/paradacarleton/32/20005_2.png) [@ParadaCarleton](https://discourse.julialang.org/u/ParadaCarleton)\
**Post date:** [November 20, 2023, 4:32pm UTC](https://discourse.julialang.org/t/what-dont-you-like-about-julia-for-serious-work/54591/173 "2023-11-20T16:32:55Z")

</div>

Hmm, maybe you can try CodeSpell for VSCode (I think that’s what it’s called) or some other spell checker? I think @Lilith just added one to Julia’s CI.

---

<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:** [November 20, 2023, 5:39pm UTC](https://discourse.julialang.org/t/what-dont-you-like-about-julia-for-serious-work/54591/174 "2023-11-20T17:39:37Z")

</div>

Split this topic on November 20, 2023, 5:39pm UTC

11 posts were split to a new topic: [Static Analysis vs. Unit Tests](https://discourse.julialang.org/t/static-analysis-vs-unit-tests/106477)

---

<div class="post-metadata">

**Author:** ![mpeters2](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mpeters2/32/202247_2.png) [@mpeters2](https://discourse.julialang.org/u/mpeters2)\
**Post date:** [November 25, 2023, 6:16pm UTC](https://discourse.julialang.org/t/what-dont-you-like-about-julia-for-serious-work/54591/175 "2023-11-25T18:16:33Z")

</div>

1. distributing stand-alone applications.

2. a culture of terrible documentation. The recent randn() discussion was a good example.

---

<div class="post-metadata">

**Author:** ![filchristou](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/filchristou/32/26760_2.png) [@filchristou](https://discourse.julialang.org/u/filchristou)\
**Post date:** [November 25, 2023, 6:50pm UTC](https://discourse.julialang.org/t/what-dont-you-like-about-julia-for-serious-work/54591/176 "2023-11-25T18:50:28Z")

</div>

> [@mpeters2](#):
>
> The recent randn() discussion was a good example.

What discussion? Any link ?

---

<div class="post-metadata">

**Author:** ![Sukera](https://avatars.discourse-cdn.com/v4/letter/s/ce7236/32.png) [@Sukera](https://discourse.julialang.org/u/Sukera)\
**Post date:** [November 25, 2023, 7:41pm UTC](https://discourse.julialang.org/t/what-dont-you-like-about-julia-for-serious-work/54591/177 "2023-11-25T19:41:16Z")

</div>

> [@filchristou](#):
>
> What discussion? Any link ?

They’re probably referring to this one:

> [@Output distribution of rand(Float32) and rand(Float64), thread 2](https://discourse.julialang.org/t/output-distribution-of-rand-float32-and-rand-float64-thread-2/105184):
>
> A recent [hackernews post](https://news.ycombinator.com/item?id=37926005) lead me to necro [https://discourse.julialang.org/t/output-distribution-of-rand/12192](https://discourse.julialang.org/t/output-distribution-of-rand/12192). If we want to reopen that can, I think a new thread is in order. Summary rand(), and much more acutely rand(Float32) generate a uniformly distributed random floating point number in the unit interval. In actuality, these functions generate a uniformly distributed fixed-point number in the unit interval, and convert it to floating point. This means that the output distribution close to …

---

<div class="post-metadata">

**Author:** ![jishnub](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jishnub/32/33620_2.png) [@jishnub](https://discourse.julialang.org/u/jishnub)\
**Post date:** [November 26, 2023, 1:17am UTC](https://discourse.julialang.org/t/what-dont-you-like-about-julia-for-serious-work/54591/178 "2023-11-26T01:17:14Z")

</div>

Perhaps [How do we Julians win big when the situation is so unfair? - #63 by sylvaticus](https://discourse.julialang.org/t/how-do-we-julians-win-big-when-the-situation-is-so-unfair/106433/63), given that this was about documenting `randn`

---

<div class="post-metadata">

**Author:** ![stevengj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stevengj/32/71_2.png) [@stevengj](https://discourse.julialang.org/u/stevengj)\
**Post date:** [November 26, 2023, 5:53pm UTC](https://discourse.julialang.org/t/what-dont-you-like-about-julia-for-serious-work/54591/179 "2023-11-26T17:53:15Z")

</div>

Split this topic on November 26, 2023, 5:53pm UTC

19 posts were split to a new topic: [Why are missing values not ignored by default?](https://discourse.julialang.org/t/why-are-missing-values-not-ignored-by-default/106756)

---

<div class="post-metadata">

**Author:** ![stevengj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stevengj/32/71_2.png) [@stevengj](https://discourse.julialang.org/u/stevengj)\
**Post date:** [November 26, 2023, 2:34am UTC](https://discourse.julialang.org/t/what-dont-you-like-about-julia-for-serious-work/54591/184 "2023-11-26T02:34:16Z")

</div>

> [@mpeters2](#):
>
> a culture of terrible documentation. The recent randn() discussion was a good example.

That “culture” led to ~~a PR~~ [two](https://github.com/JuliaLang/julia/pull/52252) [PRs](https://github.com/JuliaLang/julia/pull/52260) to improve the `randn` documentation within hours of the complaint being raised …

[Previous page](https://discourse.julialang.org/t/what-dont-you-like-about-julia-for-serious-work/54591.md?page=7)

[Next page](https://discourse.julialang.org/t/what-dont-you-like-about-julia-for-serious-work/54591.md?page=9)
