Content deleted Content added
1.11.4 and 1.10.9 have been tagged. But do not have a release (though on e.g. release-1.1 branch, so I'm unclear which is better to link to). Assume will be announced shortly, and put on the downloads page; can be used as source code. |
mNo edit summary |
||
Line 41:
| url-status = live
}}</ref>
| latest_release_version =
| latest_release_date =
| latest preview version = <!-- 1.11.4<ref>{{Cite web |date=2025-02-28 |title=Julia v1.11.4 testing period |url=https://discourse.julialang.org/t/julia-v1-11-4-testing-period/126419 |access-date=2025-02-28 |website=Julia Programming Language |language=en}}</ref> <!--
| latest_preview_date = <!-- {{start date and age|2025|02|28|df=y}} <!
| typing = [[Dynamic programming language|Dynamic]],<ref name="Engheim">{{Cite web|last=Engheim|first=Erik|date=2017-11-17|title=Dynamically Typed Languages Are Not What You Think|url=https://erik-engheim.medium.com/dynamically-typed-languages-are-not-what-you-think-ac8d1392b803|access-date=2021-01-27|website=Medium|language=en|archive-date=5 March 2021|archive-url=https://web.archive.org/web/20210305194133/https://erik-engheim.medium.com/dynamically-typed-languages-are-not-what-you-think-ac8d1392b803|url-status=live}}</ref> [[type inference|inferred]], [[optional typing|optional]], [[nominal type system|nominative]], [[parametric polymorphism|parametric]], [[strong and weak typing|strong]]<ref name="Engheim" />
| implementations =
Line 105:
}}</ref>
Distinctive aspects of Julia's design include a type system with [[parametric polymorphism]] and the use of [[multiple dispatch]] as a core [[programming paradigm]], a default [[just-in-time compilation|just-in-time]] (JIT) compiler<ref name="general purpose" /><ref>{{Cite web |title=Sysimages · PackageCompiler |url=https://julialang.github.io/PackageCompiler.jl/stable/sysimages.html#Creating-a-sysimage-using-PackageCompiler |access-date=2023-04-10 |website=julialang.github.io |archive-date=10 April 2023 |archive-url=https://web.archive.org/web/20230410160253/https://julialang.github.io/PackageCompiler.jl/stable/sysimages.html#Creating-a-sysimage-using-PackageCompiler |url-status=live }}</ref> (with support for [[ahead-of-time compilation]]<ref name="PackageCompiler.jl" /><ref>{{Cite web |title=julia/doc/src/devdocs/aot.md at master · JuliaLang/julia |url=https://github.com/JuliaLang/julia/blob/master/doc/src/devdocs/aot.md |access-date=2023-10-03 |website=GitHub |language=en |archive-date=3 October 2023 |archive-url=https://web.archive.org/web/20231003164500/https://github.com/JuliaLang/julia/blob/master/doc/src/devdocs/aot.md |url-status=live }}</ref><ref>{{Cite web |title=System Image Building · The Julia Language |url=https://docs.julialang.org/en/v1/devdocs/sysimg/ |access-date=2023-10-03 |website=docs.julialang.org}}</ref>) and an [[tracing garbage collection|efficient (multi-threaded) garbage collection]] implementation.<ref>{{Cite newsgroup |url=https://groups.google.com/forum/#!topic/julia-users/6_XvoLBzN60 |title=Suspending Garbage Collection for Performance...good idea or bad idea? |website=Groups.google.com |access-date=2017-05-31 |archive-date=14 February 2012 |archive-url=https://web.archive.org/web/20120214124121/http://groups.google.com/group/web2py/browse_thread/thread/c81061bc00c6181e#!topic/julia-users/6_XvoLBzN60 |url-status=live }}</ref> Notably Julia does not support classes with encapsulated methods and instead it relies on structs with generic methods/functions not tied to them.
By default, Julia is run similarly to scripting languages, using its runtime, and allows for [[read–eval–print loop|interactions]],<ref name="PackageCompiler.jl" /> but Julia programs/[[source code]] can also optionally be sent to users in one ready-to-install/run file, which can be made quickly, not needing anything preinstalled.<ref name=AppBundler.jl /> Julia programs can also be (separately) compiled to [[binary executable]]s, even allowing no-source-code distribution, and the executables can get much smaller with Julia 1.12. Such compilation is not needed for speed, though it can decrease constant-factor startup cost, since Julia is also compiled when running interactively, but it can help with hiding source code. Features of the language can be separately compiled, so Julia can be used, for example, with its runtime or without it (which allows for smaller executables and libraries but is limited in capabilities).
Line 142:
-->
Julia 1.11 was released on 7 October 2024 (and 1.11.
<!-- I think this is now outdated: Some users may want to postpone upgrading to 1.11 (e.g. those calling Julia from R), because of known temporary package incompatibility.
|