News for hackers. Stuff that matters.
Re:Potential of the Julia programming language for high ener... by markkitti on Monday December 04, 2023 @09:16AM (#38517485)
I thought that notebook based development and package based development were diametrically opposed in the past, but Pluto.jl notebooks have changed my mind about this.

A Pluto.jl notebook is a human readable Julia source file. The Pluto.jl package is itself developed via Pluto.jl notebooks.

https://github.com/fonsp/Pluto.jl

Also, the VSCode Julia plugin tooling has really expanded in functionality and usability for me in the past year. The integrated debugging took some work to setup, but is fast enough to drop into a local frame.

https://code.visualstudio.com/docs/languages/julia

Julia is the first language I have achieved full life cycle integration between exploratory code to sharable package. It even runs quite well on my Android. 2023 is the first year I was able to solve a differential equation or render a 3D surface from a calculated mesh with the hardware in my pocket.

Re:Potential of the Julia programming language for high ener... by jampekka on Monday December 04, 2023 @09:29AM (#38517669)
Pluto.jl does solve the state problem of notebooks, which is the biggest problem in them. Probably should give it another go.

How is the module reloading story nowadays? Last time I gave up the state of the art was Revise.jl, which was a world of pain.

Re:Potential of the Julia programming language for high ener... by staunton on Monday December 04, 2023 @11:56AM (#38519713)
> Pluto.jl does solve the state problem of notebooks

Yes it does, unless you do crazy stuff (which you probably should put in a Julia file and let it precompile). The order of cells and execution order does not matter (unless you do crazy stuff).

Re:Potential of the Julia programming language for high ener... by markkitti on Tuesday December 05, 2023 @04:25AM (#38528613)
A Pluto.jl notebook is also a regular file. You need to use a package for precompilation caching though.
Re:Potential of the Julia programming language for high ener... by tamasgal on Monday December 04, 2023 @12:53PM (#38520505)
I have no idea what kind of problems you have ;) I use Revise.jl on a daily basis and it works flawlessly. I don't have any comparable workflow in any other language I work with on a daily basis. I wish I could do this style in those as well...

Yes, you should give it a go (again)!

Re:Potential of the Julia programming language for high ener... by staunton on Monday December 04, 2023 @10:34PM (#38526797)
I'm not sure how Revise would work with a notebook though... Guess it's only useful in the REPL, which is a different way to work.
Re:Potential of the Julia programming language for high ener... by bobbylarrybobby on Monday December 04, 2023 @11:03PM (#38526964)
In VSCode, in an ordinary Julia file you can place the magic comments `# %%` at the start of a code cell (needs to be on its own line), and then you can send these “cells” to the REPL to execute. No notebook needed.
Re:Potential of the Julia programming language for high ener... by staunton on Tuesday December 05, 2023 @12:01AM (#38527300)
What do you do with it? Especially that benefits from Revise?
Re:Potential of the Julia programming language for high ener... by jampekka on Tuesday December 05, 2023 @10:33AM (#38532164)
Re:Potential of the Julia programming language for high ener... by Archit3ch on Monday December 04, 2023 @09:40AM (#38517829)
> It even runs quite well on my Android. 2023 is the first year I was able to solve a differential equation or render a 3D surface from a calculated mesh with the hardware in my pocket.

Is that via webassembly or... ?

Re:Potential of the Julia programming language for high ener... by markkitti on Tuesday December 05, 2023 @04:34AM (#38528658)
No. Julia runs natively on ARM.

  julia> versioninfo() 
                                                 
  Julia Version 1.9.3                                                   
  Commit bed2cd540a1 (2023-08-24 14:43 UTC)                             
  Build Info:                                                             
  Official https://julialang.org/ release
  Platform Info:                                                          
  OS: Linux (aarch64-linux-gnu)                                         
  CPU: 6 × Cortex-A55                                                   
  WORD_SIZE: 64                                                         
  LIBM: libopenlibm                                                     
  LLVM: libLLVM-14.0.6 (ORCJIT, cortex-a55)                             
  Threads: 1 on 8 virtual cores
Re:Potential of the Julia programming language for high ener... by uoaei on Monday December 04, 2023 @01:10PM (#38520728)
Would you expand on how you are running Julia on Android?
Re:Potential of the Julia programming language for high ener... by markkitti on Tuesday December 05, 2023 @04:27AM (#38528627)