Làm thế nào để ngôn ngữ lập trình được hưởng lợi từ việc dựa trên tiếng Anh? [đóng cửa]


14

Tôi nghĩ rằng thế giới bây giờ các chương trình bằng ngôn ngữ lập trình dựa trên tiếng Anh không chỉ vì hoàn cảnh lịch sử / kinh tế, mà bởi vì hình thái tiếng Anh nói riêng có một số tính chất phù hợp nhất với tư duy thuật toán. Nhưng dù sao cũng sẽ rất thú vị khi nghe ý kiến ​​của bạn về điều này, đặc biệt nếu bạn là người đa ngôn ngữ.

Tôi đã thấy một số đề cập đến các ngôn ngữ gốc Đức (ví dụ, xem Plankalkul, trên thực tế là ngôn ngữ lập trình đầu tiên mà chúng ta biết rất ít, nhờ WW2), cũng là một hương vị Algol có nguồn gốc từ Nga tồn tại từ những năm 80 ít nhất trên giấy, không chắc nó có tồn tại ở dạng nhị phân hay không. Cả hai trông hơi chậm chạp vì có nhiều từ rút gọn và viết tắt kỳ lạ hơn các từ đầy đủ như trong các ngôn ngữ dựa trên EN. Vì vậy, nếu bạn biết về bất kỳ PL dựa trên ngôn ngữ quốc gia nào khác, thậm chí hoàn toàn cổ xưa và không liên quan ngày nay, hoàn toàn là lý thuyết hoặc bất cứ điều gì, sẽ rất thú vị khi xem xét chúng.

Và trở lại câu hỏi chính: vậy, nếu có, điều gì làm cho ngôn ngữ của Shakespeare trở nên tốt cho lập trình?

(Có thực sự là một danh sách các ngôn ngữ lập trình không dựa trên tiếng Anh trên Wikipedia (tất nhiên, nơi nào khác?), Nhưng nó sẽ là thú vị khi nghe ý kiến của người bản ngữ trong những ngôn ngữ trên như thế nào cho "quốc gia" ngôn ngữ thực sự cảm thấy lập trình giống.)


3
@Michael: Anh ấy nói "Tôi nghĩ". Anh ấy bày tỏ ý kiến ​​của riêng mình. Bạn có thể hỏi làm thế nào anh ấy đưa ra ý kiến ​​đó, nhưng tôi không nghĩ anh ấy cần trích dẫn một nguồn. Chúng ta có thể nói với anh ấy rằng nếu anh ấy nói đó là ý kiến ​​của anh ấy, thì đó là ý kiến ​​của anh ấy. Ngoài ra, anh ta không nói KHÔNG có hoàn cảnh lịch sử hay kinh tế nào, chỉ có điều anh ta tin rằng đây không phải là những yếu tố duy nhất và anh ta quan tâm nhiều hơn đến việc thảo luận về những người khác.
HedgeMage

1
@Michael: bạn nói "Máy tính được phát minh và thiết lập chủ yếu ở các nước nói tiếng Anh", bây giờ đó là hoàn cảnh lịch sử / kinh tế. Ví dụ, chúng ta có thể đưa ra cuộc cách mạng công nghiệp vào thế kỷ 19 ở Anh (và cả đế chế thực sự), hoặc "chảy máu chất xám" trong / sau WW2 sang Mỹ, hoặc Hoa Kỳ có thể bị thiệt hại ít nhất trong WW2 các nước công nghiệp, v.v.
mojuba

3
Dù là ngôn ngữ nào thì về mặt ngữ pháp cũng phải trung tính về giới tính.
JeffO

1
@Jeff O: hoàn toàn, và không chỉ giới tính. Về cơ bản, tất cả các động từ của bạn phải ở trạng thái trung lập, bởi vì nếu không, cuối cùng bạn sẽ suy nghĩ ở dạng chính xác (căng thẳng, giới tính, v.v.) thì "làm" trong "trong khi ... làm ..." của bạn. Hình thái của động từ trong tiếng Anh rất thoải mái so với nhiều ngôn ngữ châu Âu khác mà tôi nghĩ rằng, trong số những thứ khác, điều gì làm cho tiếng Anh rất tốt cho lập trình.
mojuba

2
Chúng tôi cũng có thể hỏi tại sao tiếng Ý cung cấp các từ khóa cho âm nhạc, trong khi chúng tôi ở đó. Có thể có một số hiểu biết ở đó.
David Thornley

Câu trả lời:


17

Disclaimer: Ngôn ngữ mẹ đẻ của tôi là tiếng Đức.

Tôi không nghĩ có bất kỳ lý do nào tiếng Anh là ngôn ngữ để lấy từ khóa sẽ tốt hơn bất kỳ ngôn ngữ tự nhiên nào khác. Tôi nghĩ rằng đó là ngôn ngữ quan trọng nhất trong CNTT, nhưng không phải vì thuộc tính ngôn ngữ, mà bởi vì hầu hết những người làm công nghệ nói ở một mức độ nào đó, đó là sự trả thù bản địa của khá nhiều người quan trọng trong lĩnh vực này, hầu hết các thuật ngữ liên quan đến công nghệ đã là tiếng anh, v.v.

Nhưng vì chúng ta nói về ngôn ngữ lập trình, không phải về tài liệu / API / tên / v.v., tôi phải phản đối: Ngôn ngữ lập trình không dựa trên tiếng Anh - hoặc bất kỳ ngôn ngữ tự nhiên nào khác, cho vấn đề đó. Ngôn ngữ lập trình là ngôn ngữ chính thức. Họ sử dụng, ở mức độ khác nhau, một số ít từ (thường) tiếng Anh. Một số thậm chí cố gắng bắt chước ngữ pháp của nó - nhưng hoàn toàn không đọc được như tiếng Anh. Để thêm sự xúc phạm đến thương tích, họ chỉ liên kết một (trong trường hợp hiếm hoi là một số ít) ý nghĩa với mỗi từ họ mượn. Thông thường, ý nghĩa này là rất biệt ngữ, chuyên ngành, hoặc dựa trên một sự tương tự nghi vấn. Do đó, việc biết vô số ý nghĩa ngôn ngữ tự nhiên của một từ được mượn bởi ngôn ngữ lập trình không thực sự giúp hiểu được khái niệm lập trình đằng sau từ khóa. Ví dụ ra khỏi đỉnh đầu của tôi: array,type, goto, class, void. (Fun thực tế là bung trong tâm trí khi tôi đọc lại câu hỏi: Tất cả trong số này, ngoại trừ goto, có bản dịch Đức mà hầu như đều có một ký tự còn: Feld, Typ, Klasse, Leere. Tất cả họ đều âm thanh lạ với tôi, nhưng điều đó có thể là một vấn đề của thói quen .)


2
Lớp loại có nghĩa là gì trong tiếng Anh. Một "lớp" định nghĩa một Loại, đó là một "lớp đối tượng." Bạn có thể nói rằng tất cả các giá trị Int hoặc tất cả các bản ghi Person là của một lớp vì chúng có chung các tính năng nhất định. Tuy nhiên, hầu hết các lập trình viên giống như C không nghĩ theo thuật ngữ phân loại, vì vậy "lớp" chỉ có nghĩa là "bản thiết kế đối tượng" đối với họ.
CodexArcanum

7
Tiếng Anh của bạn rất tuyệt vời
Allen

Là một người Đức, tôi phải nói rằng tôi hoàn toàn đồng ý với bạn. Tôi nghĩ, thứ lý do emain được, như bạn đã đề cập, rằng tiếng Anh là những ngôn ngữ trong CNTT-thế giới. Mọi người từ khắp nơi trên thế giới nói chuyện, thảo luận và lập trình bằng tiếng Anh mỗi ngày - và vì vậy hầu như mọi bài viết liên quan đều được xuất bản lần đầu bằng tiếng Anh. Áp dụng tương tự cho sách. Thêm vào đó, hầu hết các cuốn sách được dịch sang tiếng Đức đều đọc sai. Một số cụm từ và từ khóa được dịch. Điều đó hoàn toàn giết chết dòng chảy .
mhr

Tôi hoàn toàn đồng ý rằng cố gắng biến ngữ pháp tiếng Anh thành ngôn ngữ lập trình là một sai lầm hoàn toàn. Tôi không đồng ý với "ý nghĩa này là rất kỳ quặc, chuyên biệt". Là một người nói tiếng Anh bản địa, việc mô tả các khái niệm tương tự như các thuật ngữ đã có từ trước là điển hình của giao tiếp hàng ngày. Tiếng Anh như một ngôn ngữ chỉ được giải thích một cách lỏng lẻo và nói chung là rất cụ thể theo ngữ cảnh. Đối với tương đương của Đức, nó không phải là một bất ngờ lớn. Tiếng Anh mượn phần lớn cấu trúc của nó từ tiếng Đức và rất nhiều từ vựng từ các ngôn ngữ khác. Nó giống như 'thịt bí ẩn' của ngôn ngữ tự nhiên.
Evan Plaice

@EvanPlaice Vâng, thật đáng tranh luận là những thứ này thực sự không tự nhiên như thế nào. Rõ ràng có một số công đức đối với họ, nếu không họ sẽ bị bãi bỏ từ lâu. Tôi không thể đánh giá nếu họ thường giúp người nói tiếng Anh bản địa, tôi chỉ biết rằng tương đương (chọn bản dịch gần nhất, sau đó xây dựng các tương tự tương tự với bản dịch đó) có xu hướng xây dựng các liên kết sai trong não của học sinh. Bản dịch lại: Có, không có gì ngạc nhiên khi có những từ tương tự; Tôi đã nhắm đến "có nhiều từ rút gọn và viết tắt kỳ lạ hơn từ đầy đủ" của câu hỏi.

8

Tiếng Anh là ngôn ngữ lập trình ngôn ngữ chung.

Từ cùng một bài viết:

Không có gì khác hơn là các tin tặc tuyệt vời cùng nhau nhận ra rằng việc bám sát tiếng Anh để thảo luận về kỹ thuật giúp việc hoàn thành công việc trở nên dễ dàng hơn.


9
lingua franca - một cụm từ tiếng Latin mà (ngày nay) có nghĩa là tiếng Pháp. Nhưng chúng tôi sử dụng nó để có nghĩa là tiếng Anh.

6
@Graham Lee: Trớ trêu thay, đó là cụm từ có nghĩa (như một thuật ngữ tiếng Anh mượn) "một ngôn ngữ phổ biến được sử dụng bởi những người có nguồn gốc khác nhau để giao tiếp với nhau."
greyfade

Tại sao tiếng Ý là ngôn ngữ của ký hiệu âm nhạc hay tiếng Latin là âm nhạc của Khoa học? Đối với công nghệ, đó là tiếng Anh. Với sự chấp nhận của quốc tế với tư cách là 'ngôn ngữ chung', không thể tránh khỏi việc tiếng Anh sẽ có vốn từ vựng đặc thù về công nghệ rộng lớn nhất. Một vốn từ vựng phong phú là điều cần thiết để giao tiếp hiệu quả (và phổ quát), vì vậy mọi người sẵn sàng chấp nhận ngôn ngữ này.
Evan Plaice

5

Ngôn ngữ tiếng Anh thuận lợi vì:

  1. Phù hợp hơn với các hạn chế của các thiết bị ngoại vi hiện tại.

Dễ loại. Bạn có thể sử dụng bàn phím tiêu chuẩn. Tôi biết âm thanh này giống như "llama dung", nhưng bạn đã thử gõ tiếng Trung chưa? Có 1000 ký tự và vì tiếng Trung không có kỹ thuật xây dựng "nhân vật" phù hợp để phù hợp với khái niệm bàn phím, nên sẽ không dễ học đối với khán giả toàn cầu.

  1. Có thể biến thành những từ không thể nhận ra như nhau. Tiếng Anh ủng hộ viết tắt do thiếu các ký hiệu trọng âm.

Các từ tiếng Anh rút gọn là các ký hiệu dễ nhận biết. Người ta không phải học toàn bộ ngôn ngữ tiếng Anh để viết mã, do đó những người bên ngoài ngôn ngữ có thể học nhanh.

  1. Và xem xét rằng các ngôn ngữ lập trình phổ biến có nhiều ký hiệu toán học và ít từ hơn.

Hội sử dụng những từ nhỏ không có cấu trúc câu. Sau đó, đến các ngôn ngữ, như COBOL và FORTRAN, đã cố gắng điều chỉnh cấu trúc câu tiếng Anh càng nhiều càng tốt. Các ngôn ngữ mới hơn thực hiện sự phụ thuộc nhiều hơn vào các biểu tượng đại số phổ quát, bởi vì chúng có khả năng dự đoán tốt hơn. (Trong COBOL Thêm X vào Y, trừ Y từ X, Tính Y = X + A; Tính toán làm cho các câu lệnh trước không cần thiết và giảm độ phức tạp phân tích ngôn ngữ). Tôi sẽ không mất nhiều thời gian hơn để coi các ngôn ngữ như C ++ mang tính biểu tượng hơn ngôn ngữ. Có một chút trở lại với lập trình dựa trên từ với C #, nhưng điều đó chủ yếu là để hỗ trợ cho các mẫu lập trình phổ biến.

Phần kết luận:

Cuối cùng, các thiết bị ngoại vi giới hạn trong một ngôn ngữ dựa trên ký tự (như tiếng Anh). Ngoài ra, các ngôn ngữ phương tây hỗ trợ tốt hơn cho các khái niệm toán học (như khái niệm 0, trong số các ngôn ngữ khác; Trung Quốc mượn các chữ số thay cho biểu diễn các giá trị số của chúng, để truyền đạt số tốt hơn, vì viết ngắn hơn (trung bình)). Khác với các giá trị số, tôi sẽ thấy các ngôn ngữ dựa trên biểu tượng (tiếng Trung Quốc) phù hợp hơn với hình thái ngôn ngữ lập trình so với tiếng Anh, vì hầu hết các ngôn ngữ hiện đại đã sử dụng các ký hiệu và nó sẽ tương đương với việc học. Tuy nhiên, chúng ta phải áp đặt cấu trúc giống như C ++, có các khối biểu tượng sẽ không dễ đọc đối với hầu hết mọi người trên thế giới.


4
Người ta không phải học toàn bộ ngôn ngữ tiếng Anh để viết mã, do đó những người bên ngoài ngôn ngữ có thể học nhanh - không có vẻ là một cuộc tranh luận tốt: trong khoa học y tế có rất nhiều từ tiếng Latin và bạn không cần biết tiếng Latin để học ngành y.
mojuba

2
Những gì bạn nói về tiếng Trung là sai. Tiếng Trung có thể được nhập bằng một bàn phím tiêu chuẩn.
Grokus

2
@mojuba Không phải ý tôi. Điều tôi muốn nói là tiếng Anh rất giỏi trong việc viết tắt các từ, MOV, cpystr, v.v. Trong khi đó bạn có rất nhiều chỗ để rút ngắn các từ tiếng Anh và truyền đạt cùng một nghĩa. Tôi không có ý nói rằng các ngành nghề khác không kết hợp các từ từ các ngôn ngữ khác, tôi muốn nói rằng cú pháp chương trình từ được kết hợp có thể dễ dàng đơn giản hóa thành các mã thông báo.
Lee Louviere

@grokus Trừ khi bạn có nghĩa là PinYin, bạn không thể trực tiếp gõ tiếng Trung. Bạn phải sử dụng tổ hợp phím hoặc sử dụng PinYin và chọn biểu tượng khớp gần nhất. Dù bằng cách nào, bạn phải kết hợp một quy trình lựa chọn vì bàn phím tiêu chuẩn không hỗ trợ bốn âm tiếng Trung. UNLESS bạn sửa đổi bàn phím tiêu chuẩn, do đó vi phạm các yêu cầu.
Lee Louviere

-1, 0 không phải là một khái niệm phương Tây (đầu tiên ở Trung Đông), hội không sử dụng từ nào cả (thường dựa trên tên dòng / đăng ký và các lệnh 3-5 ký tự thay cho 0x86 là LDA), cấu trúc tiếng Anh giết chết lập trình bởi vì tiếng Anh có một trong những cấu trúc tồi tệ nhất trong các ngôn ngữ "phương Tây". Những từ không "dễ nhận biết" là một ý tưởng cụ thể của địa phương và chủ đề và có thể tệ như một bộ từ "không phải tiếng Anh" để hiểu. Tất cả các ngôn ngữ đều mang tính biểu tượng, đó là một phần trong cách bạn biến chúng thành ngôn ngữ chính thức: int đại diện cho Số nguyên, Double đại diện cho số float chính xác gấp đôi ...
Jeff Langemeier

5

Lý do duy nhất mà tiếng Anh được sử dụng rộng rãi trong điện toán là nó là ngôn ngữ phổ biến rộng rãi ngay bây giờ.

Nếu máy tính được phát minh ra 2000 năm trước, chúng sẽ sử dụng tiếng Hy Lạp. Nếu chúng được phát minh ra 200 năm trước, chúng sẽ sử dụng tiếng Pháp. Nếu họ được phát minh trong 200 năm, họ có thể sẽ sử dụng tiếng Trung ...


3

Dưới đây là một số lợi ích cho một ngôn ngữ lập trình giả định sẽ có nếu nó chỉ giả định bảng chữ cái tiếng Anh - Latin.

  1. Đó là một bộ ký tự nhỏ (không giống như Kanji)
  2. Không thường sử dụng dấu phụ (không giống như tiếng Pháp, tiếng Tây Ban Nha, tiếng Đức, v.v.)
  3. Mọi chữ hoa đều có chữ thường (không giống như Eszett của Đức)
  4. Đối chiếu của nó là thẳng về phía trước

Tất cả những điều này là những vấn đề vẫn chưa được giải quyết đúng đắn trên tất cả các thiết bị. Ví dụ: Tên bài hát có dấu phụ không hiển thị chính xác trên một số trình phát nhạc


5
Tôi tự hỏi nếu máy tính đã được phát minh ở Trung Quốc, chúng tôi sẽ tranh luận về việc bất cứ ai cũng có thể viết mã không phải là tiếng Trung Quốc bởi vì tất cả các ký tự cho phép đặt tên ngắn hơn.
CodexArcanum

3
Tôi không đồng ý. Bảng chữ cái Hy Lạp, ví dụ, là nhỏ; dấu phụ có thể đã được loại bỏ để lập trình cụ thể, tương tự đối với ß Đức; đối chiếu ngày nay được chuẩn hóa, tức là được đưa đến một số dạng "đơn giản" để tính toán / cơ sở dữ liệu, vv trong hầu hết tất cả các ngôn ngữ hiện có. Giống như các bài viết "the" và "a" tiếng Anh về cơ bản không được sử dụng hoặc tránh trong điện toán, bất kỳ ngôn ngữ nào khác cũng có thể trải qua một số tối ưu hóa.
mojuba

3
Tôi không thấy chữ hoa và chữ thường có liên quan nhiều đến ngôn ngữ lập trình.
David Thornley

1
@David Thornley ah nhưng với trình biên dịch chương trình là dữ liệu.
Conrad Frix

1
@Ingo Tôi không chắc ý của bạn là gì. Ví dụ giả sử tôi sử dụng một biến có tên étudiant. Với unicode, chữ cái đầu tiên có thể được thể hiện bằng U+00E9 LATIN SMALL LETTER E WITH ACUTEhoặc nó có thể được etheo sau U+0301 COMBINING ACUTE ACCENT. Nếu bạn là người viết trình biên dịch cho một trong những ngôn ngữ này, bạn có muốn hỗ trợ đặt tên biến như thế này không? Làm thế nào chính xác bạn sẽ xử lý hai biến trong cùng một phạm vi được đặt tên \u00e9tudiante\u0301tudiant?
Conrad Frix

2

Tôi không chắc chắn rằng bản thân các ngôn ngữ lập trình được hưởng lợi từ việc dựa trên tiếng Anh. Giải thích:

  • Tên của một phương thức, biến, đối tượng, v.v. không quan trọng đối với máy tính
  • Nội dung của một bình luận không quan trọng đối với máy tính
  • Logic của lập trình có thể biểu hiện bằng hầu hết các ngôn ngữ nói (và tôi giả sử TẤT CẢ).

Vì vậy, nếu tiếng Anh có lợi cho ngôn ngữ lập trình, thì nó sẽ giúp cho nhiều người sử dụng ngôn ngữ lập trình hơn. Về vấn đề này, đây là một vài suy nghĩ:

  • Nhiều người ở nước ngoài học tiếng Anh dù muốn hay không muốn lập trình
  • Những người thiết kế một ngôn ngữ máy tính và muốn nhiều người sử dụng nó thường sẽ chọn ngôn ngữ nói nổi tiếng nhất để mô tả nó.

Tóm tắt những suy nghĩ này, tôi không nghĩ tiếng Anh thực sự giúp lập trình các ngôn ngữ theo bất kỳ cách quan trọng nào mà hầu hết các ngôn ngữ khác có thể cung cấp - ngoài việc nhiều người nói nó.


Thật thú vị khi bạn đề cập đến ý kiến; Tôi đã làm việc cho một công ty có trụ sở tại Nhật Bản, nơi tất cả các tệp C được lưu trữ bằng Unicode vì các bình luận đều bằng tiếng Nhật.
Đánh dấu Avenius

1

Theo tôi, tiếng Anh đơn giản là có vốn từ vựng về kỹ thuật và toán học phong phú hơn nhiều ngôn ngữ khác (nhưng không phải tất cả). Các ngôn ngữ thiếu từ vựng như vậy sử dụng các từ mượn tiếng Anh để hoàn thành công việc. Đây là một lý do thuyết phục để định hướng ngôn ngữ lập trình sang tiếng Anh.

Về các ngôn ngữ có vốn từ vựng đủ phong phú để mô tả mọi thứ chúng ta cần mô tả mà không cần dùng đến từ mượn tiếng Anh, truyền thống tiếng Anh là ngôn ngữ chung của ngôn ngữ học rất hấp dẫn, nhưng bảng chữ cái của chúng ta mang lại cho chúng ta một chân nhỏ khác lên:

  • Tiếng Anh có thể được biểu diễn trong một bộ ký tự nhỏ hơn, ví dụ, các ngôn ngữ Trung Quốc, Nhật Bản, Cyrillic hoặc thậm chí là Lãng mạn sử dụng các ký tự Latinh có dấu.
  • Bảng chữ cái tiếng Anh, phần lớn là do thiếu hoàn toàn các ký tự có dấu, rất rõ ràng. Chúng tôi có đủ lỗi do dấu ngoặc không khớp hoặc dấu chấm phẩy bị thiếu, sẽ thật ngu ngốc khi thêm các vấn đề khó hiểu giữa 'ē', '' và 'ě'.

3
Vốn từ vựng kỹ thuật tiếng Anh rất phong phú vì điện toán chủ yếu được phát triển ở các nước nói EN, chứ không phải theo cách khác. Loại vấn đề trứng gà thực sự;) Đối với các nhân vật có dấu, điểm thú vị thực sự.
mojuba

@mojuba tôi không đồng ý. Vốn từ vựng kỹ thuật tiếng Anh rất phong phú vì các công nghệ mà máy tính có từ lâu đời chủ yếu được phát triển bằng tiếng Anh. Những công nghệ này được phát triển bằng tiếng Anh vì lý do chủ yếu là kinh tế, nhưng vào thời điểm máy tính ra đời, ngôn ngữ tiếng Anh đã sẵn sàng và sẵn sàng.
HedgeMage

2
Pulchra est lingua Latina! ("Ngôn ngữ Latinh rất đẹp!") Tôi thực sự nói tiếng Latin cổ điển và đã rất vui khi sử dụng nó trong mã của mình. Thật không may, nó liên tục bị treo trên rìa của một ngôn ngữ chết, vì vậy việc sử dụng ngôn ngữ lập trình là không thực tế. (Mặc dù, bây giờ tôi muốn thiết kế một thứ chỉ để giải trí.) Rất nhiều công nghệ tốt đến từ những người không nói tiếng Anh, nhưng không đủ từ một ngôn ngữ để phù hợp với vốn từ vựng phong phú do tiếng Anh cung cấp trong bất kỳ ngôn ngữ nào cũng đáp ứng yếu tố khác tôi đã đề cập: một bảng chữ cái nhỏ, rõ ràng.
HedgeMage

1
.... Ưu điểm chính của tiếng Anh là nó cung cấp rất nhiều thì phức tạp có thể mô tả tốt các khái niệm trừu tượng, rất hữu ích.
whatsisname

5
Ngôn ngữ tiếng Anh rất phong phú vì thói quen nghiền ngẫm các ngôn ngữ khác trong các con hẻm tối và đánh cắp tất cả các từ hữu ích của chúng. Nó không phải là một nguồn từ cho vay như là một thị trường của các từ.
David Thornley

1

Đối với một số thú vị đọc về bối cảnh của ngôn ngữ và làm thế nào chúng ta kết thúc việc tìm kiếm:

Những thứ suy nghĩ của Steven Pinker

Hãy nhớ rằng, chúng ta đang nói về cấu trúc ngôn ngữ, không phải cách chúng ta truyền đạt thông tin (không phải là cùng một ngôn ngữ), tôi đã làm việc với mã trong đó ngôn ngữ chính cho các biến đều bằng tiếng Đức (mã không dễ hiểu ). Tiếng Anh vốn dĩ không có bất cứ thứ gì phù hợp hơn với lập trình, nếu chúng ta trực tiếp nói về cách ngôn ngữ của chúng ta được cấu trúc thì có lẽ tệ hơn là không tốt hơn, và điều này có thể thực sự vì nhiều lý do:

  1. Thiếu cấu trúc (chúng ta có thể đặt chủ ngữ / vị ngữ / danh từ / tính từ bất cứ nơi nào chúng ta muốn),
  2. Khả năng thay đổi từ ngữ của chúng tôi (chúng tôi cảm thấy như chúng tôi có thể viết tắt BẤT CỨ NƠI NÀO)
  3. BIG ONE: Một người biết tiếng Anh lưu loát sẽ không hiểu rõ hơn về một phần của mã so với người không hiểu tiếng Anh.

Hỏi lý do tại sao các ngôn ngữ lập trình sử dụng "tiếng Anh" giống như hỏi tại sao bảng tuần hoàn vẫn có chữ 'W' xác định Vonfram, hầu hết mọi người không thể cho bạn biết lý do tại sao trừ khi họ biết lịch sử. Và nếu bạn muốn lịch sử của các ngôn ngữ lập trình, chúng ta nên quay lại các thẻ đục lỗ, hướng dẫn byte và lắp ráp.

Hội không có cấu trúc "tiếng Anh" chính nhưng nó gần đến mức bạn có thể lấy mã máy mà không ghét chính mình. Hơn nữa, tất cả các yếu tố cấu trúc của các ngôn ngữ cấp cao hơn có thể và thường xuyên được thực hiện bởi những người trong chúng ta đủ điên rồ để thưởng thức nó. LD, MV, ST, BRA và phần còn lại của bộ hướng dẫn trông không giống tiếng Anh, nhưng tôi có thể đọc nó một cách hoàn hảo và có nghĩa đầy đủ.

Chúng tôi gán cùng một ý nghĩa của LD hoặc MV khi lắp ráp cho các cấu trúc cấp cao hơn, tôi không cần biết biến có nghĩa là gì và trong nhiều trường hợp sẽ không có nếu đó là tiếng Anh vì dù sao cũng là số 2 trong danh sách của tôi. Tập hợp các mã định danh như int, str, enum và như vậy là một cách để nói những gì bạn đang làm việc với, không còn nữa. Nếu thay vì int thì định danh là hải âu, tất cả chúng ta đều biết hải âu có ý nghĩa gì trong bối cảnh mã hóa, không phải vì tiếng Anh, mà đó là những gì định danh bao trùm.

TL; DR: Ngôn ngữ lập trình, giống như bất kỳ ngôn ngữ nào cần được đào tạo để hiểu. Lý do các lệnh của họ bằng tiếng Anh thay vì tiếng Tây Ban Nha hoặc tiếng Đức hoặc tiếng Nga có nhiều khả năng bí truyền và lịch sử hơn là do một số cấu trúc cần thiết của ngôn ngữ tiếng Anh phù hợp ít nhiều với các định danh trong cấu trúc Ngôn ngữ chính thức.

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.