Lập trình như thế nào trong tiếng Nhật? [đóng cửa]


28

Là mã được viết bằng tiếng Nhật? Tên tập tin bằng tiếng Anh? Điều gì giống như một bộ tiền xử lý C? Có còn bằng tiếng Anh không? Là những bình luận bằng tiếng Nhật?

Ví dụ sẽ là tốt đẹp.


7
Giống như lập trình bằng tiếng Tây Ban Nha / Bồ Đào Nha / bất cứ điều gì, mã phải luôn được viết bằng tiếng Anh.

1
@ M28 Có một chút khác biệt khi bạn phải sử dụng bảng chữ cái nước ngoài. Cố gắng viết một ứng dụng hello world đơn giản bằng bảng chữ cái Hy Lạp cho tất cả các từ khóa.
biziclop

3
@ M28: Vì tò mò: có ngôn ngữ lập trình nào được thiết kế cho các ký tự ngoài bảng chữ cái Latin không? Và nếu trình biên dịch cho phép mã hóa ngoài ASCII, tôi đoán thậm chí Java có thể được viết bằng tất cả các ký hiệu bằng tiếng Nhật, ngoại trừ từ khóa ngôn ngữ ...
FrustratedWithFormsDesigner

2
@Frustrated: [Whitespace] ( en.wikipedia.org/wiki/Whitespace_(programming_lingu) xuất hiện trong tâm trí.
Josh K

Câu trả lời:


21

Là một người đã lập trình ở Nhật Bản. Tôi có thể thành thật nói rằng tôi đã thấy mã dưới mọi hình thức. Hầu hết các mã sạch hơn mà tôi đã thấy được dự định chỉ được hỗ trợ bởi các lập trình viên Nhật Bản có tất cả các ý kiến ​​và tài liệu bằng tiếng Nhật.

Đối với một số mã khủng khiếp mà tôi đã thấy, tôi nhớ đã thấy mã Java và (tôi tin) mã VB thực sự sử dụng kanji hoặc katakana cho các tên biến.

Điều đó sang một bên, mã có xu hướng trông như thế này

/**
 * これはクラスのコメント
 */
public class FooClass implements Fooable {

    /**
     * オブジェクトのインスタンスを作成する
     */
    public FooClass() {

    }

    ...
}

Đối với một tiền xử lý C, tôi không có ý tưởng.


Một bộ tiền xử lý có thể được sử dụng để dịch từ khóa ngôn ngữ sang các ngôn ngữ khác.
Thất vọngWithFormsDesigner

4
Vì vậy, "Foo" là một từ tiếng Anh thực tế như "BankClass" hoặc được La Mã hóa?
Zeno

2
Giống như, họ sẽ gọi FooClass BankClasshay GinkouKurasu?
Panzercrisis

1
Tôi biết, nhưng trong thế giới thực, họ sẽ nghiêng về sử dụng hơn Bankhay Ginkou?
Panzercrisis

3
@Panzercrisis, điều đó phụ thuộc vào ý tưởng và chính sách của nhà phát triển hoặc nhóm. Như tôi đã đề cập trong câu trả lời của mình, mã của vợ tôi có xu hướng sử dụng các từ tiếng Anh trong khai báo, nhưng cô ấy có thể sử dụng các từ khác với cách tôi thường diễn giải chúng. Tôi không nghĩ có một mẫu nào chiếm ưu thế. Nhưng tôi cá rằng một nhà phát triển chỉ quen thuộc với từ tiếng Nhật cho một khái niệm sẽ sử dụng từ đó thay vì dùng từ điển.
JasonTrue

9

Trong thực tế, hầu hết các ngôn ngữ lập trình sử dụng tích cực bên ngoài Hoa Kỳ đều sử dụng các từ khóa giống với tiếng Anh, nhưng điều quan trọng là phải nhận ra rằng đối với hầu hết những người trong chúng ta viết mã là người nói tiếng Anh bản địa cũng không thực sự viết bằng "tiếng Anh" .

Có một vài chục ngôn ngữ thực sự hỗ trợ các từ khóa không thuộc ASCII và những ngôn ngữ này thường được thiết kế để giảm ma sát nhận thức cho những người không nói tiếng Anh đang cố gắng học lập trình.

Ngoài ra, một số triển khai cũ hơn của các ngôn ngữ dịch mã thành mã thông báo (không phải là biên dịch đúng), có thể tạo ra cùng một mã trong trình chỉnh sửa bằng cách sử dụng, tương đương với tiếng Đức; trải nghiệm đầu tiên của tôi với VBA của Microsoft Office là như thế này khi tôi còn là một sinh viên ở Đức.

Nhiều ngôn ngữ lập trình giống như tiếng Anh, bao gồm C #, Java và các ngôn ngữ khác, hiện cho phép tên biến và tên phương thức bằng tiếng Nhật, miễn là mã nguồn được mã hóa bằng UTF-8 hoặc mã hóa phù hợp khác. Tuy nhiên, thông thường không có bình luận bằng tiếng Nhật bằng C, trừ khi bạn đang sử dụng trình biên dịch hỗ trợ Shift-JIS hoặc Unicode. Các chuỗi ký tự trong C hầu như luôn được thoát bằng phương thức mã hóa bằng chữ trừ khi bạn có định dạng tệp tài nguyên bên ngoài để làm việc, như trong Visual Studio.

Trong thực tế, nhiều chương trình được viết bởi các đội Nhật Bản không mong muốn bảo trì bên ngoài Nhật Bản được viết bằng các bình luận hoặc javadoc / docstrings / vv. bằng tiếng Nhật. Vợ tôi thường viết mã bằng một loại tiếng Anh giống tiếng Nhật, sử dụng các thuật ngữ không nhất thiết phải phù hợp với cách sử dụng hoặc hiểu tiếng Anh của tôi ("đăng ký" cho "bài" hoặc "câu chuyện", register_date cho ngày xuất bản) và thỉnh thoảng bình luận bằng tiếng Nhật hoặc Janglish.

Hầu hết các chương trình có cộng đồng quốc tế xung quanh họ, bắt nguồn từ Nhật Bản, sử dụng một số hình thức quy ước đặt tên tiếng Anh. Xem, ví dụ, mã nguồn của Matz cho ruby.


Điều gì xảy ra nếu dự án không biết liệu họ có phát hành nguồn bên ngoài Nhật Bản không? Giống như một trò chơi video được phát triển ở Nhật Bản. Đôi khi họ không biết liệu một nhà xuất bản tiếng Anh có muốn phát hành trò chơi nói ở Mỹ không.
Zeno

@Zeno - Đó là chuỗi ký tự quốc tế hóa mà người dùng sẽ thấy. Điều đó rất quan trọng để làm ngay cả khi mã dành cho người nói tiếng Anh. Nhận xét & tên biến và ngôn ngữ nội bộ không thực sự tương quan trừ khi mã sẽ được phát hành dưới dạng API.
G__

Không thực sự, thường thì các trò chơi video được xuất bản bên ngoài Nhật Bản sẽ bao gồm nhiều tính năng hơn nên mã cũng được thay đổi trực tiếp. Giống như Final Fantasy VII bao gồm những con trùm mới (Ruby WEAPON) trong phiên bản Mỹ nhưng không phải phiên bản tiếng Nhật.
Zeno

Là những tính năng mới phụ thuộc vào ngôn ngữ? Có gì khác biệt so với việc tiếp thị một bộ tính năng khác ở Tokyo so với ở Nagoya?
G__

Giống như ở Mỹ, đôi khi mọi người đưa ra giả định rằng ứng dụng của họ sẽ không bao giờ được sử dụng bên ngoài quốc gia của họ và đôi khi dẫn đến thay đổi mã là cần thiết để phát hành cho các thị trường khác. Nhưng các ý kiến ​​hiếm khi cần phải được viết lại cho các quá trình bản địa hóa nếu các phương pháp hiện đại hóa quốc tế hóa được sử dụng, bởi vì mã thường không được các nhà bản địa hóa chạm vào.
JasonTrue
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.