2013-11-27 167 views
9

我很好奇一個人是否可以用另一種語言編碼。 我的意思不是命名不同語言的變量是這樣的:是否可以使用其他語言編寫java代碼?

String[] tableau = {"Janvier", "Fevrier"}; 
System.out.println(String[0].length); 

但更像

Chaîne[] tableau = {"Janvier", "Fevrier"}; 
Système.sortie.imprimeln(Chaîne[0].longueur); 

那是可行的,或者你需要編寫自己的法語或[插入語言]基於編碼語言?

+5

這將是一種不同的語言,雖然 - 雙關意圖 –

+0

有時夢想成真:),但有時不是這次 – ismail

+0

你不能*重命名現有的類型或Java源代碼中的標識符,但你可以使用Unicode(for更好或更壞)在你自己的類型和標識符中。但是,像這樣的美國人可能會使我聽起來:請使用英語(或至少是Unicode的ASCII子集)。 – user2864740

回答

6

如果您要使用Preprocessor來實現這一點 - 我相信它會很好地工作。 Java不附帶一個,但是C和C++都有(例如cpp) - 因此,您可以在構建鏈中添加一個步驟來執行預處理,然後在編譯之前將代碼翻譯爲「託管」英文Java。又例如,考慮語言CofeeScript;一種將自身翻譯成JavaScript的語言。所以,只要你的映射是一對一的,我相信答案是Oui

+0

我的意思是,當然'String'類型不會將名稱改爲法語,但是您肯定可以聲明自己的名爲'Chaîne'的類型?當然,Java處理UTF-8源文件? – Kaz

+0

@Kaz我相信OP的意圖是一般地本地化Java編程語言。至少OP要求具體關於本地化String類,其字段長度和System.out.println。 Java使用UTF-8字符串,我很確定構建(或可能是源代碼庫)系統的主機環境決定了源文件的區域設置。 –

+0

您可以通過預處理器獲得部分路徑,但是您是否要預處理Java附帶的所有軟件包中的每個標識符?我支持我的回答:「aucun」 – John3136

5

你可以寫你自己的前端,以「法國Java源代碼」到「英語的Java」(無論是字節碼或源)轉換爲基本語言,但你還是要和所有的問題圖書館和任何第三方工具,它們仍然是基於英語的。

0

Java語法應該用純英文寫成。 JVM將使用英語語法轉換爲字節碼。當然,您可以使用語言環境以其他語言顯示標籤和消息。

0

編程語言無需更改其庫標識符和內置關鍵字,從一種語言到另一種語言。

如果您使用Java編程,則可以使用UTF-8編碼源文件。

然後,您可以在自己的標識符中使用Unicode符號,如英語以外的其他語言的字符。

您可以命名自己的類型Chaîne;但字符串類型保持爲String,而關鍵字如ifforpublic保持英語。

嘗試了本地化語言關鍵字的概念。例如在晦澀的語言Protium中。 (如果所有線索都沒有停用,我會給出鏈接;但Rosetta Code有一些例子。)在Protium中,所有符號都由字符三字母組成,以創建半可讀的縮寫。例如,它在英文中這個代碼片段:

<@ SAI> 
    <@ ITEFORLI3>2121|2008| 
    <@ LETVARCAP>Christmas Day|25-Dec-<@ SAYVALFOR>...</@></@> 
     <@ TSTDOWVARLIT>Christmas Day|1</@> 
     <@ IFF> 
      <@ SAYCAP>Christmas Day <@ SAYVALFOR>...</@> is a Sunday</@><@ SAYKEY>__Newline</@> 
     </@> 
    </@> 
</@> 

現在的想法是,這些三字母,像LET VAR CAP,從而彌補了像LETVARCAP的標識,分別映射到其他語言的一些相應的三字母組合。或者,對於在其寫作系統中具有複雜字符(如中文或日文)的語言,也可能是單一的表意字符。

使它成爲你會的。

相關問題