2013-11-27 12 views
9

Tôi tò mò muốn biết một người có thể viết mã bằng ngôn ngữ khác hay không. Tôi KHÔNG có nghĩa là đặt tên các biến của bạn bằng các ngôn ngữ khác nhau như thế này:Có thể viết mã java bằng ngôn ngữ khác không?

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

Nhưng giống như

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

Có phải đó là doable hoặc bạn sẽ cần phải viết tiếng Pháp hoặc [ngôn ngữ chèn] của riêng bạn dựa ngôn ngữ mã hóa?

+5

Nó sẽ là một ngôn ngữ khác mặc dù - chơi chữ có ý định –

+0

Đôi khi giấc mơ trở thành sự thật :), nhưng đôi khi không phải lúc này – ismail

+0

Bạn không thể đổi tên * kiểu hiện tại hoặc mã định danh trong mã nguồn Java, nhưng bạn có thể sử dụng Unicode (cho tốt hơn hoặc tệ hơn) trong các loại và số nhận dạng * riêng của bạn.Tuy nhiên, vì người Mỹ có thể khiến tôi phát âm: hãy sử dụng tiếng Anh (hoặc ít nhất là tập con Unicode của ASCII). – user2864740

Trả lời

6

Nếu bạn sử dụng Preprocessor để thực hiện việc này - tôi tin rằng nó sẽ hoạt động hoàn hảo. Java không gửi cùng, nhưng C và C++ đã làm (ví dụ: cpp) - Vì vậy, bạn có thể thêm một bước trong chuỗi xây dựng của mình để thực hiện tiền xử lý và sau đó mã của bạn sẽ được dịch sang Java "được lưu trữ" trước khi được biên dịch. Ví dụ khác, hãy xem xét ngôn ngữ CofeeScript; một ngôn ngữ tự dịch sang JavaScript. Vì vậy, miễn là bản đồ của bạn là một cho một tương đương, tôi tin rằng câu trả lời là Oui.

+0

Tôi có nghĩa là tất nhiên loại 'Chuỗi' sẽ không thay đổi tên thành tiếng Pháp, nhưng chắc chắn bạn có thể khai báo kiểu của riêng bạn gọi là' Chaîne'? Chắc chắn Java xử lý các tệp nguồn UTF-8? – Kaz

+0

@Kaz Tôi tin rằng ý định của OP là bản địa hóa Ngôn ngữ lập trình Java nói chung. Ít nhất OP hỏi cụ thể về việc bản địa hóa lớp String, chiều dài trường và System.out.println của nó. Java sử dụng chuỗi UTF-8, tôi khá chắc chắn môi trường máy chủ của hệ thống xây dựng (hoặc có thể là kho lưu trữ nguồn) ra lệnh ngôn ngữ của các tệp nguồn. –

+0

Bạn có thể nhận được một phần cách với một bộ xử lý trước, nhưng bạn sẽ xử lý trước mỗi số nhận dạng trong tất cả các gói đi kèm với Java? Tôi đứng trước câu trả lời của tôi: "aucun" – John3136

5

số

Bạn có thể viết frontend của riêng bạn để chuyển đổi "nguồn Java Pháp" thành "tiếng Anh Java" (hoặc bytecode hoặc nguồn) cho ngôn ngữ cơ sở, nhưng bạn vẫn sẽ có vấn đề với tất cả các thư viện và bất kỳ công cụ của bên thứ ba nào vẫn sẽ là tiếng Anh.

0

Cú pháp Java phải được viết bằng tiếng Anh đơn giản. JVM sẽ sử dụng cú pháp tiếng Anh để chuyển đổi thành mã byte. Chắc chắn bạn có thể hiển thị nhãn, tin nhắn bằng các ngôn ngữ khác sử dụng Locale.

0

Ngôn ngữ lập trình không cần phải thay đổi số nhận dạng thư viện của chúng và từ khóa được tích hợp, từ ngôn ngữ này sang ngôn ngữ khác.

Nếu bạn đang lập trình bằng Java, bạn có thể sử dụng UTF-8 để mã hóa các tệp nguồn của mình.

Sau đó, bạn có thể sử dụng các ký hiệu Unicode như ký tự từ các ngôn ngữ khác ngoài tiếng Anh trong số nhận dạng của riêng bạn.

Bạn có thể đặt tên cho riêng mình Chaîne; nhưng loại Chuỗi vẫn là String và các từ khóa như if hoặc for hoặc public giữ nguyên tiếng Anh.

Khái niệm bản địa hoá từ khóa của ngôn ngữ đã được thử. Ví dụ trong ngôn ngữ tối nghĩa Protium. (Tôi muốn đưa ra một liên kết nếu tất cả các khách hàng tiềm năng không tồn tại; nhưng Rosetta Code có một số ví dụ.) Trong Protium, tất cả các ký hiệu đều được tạo thành từ các ký tự để tạo ra các từ viết tắt có thể đọc được. Ví dụ, đoạn mã này được trả lại bằng tiếng Anh:

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

Bây giờ ý tưởng là những trigraphs, như LET VAR CAP, mà tạo nên một định danh như LETVARCAP, bản đồ riêng lẻ cho một số trigraphs tương ứng trong ngôn ngữ khác. Hoặc có lẽ, trong trường hợp các ngôn ngữ có các ký tự phức tạp trong hệ thống chữ viết của họ như tiếng Trung hoặc tiếng Nhật, với một ký tự tượng hình duy nhất.

Làm cho nó theo ý bạn.

Các vấn đề liên quan