解釋器是什么 能否用JS實(shí)現(xiàn)一個(gè)CSS解釋器?
能否用JS實(shí)現(xiàn)一個(gè)CSS解釋器?任何可以被JS重寫的東西都會被JS重寫,更不用說解析器了,它已經(jīng)被重復(fù)實(shí)現(xiàn)了n次。學(xué)習(xí)過編譯原理的學(xué)生都知道解析器的理論已經(jīng)非常成熟?,F(xiàn)成的模板可以用任何語言實(shí)現(xiàn)。更重
能否用JS實(shí)現(xiàn)一個(gè)CSS解釋器?
任何可以被JS重寫的東西都會被JS重寫,更不用說解析器了,它已經(jīng)被重復(fù)實(shí)現(xiàn)了n次。學(xué)習(xí)過編譯原理的學(xué)生都知道解析器的理論已經(jīng)非常成熟?,F(xiàn)成的模板可以用任何語言實(shí)現(xiàn)。更重要的是,JS
C語言實(shí)際上是一種相對“老”和“低級”的語言。其執(zhí)行效率僅次于匯編語言。
它之所以古老是因?yàn)镃語言出現(xiàn)得很早。
盡管FORTRAN和COBOL比C語言出現(xiàn)得早,但現(xiàn)代主流操作系統(tǒng)(windows、Mac OS、Linux、IOS、Android、Unix)都是從C語言中誕生的。
最根本的原因是C語言被設(shè)計(jì)用來同時(shí)編寫匯編語言。從理論上講,它可以用外匯來表示。匯編語言是最有效的語言。
所以Python是用C語言編寫的也就不足為奇了。它與能否生成exe無關(guān)。
Exe文件是Windows平臺的專用格式。最簡單的exe是com可執(zhí)行文件。EXE文件實(shí)際上由引導(dǎo)加載程序和解釋器組成。
由Python語言生成的代碼只能通過引導(dǎo)加載程序和解釋器作為EXE文件執(zhí)行。
因此Python生成EXE文件并不困難。只是它是否愿意提供的問題。
既然Python是用C實(shí)現(xiàn)的,那為什么Python不能直接生成exe呢?
我曾經(jīng)為微軟工作,我認(rèn)識了比爾·蓋茨。應(yīng)該說,在他的時(shí)代,他的編程能力是相當(dāng)不錯(cuò)的。一個(gè)可以在PC機(jī)上寫basic的商業(yè)翻譯是相當(dāng)不錯(cuò)的。最重要的是遠(yuǎn)見。我記得,反微軟陣營同時(shí)推出了兩個(gè)利器,一個(gè)是sun的Java,另一個(gè)是Oracle的網(wǎng)絡(luò)PC(沒有硬盤)。他說不能低估Java。微軟已經(jīng)有很多種語言,但是Java的“運(yùn)行時(shí)”已經(jīng)超越了語言的概念。這是一個(gè)具有無限擴(kuò)張可能性的生態(tài),我們必須認(rèn)真對待。而網(wǎng)絡(luò)PC純粹是自毀概念炒作,后來發(fā)生的事情,真的如他所說,不得不佩服。