Thuyết tương đối ngôn ngữ là ý tưởng mà ngôn ngữ định hình cách chúng ta suy nghĩ. Câu hỏi của tôi là, bao nhiêu, và ở mức độ nào, điều này có áp dụng cho lập trình không?
- Là một số ngôn ngữ tự nhiên, bản địa phù hợp hơn để suy nghĩ về lập trình hơn những ngôn ngữ khác? Chẳng hạn, những điều sau đây có thể được nói chính xác hơn bằng một ngôn ngữ không phải tiếng Anh không?
Select a pivot. Move all the items less than the pivot to one side of the list, and all the items greater than the pivot to the other side.
- Liệu một lập trình viên nói tiếng Trung Quốc xem chương trình trong một lăng kính hoàn toàn khác so với một lập trình viên nói tiếng Anh, hay sự khác biệt sẽ biến mất khi cả hai đắm chìm trong chủ đề?
- Là một số ngôn ngữ lập trình và miền dễ nghĩ hơn trong ngôn ngữ này hay ngôn ngữ khác. Chẳng hạn, có dễ dàng hơn để mò mẫm Ruby nếu bạn là người Nhật vì người tạo ra Ruby là người Nhật?
Lưu ý rằng câu hỏi này không tập trung vào "làm thế nào để ngôn ngữ lập trình ảnh hưởng đến cách mọi người nghĩ về lập trình", mà là "làm thế nào để ngôn ngữ tự nhiên ảnh hưởng đến cách mọi người nghĩ về lập trình".
Để giải quyết vấn đề này, một ngôn ngữ rõ ràng có lợi thế thực dụng là tiếng Anh . Tôi nghĩ lợi thế có ít để làm với các ngôn ngữ lựa chọn từ khóa tiếng Anh như lập trình if
, for
, while
, và do
, giống như nhạc sĩ người không nói tiếng Ý không vấp lên bởi những từ như sở trường . Nó liên quan nhiều hơn đến việc giao tiếp ý tưởng với các lập trình viên khác, vì tiếng Anh là ngôn ngữ chung trong những ngày này, ít nhất là trong thế giới lập trình. Ví dụ, để đặt câu hỏi trong StackOverflow, bạn thực sự cần biết tiếng Anh và biết nó khá tốt nếu bạn muốn có câu trả lời tốt. Mặc dù điều này nghe có vẻ như là một thái độ của đế quốc, nhưng nó thực sự đúng trong thực tế.
Điều đó sang một bên, làm thế nào để các thuộc tính nội tại của ngôn ngữ ảnh hưởng đến cách các lập trình viên nói họ nghĩ về cấu trúc dữ liệu, thuật toán, v.v.? Có ngôn ngữ nào đặc biệt súc tích khi nói về logic và lập trình, cho phép người bản ngữ của những ngôn ngữ đó suy nghĩ nhanh hơn không?
Implement quick sort
.