偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

17款JavaScript工具讓陳舊代碼換面

譯文
開發(fā) 前端 開發(fā)工具
從Lisp到Pascal,陳舊的代碼如今已經(jīng)再度煥發(fā)生機(jī),而這一切要?dú)w功于下面將要介紹的各類JavaScript交叉編譯器、翻譯器以及模擬器。

從Lisp到Pascal,陳舊的代碼如今已經(jīng)再度煥發(fā)生機(jī),而這一切要?dú)w功于下面將要介紹的各類JavaScript交叉編譯器、翻譯器以及模擬器。

[[133507]]

計(jì)算機(jī)語言在保質(zhì)期方面有著與眾不同的獨(dú)特規(guī)律。其中最為熱門的各類編程語言所表現(xiàn)出的增長趨勢(shì)與瞬息萬變的時(shí)尚界可謂殊途同歸。不過當(dāng)熱潮褪去、輝煌不再之后,奇怪的狀況也將就此出現(xiàn)。不同于那些最終被大多數(shù)人徹底遺忘的流行歌曲或者燈籠褲設(shè)計(jì),這些編程語言仍將繼續(xù)存在、時(shí)常出現(xiàn)、糾纏不休、擺脫不掉。這種永生不朽的背后到底是什么樣的動(dòng)力所造就?答案很簡單,保留舊有代碼在成本上往往比利用那些最時(shí)髦、***時(shí)代前沿特性的語言進(jìn)行重寫要低得多。

曾幾何時(shí),使用一套陳舊的代碼庫完全是種孤獨(dú)的經(jīng)歷,甚至有點(diǎn)像在荒島上獨(dú)自生活。工作的主要內(nèi)容在于保證一切都能夠在虛擬磁帶庫與成綁的線纜之上正常運(yùn)轉(zhuǎn)。老式工具與老式編譯器之所以始終受到選擇甚至推崇,完全是因?yàn)橹挥兴鼈儾拍茏屌f有代碼繼續(xù)起效。老式代碼庫會(huì)被當(dāng)作傳家寶,特別是在其中包含有源代碼的情況下。

但最近幾年來,隨著新型交叉編譯器以及解釋器的陸續(xù)出現(xiàn),這一切發(fā)生了轉(zhuǎn)變。似乎在一夜之間,陳舊的代碼已經(jīng)能夠融入現(xiàn)代編程環(huán)境,雖然還稱不上***和諧、但卻已經(jīng)足以實(shí)現(xiàn)整合,使相關(guān)技術(shù)人員不再感到自己的工作內(nèi)容徹底脫離時(shí)代。正確的工具能夠如龐德的名言所說,“讓它再度煥發(fā)生機(jī)”。

歸功于無所畏懼的嘗試精神與堅(jiān)定決心,老式代碼如今已經(jīng)通過一系列JavaScript工具找到了新的生存之道。時(shí)至今日,塵封的代碼庫已經(jīng)能夠切實(shí)起效并運(yùn)行在現(xiàn)代設(shè)備之上。突然之間,原本只能運(yùn)行在大型機(jī)上的代碼已然可以立足于任何用戶手機(jī)設(shè)備上的網(wǎng)絡(luò)頁面后臺(tái)當(dāng)中。

這些工具還遠(yuǎn)稱不上***,但它們的出色表現(xiàn)足以掩蓋掉這些固有缺陷。重新編寫原有代碼會(huì)帶來巨大挑戰(zhàn),因?yàn)檫@通常意味著相關(guān)人員需要透徹理解傳統(tǒng)代碼的編寫思路——這幾乎不可能實(shí)現(xiàn),主要因?yàn)楫?dāng)年的開發(fā)人員需要針對(duì)磁盤空間極為昂貴的狀況、這意味著僅僅是幾行注釋也會(huì)帶來切實(shí)存在的成本壓力。盡管投入大量精力能夠產(chǎn)生可觀的效益并消除一部分技術(shù)難題,但我們往往并沒有多余的資源來如此奢侈地處理問題。相反,使用交叉編譯器、翻譯器以及模擬器能夠更輕松也更快捷地打理這些陳舊代碼庫,并將其帶入現(xiàn)代化領(lǐng)域——相比之下,利用龐大的技術(shù)團(tuán)隊(duì)深入研究這些即將消亡的編程語言、從其中挑出可用的陳舊代碼并對(duì)一切進(jìn)行重寫顯然很不劃算。

在今天的文章中,我們將了解那些晦澀的元祖級(jí)編程語言如何在新興JavaScript工具的幫助下重新煥發(fā)生機(jī)。以此為代表的轉(zhuǎn)換工具很可能是惟一一種能夠讓這些晦澀難懂的編程語言繼續(xù)生存的手段。大家不妨將其視為陳舊代碼內(nèi)容的生命維持系統(tǒng)。

#p#
Pascal

各位還記得二十年前TurboPascal統(tǒng)治桌面編程世界的那段時(shí)光嗎?很明顯Elevate Software公司的技術(shù)人員們還記得,也正因?yàn)槿绱?、他們打造出一款專門負(fù)責(zé)將ObjectPascal轉(zhuǎn)化為JavaScript的工具。他們甚至作出承認(rèn),表示用戶不需要學(xué)習(xí)Pascal即可開發(fā)出能夠運(yùn)行在Web環(huán)境下的代碼。大家能夠直接向其輸入Pascal代碼,而該工具會(huì)將處理后的代碼返回給用戶——這些代碼在內(nèi)容及運(yùn)行效果方面都與現(xiàn)代瀏覽器代碼別無二致。

Cobol

這種編程語言主要活躍在大型機(jī)舞臺(tái)之上,而且截至發(fā)稿時(shí)Dice.com網(wǎng)站上仍有553個(gè)與之相關(guān)的JavaScript招聘崗位。CobolScript是一套Node.js軟件包,其能夠?qū)?biāo)準(zhǔn)Cobol代碼中的大部分內(nèi)容轉(zhuǎn)化為面向Node.js服務(wù)器編寫的JavaScript代碼形式。

開發(fā)人員將其稱為尚處于發(fā)展過程中的項(xiàng)目,并列出了其中尚不具備的多種功能,不過目前已經(jīng)存在大量切實(shí)可先找實(shí)例、足以證明其給出的既定承諾。舉例來說,其能夠讓早已無人問津的Cobol代碼從MySQL當(dāng)中獲取數(shù)據(jù),并結(jié)合HTML共同構(gòu)建起現(xiàn)代Web應(yīng)用程序。

Lisp

對(duì)于大部分曾經(jīng)閱讀過Hal Ableson以及Gerry Sussman合著的《計(jì)算機(jī)程序結(jié)構(gòu)與解讀》一書并據(jù)此學(xué)習(xí)編程的朋友來說,計(jì)算小括號(hào)數(shù)量并確保其平衡已經(jīng)成為大家打發(fā)無聊的午后時(shí)光的***方式。Lisp及其衍生版本在那些早期學(xué)習(xí)這門語言的技術(shù)人員心中一直占據(jù)著重要地位,其中的許多結(jié)構(gòu)設(shè)計(jì)思路時(shí)至今日仍然扮演著大量現(xiàn)代編程語言的基礎(chǔ)角色,也包括JavaScript在內(nèi)。語法雖然可能最終消失,但靈活的架構(gòu)將永遠(yuǎn)存在。

大家可以通過十?dāng)?shù)種方式通過JavaScript讓自己的Lisp代碼再度煥發(fā)活力,而且它們?cè)谟蓚鹘y(tǒng)轉(zhuǎn)向現(xiàn)代的實(shí)驗(yàn)過程中選擇了不同的實(shí)施手段。舉例來說,EdgeLisp能夠提供大量Lisp標(biāo)準(zhǔn)架構(gòu),而且其開發(fā)團(tuán)隊(duì)還承諾稱,EdgeLisp將“讓Common Lisp程序員們獲得賓至如歸的感受”。Parenscript則提供“Lisp宏的全部功能”,而且其大多數(shù)來自Common Lisp當(dāng)中。如果大家更喜愛Lisp-1,那么Ralph則是另一套可行性方案。

Scheme的擁護(hù)者們則能夠找到與之相關(guān)的一系列解決方案,包BiwaScript、Moby Scheme以及nconc等等。

另外還存在著大量實(shí)驗(yàn)性語法,旨在保證Lisp當(dāng)中所有極富樂趣的思維方式都能夠通過略有差異的格式被繼承下來。LispyScript將宏的強(qiáng)大能力與小括號(hào)結(jié)合了起來。作為另一選項(xiàng),Oppo在自述當(dāng)中作出了如下說明:“如果JavaScript相當(dāng)于披著C外衣的Lisp,那么Oppo就是披著Lisp外衣的Lisp,同時(shí)里面穿著C襯衣。”

Smalltalk

盡管大家都已經(jīng)很清楚,蘋果與微軟兩家公司都在操作系統(tǒng)的設(shè)計(jì)當(dāng)中深度借用了來自施樂PARC的理念,但人們常常忘記的是、施樂PARC的研究人員們同時(shí)也給編程語言帶來了影響深遠(yuǎn)的革命。當(dāng)時(shí)大部分程序員都熱衷于擺脫GOTO語句以及子程序,而Smalltalk則是當(dāng)時(shí)首先將面向?qū)ο筮x項(xiàng)納入設(shè)計(jì)的編程語言之一。

舉例來說,Clamato能夠?qū)⒑唵我仔械腟malltalk架構(gòu)轉(zhuǎn)化為與JavaScript相似的組成部分(且最終為其所用)。雖然還算不上一應(yīng)俱全,但Clamato項(xiàng)目的開發(fā)人員們已經(jīng)將其與jQuery相對(duì)接,并利用其它DOM操作工具對(duì)其進(jìn)行彌補(bǔ),因此大家完全可以以此為基礎(chǔ)構(gòu)建Web應(yīng)用程序。

Little Smallscript則能夠提供一套子集,從而將Smalltalk代碼編譯為JavaScript并將其運(yùn)行在Node.js之上。而那些已經(jīng)選擇了更具現(xiàn)代特性的Squeak的朋友則能夠使用其JavaScript版本——名為SqueakJS。

Logo

在Scratch以及Alice等完整的IDE方案出現(xiàn)之前,我們往往會(huì)使用Logo來教導(dǎo)小朋友們?nèi)绾尉帉懘a。時(shí)至今日,Logo語言仍然存在——如果大家愿意,完全可以將Logo Interpreter引入自己的瀏覽器,并充分在享受當(dāng)初那個(gè)需要利用波特率及鍵盤敲擊次數(shù)計(jì)算帶寬使用量的時(shí)代下、利用精簡語法建立圖形的全部樂趣。Logo擁有一套簡單而精致的操作機(jī)制,這一點(diǎn)在任何依靠拖拽與按鈕進(jìn)行操作的現(xiàn)代方案中都無法找到。

Basic

上世紀(jì)七十年代是游戲機(jī)的黃金時(shí)代、搖滾樂的黃金時(shí)代、同時(shí)也是編程語言的黃金時(shí)代。大家不光能夠?qū)⒆约旱腃ommodore 64游戲在Web之上進(jìn)行模擬,同時(shí)也能夠繼續(xù)運(yùn)行來自那個(gè)光榮年代的Basic代碼。好吧,這種說法也許并不夠準(zhǔn)確,畢竟多年以來Basic已經(jīng)帶來眾多衍生版本。不過大家如今仍然可以編寫出一些新的、且具備Basic賴以成名的出色精簡性的代碼成果。

如果大家喜歡使用QBasic,這款結(jié)構(gòu)化語言主要依靠微軟的推崇而知名,那么完全可以先從qb.js入手,這是一款JavaScript實(shí)現(xiàn)方案、能夠直接運(yùn)行在各位的瀏覽器當(dāng)中。一旦開始運(yùn)行,qb.js會(huì)在瀏覽器內(nèi)部將Canvas對(duì)象轉(zhuǎn)化為一個(gè)塞滿了陳舊、過時(shí)字體內(nèi)容的長方圖形。在隨后的發(fā)展過程中,這種線條窗口逐漸演化成了窗口。雖然并不是所有組件都能順暢起效,但其代碼完全開放,因此大家可以遵循 GPL 3.0許可協(xié)議對(duì)其進(jìn)行修改及擴(kuò)展。

NSBasic則是一套更具商業(yè)性的選項(xiàng),能夠面向JavaScript環(huán)境生成足以運(yùn)行在桌面系統(tǒng)及移動(dòng)設(shè)備之上的代碼。NSBasic的目標(biāo)受眾主要是那些不希望涉足高復(fù)雜性Eclipse或者XCode、但又需要在智能手機(jī)上平臺(tái)上搞出點(diǎn)小成果的開發(fā)人員。大家可以將自己塵封已久的Basic編寫經(jīng)驗(yàn)轉(zhuǎn)化為進(jìn)軍App Store的***塊跳板。

另一款商業(yè)性選項(xiàng)則是SpiderBasic,其現(xiàn)代版本據(jù)說衍生自PureBasic的傳統(tǒng)版本。它能夠訪問構(gòu)建現(xiàn)代、多窗口Web應(yīng)用程序所必需的全部HTML 5以及WebGL鉤子。

原文標(biāo)題:17 JavaScript tools breathing new life into old code

責(zé)任編輯:王雪燕 來源: 51CTO
相關(guān)推薦

2016-11-07 12:11:26

大數(shù)據(jù)工具大數(shù)據(jù)技術(shù)

2019-06-11 09:35:34

可視化工具圖形

2015-04-09 10:12:58

代碼審查工具減少編程錯(cuò)誤

2017-03-09 18:00:30

JavaScript代碼

2019-05-07 08:50:11

開源工具Kubernetes容器

2019-04-22 08:31:00

Docker容器工具

2016-02-18 09:51:01

工具PythonJavaScript

2020-07-30 13:17:26

瀏覽器測(cè)試工具網(wǎng)站兼容性

2025-08-22 09:34:10

2025-06-09 01:00:00

2025-04-29 10:04:41

JavaScripMap代碼

2021-01-08 09:00:00

開發(fā)工具技術(shù)

2016-03-29 14:54:36

2024-10-09 14:45:41

2023-10-10 16:20:38

JavaScript代碼技巧

2022-09-15 17:08:20

JavaScripWeb開發(fā)

2023-07-05 16:02:04

開發(fā)后端工具

2011-03-01 16:08:46

2019-03-12 09:51:13

開發(fā)工具 操作

2014-03-14 10:56:59

語法高亮代碼高亮
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)