Julia (程式語言) - 維基百科,自由的百科全書

文章推薦指數: 80 %
投票人數:10人

Julia是一種進階通用動態程式語言,它最初是為了滿足高效能數值分析和計算科學的需要而設計的,不需要直譯器,速度快,也可用於客戶端和伺服器的Web用途、低階系統程式 ... Julia(程式語言) 維基百科,自由的百科全書 跳至導覽 跳至搜尋 此條目翻譯品質不佳。

翻譯者可能不熟悉中文或原文語言,也可能使用了機器翻譯,請協助翻譯本條目或重新編寫,並注意避免翻譯腔的問題。

明顯拙劣的機器翻譯請改掛{{d|G13}}提交刪除。

Julia編程範型多範式:多分派、程序式、函數式、元程式設計、多階段編程(英語:Multi-stage_programming)設計者JeffBezanson、AlanEdelman、StefanKarpinski、ViralB.Shah實作者JeffBezanson、StefanKarpinski、ViralB.Shah等[1][2]面市時間2012年,​9年前​(2012)[3]穩定版本1.6.3 (2021年9月23日,53天前 ) 實作語言Julia、C、C++、Scheme、LLVM[4]系統平台x86-64、IA-32、ARMv8(64位元)、CUDA、ARM(32位元)、PowerPC、網頁瀏覽器(JavaScript、WebAssembly)[5]作業系統macOS、Windows、Linux、FreeBSD[6]、Android[7]許可證MIT許可證副檔名.jl網站JuliaLang.org啟發語言 C[3] Dylan[8] Lisp[3] Lua[9] Mathematica[3](嚴格說是其Wolfram語言[3][10]) MATLAB[3] Perl[9] Python[9] R[3] Ruby[9] Scheme[11] 維基教科書中有關zh:IntroducingJulia的文字 Julia是一種進階通用[12]動態程式語言,它最初是為了滿足高效能數值分析和計算科學的需要而設計的,不需要直譯器,速度快[13][14][15][16],也可用於客戶端和伺服器的Web用途[17][18]、低階系統程式設計或用作規約語言[19]。

Julia設計的獨特之處包括,參數多型的型別系統,完全動態語言中的類型,以及它多分派的核心程式設計範式。

它允許並行、並列和分散式計算,並直接呼叫C和Fortran庫而不使用粘合代碼。

Julia擁有垃圾回收機制[20],使用及早求值,包含了用於浮點計算、線性代數、亂數生成和正規表示式匹配的高效庫。

有許多庫可以使用,其中一些(如用於快速傅立葉變換的庫)已經預先捆綁在Julia裡[21]。

目次 1歷史 2功能 3特點 4示例 4.1生成Mandelbrot集合 4.2隨機矩陣統計 5參考資料 6參閱 7外部連結 歷史[編輯] 一群擁有各種語言豐富編程經驗的Matlab進階使用者,對現有的科學計算編程工具感到不滿——這些軟體對自己專長的領域表現得非常棒,但在其它領域卻非常糟糕。

他們想要的是一個開源的軟體,它要像C語言一般快速而又擁有如同Ruby的動態性;要具有Lisp般真正的同像性而又有Matlab般熟悉的數學記號;要像Python般通用、像R般在統計分析上得心應手、像Perl般自然地處理字串、像Matlab般具有強大的線性代數運算能力、像shell般膠水語言的能力,易於學習而又不讓真正的駭客感到無聊;還有,它應該是互動式的,同時又是編譯型的。

[22] 該專案大約於2009年中開始。

功能[編輯] 主要用於數值計算。

特點[編輯] 核心語言非常小。

標準庫用的是Julia語言本身寫的 呼叫許多其它成熟的高效能基礎代碼。

如線性代數、亂數生成、快速傅立葉變換、字串處理。

豐富的用於建立或描述物件的類型語法 高效能,接近於靜態編譯型語言。

包括使用者自訂類型等 為平行計算和分散式計算而設計 輕量級協程 優雅的可延伸的類型轉換/提升 支援Unicode,包括但不限於UTF-8 可直接呼叫C函式(不需要包裝或是藉助特殊的API) 有類似shell的行程管理能力 有類似Lisp的巨集以及其它元程式設計工具 可與Jupyternotebook一起使用 範例[編輯] 生成Mandelbrot集合[編輯] functionmandel(z) c=z max=80 forn=1:max ifabs(z)>2 returnn-1 end z=z^2+c end returnmax end 隨機矩陣統計[編輯] usingLinearAlgebra:tr usingStatistics#导入std,mean等函数 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 參考資料[編輯] ^LICENSE.md.GitHub.[2020-03-24].(原始內容存檔於2021-01-23).  ^ContributorstoJuliaLang/julia.GitHub.[2020-03-24].(原始內容存檔於2021-01-23).  ^3.03.13.23.33.43.53.6WhyWeCreatedJulia.Juliawebsite.February2012[2013-02-07].(原始內容存檔於2019-02-19).  ^Julia.Julia.NumFocusproject.[9December2016].(原始內容存檔於2017-02-21).Julia'sBaselibrary,largelywritteninJuliaitself,alsointegratesmature,best-of-breedopensourceCandFortranlibrariesfor...  ^Fischer,Keno.Runningjuliaonwasm.2019-07-22[2019-07-25].(原始內容存檔於2020-11-21).  ^DownloadJulia-Currentlysupportedplatforms.Julia.[2020-03-24].(原始內容存檔於2021-01-26).  ^TheJuliaLanguage:Afreshapproachtotechnicalcomputing.Termux/Android.Github.[2020-03-24].(原始內容存檔於2020-12-27).  ^Stokel-Walker,Chris.Julia:TheGoldilockslanguage.Increment.Stripe.[23August2020].  ^9.09.19.29.3Home·TheJuliaLanguage.docs.julialang.org.[2018-08-15].(原始內容存檔於2021-01-11)(英語).  ^ProgrammingLanguageNetwork.GitHub.[6December2016].(原始內容存檔於2020-12-20).  ^JuliaCon2016.JuliaCon.[6December2016].(原始內容存檔於2021-02-03).Hehasco-designedtheprogramminglanguageScheme,whichhasgreatlyinfluencedthedesignofJulia  ^TheJuliaLanguage(officialwebsite).[2018-09-22].(原始內容存檔於2017-02-21).GeneralPurpose[..]JulialetsyouwriteUIs,staticallycompileyourcode,orevendeployitonawebserver.  ^Bryant,Avi.Matlab,R,andJulia:Languagesfordataanalysis.O'ReillyStrata.15October2012[2018-09-22].(原始內容存檔於2013-05-24).  ^Singh,Vicky.JuliaProgrammingLanguage–ATruePythonAlternative.Technotification.23August2015[2018-09-22].(原始內容存檔於2020-11-09).  ^Krill,Paul.NewJulialanguageseekstobetheCforscientists.InfoWorld.18April2012[2018-09-22].(原始內容存檔於2014-09-13).  ^Finley,Klint.OutintheOpen:ManCreatesOneProgrammingLanguagetoRuleThemAll.Wired.3February2014[2018-09-22].(原始內容存檔於2016-12-20).  ^Escher :WithEscheryoucanbuildbeautifulWebUlsentirelyinJulia.Shasi.github.io.[2017-05-31].(原始內容存檔於2016-03-04).  ^GettingStartedwithNodeJulia·NodeJulia.Node-julia.readme.io.[2017-05-31].(原始內容存檔於2020-10-21).  ^Moss,Robert.UsingJuliaasaSpecificationLanguagefortheNext-GenerationAirborneCollisionAvoidanceSystem.26June2015[29June2015].(原始內容存檔於2015-07-01).Airbornecollisionavoidancesystem  ^SuspendingGarbageCollectionforPerformance...goodideaorbadidea?.Groups.google.com.[2017-05-31].(原始內容存檔於2011-01-22).  ^(nowavailablewithusingFFTWincurrentversions;thatdependencyisoneofmanymovedoutofthestandardlibrarytoapackagebecauseitisGPLlicensed,andthusisnotincludedinJulia1.0bydefault.)RemovetheFFTWbindingsfromBasebyararslan·PullRequest#21956·JuliaLang/julia.GitHub.[2018-03-01].(原始內容存檔於2019-02-16)(英語).  ^WhyWeCreatedJulia.[2012-04-19].(原始內容存檔於2016-01-18).  參閱[編輯] Matlab GNUOctave R語言 Mathematica SageMath 外部連結[編輯] 維基教科書中的相關電子教學:IntroducingJulia 官方網站(英文) 原始碼(頁面存檔備份,存於網際網路檔案館)(英文) 中文社群(頁面存檔備份,存於網際網路檔案館)(簡體中文) 中文文件(頁面存檔備份,存於網際網路檔案館)(簡體中文) 閱論編可微分計算概論 可微分編程 神經圖靈機(英語:NeuralTuringmachine) 可微分神經電腦(英語:Differentiableneuralcomputer) 自動微分 神經形態工程(英語:Neuromorphicengineering) 圖型識別 概念 梯度下降 電纜理論(英語:Cabletheory) 聚類分析 迴歸分析 過適 對抗機器學習(英語:Adversarialmachinelearning) 運算學習理論(英語:Computationallearningtheory) 關注(英語:Attention(machinelearning)) 卷積 損失函式 反向傳播演算法 啟用功能 Softmax S函式 線性整流函式 正則化 資料集 程式語言 Python Julia 應用 機器學習 人工神經網路 深度學習 科學計算 人工智慧 深偽技術 硬體 TPU VPU(英語:Visionprocessingunit) 憶阻器 SpiNNaker(英語:SpiNNaker) 軟體庫 TensorFlow PyTorch Keras Theano 實現音訊-視覺 AlexNet WaveNet 人體圖像合成 HWR OCR 語音合成 語音辨識 臉部辨識系統 AlphaFold DALL-E(英語:DALL-E) 語文 Word2vec Transformer(英語:Transformer(machinelearningmodel)) BERT NMT 辯論者專案(英語:ProjectDebater) 華生 GPT-3 決策 AlphaGo Q學習 SARSA(英語:State–action–reward–state–action) OpenAIFive(英語:OpenAIFive) 自動駕駛汽車 MuZero 人物 AlexGraves(英語:AlexGraves(computerscientist)) 伊恩·古德費洛 約書亞·本希奧 傑弗里·辛頓 楊立昆 吳恩達 傑米斯·哈薩比斯 DavidSilver(英語:DavidSilver(computerscientist)) 李飛飛 機構 DeepMind OpenAI MITCSAIL Mila(英語:Mila(researchinstitute)) GoogleBrain FAIR 主題 電腦編程 技術 類屬 人工神經網路 機器學習 閱論編程式語言按範式程序式 FORTRAN FORTRAN77 Fortran90 COBOL ALGOL60 BASIC GW-BASIC QBasic PL/I ALGOL68 Forth Pascal TurboPascal C C89 C99 Modula-2 Ada occam Oberon Go 物件導向 Simula Smalltalk CLU C++ C++98 C++11 Objective-C Eiffel Self CLOS ObjectPascal VisualBasic Oberon-2(英語:Oberon-2) Ada95 Java C# Fortran2003 多範式 Modula-3 Dylan Python Lua JavaScript Ruby Rebol D Factor Scala F# Haxe Nim Rust Dart Julia F* Swift 函數式 LISP Scheme CommonLisp Racket Clojure Logo APL/J ML StandardML OCaml Miranda Erlang Elixir Haskell SAC 邏輯式 Prolog AnsProlog Datalog Mercury Curry 手稿語言ECMA-262 ECMAScript JavaScript JScript Node.js CoffeeScript TypeScript Elm PureScript Reason 動態語言 SNOBOL Icon REXX Perl Raku Tcl/Tk newLISP Python Lua Ruby PHP Hack VBScript JSP Io Shell語言 sh ash bash ksh zsh csh tcsh sed AWK PowerShell 特定平台.NET C# VisualC# C++/CLI F# PowerShell IronPython IronScheme(英語:IronScheme) VB.NET SmallBasic JVM Java AspectJ(英語:AspectJ) Scala Clojure JRuby Jython Kawa(英語:Kawa(Schemeimplementation)) Groovy Kotlin Xcode Swift Objective-C AppleScript 特定領域科學計算 Speakeasy(英語:Speakeasy(computationalenvironment)) IDL GDL Maxima Maple MATLAB Octave Scilab Wolfram R SageMath Julia GPU計算 GLSL HLSL OpenCL CUDA Futhark 資料查詢 SQL PL/SQL T-SQL SQL/PSM(英語:SQL/PSM) xBase(英語:xBase) LINQ XQuery(英語:XQuery) XPath rasql(英語:rasdaman#RasterQueryLanguage) 視覺化 Squeak Scratch Snap! LabVIEW Simulink AppInventor 音視設計 Processing SuperCollider PureData ChucK 其它 組合語言 MUMPS(英語:MUMPS) PostScript WebAssembly 目錄 列表 歷史 比較(英語:Comparisonofprogramminglanguages) 時間線(英語:Timelineofprogramminglanguages) 閱論編數值分析軟體開源軟體 ADMB Euler FreeFem++ FreeMat Genius Gmsh GNUOctave gretl Julia Maxima OpenFOAM R SageMath SALOME ScicosLab Scilab Spyder 專有軟體 Chapel DADiSP Fortress GAUSS LabVIEW Maple Mathcad MATLAB Mathematica Speakeasy(英語:Speakeasy(computationalenvironment)) VisSim X10 列表(英語:Listofnumericalanalysissoftware) ·比較(英語:Comparisonofnumericalanalysissoftware) 取自「https://zh.wikipedia.org/w/index.php?title=Julia_(编程语言)&oldid=68493788」 分類:數值分析軟體程序設計語言陣列編程語言物件導向的程式語言面向文本程式語言同像性程式語言2012年軟體2012年建立的程式語言隱藏分類:CS1英語來源(en)粗劣翻譯維基百科和維基數據上的官方網站不同 導覽選單 個人工具 沒有登入討論貢獻建立帳號登入 命名空間 條目討論 臺灣正體 已展開 已摺疊 不转换简体繁體大陆简体香港繁體澳門繁體大马简体新加坡简体臺灣正體 查看 閱讀編輯檢視歷史 更多 已展開 已摺疊 搜尋 導航 首頁分類索引特色內容新聞動態近期變更隨機條目資助維基百科 說明 說明維基社群方針與指引互助客棧知識問答字詞轉換IRC即時聊天聯絡我們關於維基百科 工具 連結至此的頁面相關變更上傳檔案特殊頁面靜態連結頁面資訊引用此頁面維基數據項目 列印/匯出 下載為PDF可列印版 其他專案 維基共享資源 其他語言 العربيةCatalàČeštinaDeutschEnglishEsperantoEspañolفارسیFrançaisGalegoItaliano日本語한국어മലയാളംPortuguêsРусскийСрпски/srpskiதமிழ்TürkçeУкраїнська粵語 編輯連結



請為這篇文章評分?