ΡΠ΅Π»ΠΈΠ· ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ , ΡΠΎΡΠ΅ΡΠ°ΡΡΠ΅Π³ΠΎ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΊΠ°ΠΊ Π²ΡΡΠΎΠΊΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Julia Π±Π»ΠΈΠ·ΠΎΠΊ ΠΊ MATLAB Ρ Π·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ· Ruby ΠΈ Lisp. ΠΠ΅ΡΠΎΠ΄ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ Perl. ΠΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠ° sotto licenza MIT.
In :
- ΠΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΡΠΈΡΠ»ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ Π² ΠΊΡΡΠ΅ (Π·Π° ΡΡΡΡ inline-ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π² ΡΡΠ΅ΠΊΠ΅), ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ.
- Π£Π»ΡΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΠΈ ΠΈ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ API Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ.
- ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ±ΠΎΡΠ° ΡΡΠΎΠ²Π½Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ.
- ΠΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Π΄Π»Ρ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΌΠ΅ΡΡΠΎ Β«x=xΒ» ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΠΎΡΡΠΎ Β«xΒ»).
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²ΡΠΉ ΠΌΠ°ΠΊΡΠΎΡ Β«@ccallΒ», ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΉ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ.
- Π Π°Π·ΡΠ΅ΡΡΠ½ Π²ΡΠ·ΠΎΠ² ΠΌΠ°ΠΊΡΠΎΡΠΎΠ² Π±Π΅Π· ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠΌ (Π²ΠΌΠ΅ΡΡΠΎ Β«@foo {β¦}Β» ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ Β«@foo{β¦}Β»).
- ΠΠ° 25% ΡΠ²Π΅Π»ΠΈΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠ΅Π²Π΄ΠΎΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π».
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ Β«βbug-report=rrΒ» Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ.
- Π ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Pkg, ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°ΡΡΠΈΠΉ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΌΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ (pkg.julialang.org) Π²ΠΌΠ΅ΡΡΠΎ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° Π½Π°ΠΏΡΡΠΌΡΡ ΠΈΠ· GitHub, GitLab, BitBucket ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡ.
Caratteristiche principali del linguaggio:
- ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ: ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ΅Π»Π΅ΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π±Π»ΠΈΠ·ΠΊΠΎΠΉ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Julia ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° Π½Π°ΡΠ°Π±ΠΎΡΠΊΠ°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° LLVM ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ Π½Π°ΡΠΈΠ²Π½ΡΠΉ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ΅Π»Π΅Π²ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ;
- Supporto per diverse paradigmi di programmazione, inclusi elementi di programmazione orientata agli oggetti e funzionale. La libreria standard fornisce anche funzioni per l'input/output asincrono, la gestione dei processi, la registrazione, il profiling e la gestione dei pacchetti;
- Tipizzazione dinamica: il linguaggio non richiede la definizione esplicita dei tipi per le variabili, simile ai linguaggi di scripting. Γ supportata la modalitΓ interattiva.
- PossibilitΓ opzionale di specificare esplicitamente i tipi;
- Una sintassi perfettamente adatta per calcoli numerici, studi scientifici, sistemi di apprendimento automatico e visualizzazione dei dati. Supporto per molti tipi di dati numerici e strumenti per il parallelismo nei calcoli.
- PossibilitΓ di chiamare direttamente funzioni da librerie in linguaggio C senza strati aggiuntivi.
Fonte: opennet.ru
