Batteries included

Julia is indeed not batteries included.

Its like TeX. Noone uses TeX without a few dozen packages.
(including LaTeX).

One things that allows that (for both Julia and Tex) is that it comes with a really good package manager.
(I wonder if TeX was one of the first languages to come with a package manager?).


Standard libraries are like second class packages.
They can’t be updated without reinstalling all of julia.
They can’t have breaking changes without julia being considered to have a breaking change

Contibutions to them are slow because they need to go through similar process of careful review, and there are a limitted number of people that can have commit rights to the language itself (for good reason).

Its been observed in some batteries included languages that the standard library is where code goes to die.
Because it is so hard to update anything in there that it kind of bit-rots and becomes out of date,
and nothing is ever removed.
(Probably exception to this is commercial batteries included languages like C# and Mathematica which have large staff mainining every bit of it.)

6 Likes