줄리아(프로그래밍 언어)
Julia (programming language)![]() | |
패러다임 | 다-패러다임:다중 디스패치(1차 패러다임), 객체지향성,[1] 기능성, 배열성, 절차성(임페셔널), 구조성, 반사성, 메타, 다단계[2] |
---|---|
설계자 : | 제프 베잔슨, 앨런 에델만, 스테판 카르핀스키, 바이럴 B. 샤 |
디벨로퍼 | 제프 베잔슨, 스테판 카핀스키, 바이러스 B. 샤와 다른 기여자들은[3][4] |
첫 등장 | 2012[5] | (
안정적 해제 | |
프리뷰 릴리즈 | |
타이핑규율 | 동적,[14] 추론, 옵션, 주격, 모수, 강함[14] |
구현언어 | Julia, C, C++, LLVM,[15] 스킴(파서) |
플랫폼 | 계층 1: x86-64, IA-32, Apple silicon 64비트 Arm Mac; CUDA 11.0+/[16]Nvidia GPU(Linux 및 Windows용) 계층 2: Linux에서 무료 BSD, 64비트 암 계층 3: 32비트 암, PowerPC, AMD(ROCM) GPU 및 API/인텔의 GPU 1개. |
OS | 리눅스, macOS, 윈도우 및 FreeBSD |
면허증. | MIT(주로),[3] makefile 옵션은 GPL 라이브러리를 생략합니다.[17] 1.10.0-beta2는 기본적으로 복사되지 않습니다. |
파일 확장명 | .jl |
웹사이트 | JuliaLang.org |
영향을 받음 | |
줄리아(Julia)는 높은 수준의 범용[23] 동적 프로그래밍 언어로, 수치 분석 및 계산 과학에 가장 일반적으로 사용됩니다.[24][25][26][27]Julia 설계의 특징적인 측면으로는 매개 변수 다형성을 가진 유형 시스템과 코어 프로그래밍 패러다임으로 다중 디스패치의 사용, 효율적인 가비지 컬렉션, JIT(Just-in-time) 컴파일러[23][29]([28]사전 컴파일 지원[30][31][32]) 등이 있습니다.
Julia는 스크립트 언어와 유사하게 실행될 수 있으며, 기본적으로 실행 시간이 미리 설치되어 있지만, 소스 코드는 독립 실행형 이진 실행 파일을 위해 선택적으로 컴파일될 수도 있습니다.[30]이렇게 하면 런타임을 번들링하는 모든 기능을 지원할 수 있습니다(또는 파이썬과 같은 다른 언어에서 사용하기 위해 만들어진 작은 실행 파일이나 라이브러리를 제한적으로 허용합니다).이러한 컴파일은 속도에 필요하지 않지만 소스 코드를 숨기는 데 도움이 될 수 있습니다.
Julia의 Visual Studio Code 확장은 디버깅, 린팅 및 프로파일링을 지원하는 완전한 기능을 갖춘 통합 개발 환경을 제공합니다.[33][34][35][36]
역사
줄리아에 대한 연구는 2009년 제프 베잔슨, 스테판 카핀스키, 바이럴 B. 샤와 알란 에델만은 수준 높고 빠른 자유로운 언어를 만들기 시작했습니다.2012년 2월 14일, 이 팀은 이 언어의 임무를 설명하는 블로그 게시물과 함께 웹사이트를 개설했습니다.[37]2012년 4월 인포월드와의 인터뷰에서 카핀스키는 "줄리아"라는 이름에 대해 "사실 그럴만한 이유가 없습니다.그냥 이름이 예쁜 것 같았어요."[26]베잔슨은 친구의 추천으로 이 이름을 선택했고 [38]몇 년 후 다음과 같이 썼습니다.
Julia의 구문은 2018년 버전 1.0 이후로 현재 안정적인 것으로 간주되고 있으며 Julia는 1.x에 대한 하위 호환성 보장과 문서화된 (안정적인) API에 대한 안정성 약속을 가지고 있는 반면 0.7 이전의 초기 개발에서는 구문(및 의미론)이 새로운 버전으로 변경되었습니다.모든 (등록 패키지) 에코시스템은 새롭고 개선된 구문을 사용하며, 대부분의 경우 Julia 1.6 LTS와 같이 정기적으로 추가된 새로운 API에 의존하며, 일부 경우에는 Julia 1.7과 같이 순방향 호환 방식으로 추가된 사소한 추가 구문에 의존합니다.
2012년 1.0 이전 Julia 출시 이후 10년 동안 커뮤니티는 성장했습니다.Julia 패키지 생태계에는 1,180만 개 이상의 코드 라인(문서 및 테스트 포함)이 있습니다.[40]줄리아콘 사용자 및 개발자를 위한 줄리아콘 학술대회는 2014년부터 매년 개최되고 있으며, 줄리아콘 2020은[41] 28,900명 이상의 독특한 시청자들을 환영한 후,[42] 줄리아콘 2021은 이전의 모든 기록을 깼습니다 (유튜브에서 300개 이상의 줄리아콘 2021 프레젠테이션을 무료로 이용할 수 있으며, 전년도 162개에서 증가).컨퍼런스 기간 동안 000명의 독특한 시청자들.[43]
줄리아 공동 창작자 중 3명은 2019 제임스 H의 수상자입니다. 수치 소프트웨어 부문 윌킨슨상(매 4년마다 수여) "컴퓨터 과학 문제의 분석과 해결을 가능하게 하는 고성능 도구의 창조를 위한 혁신적인 환경인 Julia를 창조한 공로"[44]또한 MIT의 응용수학 교수인 앨런 에델만은 "고성능 컴퓨팅, 선형대수학, 계산과학에서의 뛰어난 발전과 줄리아 프로그래밍 언어에 대한 공헌"으로 2019년 IEEE 컴퓨터 학회 시드니 펀바흐 상을 수상하도록 선정되었습니다.[45]
줄리아 0.7과[46] 버전 1.0은 2018년 8월 8일에 출시되었습니다.Julia 0.7에 대한 작업은 (예를 들어, "완전히 새로운 최적화자" 때문에) "거대한 작업"이었고, 반복 인터페이스가 단순화되는 등 의미론에 일부 변경이 이루어졌습니다.[47]줄리아 1.1은 2019년 1월에 새로운 "예외 스택" 기능과 함께 출시되었습니다.줄리아 1.2는 2019년 8월에 웹 브라우저를 지원하며 출시되었습니다.[48]줄리아 1.3은 줄리아 패키지를 위해 합성 가능한 멀티 스레드 병렬 처리와 이진 아티팩트 시스템을 추가했습니다.[49]Julia 1.4는 0 기반 어레이를 처리하기 위해 일반 어레이 인덱싱을 위한 구문을 추가했습니다.[50]메모리 모델도 변경되었습니다.[51]2020년 8월에 출시된 줄리아 1.5는 모질라의 rr 도구에 [52]대한 레코드 및 재생 디버깅 지원을 추가했습니다.이 릴리스는 REPL(소프트 스코프)의 동작을 Jupyter에 사용되는 동작으로 변경했지만 비 REPL 코드와 완전히 호환됩니다.스레드 API의 대부분은 안정적인 것으로 표시되었으며, 이 릴리스에서는 "가변 가능한 객체를 참조하는 필드가 있는지 여부에 관계없이 임의의 불변 객체를 이제 스택 할당할 수 있습니다."[53]라고 표시하여 힙 할당을 줄였습니다.views
더 이상 할당되지 않습니다.Julia 1.5는 일반적으로 (생성된 코드의 성능과는 반대로) 컴파일 속도 자체의 속도를 목표로 하는 이른바 "Time-to-first plot"(TTFP, TTFX라고도 함)를 목표로 하였고, 개발자들을 위한 패키지 로딩을 개선하기 위한 도구를 추가했습니다.[54]
Julia 1.6은 1.0(1.6.7은 LTS(최신/유일 장기 지원) 버전이지만 대부분이 최신 안정적/1.9.3 버전을 사용하는 것이 권장됨) 이후 가장 큰 릴리스였습니다. 예를 들어 병렬 사전 컴파일이 도입되고 패키지 로드 속도가 빨라지는 등의 경우 "이진 아티팩트의 큰 트리에 대해 로드 시간이 50배 빨라집니다.[55]
버전 1.7 현재 Julia 개발은 시간 기반 릴리스로 돌아갔습니다.[56]Julia 1.7.0은 2021년 11월에 새로운 더 빠른 난수 생성기와 같은 많은 변화들과 함께 출시되었습니다.줄리아 1.7.3은 2022년 5월 25일에 출시되었으며, 적어도 하나의 보안 업데이트를 포함한 몇 가지 문제를 해결했으며,[57] 1.7.x는 더 이상 지원되지 않습니다.Julia 1.8은 2022년에 출시되었으며(그리고 2023년 1월에 버전 1.8.5까지 후속으로 버전이 [58]출시되었으며 버그 수정(백포팅)과 "무효화(invalidations) 둘 다를 수정하여 컴파일 속도가 빨라졌습니다), 소스 코드 없이 Julia 프로그램을 배포할 수 있도록 개선되었으며 컴파일러 속도가 25%[59] 향상되었으며 경우에 따라 제어 가능한 인라인 기능이 추가되었습니다(즉, 현재 적용 가능).@inline
기능 자체가 아닌 통화 현장에서 사용할 수 있습니다.
Julia 1.9.0은 2023년 5월 7일에 출시되었습니다(이후 LTS가 아닌 최신 버전인 1.9.3이 출시되었습니다).TTFX/TTFP 문제를 해결하는 것과 같은 많은 개선점이 있습니다. 오래된 릴리스에는 패키지에 대한 사전 컴파일이 있지만 1.9.0까지 네이티브 코드로 완전히 사전 컴파일되지 않아 첫 사용이 느려졌습니다.1.9.0에서는 CSV.jl 및 DataFrame.jl의 경우 첫 사용 시 최대 수백 배 더 빨라질 수 있으며, 새 패키지 Precompile을 개선할 수 있습니다.Tools.jl이 도입되었습니다.
줄리아 콘
줄리아 커뮤니티는 2014년부터 매년 개발자와 사용자를 대상으로 줄리아 컨퍼런스를 개최하고 있습니다.[60]첫 번째 줄리아콘은 시카고에서 열렸고 매년 열리는 컨퍼런스의 시작이 되었습니다.2014년부터 MIT와[61] 메릴랜드 대학교 볼티모어를 포함한 여러 지역에서 컨퍼런스가 열렸습니다.[62]가상으로 개최된 JuliaCon 2020 기간 동안 행사 관객은 수십 명에서 28,900명 이상의 독특한 참석자로[63] 증가했습니다.또한 JuliaCon 2021은 William Kahan 교수(Julia를 포함하여 사실상 모든 CPU가 사용 및 언어를 사용하는 IEEE 754 부동 소수점 표준의 주요 설계자)[65]와 Jan Vitk,[66] Xiaye Sherry Li 및 Soumith Chintala(PyTorch 공동 개발자)의 기조 연설을 통해 가상으로[64] 진행되었습니다.[67]JuliaCon은 43,000명의 독특한 참석자와 300개 이상의 프레젠테이션(여전히 자유롭게 액세스 가능하며, 노년층의 경우)으로 성장했습니다.JuliaCon 2022 또한 2022년 7월 27일부터 7월 29일 사이에 영어뿐만 아니라 여러 언어로 처음으로 가상으로 개최될 예정입니다.
스폰서
줄리아 언어는 프로젝트의 장기적인 지속 가능성을 보장하기 위한 노력으로 2014년에 재정적으로 후원되는 프로젝트가 되었습니다.[68]MIT 링컨 연구소의 제레미 케프너(Jeremy Kepner)는 초기 줄리아 프로젝트의 창립 후원자였습니다.게다가 고든 앤 베티 무어 재단의 기금, 알프레드 P. 슬론 재단, 인텔 그리고 NSF, DARPA, NIH, NASA, FAA와 같은 기관들은 줄리아의 발전에 필수적이었습니다.[69]파이어폭스 웹 브라우저의 제조사인 모질라는 2019년 H1의 연구 보조금과 함께 파이어폭스와 다른 웹 브라우저에 의미하는 [70]"브링 줄리아를 브라우저로 데려오기" 프로젝트에 "공식 줄리아 팀의 일원"을 후원했습니다.[71][72][73][74]줄리아 언어는 GitHub에서 개인 기부자들도 지원합니다.[75]
줄리아 회사
Julia Hub, Inc.는 Viral B에 의해 2015년 Julia Computing, Inc.로 설립되었습니다. 샤, 디팍 빈치, 앨런 에델만, 제프 베잔슨, 스테판 카르핀스키, 케노 피셔.[76][77]
2017년 6월, Julia Computing은 General Catalyst and Founder Collective로부터 460만 달러의 시드 자금을 조달했으며,[78] 같은 달에 Alfred P로부터 91만 달러를 지원받았습니다. 슬론 재단은 줄리아 커뮤니티의 다양성을 촉진하기 위해 16만 달러를 포함한 오픈 소스 줄리아 개발을 지원하기 위해 2019년 12월 미국 정부로부터 110만 달러의 자금을 지원받았습니다.[79]건물의 공기 조절(HVAC) 시스템."[80]2021년 7월, 줄리아 컴퓨팅은 줄리아 컴퓨팅과 파트너십을 맺은 포뮬러 1 팀 윌리엄스 레이싱을 소유하고 있는 도릴튼 벤처스가 이끄는 2,400만 달러의 시리즈 A 라운드를 모금했다고 발표했습니다.[81]Williams의 커머셜 디렉터는 다음과 같이 말했습니다: "동급 최고의 클라우드 기술을 구축하는 회사에 투자하는 것은 Dorilton의 전략적 초점이며 시뮬레이션과 모델링에 있어 혁명적인 능력을 갖춘 Julia의 다재다능한 플랫폼은 우리의 비즈니스와 매우 관련이 있습니다.우리는 줄리아 컴퓨팅을 세계에서 가장 기술적으로 진보한 스포츠에 접목시키기를 기대합니다."[82]2023년 6월, Julia Hub는 AE Industrial Partners HorizonX("AEI HorizonX")가 주도하는 1,300만 달러 규모의 전략적 신규 투자를 받았습니다.AEI 호라이즌X는 줄리아(Julia)를 사용하는 보잉 컴퍼니(The Boeing Company)와 손잡고 구성된 벤처 캐피탈 투자 플랫폼입니다.[83]팀 홀리(WashU's Holy Lab)의 Julia 1.9(응답성 향상) 연구는 Chan Zuckerberg Initiative의 자금 지원을 받았습니다.
언어특징후
줄리아(Julia)는 범용 프로그래밍 언어인 [84]동시에 원래는 수치/기술 컴퓨팅을 위해 설계되었습니다.또한 사양 언어인 [86]HLS(High-level Synthesis) 도구([85][87]하드웨어용, 예: FPGA)와 서버 및 클라이언트[89][90][91][92] 측의 웹 프로그래밍에도[88] 유용합니다.
이 언어의 주요 특징은 다음과 같습니다.
- 다중 디스패치: 인수 유형 조합에 걸쳐 함수 동작을 정의할 수 있는 기능 제공
- 동적 유형 시스템 : 문서화, 최적화, 디스패치를 위한 유형
- C와 같은 정적 유형 언어에 근접한 성능
- 내장 패키지 관리자
- 리스프(Lisp)형 매크로 및 기타 메타프로그래밍 설비
- 병렬 및 분산 컴퓨팅을 위해 설계됨
- 코루틴: 경량 녹색 나사산
- 다양한 인수 유형에 대한 코드 자동 생성
- 숫자 및 기타 유형에 대한 확장 가능한 변환 및 프로모션
다중 디스패치(Multiple dispatch)는 파이썬, C++, 자바, 자바스크립트, 스몰토크와 같은 일반적인 객체 지향 프로그래밍(OOP) 언어에서 사용되는 다중성 메커니즘으로 상속을 사용하는 단일 디스패치의 일반화입니다.줄리아에서, 모든 구체적인 유형들은 추상적 유형들의 아형들이고, 직간접적으로 그것들의 아형들입니다.Any
type - type 계층 구조의 맨 위에 있습니다.구체적인 유형은 다른 언어에서 사용할 수 있는 것처럼 하위 유형 자체를 입력할 수 없습니다. 대신 구성이 사용됩니다(상속 vs 하위 유형 참조).
기본적으로 줄리아 런타임은 사용자가 제공한 소스 코드가 실행될 때 미리 설치되어야 합니다.또는 PackageCompiler.jl은 Julia 소스 코드를 실행할 필요가 없는 독립 실행형 실행 파일을 구축할 수도 있습니다.[30]
줄리아에서는 객체 지향 언어와 마찬가지로 모든 것이 객체이지만, 대부분의 객체 지향 언어와는 달리 모든 함수는 단일 디스패치가 아닌 다중 디스패치를 사용하여 메소드를 선택합니다.
대부분의 프로그래밍 패러다임은 줄리아의 호모아이코닉 매크로와 패키지를 사용하여 구현할 수 있습니다.Lisp 매크로와 같은 Julia의 구문 매크로는 추상 구문 트리(AST) 수준에서 작동하기 때문에 C와 같은 일부 다른 언어의 전처리기에 사용되는 텍스트 대체 매크로보다 더 강력합니다.Julia의 매크로 시스템은 위생적이지만 필요할 때 의도적인 캡처를 지원하기도 합니다(비공식 매크로의 경우와 같이).esc
건설하다.
줄리아는 스킴(Scheme)과 커먼 리스프(Common Lisp)를 포함한 리스프의 다양한 방언에서 영감을 끌어내고, 딜런(Dylan)과 많은 특징을 공유하며, 여러 디스패치 지향 동적 언어(리스프와 같은 접두사 구문이 아닌 알골(ALGOL)과 같은 자유 형식의 infix 구문을 특징으로 하는 반면, 줄리아에서는 "모든 것"[93]이 표현입니다), 그리고 포트리스(Fortress)와 함께,다른 수치 프로그래밍 언어(복수 디스패치와 정교한 파라메트릭 타입 시스템이 특징).CLOS(Common Lisp Object System)는 Common Lisp에 여러 디스패치를 추가하지만 모든 기능이 일반 기능은 아닙니다.
줄리아, 딜런, 포트리스의 경우 확장성이 기본이며 시스템에 내장된 기능은 모두 일반적이고 확장 가능합니다.Dylan의 경우 다중 디스패치는 Julia의 경우와 마찬가지로 기본적인 요소입니다. 모든 사용자 정의 기능과 기본적인 기본 내장 작업까지 포함됩니다.+
일반적입니다.그러나 Dylan의 유형 시스템은 ML 언어 계통의 전형적인 매개 변수 유형을 완전히 지원하지 않습니다.기본적으로 CLOSS는 Common Lisp의 매개 변수 유형에서 디스패치를 허용하지 않습니다. 이러한 확장 디스패치 시맨틱스는 CLOSS 메타오브젝트 프로토콜을 통해서만 확장으로 추가할 수 있습니다.융합형 설계를 통해 포트리스는 매개 변수 유형에 대한 여러 디스패치 기능도 갖추고 있지만, 줄리아와 달리 포트리스는 동적 유형이 아닌 정적 유형으로 별도의 컴파일 및 실행 단계가 있습니다.언어 기능은 다음 표에 요약되어 있습니다.
언어 | 활자계 | 일반 함수 | 파라메트릭 타입 |
---|---|---|---|
줄리아. | 역학 | 체납 | 네. |
커먼 리스프 | 역학 | 옵트인 | 예(단, 발송 불가) |
딜런 | 역학 | 체납 | 부분(파견불가) |
포트리스 | 정적 | 체납 | 네. |
Julia의 확장성을 보여주는 예로 Unitful.jl 패키지는 언어에 물리적 측정 단위 지원을 추가합니다.
상호운용성
Julia는 C 또는 Fortran 언어 라이브러리에 전화하기 위한 기본 지원 기능을 가지고 있습니다.@ccall
macro. 추가 라이브러리를 사용하면 Python,[94] R,[95]C++,[96]Java,[97]SQL로 작업할 수 있습니다.[98][99][100][101]
별도로 컴파일된 실행 파일 옵션
Julia는 PackageCompiler.jl을 사용하여 이진 실행 파일로 컴파일할 수 있습니다.[30]런타임 디스패치를 지원하지 않는 StaticCompiler.jl에서 제공하는 언어의 정적 하위 집합을 사용하여 더 작은 실행 파일을 작성할 수도 있습니다.[102]
상호작용
Julia 공식 배포판에는 검색 가능한 이력, 탭 완료, 코드를 신속하게 실험하고 테스트하는 데 사용할 수 [104]있는 전용 도움말 및 셸 모드가 [103]포함된 대화형 명령줄 읽기-평가-인쇄 루프(REPL)가 포함되어 있습니다.[105]다음 조각은 문자열이 println에 의해 자동으로 연결되는 샘플 세션 예를 나타냅니다.[106]
줄리아> p(x) = 2x^2 + 1; f(x, y) = 1 + 2p(x)y 줄리아> 인쇄된("안녕 세상!", " 구름위에 있습니다", f(0, 4), " 줄리아가 인지할 수 있는 구문을 지지하는 것처럼!") 안녕하세요.줄리아가 인지할 수 있는 구문을 지원하기 때문에 클라우드 9에 있습니다!
REPL은 를 눌러 시스템 셸 및 도움말 모드에 대한 사용자 액세스를 제공합니다.;
아니면?
(각 명령을 preceding) 프롬프트 뒤에 각각 표시됩니다.또한 세션 간을 포함한 명령 기록도 보관합니다.[107]Julia의 대화형 세션 안에서 코드를 테스트하거나 파일에 저장할 수 있습니다..jl
명령행에서 다음과 같이 입력하여 확장 및 실행합니다.[93]
$ 줄리아 <filename>
Julia는 UTF-8 코드와 LaTeX 코드를 사용하여 많은 연산자들에게 공통적인 수학 기호들을 지원할 수 있게 합니다, 예를 들어 ∈.in
연산자, 타이핑 가능\in
그 다음에 다그치기 (즉, LaTeX 코드를 사용하거나, sqrt 및 cbrt 함수에 대해 가능한 √ 및 ∛와 같이 단순히 복사 붙여넣기를 통해 가능하기도 합니다.Julia는 최신 Unicode 15.0을 지원하며,[108] 심지어 소스 코드(예: 변수 이름)에 대해서도 지원합니다(다른 사람들이 패키지 이름을 읽을 수 있는 코드에는 영어를 사용하지 않는 것이 좋습니다.[109]
Julia는 온라인 대화형 "노트북" 환경인 Jupyter와 [110]"반응형 노트북"(노트북이 순수한 Julia 파일로 저장됨)인 Pluto.jl의 지원을 받고 있습니다.[111]또한 Posit's(이전의 RStudio Inc.) Quarto 퍼블리싱 시스템은 Julia, Python, R 및 Observable JavaScript를 지원합니다(이 언어들은 회사가 공식적으로 지원하고 있으며, 심지어 동일한 노트북 문서에 함께 엮을 수도 있으며, 비공식적으로 더 많은 언어들이 지원됩니다).[112][113]
REPL은 추가 모드와 함께 확장될 수 있으며 데이터베이스 액세스를 [114]위해 SQL 모드와 같은 패키지와 함께 사용되었으며 RCall.jl은 R 언어와 함께 작동하기 위해 R 모드를 추가합니다.[115]
다른 언어와 함께 사용
Julia는 실제로 다른 언어들과 상호 운용이 가능합니다 (예: 대중적으로 사용되는 상위 10-20개 언어의 대부분).공유 라이브러리 함수를 개별적으로 호출하는 데 사용되며(예: C 또는 Fortran으로 작성된 경우), 패키지를 사용하여 Python(PythonCall.jl 포함), R, MATLAB, C#(기타) 등의 다른 언어를 호출할 수 있습니다.DotNET.jl을 사용하는 NET 언어, JdotNET을 사용하는 NET 언어), 자바스크립트, 자바(및 Scala with JavaCall.jl과 같은 기타 JVM 언어).그리고 다른 언어를 위한 패키지는 Python, R, Rust, Ruby, C# 등에서 Julia에게 전화를 걸 수 있게 해줍니다.예를 들어 juliac call(PythonCall.jl의 일부)과 마찬가지로 pyjulia는 Python에서 호출하는 다른 옵션이며 R에서 호출하는 다른 Julia Call 패키지입니다.Julia는 하드웨어, 즉 HLS(High-level Synthesis) 도구(예: FPGA)로서 VHDL에 컴파일하는 데에도 사용되었습니다.[87]
Julia는 HTML, XML, JSON 및 BSON과 같은 마크업 언어와 데이터베이스(Postgre와 같은)를 지원하는 패키지를 가지고 있습니다.TimesTen,[118] MySQL, SQLite, Microsoft SQL Server,[117] Amazon Redshift, Vertica,[119][120] ODBC용을 포함한 SQL,[116] Mongo,[117] Oracle 및 웹 사용 일반.
패키지 시스템
Julia에는 패키지 관리자가 내장되어 있으며 기본 레지스트리 시스템이 포함되어 있습니다.[121]패키지는 깃허브에서 호스팅되는 소스 코드로 배포되는 경우가 대부분이지만 대안을 사용할 수도 있습니다.패키지는 아티팩트를 사용하여 이진 파일로 설치할 수도 있습니다.[122]Julia의 패키지 관리자는 패키지를 쿼리하고 컴파일하는 데 사용되며 환경도 관리합니다.연합 패키지 레지스트리가 지원되므로 공식적인 레지스트리 이외의 레지스트리를 로컬에서 추가할 수 있습니다.[123]
실행
Julia의 코어는 LLVM 의존성을 위해 C++와 함께 Julia와 C로 구현됩니다.코드 구문 분석 및 코드 하위화는 현재 Scheme 방언인 FemtoLisp에서 구현됩니다.[124]그러나 펨토 리스프 파서는 속도를 향상시키고 "다양한 경우에 파서 오류 메시지를 크게 개선"하는 [125]순수 줄리아 패키지 JuliaSyntax.jl로 런타임에 전환할 수 있으며 버전 1.10부터 펨토 리스프 파서를 대체합니다.[126]LLVM 컴파일러 인프라 프로젝트는 일반적으로 사용되는 모든 플랫폼에 최적화된 머신 코드를 생성하기 위한 백엔드로 사용됩니다.몇 가지 예외를 제외하고 표준 라이브러리는 Julia에서 구현됩니다.
현재 및 미래 플랫폼
Julia는 64비트 Apple Silicon Mac에 대해 계층 1 macOS를 기본적으로 지원합니다(이전에는 Apple M1 기반 Mac이 로제타[127][128] 2 에뮬레이션에서만 지원됨). 또한 Intel 기반 Mac도 완전히 지원합니다.그러나 Julia 1.6 LTS는 Arm 기반 Mac을 완전히 지원하지 않으며(실험용으로 표시됨), 이 지원은 먼저 Julia 1.8과 함께 Tier 2로 업그레이드된 후 Tier 1로 업그레이드되었습니다.ARM에 있는 윈도우는 아직 공식적인 지원이 없습니다.
줄리아는 4개의 지원 계층을 가지고 있습니다.[129]i686 서브아키텍처를 완전히 구현하는 모든 IA-32 프로세서가 지원되며 64비트 x86-64(일명 amd64), 즉 약 10년 미만의 모든 프로세서가 지원됩니다.두 번째 계층에서는 ARMv8(AArch64) 프로세서가 지원되고, 세 번째 계층에서는 ARMv7(AArch32) 및 ARMv6가 Julia 1.0.x에서 일부 주의 사항과 함께 작동하는 것으로 알려졌습니다.[130]수백 개의 패키지가 GPU 가속화됩니다.[131] CUDA(Nvidia GPU, PTX 구현)는 외부 패키지(그리고 패키지의 이전 버전은 CUDA 9까지 지원)를 통해 계층 1을 지원합니다.또한 하나의 API.jl을 통해 Google의 TPU와 [132]일부 인텔(integrated) GPU와 같은 다른 가속기를 지원하는 패키지도 추가적으로 있으며 AMD의 GPU는 다음과 같은 기능을 지원합니다.[133]OpenCL; 및 AMD ROCm 스택에 대한 실험적 지원.[134]
일부 플랫폼에서는 Julia를 소스 코드(예: 원래 Raspberry Pi)에서 컴파일해야 할 수도 있으며, 특정 빌드 옵션이 포함되어 있으며 비공식적으로 사전 빌드된 바이너리(및 빌드 지침)를 사용할 수 있습니다.[135][136]Julia는 Raspberry Pis 소형부터 (최근) 상위 1위 슈퍼컴퓨터 Fugaku의 ARM 기반 A64FX에 이르기까지 여러 ARM 플랫폼용으로 제작되었습니다.[137]PowerPC(64비트)는 계층 3을 지원하며, 이는 "구축할 수도 있고 그렇지 않을 수도 있다"는 것을 의미합니다.줄리아는 현재 라스비안에서[138] 지원을 받고 있는 반면 Armv7이나 더 새로운 Pis와 같은 새로운 Pis에 대한 지원이 더 좋습니다. 줄리아 지원은 라스베리 파이 재단에서 홍보합니다.[139]
Julia는 기본적으로 운영 체제가 필요하고, Arduino와 같은 임베디드 시스템 플랫폼에서 실행할 수 있는 공식적인 지원이 없지만, Julia 코드는 여전히 운영 체제에서 실행되고 있으며, 예를 들어 2KB RAM(32KB 플래시 메모리)이 있는 베어메탈 16MHz 8비트(ATMEGA328P) AVR 마이크로컨트롤러 Arduino에서 실행되고 있습니다.[140][141]
입양
줄리아는 MIT, 스탠포드, UC버클리 그리고 케이프타운 대학을 포함한 많은 대학에서 입양되었습니다.Amazon, IBM, JP Morgan AI Research,[142] ASML 등 다양한 분야의 대형 민간 기업들이 이 언어를 채택하고 있으며, Julia는 미국의 모든 국가 에너지 연구소뿐만 아니라 NASA, FAA 등의 정부 기관에서도 사용되고 있습니다.[143][144]
과학 컴퓨팅 및 엔지니어링
- 아마존, 아마존 세이지메이커[146] 통해 퀀텀 컴퓨팅[145] 및 머신 러닝용
- 기계를 이용한 하드[147] 실시간 프로그래밍을 위한 ASML
- 기후변화 모델링을[149] 위한 기후 모델링 연합[148]
- CERN, Large Hadron Collider의 데이터 분석(LHCB 실험)[150][151][152][153][154][155]
- NASA와 제트 추진 연구소는 Julia를 이용하여 우주선 분리 역학을 모델링하고,[156][157][158] 트라피스트 외계 행성 데이터 세트를 분석하며[161],[159][160] 빅뱅의 우주 마이크로파 배경 데이터를 분석합니다.
- 우주 임무와 위성 시뮬레이션을[162] 위한 브라질 INPE
- 미국 공군 자율 연구소 VTOL 드론[163] 비행 계획 및 실행을 위한 내장 하드웨어
의약품 및 의약품 개발
Julia는 모더나, 화이자, 아스트라제네카, 프록터 앤 갬블, [[유나이티드 테라퓨틱스]]에 채택되어 제약 산업에서 의약품 개발에 널리 사용되고 있습니다.[164][165]
경제학, 금융학, 정치학
- 뉴욕 연방준비은행, 2021년[166] 코로나19 충격 추정 등 2015년부터 줄리아 거시경제 모델링
- 또한 거시 경제 모델링을[167] 위해 중앙 은행인 캐나다 은행.
- 세계 최대 자산운용사인 BlackRock, 재무시계열 분석용[168]
- 보험수리적 계산을[168] 위한 영국 최대 종합보험사 아비바
- Mitre Corporation, 공표된 선거 결과[169] 확인용
- 노벨상 수상자 토마스 J. 사전트, 거시계량모형[170] 연구
참고 항목
- 수치해석 소프트웨어 비교
- 통계 패키지 비교
- 미분가능 프로그래밍
- JuMP – Julia에 내장된 수학적 최적화를 위한 대수적 모델링 언어
메모들
참고문헌
- ^ "2. Object-Oriented Programming - Beginning Julia Programming: For Engineers and Scientists [Book]". www.oreilly.com. Retrieved 26 January 2023.
- ^ "Smoothing data with Julia's @generated functions". 5 November 2015. Retrieved 9 December 2015.
Julia's generated functions are closely related to the multistaged programming (MSP) paradigm popularized by Taha and Sheard, which generalizes the compile time/run time stages of program execution by allowing for multiple stages of delayed code execution.
- ^ a b "LICENSE.md". GitHub. September 2017.
- ^ "Contributors to JuliaLang/julia". GitHub.
- ^ a b c d "Why We Created Julia". Julia website. February 2012. Retrieved 7 February 2013.
- ^ "Download Julia".
- ^ "GitHub - JuliaLang/julia at v1.10.0-beta3". GitHub. Retrieved 3 October 2023.
- ^ "[release-1.10] Backports for Julia 1.10.0-x by IanButterworth · Pull Request #50971 · JuliaLang/julia". GitHub. Retrieved 3 October 2023.
- ^ "Set 'VERSION' to '1.11.0-DEV' by DilumAluthge · Pull Request #50314 · JuliaLang/julia". GitHub. Retrieved 3 July 2023.
- ^ "GitHub - JuliaLang/julia at release-1.6". GitHub. Retrieved 19 July 2022.
- ^ "release-1.6: Backports for 1.6.7 by KristofferC · Pull Request #45319 · JuliaLang/julia". GitHub. Retrieved 16 May 2022.
- ^ "Backports release 1.10 by KristofferC · Pull Request #51563 · JuliaLang/julia". GitHub. Retrieved 3 October 2023.
- ^ "release-1.6: Backports for Julia 1.6.8 by KristofferC · Pull Request #46116 · JuliaLang/julia". GitHub. Retrieved 4 August 2023.
- ^ a b Engheim, Erik (17 November 2017). "Dynamically Typed Languages Are Not What You Think". Medium. Retrieved 27 January 2021.
- ^ "Building Julia (Detailed)". GitHub. September 2017. Retrieved 16 May 2022.
- ^ "NVIDIA CUDA ⋅ JuliaGPU". juliagpu.org. Retrieved 17 January 2022.
we have shown the performance to approach and even sometimes exceed that of CUDA C on a selection of applications from the Rodinia benchmark suite
- ^ "Introduce USE_GPL_LIBS Makefile flag to build Julia without GPL libraries". GitHub.
Note that this commit does not remove GPL utilities such as git and busybox that are included in the Julia binary installers on Mac and Windows.--> It allows building from source with no GPL library dependencies.
- ^ Stokel-Walker, Chris. "Julia: The Goldilocks language". Increment. Stripe. Retrieved 23 August 2020.
- ^ "JuliaCon 2016". JuliaCon. Retrieved 6 December 2016.
He has co-designed the programming language Scheme, which has greatly influenced the design of Julia
- ^ a b c d "Home · The Julia Language". docs.julialang.org. Retrieved 15 August 2018.
- ^ "Programming Language Network". GitHub. Archived from the original on 20 December 2020. Retrieved 6 December 2016.
- ^ "What Should We Call the Language of Mathematica?—Stephen Wolfram Writings". writings.stephenwolfram.com. Retrieved 24 June 2021.
- ^ a b Fischer, Keno; Nash, Jameson. "Growing a Compiler - Getting to Machine Learning from a General Purpose Compiler - JuliaHub". juliahub.com. Retrieved 16 November 2022.
- ^ Bryant, Avi (15 October 2012). "Matlab, R, and Julia: Languages for data analysis". O'Reilly Strata. Archived from the original on 26 April 2014.
- ^ Singh, Vicky (23 August 2015). "Julia Programming Language – A True Python Alternative". Technotification.
- ^ a b Krill, Paul (18 April 2012). "New Julia language seeks to be the C for scientists". InfoWorld.
- ^ Finley, Klint (3 February 2014). "Out in the Open: Man Creates One Programming Language to Rule Them All". Wired.
- ^ "Suspending Garbage Collection for Performance...good idea or bad idea?". Groups.google.com. Retrieved 31 May 2017.
- ^ "Sysimages · PackageCompiler". julialang.github.io. Retrieved 10 April 2023.
- ^ a b c d "GitHub - JuliaLang/PackageCompiler.jl: Compile your Julia Package". The Julia Language. 14 February 2019. Retrieved 15 February 2019.
- ^ "julia/doc/src/devdocs/aot.md at master · JuliaLang/julia". GitHub. Retrieved 3 October 2023.
- ^ "System Image Building · The Julia Language". docs.julialang.org. Retrieved 3 October 2023.
- ^ Holy, Tim (13 September 2019). "GitHub - timholy/ProfileView.jl: Visualization of Julia profiling data". GitHub. Retrieved 22 September 2019.
- ^ Gregg, Brendan (20 September 2019). "GitHub - brendangregg/FlameGraph: Stack trace visualizer". GitHub. Retrieved 22 September 2019.
- ^ "A Julia interpreter and debugger". julialang.org. Retrieved 10 April 2019.
- ^ "Home · Rebugger.jl". timholy.github.io. Retrieved 10 April 2019.
- ^ Jeff Bezanson; Stefan Karpinski; Viral Shah; Alan Edelman. "Why We Created Julia". JuliaLang.org. Retrieved 5 June 2017.
- ^ Torre, Charles. "Stefan Karpinski and Jeff Bezanson on Julia". Channel 9. MSDN. Retrieved 4 December 2018.
- ^ Bezanson, Jeff (2 April 2021). "CAS Benchmarks". discourse.julialang.org. Retrieved 2 April 2021.
- ^ "Newsletter August 2021 - Julia Computing Completes $24 Million Series A Fundraise and Former Snowflake CEO Bob Muglia Joins Julia Computing Board of Directors - JuliaHub". juliahub.com. Retrieved 16 November 2022.
- ^ "JuliaCon 2020". JuliaCon 2020. Retrieved 6 October 2023.
- ^ "JuliaCon 2020 Wrap-up". julialang.org. 11 August 2020. Retrieved 20 December 2020.
- ^ "JuliaCon 2021 Highlights". julialang.org. Retrieved 6 September 2021.
- ^ "Julia language co-creators win James H. Wilkinson Prize for Numerical Software". MIT News. Retrieved 22 January 2019.
- ^ "Alan Edelman of MIT Recognized with Prestigious 2019 IEEE Computer Society Sidney Fernbach Award IEEE Computer Society" (Press release). 1 October 2019. Retrieved 9 October 2019.
- ^ "What is Julia 0.7? How does it relate to 1.0?". JuliaLang. 26 March 2018. Retrieved 17 October 2018.
- ^ Davies, Eric. "Writing Iterators in Julia 0.7". julialang.org. Retrieved 5 August 2018.
- ^ "Sys.isjsvm([os])". The Julia Language. 20 August 2019. Retrieved 20 August 2019.
Predicate for testing if Julia is running in a JavaScript VM (JSVM), including e.g. a WebAssembly JavaScript embedding in a web browser.
- ^ Bezanson, Jeff; Karpinski, Stefan; Shah, Viral; Edelman, Alan. "The Julia Language". julialang.org. Retrieved 13 December 2019.
- ^ "support a[begin] for a[firstindex(a)] by stevengj · Pull Request #33946 · JuliaLang/julia". GitHub. Retrieved 7 April 2020.
- ^ quinnj. "For structs with all isbits or isbitsunion fields, allow them to be stored inline in arrays · Pull Request #32448 · JuliaLang/julia". GitHub. Retrieved 7 April 2020.
I still keep running into problems that this causes internally because it was a breaking change that changes assumptions made by some users and inference/codegen.
- ^ Fischer, Keno (2 May 2020). "Coming in Julia 1.5: Time Traveling (Linux) Bug Reporting". julialang.org. Retrieved 5 May 2020.
Overhead for recording of single threaded processes is generally below 2x, most often between 2% and 50% (lower for purely numerical calculations, higher for workloads that interact with the OS). Recording multiple threads or processes that share memory (as opposed to using kernel-based message passing) is harder. [..] As expected, the threads test is the worst offender with about 600% overhead.
- ^ Jeff Bezanson; Stefan Karpinski; Viral Shah; Alan Edelman; et al. "The Julia Language". julialang.org. Retrieved 14 August 2020.
There are some size-based limits to which structs can be stack allocated, but they are unlikely to be exceeded in practice.
- ^ Jeff Bezanson; Stefan Karpinski; Viral Shah; Alan Edelman; et al. "The Julia Language". julialang.org. Retrieved 16 September 2020.
- ^ Jeff Bezanson; Stefan Karpinski; Viral Shah; Alan Edelman; et al. "Julia 1.6 Highlights". julialang.org. Retrieved 26 March 2021.
- ^ "Upgrade to OpenBLAS 0.3.13 · Pull Request #39216 · JuliaLang/julia". GitHub. Retrieved 26 April 2021.
Given that 1.7 is not too far away (timed releases going forward)
- ^ "[Zlib_jll] Update to v1.2.12+3 by giordano · Pull Request #44810 · JuliaLang/julia". GitHub. Retrieved 25 May 2022.
- ^ "Backports for Julia 1.8.5 by KristofferC · Pull Request #48011 · JuliaLang/julia". GitHub. Retrieved 8 January 2023.
- ^ "compiler: speed up bootstrapping time by 25% by aviatesk · Pull Request #41794 · JuliaLang/julia". GitHub. Retrieved 3 March 2022.
the bootstrapping took about 80 seconds previously, but on this PR the time is reduced to about 60 seconds.
- ^ "JuliaCon 2014". juliacon.org. Retrieved 20 June 2021.
- ^ "JuliaCon 2016 at MIT". mit.edu. Retrieved 20 June 2021.
- ^ "JuliaCon 2019 at UMB". technical.ly. 23 July 2019. Retrieved 20 June 2021.
- ^ "JuliaCon 2020 wrap up". julialang.org. Retrieved 20 June 2021.
- ^ "JuliaCon 2021". Juliacon.org. Retrieved 20 June 2021.
- ^ "JuliaCon 2021 Highlights". julialang.org. Retrieved 3 March 2022.
This year's JuliaCon was the biggest and best ever, with more than 300 presentations available for free on YouTube, more than 20,000 registrations, and more than 43,000 unique YouTube viewers during the conference, up from 162 presentations, 10,000 registrations, and 28,900 unique YouTube viewers during last year's conference.
- ^ "Jan Vitek Homepage". janvitek.org. Retrieved 20 June 2021.
- ^ "Soumith Chintala Homepage". soumith.ch. Retrieved 20 June 2021.
- ^ "Julia: NumFOCUS Sponsored Project since 2014". numfocus.org. Retrieved 29 September 2020.
- ^ "The Julia Language". julialang.org. Retrieved 22 September 2019.
- ^ Cimpanu, Catalin. "Mozilla is funding a way to support Julia in Firefox". ZDNet. Retrieved 22 September 2019.
- ^ "Julia in Iodide". alpha.iodide.io. Retrieved 22 September 2019.
- ^ "Language plugins - Iodide Documentation". iodide-project.github.io. Retrieved 22 September 2019.
- ^ "Mozilla Research Grants 2019H1". Mozilla. Archived from the original on 9 October 2019. Retrieved 22 September 2019.
running language interpreters in WebAssembly. To further increase access to leading data science tools, we're looking for someone to port R or Julia to WebAssembly and to attempt to provide a level 3 language plugin for Iodide: automatic conversion of data basic types between R/Julia and Javascript, and the ability to share class instances between R/Julia and Javascript.
- ^ "Literate scientific computing and communication for the web: iodide-project/iodide". iodide. 20 September 2019. Retrieved 22 September 2019.
We envision a future workflow that allows you to do your data munging in Python, fit a quick model in R or JAGS, solve some differential equations in Julia, and then display your results with a live interactive d3+JavaScript visualization ... and all that within a single, portable, sharable, and hackable file.
- ^ "Sponsor the Julia Language". github.com. Retrieved 5 June 2021.
- ^ "About Us – Julia Computing". juliacomputing.com. Retrieved 12 September 2017.
- ^ "About Us - JuliaHub". juliahub.com. Retrieved 16 November 2022.
- ^ "Julia Computing Raises $4.6M in Seed Funding" (Press release). Archived from the original on 10 May 2019.
- ^ "Julia Computing Awarded $910,000 Grant by Alfred P. Sloan Foundation, Including $160,000 for STEM Diversity". juliacomputing.com. 26 June 2017. Archived from the original on 3 August 2020. Retrieved 28 July 2020.
- ^ "DIFFERENTIATE—Design Intelligence Fostering Formidable Energy Reduction (and) Enabling Novel Totally Impactful Advanced Technology Enhancements" (PDF).
- ^ "Julia Computing raises $24 mln in funding round led by Dorilton Ventures". Reuters. 19 July 2021.
- ^ "Williams welcomes Julia Computing as Dorilton Ventures partner". www.williamsf1.com (Press release). Retrieved 2 September 2021.
- ^ "JuliaHub Receives $13 Million Strategic Investment from AE Industrial Partners HorizonX". info.juliahub.com (Press release). 27 June 2023. Retrieved 30 June 2023.
- ^ "The Julia Language" (official website).
General Purpose [..] Julia lets you write UIs, statically compile your code, or even deploy it on a webserver.
- ^ Green, Todd (10 August 2018). "Low-Level Systems Programming in High-Level Julia". Archived from the original on 5 November 2018. Retrieved 5 November 2018.
- ^ Moss, Robert (26 June 2015). "Using Julia as a Specification Language for the Next-Generation Airborne Collision Avoidance System" (PDF). Archived from the original on 1 July 2015. Retrieved 29 June 2015.
Airborne collision avoidance system
- ^ a b Biggs, Benjamin; McInerney, Ian; Kerrigan, Eric C.; Constantinides, George A. (2022). "High-level Synthesis using the Julia Language". arXiv:2201.11522 [cs.SE].
We present a prototype Julia HLS tool, written in Julia, that transforms Julia code to VHDL.
- ^ "Announcing Dash for Julia". plotly (Press release). 26 October 2020. Retrieved 2 September 2021.
- ^ Anaya, Richard (28 April 2019). "How to create a multi-threaded HTTP server in Julia". Medium. Retrieved 25 July 2019.
In summary, even though Julia lacks a multi-threaded server solution currently out of box, we can easily take advantage of its process distribution features and a highly popular load balancing tech to get full CPU utilization for HTTP handling.
- ^ Anthoff, David (1 June 2019). "Node.js installation for julia". GitHub. Retrieved 25 July 2019.
- ^ "Translate Julia to JavaScript". JuliaGizmos. 7 July 2019. Retrieved 25 July 2019.
- ^ Fischer, Keno (22 July 2019). "Running julia on wasm". GitHub. Retrieved 25 July 2019.
- ^ a b "Learn Julia in Y Minutes". Learnxinyminutes.com. Retrieved 31 May 2017.
- ^ PythonCall & JuliaCall, JuliaPy, 29 October 2023, retrieved 30 October 2023
- ^ RCall.jl, JuliaInterop, 16 October 2023, retrieved 30 October 2023
- ^ CxxWrap, JuliaInterop, 28 October 2023, retrieved 30 October 2023
- ^ "Julia and Spark, Better Together". juliacomputing.com. 2 June 2020. Archived from the original on 14 July 2020.
- ^ Foster, Claire (23 October 2023), SQLREPL.jl, retrieved 31 October 2023
- ^ Noh, WooKyoung (18 October 2023), Octo.jl, retrieved 31 October 2023
- ^ "Usage Guide · FunSQL.jl". mechanicalrabbit.github.io. Retrieved 31 October 2023.
- ^ "Using Julia with Oracle Databases". 21 October 2022.
- ^ Short, Tom (30 October 2023), StaticCompiler, retrieved 30 October 2023
- ^ "The Julia REPL · The Julia Language". docs.julialang.org. Retrieved 22 September 2019.
- ^ "Introducing Julia/The REPL - Wikibooks, open books for an open world". en.wikibooks.org. Retrieved 22 September 2019.
you can install the Julia package OhMyREPL.jl [..] which lets you customize the REPL's appearance and behaviour
- ^ "Getting Started · The Julia Language". docs.julialang.org. Retrieved 15 August 2018.
- ^ 또한 참조: 문자열 보간에 대해서는 docs.julialang.org/en/v1/manual/strings/ 을 참조하십시오.
string(greet, ", ", whom, ".\n")
예를 들어 문자열을 연결하는 바람직한 방법을 나타냅니다.Julia는 println 및 print 기능이 있지만, (C의 동일한 기능과는 달리) 포맷의 런타임 오버헤드를 제거하기 위한 @printf 매크로(즉, 함수 형태가 아님)도 있습니다. - ^ "Julia Documentation". JuliaLang.org. Retrieved 18 November 2014.
- ^ "support Unicode 15 via utf8proc 2.8 by stevengj · Pull Request #47392 · JuliaLang/julia". GitHub. Retrieved 3 November 2022.
- ^ "support Unicode 14.0.0 (via utf8proc 2.7.0)". Github. 21 October 2022. Retrieved 3 November 2022.
- ^ "Project Jupyter".
- ^ Boudreau, Emmett (16 October 2020). "Could Pluto Be A Real Jupyter Replacement?". Medium. Retrieved 8 December 2020.
- ^ Machlis, Sharon (27 July 2022). "RStudio changes name to Posit, expands focus to include Python and VS Code". InfoWorld. Retrieved 18 January 2023.
- ^ "Heads up! Quarto is here to stay. Immediately combine R & Python in your next document: An extension on a recent post". ds-econ. 20 July 2022. Retrieved 18 January 2023.
- ^ Foster, Chris (4 April 2022). "SQLREPL.jl". GitHub. Retrieved 27 September 2022.
- ^ "Getting Started · RCall.jl". juliainterop.github.io. Retrieved 27 September 2022.
- ^ "Home · LibPQ.jl". invenia.github.io. Retrieved 8 November 2022.
- ^ a b "Home · FunSQL.jl". docs.juliahub.com. Retrieved 8 November 2022.
- ^ Hood, Doug (21 October 2022). "Using Julia with Oracle Databases".
- ^ "Genie Builder - Visual Studio Marketplace". marketplace.visualstudio.com. Retrieved 8 November 2022.
- ^ "How to Build Your First Web App in Julia with Genie.jl 🧞♂️". freeCodeCamp.org. 1 February 2022. Retrieved 8 November 2022.
- ^ "JuliaRegistries / General". GitHub. Retrieved 30 April 2020.
- ^ "Pkg.jl - Artifacts". Retrieved 4 June 2020.
- ^ "Pkg.jl - Registries". Retrieved 30 April 2020.
- ^ Bezanson, Jeff (6 June 2019). "JeffBezanson/femtolisp". GitHub. Retrieved 16 June 2019.
- ^ "JuliaSyntax". The Julia Programming Language. 28 August 2022. Retrieved 28 August 2022.
- ^ "Enable JuliaSyntax.jl as an alternative Julia parser by c42f · Pull Request #46372 · JuliaLang/julia". GitHub. Retrieved 28 August 2022.
- ^ "Julia v1.7.3 has been released". JuliaLang. 25 May 2022. Retrieved 26 May 2022.
- ^ "Darwin/ARM64 tracking issue · Issue #36617 · JuliaLang/julia". GitHub. Retrieved 8 December 2020.
- ^ "Julia Downloads". julialang.org. Retrieved 17 May 2019.
- ^ "julia/arm.md". The Julia Language. 7 October 2021. Retrieved 15 May 2022.
A list of known issues for ARM is available.
- ^ "JuliaGPU". juliagpu.org. Retrieved 16 November 2022.
Almost 300 packages rely directly or indirectly on Julia's GPU capabilities.
- ^ "Julia on TPUs". JuliaTPU. 26 November 2019. Retrieved 29 November 2019.
- ^ "Introducing: oneAPI.jl ⋅ JuliaGPU". juliagpu.org. Retrieved 6 September 2021.
- ^ "AMD ROCm · JuliaGPU". juliagpu.org. Retrieved 20 April 2020.
- ^ "Build Julia for RaspberryPi Zero". Gist. Retrieved 14 August 2020.
- ^ "JuliaBerry: Julia on the Raspberry Pi". juliaberry.github.io. Retrieved 14 August 2020.
- ^ Giordano, Mosè (29 September 2022). "Julia on Fugaku (2022-07-23)". GitHub. Retrieved 8 November 2022.
- ^ "Julia available in Raspbian on the Raspberry Pi".
Julia works on all the Pi variants, we recommend using the Pi 3.
- ^ "Julia language for Raspberry Pi". Raspberry Pi Foundation. 12 May 2017.
- ^ "Running Julia baremetal on an Arduino". seelengrab.github.io. Retrieved 24 May 2022.
- ^ Sukera (31 July 2023), AVRDevices.jl, retrieved 5 August 2023
- ^ Chen, Jiahao. "Jiahao Chen". Jiahao Chen. Retrieved 23 February 2023.
- ^ "'Why We Created Julia' Turns Ten Years Old - JuliaHub". juliahub.com. Retrieved 16 November 2022.
- ^ "Newsletter January 2022 - Julia Growth Statistics - Julia Computing". juliacomputing.com. Retrieved 26 January 2022.
- ^ "Introducing Braket.jl - Quantum Computing with Julia". Julia Community 🟣. 15 November 2022. Retrieved 23 February 2023.
Almost all of the Python SDK's features are reimplemented in Julia — for those few that aren't, we are also providing a subsidiary package, PyBraket.jl, which allows you to translate Julia objects into their Python equivalents and call the Python SDK.
- ^ "Getting started with Julia on Amazon SageMaker: Step-by-step Guide" (PDF). May 2020.
- ^ "Towards Using Julia for Real-Time applications in ASML JuliaCon 2022". pretalx.com. Retrieved 23 February 2023.
- ^ "Home - CliMA". CliMA – Climate Modeling Alliance. Retrieved 18 June 2023.
- ^ "Julia Computing Brings Support for NVIDIA GPU Computing on Arm Powered Servers - JuliaHub". juliahub.com (Press release). Retrieved 16 November 2022.
- ^ "Julia for HEP Mini-workshop". indico.cern.c h. 27 September 2021. Retrieved 23 August 2022.
Julia and the first observation of Ω-_b → Ξ+_c K- π-
- ^ Mikhasenko, Misha (29 July 2022). "ThreeBodyDecay". GitHub. Retrieved 23 August 2022.
- ^ Mikhasenko, Misha (July 2021). "Julia for QCD spectroscopy" (PDF). indico.cern.ch. Retrieved 23 August 2022.
Summary: Julia is ready to be used in physics HEP analysis
. - ^ "JuliaHEP/UnROOT.jl". JuliaHEP. 19 August 2022. Retrieved 23 August 2022.
- ^ "Julia · Search · GitLab". GitLab. Retrieved 23 August 2022.
- ^ "Commits · master · sft / lcgcmake · GitLab". GitLab. Retrieved 23 August 2022.
bump julia version to 1.7.3
- ^ Modeling Spacecraft Separation Dynamics in Julia - Jonathan Diegelman, retrieved 6 September 2021
- ^ Circuitscape/Circuitscape.jl, Circuitscape, 25 February 2020, retrieved 26 May 2020
- ^ "Conservation through Coding: 5 Questions with Viral Shah Science Mission Directorate". science.nasa.gov. Retrieved 26 May 2020.
- ^ "Julia in the Wild - Julia Data Science". juliadatascience.io. Retrieved 12 September 2022.
- ^ "Seven Rocky TRAPPIST-1 Planets May Be Made of Similar Stuff". Exoplanet Exploration: Planets Beyond our Solar System. Retrieved 6 October 2022.
- ^ Julia in Astronomy & Astrophysics Research Eric B. Ford JuliaCon 2022, retrieved 6 October 2022
- ^ JuliaSpace/SatelliteToolbox.jl, JuliaSpace, 20 May 2020, retrieved 26 May 2020
- ^ Hobbs, Kerianne (December 2022). "Year of Autonomy in Alaskan Glaciers, Flight, Earth Orbit, Cislunar Space and Mars". Aerospace America Year in Review. p. 48.
The flight test team was able to demonstrate … a vertical takeoff and landing vehicle with both electric and conventional fuel propulsion systems onboard. The [uncrewed aerial system] was able to plan and execute these missions autonomously using onboard hardware. It was the first time the Julia programming language was flown on the embedded hardware - algorithms were precompiled ahead of time.
- ^ "Case Study - JuliaHub". juliahub.com. Retrieved 10 February 2023.
- ^ "Pumas-AI". Pumas-AI. Retrieved 10 February 2023.
- ^ "Release v1.3.0 · FRBNY-DSGE/DSGE.jl". GitHub. Retrieved 3 January 2022.
New subspecs of Model1002 for estimating the DSGE with COVID-19 shocks
- ^ "Finance and Economics Use Cases". Julia Programming Language. 2 May 2023. Retrieved 4 May 2023.
- ^ a b D'Cunha, Suparna Dutt (20 September 2017). "How A New Programming Language Created By Four Scientists Now Used By The World's Biggest Companies". Forbes. Archived from the original on 1 October 2022. Retrieved 1 October 2022.
- ^ "Julia for Election Security". Julia Forem. 23 September 2022. Retrieved 27 September 2022.
- ^ "Nobel Laureate Thomas J. Sargent - JuliaHub". juliahub.com. Retrieved 10 February 2023.
추가열람
- Nagar, Sandeep (2017). Beginning Julia Programming: For Engineers and Scientists. Springer. ISBN 978-1-4842-3171-5.
- Bezanson, J; Edelman, A; Karpinski, S; Shah, V. B (2017). "Julia: A fresh approach to numerical computing". SIAM Review. 59 (1): 65–98. arXiv:1411.1607. CiteSeerX 10.1.1.760.8894. doi:10.1137/141000671. S2CID 13026838.
- Joshi, Anshul (2016). Julia for Data Science - Explore the world of data science from scratch with Julia by your side. Packt. ISBN 978-1-78355-386-0.
- 토빈 드리스콜과 리처드 J. 브라운 (2022년 8월)."수치 계산의 기초: 줄리아 에디션."시암 ISBN 978-1-611977-00-4
- C. T. 켈리 (2022)."반복적 방법으로 비선형 방정식 해결: 줄리아의 해결사와 사례", SIAMISBN 978-1-611977-26-4.
- Kalicharan, Noel (2021). Julia - Bit by Bit. Undergraduate Topics in Computer Science. Springer. doi:10.1007/978-3-030-73936-2. ISBN 978-3-030-73936-2. S2CID 235917112.
- Clemens Heitzinger (2022): "Julia와의 알고리즘", Springer, ISBN 978-3-031-16559-7