Nhảy chuyển tới nội dung

Julia ngôn ngữ

本页使用了标题或全文手工转换
Duy cơ bách khoa, tự do bách khoa toàn thư
Julia
Biên trình phạm hìnhNhiều phạm thức:Đa phần phái,Quá trình thức,Hàm số thức,Nguyên biên trình,Nhiều giai đoạn biên trình(Tiếng Anh:Multi-stage_programming)
Thiết kế giảJeff Bezanson, Alan Edelman, Stefan Karpinski, Viral B. Shah
Thật tác giảJeff Bezanson, Stefan Karpinski, Viral B. Shah chờ[1][2]
Phát hành thời gian2012 năm,​12 năm trước​ (2012)[3]
Trước mặt phiên bản1.10.5[4]在维基数据编辑,2024 năm 8 nguyệt 27 ngày, 4 ngày trước
Thật làm ngôn ngữJulia,C,C++,Scheme,LLVM[5]
Hệ thống ngôi caox86-64,IA-32,ARM v8( 64 vị nguyên ),CUDA,ARM(32 vị nguyên ),PowerPC,Trang web trình duyệt (JavaScript,WebAssembly)[6]
Thao tác hệ thốngmacOS,Windows,Linux,FreeBSD[7],Android[8]
Cho phép chứngMIT cho phép chứng
Văn kiện mở rộng danh.jl
Trang webJuliaLang.org
Dẫn dắt ngôn ngữ

JuliaLà một loạiCao cấpThông dụng[13]Động thái biên trình ngôn ngữ,Nó lúc ban đầu là vì thỏa mãn cao tính năngTrị số phân tíchCùngTính toán khoa họcYêu cầu mà thiết kế, không cầnGiải thích khí,Tốc độ mau[14][15][16][17],Cũng có thể dùng cho bản cài đặt cùng server Web sử dụng[18][19],Cấp thấpHệ thống thể thức thiết kếHoặc dùng làmQuy ước ngôn ngữ[20].

Julia thiết kế độc đáo chỗ bao gồm,Tham số nhiều tháiLoại hình hệ thống, hoàn toànĐộng thái ngôn ngữTrung loại hình, cùng với nóĐa phần pháiTrung tâmBiên trình phạm hình.Nó cho phépĐồng phát,Song hànhCùngPhân bố thức tính toán,Cũng trực tiếp thuyên chuyểnCCùngFortranKho mà không sử dụngDính hợp số hiệu.

Julia có đượcRác rưởi thu vềCơ chế[21],Sử dụngSớm ngày cầu giá trị,Bao hàm dùng choPhù điểmTính toán,Tuyến tính đại số,Tùy cơ số sinh thànhCùngChính tắc biểu đạt thứcXứng đôi hiệu suất cao kho. Có rất nhiều kho có thể sử dụng, trong đó một ít ( như dùng choNhanh chóng Fourier biến hóaKho ) đã trước buộc chặt ở Julia[22].

Lịch sử

[Biên tập]

Một đám có được các loại ngôn ngữ phong phú biên trình kinh nghiệmMatlabCao cấp người dùng, đối hiện có khoa học tính toán biên trình công cụ cảm thấy bất mãn —— này đó phần mềm đối chính mình sở trường lĩnh vực biểu hiện đến phi thường bổng, nhưng ở cái khác lĩnh vực lại phi thường không xong. Bọn họ muốn chính là một cáiKhai nguyênPhần mềm, nó muốn giốngC ngôn ngữGiống nhau nhanh chóng mà lại có được giống nhưRubyĐộng thái tính;Muốn cóLispChân chínhCùng giống tínhMà lại cóMatlabQuen thuộc toán học ký hiệu; muốn giốngPythonThông dụng, giốngRỞ thống kê phân tích thượng thuận buồm xuôi gió, giốngPerlTự nhiên mà xử lý tự phù xuyến, giốngMatlabCó cường đại tuyến tính đại số giải toán năng lực, giốngshellKeo nước ngôn ngữNăng lực, dễ dàng học tập mà lại không cho chân chínhHackerCảm thấy nhàm chán; còn có, nó hẳn làLẫn nhau thức,Đồng thời lại là biên dịch hình.[23]

Nên hạng mục ước chừng với 2009 năm trung bắt đầu.

Công năng

[Biên tập]

Chủ yếu dùng cho trị số tính toán.

Đặc điểm

[Biên tập]
  • Trung tâm ngôn ngữ phi thường tiểu. Tiêu chuẩn kho dùng chính là Julia ngôn ngữ bản thân viết
  • Thuyên chuyển rất nhiều cái khác thành thục cao tính năng cơ sở số hiệu. NhưTuyến tính đại số,Tùy cơ số sinh thành,Nhanh chóng Fourier biến hóa,Tự phù xuyến xử lý.
  • Phong phú dùng cho thành lập hoặc miêu tảĐối tượngLoại hình ngữ pháp
  • Cao tính năng, tiếp cận với trạng thái tĩnh biên dịch hình ngôn ngữ. Bao gồm người dùng tự định nghĩa loại hình chờ
  • Vì song hành tính toán cùng phân bố thức tính toán mà thiết kế
  • Nhẹ lượng cấp hiệp trình
  • Ưu nhã nhưng mở rộng loại hình thay đổi / tăng lên
  • Duy trìUnicode,Bao gồm nhưng không giới hạn trongUTF-8
  • Nhưng trực tiếp thuyên chuyển C hàm số ( không cần đóng gói hoặc là mượn dùng đặc thùAPI)
  • Có cùng loạishellTiến trình quản lý năng lực
  • Có cùng loạiLispHoànhCùng với cái khác nguyên biên trình công cụ
  • Nhưng cùngJupyter notebookCùng nhau sử dụng

Thí dụ mẫu

[Biên tập]
functionmandel(z)
c=z
max=80
forn=1:max
ifabs(z)>2
returnn-1
end
z=z^2+c
end
returnmax
end

Tùy cơ Ma trận thống kê

[Biên tập]
usingLinearAlgebra:tr
usingStatistics# dẫn vào std, mean chờ hàm số

functionrandmatstat(t)
n=5
v=zeros(t)
w=zeros(t)
fori=1:t
a=randn(n,n)
b=randn(n,n)
c=randn(n,n)
d=randn(n,n)
P=[abcd]
Q=[ab;cd]
v[i]=tr((P'*P)^4)
w[i]=tr((Q'*Q)^4)
end
std(v)/mean(v),std(w)/mean(w)
end

Tham khảo tư liệu

[Biên tập]
  1. ^LICENSE.md.GitHub.[2020-03-24].( nguyên thủy nội dungLưu trữVới 2021-01-23 ).
  2. ^Contributors to JuliaLang/julia.GitHub.[2020-03-24].( nguyên thủy nội dungLưu trữVới 2021-01-23 ).
  3. ^3.03.13.23.33.43.53.6Why We Created Julia.Julia website. February 2012[2013-02-07].( nguyên thủy nội dungLưu trữVới 2019-02-19 ).
  4. ^https://github /JuliaLang/julia/pull/55526.
  5. ^Julia.Julia. NumFocus project.[9 December2016].( nguyên thủy nội dungLưu trữVới 2017-02-21 ).Julia's Base library, largely written in Julia itself, also integrates mature, best-of-breed open source C and Fortran libraries for...
  6. ^Fischer, Keno.Running julia on wasm.2019-07-22[2019-07-25].( nguyên thủy nội dungLưu trữVới 2020-11-21 ).
  7. ^Download Julia - Currently supported platforms.Julia.[2020-03-24].( nguyên thủy nội dungLưu trữVới 2021-01-26 ).
  8. ^The Julia Language: A fresh approach to technical computing. Termux/Android.Github.[2020-03-24].( nguyên thủy nội dungLưu trữVới 2020-12-27 ).
  9. ^Stokel-Walker, Chris.Julia: The Goldilocks language.Increment. Stripe.[23 August2020].( nguyên thủy nội dungLưu trữVới 2020-11-09 ).
  10. ^10.010.110.210.3Home · The Julia Language.docs.julialang.org.[2018-08-15].( nguyên thủy nội dungLưu trữVới 2021-01-11 )( tiếng Anh ).
  11. ^Programming Language Network.GitHub.[6 December2016].( nguyên thủy nội dungLưu trữVới 2020-12-20 ).
  12. ^JuliaCon 2016.JuliaCon.[6 December2016].( nguyên thủy nội dungLưu trữVới 2021-02-03 ).He has co-designed the programming language Scheme, which has greatly influenced the design of Julia
  13. ^The Julia Language(official website).[2018-09-22].( nguyên thủy nội dungLưu trữVới 2017-02-21 ).General Purpose [..] Julia lets you write UIs, statically compile your code, or even deploy it on a webserver.
  14. ^Bryant, Avi.Matlab, R, and Julia: Languages for data analysis.O'Reilly Strata. 15 October 2012[2018-09-22].(Nguyên thủy nội dungLưu trữ với 2013-05-24 ).
  15. ^Singh, Vicky.Julia Programming Language – A True Python Alternative.Technotification. 23 August 2015[2018-09-22].( nguyên thủy nội dungLưu trữVới 2020-11-09 ).
  16. ^Krill, Paul.New Julia language seeks to be the C for scientists.InfoWorld. 18 April 2012[2018-09-22].( nguyên thủy nội dungLưu trữVới 2014-09-13 ).
  17. ^Finley, Klint.Out in the Open: Man Creates One Programming Language to Rule Them All.Wired. 3 February 2014[2018-09-22].( nguyên thủy nội dungLưu trữVới 2016-12-20 ).
  18. ^Escher: With Escher you can build beautiful Web Uls entirely in Julia.Shasi.github.io.[2017-05-31].(Nguyên thủy nội dungLưu trữ với 2016-03-04 ).
  19. ^Getting Started with Node Julia · Node Julia.Node-julia.readme.io.[2017-05-31].( nguyên thủy nội dungLưu trữVới 2020-10-21 ).
  20. ^Moss, Robert.Using Julia as a Specification Language for the Next-Generation Airborne Collision Avoidance System.26 June 2015[29 June2015].(Nguyên thủy nội dungLưu trữ với 2015-07-01 ).Airborne collision avoidance system
  21. ^Suspending Garbage Collection for Performance...good idea or bad idea?.Groups.google.[2017-05-31].( nguyên thủy nội dungLưu trữVới 2011-01-22 ).
  22. ^(now available withusingFFTWin current versions; that dependency is one of many moved out of the standard library to a package because it is GPL licensed, and thus is not included in Julia 1.0 by default.)Remove the FFTW bindings from Base by ararslan · Pull Request #21956 · JuliaLang/julia.GitHub.[2018-03-01].( nguyên thủy nội dungLưu trữVới 2019-02-16 )( tiếng Anh ).
  23. ^Why We Created Julia.[2012-04-19].( nguyên thủy nội dungLưu trữVới 2016-01-18 ).

Xem thêm

[Biên tập]

Phần ngoài liên tiếp

[Biên tập]