# What steps should the Julia community take to bring Julia to the next level of popularity?

**URL:** <https://discourse.julialang.org/t/what-steps-should-the-julia-community-take-to-bring-julia-to-the-next-level-of-popularity/101389>\
**Category:** Community\
**Created:** [July 9, 2023, 9:59am UTC](https://discourse.julialang.org/t/what-steps-should-the-julia-community-take-to-bring-julia-to-the-next-level-of-popularity/101389 "2023-07-09T09:59:36Z")\
**Posts on this page:** 1\
**Showing post:** 500

<div class="post-metadata">

**Author:** ![Palli](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/palli/32/3380_2.png) [@Palli](https://discourse.julialang.org/u/Palli)\
**Post date:** [August 28, 2023, 3:55pm UTC](https://discourse.julialang.org/t/what-steps-should-the-julia-community-take-to-bring-julia-to-the-next-level-of-popularity/101389/500 "2023-08-28T15:55:59Z")

</div>

> [@lmiq](#):
>
> I told him that he had to first install the package in a Julia section, and then run the script. […]  
> That given, I think it would be interesting to have a keyword argument, `-s` or anything else, such that:
> 
> ```julia
> julia -s script.jl
> 
> ```
> 
> would:
> 
> - Create an environment (not temporary, and uniquely identified with that script).
> - Install all `using` packages without prompting.
> - Run the script.
> - Maybe: cache some compiled code given the functions used?

We already have that capability.

You tend to think of Pluto.jl just for notebooks and interactivity (and possibly graphs), but it’s a pure Julia file with all you need, an implied Manifest.toml file, in just one file. I haven’t checked if I can run it from the shell (or as a REPL, as with ipython), but I would at least want that. That said I’ve made a 30% smaller sysimage, with 20% faster startup that would be good for scripting. Another problem with your “Install all `using` packages without prompting” is that it’s not reproducible, it doesn’t know the exact package used, so must assume latest version ok, and install that. In many cases would be ok, but better to specify. I guess that’s what Pluto does if handed a .jl file without the (otherwise hidden) markup. Another problem is the implied `--startup-file=yes` so in effect anything could happen at runtime, Pluto disables that, I believe. [I believe also it adds threads, a non-default in Julia, and possibly not wanted…]

> **[🎁 Package management](https://github.com/fonsp/Pluto.jl/wiki/%F0%9F%8E%81-Package-management)**
>
> 🎈 Simple reactive notebooks for Julia. Contribute to fonsp/Pluto.jl development by creating an account on GitHub.

> Starting with version 0.15, Pluto has a built-in package manager, which means:
> 
> 1.🎈 Packages are **automatically installed** when you use `import` or `using`.  
> 2.🎈 Your package environment is **stored inside the notebook file**. When someone else opens your notebook with Pluto, the exact same package environment will be used, and packages will work on their computer.  
> 🙋 These two features are designed to make it easy to write and share **reproducible notebooks**.

Your last point about caching compiled code is part of my tiny executable idea, i.e. would make .ji files with compiled code automatically, which would be good for default Julia, and then help Pluto also automatically:

> [@Tiny executables with all capabilities. was: PackageCompiler.jl a bad name(?) And why can't modules and scripts not be compiled?](https://discourse.julialang.org/t/tiny-executables-with-all-capabilities-was-packagecompiler-jl-a-bad-name-and-why-cant-modules-and-scripts-not-be-compiled/103192):
>
> People want compiled binary executable for a few reasons, some good, some bad: To distribute just one file, already possible, but it’s not small. It can also be tiny with my idea. To have everything needed in that file, and it being an .exe. There’s strictly no need that everything is in that file, it just needs to feel that way, give that illusion. To hide (all) the source code. Already possible. Would still be possible. Or you could choose to have source and/or binaries for some files, there…

---

_[View the full topic](https://discourse.julialang.org/t/what-steps-should-the-julia-community-take-to-bring-julia-to-the-next-level-of-popularity/101389)._
