亚洲国产欧美一区二区三区丁香婷,无线乱码一二三区免费看,无码人妻精品一区二区三区东京热 ,中文精品视频一区二区在线观看

為了重新運(yùn)行十幾年前的代碼,他不得不在mac電腦上安裝DOS和Win 3.11

不過(guò)他還是在網(wǎng)上找到了當(dāng)年的代碼并在網(wǎng)頁(yè)版的蘋(píng)果II模擬器上跑了一遍。)來(lái)幫助電腦加載代碼。多年前的代碼得以重見(jiàn)天日。然而現(xiàn)在,雖然磁帶還在,它的閱讀器卻已經(jīng)絕版了,的代碼只能被封在磁帶中了。Courtès在重新運(yùn)行2006年用C語(yǔ)言寫(xiě)的對(duì)比不同數(shù)據(jù)安裝策略的代碼時(shí)遇到了麻煩。為軟件源代碼進(jìn)行存檔。如今,再次面對(duì)當(dāng)年的代碼,他通過(guò)將代碼分解成模塊進(jìn)行測(cè)試避開(kāi)了這些問(wèn)題。...

盡管 () 在科學(xué)中的重要性日益增加,但研究論文很少提供作者的底層代碼。即便提供了,也很難讓同事順利運(yùn)行,甚至有人發(fā)現(xiàn)發(fā)文后想重復(fù)自己用過(guò)的代碼會(huì)遇到問(wèn)題。畢竟110款精致ps金色漸變,計(jì)算機(jī)操作環(huán)境正在飛速發(fā)展,編程語(yǔ)言也在不斷更新。如何讓多年前的古董代碼再次流暢運(yùn)行,成為許多程序員和研究人員頭疼的問(wèn)題。

十年重復(fù)性挑戰(zhàn)

為了克服這一困難Mac軟件源代碼Mac軟件源代碼,法國(guó)國(guó)家信息與自動(dòng)化研究所 (INRIA) 的計(jì)算神經(jīng)科學(xué)家和程序員與法國(guó)國(guó)家科學(xué)研究中心 (for, CNRS) 的理論生物物理學(xué)家在 2019 年共同構(gòu)想了一個(gè)解決方案:十年項(xiàng)目。挑戰(zhàn)項(xiàng)目鼓勵(lì)科學(xué)家從他們至少十年前發(fā)表的文章中復(fù)制代碼。參與者還將在 2021 年 6 月的研討會(huì)上討論他們的收獲。成功案例將發(fā)表在雜志上。是和 2015 年創(chuàng)立的期刊,記錄研究人員對(duì)已發(fā)表論文代碼的重復(fù)情況,以衡量研究的可重復(fù)性。

他說(shuō),挑戰(zhàn)在于“找到有效的技術(shù)來(lái)編寫(xiě)和發(fā)布可以在 10 年后工作的代碼”。該項(xiàng)目的啟動(dòng)恰逢著名的2退出歷史階段——2020年1月1日。2曾經(jīng)是科學(xué)界流行的高級(jí)編程語(yǔ)言,系統(tǒng)支持了20多年。(3 于 2008 年發(fā)布,仍在開(kāi)發(fā)中,但兩個(gè)版本差異很大,一個(gè)編寫(xiě)的代碼可能無(wú)法在另一個(gè)中正常運(yùn)行。)畢竟,“十年在 軟件@ >世界很長(zhǎng),很長(zhǎng)一段時(shí)間,”伊利諾伊大學(xué)厄巴納-香檳分校研究計(jì)算可重復(fù)性說(shuō),這項(xiàng)挑戰(zhàn)有效地激勵(lì)研究人員通過(guò)設(shè)定 10 年的標(biāo)準(zhǔn)來(lái)突破代碼可重復(fù)性的界限。時(shí)間限制。

盡管還有很長(zhǎng)的路要走,但仍有 35 人接受了挑戰(zhàn)。他們共提交了 43 篇等待檢測(cè)重復(fù)的論文,其中 28 篇產(chǎn)生了重復(fù)報(bào)告。雜志從今年開(kāi)始出版他們的作品。參與者使用了包括 C、R 和 C 在內(nèi)的多種編程語(yǔ)言,一位參與者甚至重新運(yùn)行了一個(gè)用 SBML ( ) 編碼的分子模型。

具有挑戰(zhàn)性的

挑戰(zhàn)的創(chuàng)建者也參與了這個(gè)項(xiàng)目,他反復(fù)運(yùn)行了挑戰(zhàn)中最古老的代碼:一個(gè)他 1 歲時(shí)在蘋(píng)果電腦上寫(xiě)的放大圖片的程序。該代碼隨后發(fā)表在已停刊的法國(guó)微型雜志上。32 年后,不記得代碼及其晦澀難懂的 BASIC 指令是如何工作的。不過(guò),他還是在網(wǎng)上找到了當(dāng)年的代碼,并在網(wǎng)頁(yè)版Apple II模擬器上運(yùn)行。

然而,困難在于讓它在真正的 Apple II 計(jì)算機(jī)上順利運(yùn)行。硬件不是問(wèn)題,辦公室有一臺(tái) Apple II 電腦。但由于 Apple II 計(jì)算機(jī)誕生時(shí)沒(méi)有 USB 線和互聯(lián)網(wǎng),現(xiàn)代計(jì)算機(jī)無(wú)法連接老式磁盤(pán)驅(qū)動(dòng)器,它們必須使用定制硬件 ( ) 和老式軟盤(pán) ( ) 來(lái)幫助計(jì)算機(jī)加載代碼. 就像考古挖掘一樣,雖然過(guò)程曲折,但還是帶回了30多年前的密碼。

然而,另一位發(fā)起人就沒(méi)有那么幸運(yùn)了。在 1990 年代,我習(xí)慣于將代碼存儲(chǔ)在磁帶上。但現(xiàn)在,雖然磁帶還在,但它的閱讀器已經(jīng)絕版,代碼只能封在磁帶里。

與時(shí)俱進(jìn)的經(jīng)營(yíng)環(huán)境

除了硬件,陳舊的電腦操作環(huán)境也給參會(huì)人員帶來(lái)了不小的麻煩。意大利計(jì)算物理學(xué)家 Maggi 在 1996 年使用語(yǔ)言對(duì)一種稱為約瑟夫結(jié)的超導(dǎo)裝置進(jìn)行建模,并使用微軟的 Basic 語(yǔ)言來(lái)處理結(jié)果。多年來(lái),該語(yǔ)言沒(méi)有太大變化,但 Basic 已絕版,無(wú)法在現(xiàn)有系統(tǒng)上運(yùn)行(現(xiàn)在它已被 Basic.NET 取代,似乎只是名稱相關(guān))。為了運(yùn)行代碼,他不得不在十多年前的mac電腦上安裝系統(tǒng)的模擬器,然后安裝微軟發(fā)布的6.22和3.11 1994年左右在模擬器上,以及他在網(wǎng)上找到的Basic安裝盤(pán)。

源mac 是什么意思_mac恢復(fù) 源卷宗為只讀_Mac軟件源代碼

1990年代初的Win3.11操作系統(tǒng)界面

Maggi 承認(rèn)在模擬器上安裝這些專有的 軟件@>s 是合法的RGBmachine(采用色彩校正引擎、自動(dòng)算最佳的色彩曲線),但使用和修改是有限的。然而,在他最早的研究期間,他擁有使用這些工具的有效許可證,這讓他“至少在道德上”覺(jué)得有權(quán)使用 軟件@>。

然而,問(wèn)題并沒(méi)有得到解決。Maggi 不知道要使用哪個(gè)版本的 Basic。 發(fā)布了該語(yǔ)言的多個(gè)版本,這些版本通常與以前的版本不兼容。Maggi 不記得他在 1996 年使用的是哪個(gè)版本的編程語(yǔ)言。更糟糕的是,他記錄這些細(xì)節(jié)的筆記本也因地下室泄漏而被毀壞。因此,美極不得不花費(fèi)大量精力重寫(xiě)當(dāng)年的代碼。

圖片來(lái)源:美極 |

Mac軟件源代碼_源mac 是什么意思_mac恢復(fù) 源卷宗為只讀

巧合的是,INRIA 的研發(fā)工程師 Courtès 在重新運(yùn)行 2006 年用 C 編寫(xiě)的比較不同數(shù)據(jù)安裝策略的代碼時(shí)遇到了麻煩。程序員青睞的應(yīng)用編程接口(API),可以連接兩個(gè)不同的軟件@>,方便程序員調(diào)用其他軟件@>的函數(shù),打通軟件@>之間的數(shù)據(jù);操作系統(tǒng)等操作環(huán)境的變化會(huì)導(dǎo)致API的變化。API 更改使他的代碼無(wú)法使用當(dāng)前的 軟件@> 庫(kù)進(jìn)行壓縮。他不得不將幾個(gè)計(jì)算機(jī)組件改回舊版本??继厮拐f(shuō),計(jì)算機(jī)系統(tǒng)的發(fā)展就像《愛(ài)麗絲夢(mèng)游仙境》中的兔子洞,里面會(huì)發(fā)生什么,還不得而知。

解決策略

現(xiàn)在,研究人員可以使用容器和Conda虛擬環(huán)境打包計(jì)算機(jī)計(jì)算環(huán)境進(jìn)行備份,以應(yīng)對(duì)未知的運(yùn)行環(huán)境。conda 是一個(gè)開(kāi)源的通用包管理系統(tǒng)和環(huán)境管理系統(tǒng),可以安裝多個(gè)版本的軟件@>包及其依賴軟件@>,并在它們之間輕松切換。然而,一些參與者選擇了另一種方法:Linux 通用包管理系統(tǒng) Guix。Guix 的好處在于它具有科學(xué)論文可重現(xiàn)性的黃金法則:環(huán)境的完全可重現(xiàn)性,以及透明的代碼版本控制。

此外,為了提高長(zhǎng)期可重復(fù)性,將代碼歸檔尤為重要。INRIA 的計(jì)算機(jī)科學(xué)家試圖在他們自己和他們的合作者的多個(gè)備份硬盤(pán)驅(qū)動(dòng)器上找到 1998 年并行編程系統(tǒng)的代碼,但找不到。沒(méi)辦法,他只好在他2015年建立的網(wǎng)站上搜索。不要抱太大希望,因?yàn)樵谒l(fā)展的時(shí)候它并不存在。然而,令人驚奇的是,他居然找到了源代碼!事實(shí)證明,大量計(jì)算機(jī)程序的源代碼是通過(guò)定期從代碼共享站點(diǎn)(例如代碼共享站點(diǎn))爬取信息來(lái)收集和存儲(chǔ)的。將 軟件@> 源代碼存檔為 存檔網(wǎng)頁(yè)。

雖然很多參與者發(fā)現(xiàn)過(guò)去能流暢運(yùn)行的代碼,現(xiàn)在卻頻繁報(bào)錯(cuò);但也有大佬可以輕松解決問(wèn)題。CNRS 的生物物理化學(xué)家就是其中之一。1995 年,他在筆記本 軟件@> 上工作,以模擬真核染色體的 3D 結(jié)構(gòu)。在運(yùn)行時(shí),軟件@>的代碼存在結(jié)構(gòu)缺陷和代碼片段順序混亂的問(wèn)題?,F(xiàn)在,再次面對(duì)年度代碼,他通過(guò)將代碼分解為模塊進(jìn)行測(cè)試來(lái)規(guī)避這些問(wèn)題。他還使用版本控制(指在軟件@>的開(kāi)發(fā)過(guò)程中對(duì)各種程序代碼、配置文件、文檔等文件變化的管理,是軟件@>配置管理的核心思想之一一)

mac恢復(fù) 源卷宗為只讀_源mac 是什么意思_Mac軟件源代碼

并且示例可能會(huì)為致力于提高其代碼的長(zhǎng)期可重復(fù)性的研究人員提供一些啟示。雖然很難保證多年前的舊代碼能夠再次運(yùn)行,但在日常編寫(xiě)代碼時(shí)仍然可以采用有效的策略來(lái)增加成功的概率。具體策略如下:

代碼:在代碼中包含計(jì)算和數(shù)據(jù)處理。不要使用基于 Excel 等點(diǎn)擊式界面的流程圖。

():使用記事本等軟件@>詳細(xì)解釋代碼運(yùn)行過(guò)程,定義預(yù)期參數(shù)和需要的計(jì)算環(huán)境。

():記錄重要的參數(shù),比如遞歸程序開(kāi)始時(shí)使用的種子值。

測(cè)試:創(chuàng)建一組測(cè)試函數(shù)。使用陽(yáng)性和陰性對(duì)照數(shù)據(jù)集確保您獲得所需的結(jié)果。在開(kāi)發(fā)代碼的同時(shí)進(jìn)行測(cè)試,并及時(shí)處理錯(cuò)誤。

Mac軟件源代碼_mac恢復(fù) 源卷宗為只讀_源mac 是什么意思

構(gòu)建指南:創(chuàng)建一個(gè)主腳本(例如“run.sh”文件),其中 下載 所需的數(shù)據(jù)集和變量,執(zhí)行工作流并提供一個(gè)明顯的代碼入口點(diǎn)。

():是一個(gè)流行的非永久代碼在線存儲(chǔ)庫(kù)。卡通人物筆刷下載,并且可以長(zhǎng)時(shí)間穩(wěn)定地存儲(chǔ)代碼。

跟蹤:使用 Git 等版本控制工具記錄您的項(xiàng)目歷史。注釋每個(gè)結(jié)果對(duì)應(yīng)的版本。

():使用容器工具 (, )、Web 服務(wù)器 (Code Ocean, , ) 或虛擬環(huán)境管理器 (Conda) 創(chuàng)建即用型運(yùn)行時(shí)環(huán)境。

():使用持續(xù)集成服務(wù)(CI等)自動(dòng)化項(xiàng)目的持續(xù)測(cè)試來(lái)控制代碼質(zhì)量。

():避免難以安裝的第三方代碼庫(kù)。

check():檢查代碼在不同運(yùn)行時(shí)環(huán)境中的可移植性。

無(wú)論他們選擇哪種方法,十年重現(xiàn)性挑戰(zhàn)的參與者仍然很難重新運(yùn)行他們的代碼。然而,它們將對(duì)提高論文代碼的長(zhǎng)期可重復(fù)性產(chǎn)生許多影響。正如英國(guó)曼徹斯特大學(xué)的計(jì)算機(jī)科學(xué)家 Goble 所說(shuō),存在一定范圍的可重復(fù)性,“軟件@> 是一個(gè)不斷更新的生物,它會(huì)死去;人們需要修復(fù)它或替換它它”。

發(fā)表評(píng)論