What is Julia?


You can find all information about Julia Language at https://julialang.org/

Julia is a high-level, high-performance, dynamic programming language. While it is a general purpose language and can be used to write any application, many of its features are well-suited for high-performance numerical analysis and computational science.

  • Julia was designed from the beginning for high performance. Julia programs compile to efficient native code for multiple platforms via LLVM.
  • Julia is dynamically-typed, feels like a scripting language, and has good support for interactive use.
  • Julia has a rich language of descriptive datatypes, and type declarations can be used to clarify and solidify programs.
  • Julia uses multiple dispatch as a paradigm, making it easy to express many object-oriented and functional programming patterns. It provides asynchronous I/O, debugging, logging, profiling, a package manager, and more.
  • Julia has high level syntax, making it an accessible language for programmers from any background or experience level.
  • Julia is provided under the MIT license, free for everyone to use. All source code is publicly viewable on GitHub.

Why Julia?


For embedded scripting, most software packages use other scripting languages like Python or Lua. Compared to these languages, Julia offers some important advantages:


  • It is much faster than most other interpreted languages, especially for short code snippets typically used in embedded use-cases like in SIGVIEW
  • It was designed specifically for numerical data analysis
  • There are many good packages for various applications: DSP, statistics, plotting etc. If some package is not available, Julia can easily use existing Python or R packages 


Where to get help and information?


There are numerous website providing information about Julia language or Julia packages. For example:


Official documentation: https://docs.julialang.org/en/v1/

Fast overview with many examples: https://juliabyexample.helpmanual.io/

Julia Cheat-Sheet: https://juliadocs.github.io/Julia-Cheat-Sheet/

Juia Forum: https://discourse.julialang.org/


Packages


SIGVIEW installs only a basic Julia language package, without any additional packages. To install new package, just open Julia console (main menu, Scripts/Julia console) and type:


using Pkg; Pkg.add("<Package Name>") 


On first usage, most packages will first need to compile. This can last up to few minutes. Therefore, it is recommended immediately after Pkg.add("<Package Name>")  to execute  import <Package Name> in Julia Console.


Here is a list of some interesting packages which can nicely extend SIGVIEW functionality:


  • Loading MATLAB *.MAT files (https://github.com/JuliaIO/MAT.jl)
  • Loading Excel files (https://github.com/JuliaIO/SerialPorts.jl)
  • Loading CSV files (https://juliadata.github.io/CSV.jl/stable/)
  • Serial Port I/O (https://github.com/JuliaIO/SerialPorts.jl)
  • Hilbert transform (https://github.com/fpreiswerk/Hilbert.jl)
  • DSP  (https://github.com/JuliaDSP/DSP.jl)
  • Statistics (https://juliastats.org/)
  • Plots (https://docs.juliaplots.org/latest/)
  • Using HTTP (https://github.com/JuliaWeb/HTTP.jl)


You can find many more packages on https://juliaobserver.com/ or by freely searching in internet. 


See the subchapter 'Adding missing packages' for more information about adding new packages with built-in SIGVIEW functions.