Movatterモバイル変換


[0]ホーム

URL:


JuliaCon 2025 Call For Proposals. (Closes Feb 14, 2025)

The Julia Programming Language

Download  DocumentationStar


Julia in a Nutshell



Fast

Julia was designed forhigh performance. Julia programs automatically compile to efficient native code via LLVM, and supportmultiple platforms.

Dynamic

Julia isdynamically typed, feels like a scripting language, and has good support forinteractive use, but can also optionally be separately compiled.

Reproducible

Reproducible environments make it possible to recreate the same Julia environment every time, across platforms, withpre-built binaries.

Composable

Julia usesmultiple dispatch as a paradigm, making it easy to express many object-oriented andfunctional programming patterns. The talk on theUnreasonable Effectiveness of Multiple Dispatch explains why it works so well.

General

Julia providesasynchronous I/O,metaprogramming,debugging,logging,profiling, apackage manager, and more. One can build entireApplications and Microservices in Julia.

Open source

Julia is an open source project with over 1,000 contributors. It is made available under theMIT license. Thesource code is available on GitHub.


See Julia Code ExamplesTry Julia In Your Browser



Ecosystem



General Computing

minesweeper gameover

Build, Deploy or Embed Your Code

Julia makes it possible to build complete applications. Write web UIs withDash.jl andGenie.jl or native UIs withGtk4.jl. Pull data froma variety of databases. Build shared libraries and executables withPackageCompiler. Deploy on a webserver withHTTP.jl or embedded devices. Powerful shell integration make it easy tomanaging other processes.

Julia has foreign function interfaces forC, Fortran,C++,Python,R,Java,Mathematica,Matlab, and many other languages. Julia can also be embedded in other programs through itsembedding API. Julia'sPackageCompiler makes it possible to build binaries from Julia programs that can be integrated into larger projects. Python programs can call Julia usingjuliacall. R programs can do the same withR's JuliaCall, which is demonstrated bycalling MixedModels.jl from R. Mathematica supportscalling Julia through its External Evaluation System.

Parallel Computing

parallel prefix graphical result

Parallel and Heterogeneous Computing

Julia is designed for parallelism, and provides built-in primitives for parallel computing at every level: instruction level parallelism,multi-threading,GPU computing, anddistributed computing. TheCeleste.jl project achieved 1.5 PetaFLOP/s on theCori supercomputer at NERSC using 650,000 cores.

The Julia compiler can also generate native code forGPUs. Packages such asDistributedArrays.jl andDagger.jl provide higher levels of abstraction for parallelism.Distributed Linear Algebra is provided by packages likeElemental.jl andTSVD.jl. MPI style parallelism is also available throughMPI.jl.

Machine Learning

cartpole reinforcement learning problem visualization

Scalable Machine Learning

TheMLJ.jl package provides a unified interface to common machine learning algorithms, which includegeneralized linear models,decision trees, andclustering.Flux.jl andLux.jl are powerful packages for Deep Learning. Packages such asMetalhead.jl,ObjectDetector.jl, andTextAnalysis.jl provide ready to use pre-trained models for common tasks.AlphaZero.jl provides a high performance implementation of the reinforcement learning algorithms from AlphaZero.Turing.jl is a best in class package for probabilistic programming.

Scientific Computing

Lorenz Attractor visualization

Rich Ecosystem for Scientific Computing

Julia is designed from the ground up to be very good at numerical and scientific computing. This can be seen in the abundance of scientific tooling written in Julia, such as the state-of-the-art differential equations ecosystem(DifferentialEquations.jl), optimization tools (JuMP.jl andOptimization.jl), iterative linear solvers (Krylov.jl,LinearSolve.jl), Fast Fourier transforms(AbstractFFTs.jl), and much more. General purpose simulation frameworks are available forScientific Machine Learning,Quantum computing and much more.

Julia also offers a number of domain-specific ecosystems, such as in biology (BioJulia), operations research (JuMP Dev), image processing(JuliaImages), quantum physics(QuantumBFS), nonlinear dynamics (JuliaDynamics), quantitative economics(QuantEcon), astronomy (JuliaAstro) and ecology(EcoJulia). With a set of highly enthusiastic developers and maintainers, the scientific ecosystem in Julia continues to grow rapidly.

Data Science

Visualization of weighted data changing as more data is plotted

Interact with your Data

The Julia data ecosystem providesDataFrames.jl to work with datasets, and perform common data manipulations.CSV.jl is a fast multi-threaded package to read CSV files and integration with the Arrow ecosystem is in the works withArrow.jl. Online computations on streaming data can be performed withOnlineStats.jl. TheQueryverse provides query, file IO and visualization functionality. In addition to working with tabular data, theJuliaGraphs packages make it easy to work with combinatorial data.

Julia can work with almost all databases usingJDBC.jl andODBC.jl drivers. In addition, it also integrates with the Spark ecosystem throughSpark.jl.

Visualization

Visualization of waves in 3D, as a heatmap, and on the x y axis

Data Visualization and Plotting

Data visualization has a complicated history. Plotting software makes trade-offs between features and simplicity, speed and beauty, and a static and dynamic interface. Some packages make a display and never change it, while others make updates in real-time.

Plots.jl is a visualization interface and toolset. It provides a common API across variousbackends, likeGR.jl,PyPlot.jl, andPlotlyJS.jl.Makie.jl is a sophisticated package for complex graphics and animations. Users who are used to "grammar of graphics" plotting APIs should take a look atGadfly.jl.VegaLite.jl provides theVega-Lite grammar of interactive graphics interface as a Julia package. For those who do not wish to leave the comfort of the terminal, there is alsoUnicodePlots.jl.






JuliaCon 2024


Julia Channel on YouTubeJuliaCon 2024 videos




Packages



Julia has been downloaded over 45 million times and the Julia community has registeredover 10,000 Julia packages for community use. These include various mathematical libraries, data manipulation tools, and packages for general purpose computing. In addition to these, you can easily use libraries fromPython,R,C/Fortran,C++, andJava. If you do not find what you are looking for, ask onDiscourse, or even better,contribute one!



JuliaHub: Package SearchJuliaPackages: TrendingFeed of new Julia packages




Recent Blog Posts



This Month in Julia World

1 March 2025

Community Newsletter for February 2025

So, You Want to Start a Julia Workgroup?

10 February 2025

Thoughts and advice on starting your own Julia community workgroup.

This Month in Julia World

1 February 2025

Community Newsletter for January 2025


Visit BlogView Community Posts




Talk to us



Discourse

Discourse Logo

Discourse

GitHub

GitHub Logo

Source code

Zulip

Zulip Logo

Zulip

Slack

Slack Logo

Slack

Twitter

Twitter Logo

#JuliaLang

Videos

YouTube Logo

YouTube

LinkedIn

LinkedIn Logo

LinkedIn

Twitch

Twitch Logo

Twitch






Editors and IDEs



VS Code

VSCode Logo

VS Code Extension

Jupyter

Jupyter Logo

Jupyter kernel

Pluto.jl

Pluto.jl Logo

Simple reactive notebooks

Vim

Vim Logo

Vim plugin

Emacs

Emacs Logo

Emacs plugin




Essential Tools



Debugger

Debugger

Debugger.jl

Profiler

Profiler Logo

Profile (Stdlib)

Revise

Revise Logo

Revise.jl

GPUs

Julia GPU Logo

JuliaGPU



[8]ページ先頭

©2009-2025 Movatter.jp