我剛剛注意到,在Ruby的維基百科頁面中,這種語言被定義爲解釋型語言。
我明白可能在我的背景中缺少某些東西。
我一直都知道不需要編譯器的解釋型語言和編譯型語言(需要在執行程序之前編譯)之間的區別,但是描述腳本語言的特徵是什麼?
Ruby可以定義爲腳本語言嗎?
謝謝你,原諒我黑掉Ruby是一種腳本語言還是一種解釋型語言?
回答
事情不只是黑色和白色。至少,他們也是大大小小,響亮而安靜,藍色和橙色,灰色和灰色,長與短,對與錯等。
解釋/編譯只是語言分類的一種方式,無論您是否將相同的語言稱爲「腳本語言」,它都完全獨立於(在無數其他事物中)。最糟糕的是,它也是一個破碎的分類:
- 解釋型/編譯依賴於語言的實現,而不是在語言(這不只是理論,確實有很多人會爲這兩個解釋器和編譯器幾種語言存在)
- 有一些語言實現(包括大多數Ruby實現),是編譯器,但「only」編譯爲字節碼並解釋該字節碼。
- 也有在解釋和編譯之間切換到本地代碼(JIT編譯器)的實現。
你看,現實是一個複雜的野獸;)如上所述,Ruby是經常編譯的。然後解釋該編譯的輸出,至少在某些情況下 - 還有JIT編譯的實現(Rubinius和IIRC JRuby在一段時間後編譯爲Java字節碼)。參考實現已經是很長一段時間的編譯器了,IIRC依然如此。那麼Ruby是解釋還是編譯?除非您定義它們,否則這兩個術語都沒有意義;)
但是回到問題:「腳本語言」也不是該語言的屬性,它取決於語言的使用方式 - 即語言是否被使用用於編寫腳本任務。如果您正在尋找定義,「Scripting language」上的維基百科頁面可能會有所幫助(只是不要讓它們將您與實現細節(如腳本通常會被解釋)的註釋混淆)。確實有一些使用Ruby進行腳本編寫任務的程序,並且毫無疑問有許多獨立的Ruby程序可能符合腳本(網頁抓取,系統管理等)。
所以是,我想可以調用Ruby一種腳本語言。當然,這並不意味着Rails Web應用上的ruby只是一個腳本。
那麼Java呢?我想我無法將其定義爲腳本語言是真的嗎?爲什麼?謝謝 –
@Guiseppe:很少有人使用Java進行腳本編寫,因此通常不會將其稱爲腳本語言。當然,如果某些應用程序確實使用Java進行腳本編寫,那麼Java在這種情況下確實可以作爲腳本語言。 – delnan
現在這是我在SE看到的最自命不凡的答案。他不想讓你教他生活,他只是對Ruby有個疑問...... – user832146
術語「腳本語言」是非常廣泛的,它可以包括解釋和編譯語言。尤其是Ruby,可能會根據我們使用的特定實現進行編譯或解釋 - 例如,JRuby被編譯爲字節碼,而CRuby(Ruby的參考實現)被解釋爲
是的。
詳細響應:
腳本語言通常用於控制通常不以這種語言編寫的應用程序。例如,shell腳本等可以調用任意控制檯應用程序。
Ruby是一種經常用於腳本編寫的通用動態語言。
您可以使用反斜線符號進行任意系統調用,如下所示。
`<system command>`
也有許多優秀的紅寶石的寶石,例如Watir和RAutomation自動化網絡和本地的GUI。請參閱here。
- 1. PHP是一種Web技術還是一種腳本語言?
- 2. Groovy和Groovy ++是兩種語言還是一種語言?
- 3. MSXML:JavaScript並不是一種腳本語言
- 4. Python是語言還是腳本語言?
- 5. Ruby是一種優雅的語言嗎?
- 6. PowerShell是一種強類型語言嗎?
- 7. 在一種語言的語音到另一種語言
- 8. php是編譯語言還是解釋語言?
- 9. ETL是解釋還是編譯語言
- 10. 尋找一種腳本語言
- 11. 是否解釋所有腳本語言?
- 12. 哪種標記語言?降價還是?
- 13. 如何用同一種語言實現一種語言比語言更快?
- 14. 將一種語言翻譯成另一種語言?
- 15. AJAX是一種獨立於Javascript的語言,還是JavaScript框架?
- 16. 這是什麼意思一種語言是LISP的一種方言?
- 17. Javascript是一種通用語言?
- 18. ObjC是一種「運行時語言」?
- 19. asp.net是一種編譯語言嗎?
- 20. bash是一種編程語言嗎?
- 21. R是一種編譯語言嗎?
- 22. AutoIt是一種編程語言?
- 23. Qt 4是一種編程語言嗎?
- 24. 這是一種編程語言嗎?
- 25. 是否有一種語言具有這種簡化的語法?
- 26. 如何將文本從一種語言翻譯成另一種語言android?
- 27. axis.date在另一種語言
- 28. 是R語言解釋?
- 29. 兩種語言
- 30. 幾種語言
可能的重複[是否Ruby真的是一種解釋語言,如果它的所有實現都編譯成字節碼?](http://stackoverflow.com/questions/717490/is-ruby-really-an-interpreted-language-if -all-of-its-implement-are-compile) – nawfal