Julia 是一個面向科學(xué)計算的高性能動態(tài)高級程序設(shè)計語言,JIT高性能編譯器,語法和其他編程語言類似,擁有豐富的函數(shù)庫,提供了數(shù)字精度、精致的增幅器(sophisticated amplifier)和分布式并行運行方式。核心函數(shù)庫等大多數(shù)庫是由Julia編寫,但也用成熟的C和FORTRAN庫來處理線性代數(shù)、隨機數(shù)產(chǎn)生和字符串處理等問題。Julia語言可定義函數(shù)并且根據(jù)用戶自定義的參數(shù)類型組合再進(jìn)行重載。
【功能特點】
1、JIT高性能編譯器:使用的JIT(Just-in-Time)實時編譯器很有效地提高了它的運行效率,在某些地方甚至能比得上C和C++。
克服了高級語言一直難以逾越的難關(guān):標(biāo)量算數(shù)循環(huán)(在pi summation上就能體現(xiàn)出來。)。Matlab的浮點運算JIT和 V8 JS引擎對此也處理得很好。但JS不支持LAPACK等線性代數(shù)庫導(dǎo)致了在矩陣運算中的低性能,而Julia有比較多的方法消除負(fù)載(overhead),使得它可以輕松支持任何函數(shù)庫。
矩陣統(tǒng)計的Julia代碼雖然性能上比不上C++但卻要簡潔得多。然而,規(guī)范和編制太過隨意可能會在將來成為一個問題。
2、功能強大的并行處理和云計算:為分布式計算提供很多關(guān)鍵模塊,使得它可以更加靈活地支持多種并行處理。
將提供更加完整的性能支持云計算操作,比如分享和編輯,包括數(shù)據(jù)管理、數(shù)據(jù)挖掘和可視化操作等。它還允許用戶操作大數(shù)據(jù)類型而不用關(guān)心數(shù)據(jù)操作行為。
3、免費、開源和Library Friendly:Julia的核心代碼遵循MIT協(xié)議,而其他庫各自遵循GPL/LGPL/BSD等協(xié)議。用戶還可以方便地將Julia作為核心功能共享庫與C/FORTRAN代碼聯(lián)合使用。