老司机午夜精品_国产精品高清免费在线_99热点高清无码中文字幕_在线观看国产成人AV天堂_中文字幕国产91

為什么 Wolfram 語言是(類似于)開源的六個原因

發(fā)布:小火龍果 2023-07-17 15:59 閱讀:1591

數(shù)年前,我曾寫過一篇文章,闡述為什么我認(rèn)為開源不適合 Wolfram 核心技術(shù)的商業(yè)模式Wolfram 技術(shù)不開源的十二個原因)。也引發(fā)了一些關(guān)于不同模式優(yōu)點(diǎn)的(大多是理性的)討論。 #rW-jW=A  
受這些討論的影響,我意識到,盡管 Wolfram 不是開源,但大多數(shù)開源軟件實(shí)際使用中的優(yōu)點(diǎn)在 Wolfram 技術(shù)中也很明顯。所以,如果你不介意這個有點(diǎn)標(biāo)題黨的標(biāo)題,我想分六點(diǎn)闡述一下:
:kcqf,7  
1. 可以免費(fèi)使用;
2.可以查看源代碼
3.可以對代碼進(jìn)行修改
4.你可以做出自己的貢獻(xiàn)
5.有技術(shù)支持的社區(qū)
6.我們一直積極開發(fā)各類功能
Mh3.GpS  
o.Ww .F  
01你可以免費(fèi)使用
fwUvFK1G  
j+'ua=T3  
由于我們的中心商業(yè)模式是做優(yōu)秀的軟件并出售其使用許可,所以當(dāng)我說到有幾種方法可以免費(fèi)使用 Wolfram 語言你一定會感覺有點(diǎn)驚訝。當(dāng)然, Wolfram|Alpha 是免費(fèi)的,但我說的是完整的 Wolfram 語言。最簡單的方法是創(chuàng)建一個免費(fèi)的 Wolfram 云賬戶。這樣你可以免費(fèi)通過瀏覽器或 API 使用完整的語言功能。確實(shí),你會有 CPU 時間和存儲的時間限制,因?yàn)槟闶褂玫氖敲赓M(fèi)賬戶而這些功能對我們而言都有成本,如果想要升級這些功能你可以選擇付費(fèi)。
想要本地使用?試試看 Raspberry Pi 版本。完整的 Wolfram 語言可以免費(fèi)在這個五刀的電腦上使用,不過會有一些商業(yè)使用限制。想在個人電腦上使用的話,在 macOS、Windows 或 Linux 操作系統(tǒng)上有 Wolfram 引擎。你可以在項(xiàng)目開發(fā)階段免費(fèi)使用這個工具;還有 Wolfram 播放器,只可以免費(fèi)用于運(yùn)行代碼,不可以編寫新代碼。
所以,雖然開源軟件不是“免費(fèi)做所有事”,但依然可以做很多事。
最重要的是,大家必須記住,由于很多人所在機(jī)構(gòu)的支持,他們才可以免費(fèi)使用技術(shù)棧的全部功能。很多優(yōu)秀的大學(xué)擁有站點(diǎn)許可證,所以這些大學(xué)的學(xué)生和教職工才可以在個人不交任何費(fèi)用的情況下免費(fèi)使用這些技術(shù)。我們甚至有國家級別許可使用——如果你是埃及境內(nèi)的學(xué)生、教師或?qū)W術(shù)研究者,你可以免費(fèi)使用 Mathematica——這就有 4000 萬的人口了。你可能會說,“這并不是免費(fèi)的,還是有人在付錢”。但開源不就是這樣嗎?到目前為止,Jupyter 和相關(guān)項(xiàng)目已經(jīng)花費(fèi)了數(shù)以百萬美元的費(fèi)用,只想簡化 Mathematica 的筆記本,很煩惱的是,這些資金一部分就來源于我的個人納稅!
#SHJ0+)o  
bX[ZVE(L  
02可以查看源代碼
7>im2"zm  
%wl:>9]  
#3ZAMV  
Wolfram 技術(shù)棧的很大一部分且越來越多的內(nèi)容都是用 Wolfram 語言編寫的,所有這些的源代碼都是可以查看的。只要關(guān)閉 ReadProtected 屬性并請求定義即可。從 Mathematica 第一版開始就可以使用這個功能了,但是有些時候,還有一個沒有記錄但是大家心知肚明的內(nèi)部函數(shù)讓你可以僅用鼠標(biāo)指向點(diǎn)擊的方式就可以瀏覽定義。這個函數(shù)現(xiàn)在記錄在Wolfram函數(shù)資源庫中了,用法是 ResourceFunction["PrintDefinitions"]。
比如,這就是 ResourceFunction["PrintDefinitions"][URLRead] 的結(jié)果:
-`ljKp  
U$DZht4>u  
]UIN4E  
點(diǎn)擊代碼中的函數(shù)可以查看其定義。以前用C語言編寫的函數(shù)或核心函數(shù)不能用這種方法查看,但當(dāng)然,一部分上述函數(shù)可以調(diào)用真實(shí)的開源資源庫比如 MXNet、MKL、GMP 和 ImageJ,這些資源都可以在其他地方進(jìn)行查看。 f\?Rhyz  
P_jav 0j7g  
c^"4l 9w  
03可以對代碼進(jìn)行修改
prM)t8SE  
J|jvqt9C  
7]So=% q  
Wolfram 語言中的任何公共或內(nèi)部函數(shù)都可以被替換。查找源代碼、編輯并運(yùn)行就可以替換內(nèi)置規(guī)則。不僅如此,Wolfram 語言的基礎(chǔ)設(shè)計(jì)加上其對操作符過載的普遍支持,甚至可以讓你在不需要查看源代碼的情況下修改或增強(qiáng)任意功能。
比如,假設(shè)我認(rèn)為我對值較小的實(shí)數(shù)的 Sin 有更好的執(zhí)行方法,但我并不想替換值較大的實(shí)數(shù)、復(fù)數(shù)和符號參數(shù)的內(nèi)置行為,那么我可以這么做:
+EA ")T<l  
;R&W#Q7>3  
你可以看到我是如何在不影響其他行為的情況下進(jìn)行我的新操作的。這比編輯源代碼要簡單多了: &b~ X&{3,  
yLqhj7  
k2lo GvBJ  
04你可以做出自己的貢獻(xiàn)
]~$@x=p2e  
f3,LX]zKA  
3qGz(6w6E  
我之前在開源那篇文章中也說過,我們的核心語言不依賴于用戶的貢獻(xiàn),盡管我們喜歡詳細(xì)描述的錯誤報告。但是在 Wolfram 語言的生態(tài)系統(tǒng)中用戶有很多其他方法做出自己的貢獻(xiàn)。截止這篇博文的時間,在之前提到的 Wolfram 函數(shù)資源庫中,已經(jīng)增加了超過 2000 條來自用戶和 Wolfram 程序員貢獻(xiàn)的函數(shù)。這些新函數(shù)都像已經(jīng)內(nèi)置一樣立即可以使用(但是實(shí)際上是自動下載并在第一次使用的時候進(jìn)行安裝的),也都帶有源代碼。
比如,下面這個就是我貢獻(xiàn)的用來創(chuàng)建有內(nèi)嵌地圖的地理表面繪圖的函數(shù):
)Dms9:  
@lM-+q(tl  
 \aof  
而且還有超過1.2萬的演示文件以教育為目的被貢獻(xiàn)出來,也都有自己的源代碼。 iiuT:r  
你不一定要用我們的交付系統(tǒng)。你可以找到很多通其他方式分享的開源 Wolfram 語言程序包的例子,比如 GitHub。有一些可以在 Wolfram 社區(qū)和 PackageData 中看到,而且我們也在準(zhǔn)備可以分享更大型的 Wolfram 語言代碼的方法。
~%tVb c  
{8":c n j  
05有技術(shù)支持的社區(qū)
Uun0FCA>  
1Cc91  
D:K"J><@  
實(shí)際上有兩個有組織的社區(qū),每個社區(qū)的重點(diǎn)稍有不同。
在 Stack Exchange 上完全獨(dú)立的 Mathematica 和 Wolfram 語言站點(diǎn)。該站點(diǎn)的結(jié)構(gòu)是問答模式,已經(jīng)處理了超過8萬個問題。這是 Stack Exchange 僅有的用于單個編程語言的站點(diǎn),應(yīng)該也是唯一一個用于單個技術(shù)棧的站點(diǎn)。
我們還有自己的支持社區(qū) Wolfram 社區(qū)。我們有超過3萬會員,這個社區(qū)不僅止于技術(shù)支持,用戶可以分享自己的作品、討論方法或?qū)で髱椭。你也可以在這里找到志同道合的合作伙伴,一起合作你想要貢獻(xiàn)給社區(qū)的程序安裝包。
_)LXD,LA  
k 5% )