1.11. Formal and Natural Languages
Natural languages are the languages that people speak, such as English, Spanish, and French. They were not designed by people (although people try to impose some order on them); they evolved naturally.
Formal languages are languages that are designed by people for specific applications. For example, the notation that mathematicians use is a formal language that is particularly good at denoting relationships among numbers and symbols. Chemists use a formal language to represent the chemical structure of molecules. And most importantly:
Ngôn ngữ tự nhiên là ngôn ngữ mà mọi người nói, chẳng hạn như tiếng Anh, tiếng Tây Ban Nha và tiếng Pháp. Họ không được thiết kế bởi người dân (mặc dù mọi người cố gắng áp đặt một số đơn đặt hàng cho họ); Chúng phát triển tự nhiên.Ngôn ngữ chính thức là ngôn ngữ được thiết kế bởi con người cho các ứng dụng cụ thể. Ví dụ, ký hiệu mà các nhà toán học sử dụng là một ngôn ngữ chính thức đặc biệt tốt khi biểu thị các mối quan hệ giữa số và biểu tượng. Các nhà hóa học sử dụng một ngôn ngữ chính thức để biểu diễn cấu trúc hóa học của các phân tử. Và quan trọng nhất:
Formal languages tend to have strict rules about syntax. For example,
3+3=6
is a syntactically correct mathematical statement, but 3=+6$
is not. H2O is a syntactically correct chemical name, but 2Zz is not.
Syntax rules come in two flavors, pertaining to tokens and structure. Tokens are the basic elements of the language, such as words, numbers, and chemical elements. One of the problems with
3=+6$
is that $
is not a legal token in mathematics (at least as far as we know). Similarly, 2Zz is not legal because there is no element with the abbreviation Zz
.
The second type of syntax rule pertains to the structure of a statement— that is, the way the tokens are arranged. The statement
Các ngôn ngữ hình thức có xu hướng có các quy tắc nghiêm ngặt về cú pháp. Ví dụ, 3 + 3 = 6 là một câu lệnh toán học đúng cú pháp, nhưng 3 = + 6 $ thì không. H2O là một tên hóa học chính xác cú pháp, nhưng 2Zz thì không.
Các quy tắc về cú pháp có hai loại hình thái liên quan đến các thông báo của cấu trúc. Token là các yếu tố cơ bản của ngôn ngữ, chẳng hạn như từ, số và các phần tử hóa học. Một trong những vấn đề với 3 = + 6 $ là $ không phải là một token hợp pháp trong toán học (ít nhất là theo như chúng ta biết). Tương tự như vậy, 2Zz không hợp pháp vì không có phần tử với chữ viết tắt Zz.
Loại thứ hai của quy tắc cú pháp liên quan đến cấu trúc của một câu lệnh - đó là, cách thức các thẻ được sắp xếp. Tuyên bố 3 = + 6 $ là cấu trúc bất hợp pháp bởi vì bạn không thể đặt một dấu cộng ngay sau khi một dấu bằng. Tương tự, các công thức phân tử phải có chỉ số dưới sau tên phần tử, chứ không phải trước.
3=+6$
is structurally illegal because you can’t place a plus sign immediately after an equal sign. Similarly, molecular formulas have to have subscripts after the element name, not before.Các ngôn ngữ hình thức có xu hướng có các quy tắc nghiêm ngặt về cú pháp. Ví dụ, 3 + 3 = 6 là một câu lệnh toán học đúng cú pháp, nhưng 3 = + 6 $ thì không. H2O là một tên hóa học chính xác cú pháp, nhưng 2Zz thì không.
Các quy tắc về cú pháp có hai loại hình thái liên quan đến các thông báo của cấu trúc. Token là các yếu tố cơ bản của ngôn ngữ, chẳng hạn như từ, số và các phần tử hóa học. Một trong những vấn đề với 3 = + 6 $ là $ không phải là một token hợp pháp trong toán học (ít nhất là theo như chúng ta biết). Tương tự như vậy, 2Zz không hợp pháp vì không có phần tử với chữ viết tắt Zz.
Loại thứ hai của quy tắc cú pháp liên quan đến cấu trúc của một câu lệnh - đó là, cách thức các thẻ được sắp xếp. Tuyên bố 3 = + 6 $ là cấu trúc bất hợp pháp bởi vì bạn không thể đặt một dấu cộng ngay sau khi một dấu bằng. Tương tự, các công thức phân tử phải có chỉ số dưới sau tên phần tử, chứ không phải trước.
When you read a sentence in English or a statement in a formal language, you have to figure out what the structure of the sentence is (although in a natural language you do this subconsciously). This process is called parsing.
For example, when you hear the sentence, “The other shoe fell”, you understand that the other shoe is the subject and fell is the verb. Once you have parsed a sentence, you can figure out what it means, or the semantics of the sentence. Assuming that you know what a shoe is and what it means to fall, you will understand the general implication of this sentence.
Although formal and natural languages have many features in common — tokens, structure, syntax, and semantics — there are many differences:
Khi bạn đọc một câu bằng tiếng Anh hoặc một câu trong một ngôn ngữ chính thức, bạn phải tìm ra cấu trúc của câu là gì (mặc dù trong một ngôn ngữ tự nhiên mà bạn thực hiện điều này theo tiềm thức). Quá trình này được gọi là phân tích cú pháp.Ví dụ, khi bạn nghe câu "Giày khác rơi", bạn hiểu rằng giày kia là chủ đề và rơi là động từ. Một khi bạn đã phân tích cú pháp một câu, bạn có thể hiểu nó có ý nghĩa gì, hoặc ngữ nghĩa của câu. Giả sử rằng bạn biết giày là gì và ý nghĩa của nó là gì, bạn sẽ hiểu ý nghĩa chung của câu này.
Mặc dù các ngôn ngữ chính thức và tự nhiên có nhiều điểm chung - các mã thông báo, cấu trúc, cú pháp và ngữ nghĩa - có rất nhiều sự khác biệt:
- ambiguity
- Natural languages are full of ambiguity, which people deal with by using contextual clues and other information. Formal languages are designed to be nearly or completely unambiguous, which means that any statement has exactly one meaning, regardless of context.
- redundancy
- In order to make up for ambiguity and reduce misunderstandings, natural languages employ lots of redundancy. As a result, they are often verbose. Formal languages are less redundant and more concise.
- literalness
- Formal languages mean exactly what they say. On the other hand, natural languages are full of idiom and metaphor. If someone says, “The other shoe fell”, there is probably no shoe and nothing falling.TipYou’ll need to find the original joke to understand the idiomatic meaning of the other shoe falling.Yahoo! Answers thinks it knows!
- Sự mơ hồ
Ngôn ngữ tự nhiên có đầy đủ sự mơ hồ, mà mọi người đối phó bằng cách sử dụng các đầu mối theo ngữ cảnh và các thông tin khác. Các ngôn ngữ chính thức được thiết kế gần như hoàn toàn hoặc không mơ hồ, có nghĩa là bất kỳ tuyên bố nào cũng có một ý nghĩa, bất kể ngữ cảnh.
Thêm thắt
Để bù đắp cho sự mơ hồ và giảm hiểu nhầm, các ngôn ngữ tự nhiên sử dụng nhiều sự dư thừa. Kết quả là, chúng thường là tiết. Các ngôn ngữ chính thức ít được dự phòng và ngắn gọn hơn.
Sự hiểu biết (nói bóng gió)
Các ngôn ngữ chính thức có nghĩa chính xác những gì họ nói. Mặt khác, ngôn ngữ tự nhiên có đầy đủ các thành ngữ và phép ẩn dụ. Nếu có ai đó nói, "Một chiếc giày khác rơi xuống", có lẽ không có giày và không có gì rơi.
People who grow up speaking a natural language—everyone—often have a hard time adjusting to formal languages. In some ways, the difference between formal and natural language is like the difference between poetry and prose, but more so:
- poetry
- Words are used for their sounds as well as for their meaning, and the whole poem together creates an effect or emotional response. Ambiguity is not only common but often deliberate.
- prose
- The literal meaning of words is more important, and the structure contributes more meaning. Prose is more amenable to analysis than poetry but still often ambiguous.
- program
- The meaning of a computer program is unambiguous and literal, and can be understood entirely by analysis of the tokens and structure.
Here are some suggestions for reading programs (and other formal languages). First, remember that formal languages are much more dense than natural languages, so it takes longer to read them. Also, the structure is very important, so it is usually not a good idea to read from top to bottom, left to right. Instead, learn to parse the program in your head, identifying the tokens and interpreting the structure. Finally, the details matter. Little things like spelling errors and bad punctuation, which you can get away with in natural languages, can make a big difference in a formal language.
Những người lớn lên nói một ngôn ngữ tự nhiên-tất cả mọi người-thường có một thời gian khó khăn để điều chỉnh ngôn ngữ chính thức. Trong một số cách, sự khác biệt giữa ngôn ngữ chính thức và tự nhiên giống như sự khác biệt giữa thơ và văn xuôi, nhưng hơn thế nữa:thơ phú
Từ ngữ được sử dụng cho âm thanh cũng như ý nghĩa của chúng, và toàn bộ bài thơ cùng nhau tạo ra một hiệu ứng hoặc phản ứng cảm xúc. Sự mơ hồ không chỉ là thông thường mà còn thường là cố ý.
văn xuôi
Ý nghĩa đen của từ là quan trọng hơn, và cấu trúc đóng góp nhiều ý nghĩa hơn. Prose có nhiều khả năng phân tích hơn là thơ nhưng vẫn còn mơ hồ.
Chương trình
Ý nghĩa của một chương trình máy tính không rõ ràng và có chữ và có thể được hiểu hoàn toàn bằng cách phân tích các thẻ và cấu trúc.
Dưới đây là một số gợi ý cho các chương trình đọc (và các ngôn ngữ chính thức khác). Trước tiên, hãy nhớ rằng các ngôn ngữ chính thức có nhiều mật độ hơn các ngôn ngữ tự nhiên, do đó phải mất nhiều thời gian hơn để đọc chúng. Ngoài ra, cấu trúc rất quan trọng, do đó thường không phải là một ý hay để đọc từ trên xuống dưới, từ trái sang phải. Thay vào đó, học cách phân tích chương trình trong đầu, xác định các thẻ và giải thích cấu trúc. Cuối cùng, các chi tiết vấn đề. Những điều nhỏ nhặt như lỗi chính tả và chấm câu xấu, mà bạn có thể nhận được bằng ngôn ngữ tự nhiên, có thể tạo ra sự khác biệt lớn trong một ngôn ngữ chính thức.
References:
http://interactivepython.org/runestone/static/thinkcspy/index.html
http://interactivepython.org/runestone/static/thinkcspy/index.html
Nhận xét
Đăng nhận xét