I’m making a video on how to make Julia feel nice to use, and I make a few claims about what is and isn’t “standard”. I’m curious to see how other people use Julia to get some statistics on what the community views as normal and what is more advanced or niche.
The survey is super short (only 1 compulsory section) and is anonymous and doesn’t collect identifiable data.
By far the most common way to use Julia is from inside an editor/IDE using local packages. Scripting is fairly common, and (in the discourse userbase, see below for demographics) literate programming is not so common.
In the “describe your workflow in more detail” part, quite a few people mentioned Vim, Emacs, or Sublime with a code runner that sends lines to an external REPL/terminal window, usually with a splitscreen tmux setup.
Finally, hot damn y’all are Julia addicts. Luckily, this survey is not supposed to be a representative sample of how Julia is used, only of how more experienced, package developer-leaning members use Julia, which is how I view Discourse and Slack.
I’m sorry I didn’t respond to the survey, life just gets in the way sometimes Self-reference is not normally suitable, but I did recently mention the topic: Did Modular just reinvent Julia?
I use LocalRegistry primarily as a solo developer and find it very useful. The main use-case is so private package A can depend on private package B.
The killer feature, vs just doing dev /path/to/PackageB is the support for versioning. Rather than depending on a specific state of the files on my filesystem for Package B, LocalRegistry creates a versioned snapshot so that Package A can work in a fully reproducible way, regardless of what changes with package B.
It allows me to use packages in GH CI when they are not in the general registry. For example: I have package A depending on package B and neither is in the general registry. I want to run CI on A. I use LocalRegistry to manage a registry, also available as a GH repo and package B is registered there.
There may be another way to do it. But this works for me. (I had to search pretty hard for the magic incantation in the CI script that uses the “local” registry.
Having a personal registry gives nice advantages whenever you have at least a few packages you own and develop. Compared to General, advantages include convenience in registration (just from your Julia REPL!), and immediate registration of both new packages and versions (no delay, call register() and it’s already there).
For single developers, like me, it also quite useful. I have many private repos which have complicated dependency relations. To install them properly and smoothly, I found LocalRegistry.jl is a must-have tool!