# 71: Đọc vị nhân loại

Trong tất cả những dự án từ nhỏ nhất con người làm việc với con người. Trong cả những lĩnh vực nghiên cứu trừu tượng nhất, con người viết phần mềm để hỗ trợ con người hoàn thành mục tiêu. Con người viết phần mềm với người khác dành cho con người. Đó là chuyện giữa người với người. Nhưng thật không may, những gì các lập trình viên được dạy trang bị cho họ rất ít cách để đối phó với những người họ làm việc cùng. May mắn thay, có hẳn một lĩnh vực nghiên cứu hỗ trợ điều này.

Ludwig Wittgenstein đã đưa ra một giả thuyết rất hay trong “Điều tra triết học” rằng bất kỳ ngôn ngữ nào chúng ta sử dụng đều không thể chuyển tiếp ý nghĩ, ý tưởng hay hình ảnh từ người này sang người khác. Chúng ta cần cẩn thận tránh hiểu lầm khi chúng ta “thu thập yêu cầu”. Wittgenstein cũng cho thấy rằng sự am hiểu lẫn nhau không xuất phát từ các định nghĩa được chia sẻ, mà từ nền tảng kinh nghiệm chung. Đây có thể là một lý do tại sao các lập trình viên thành thạo lĩnh vực của bản thân thường làm tốt hơn những người không thuộc lĩnh vực đó.

Lakoff và Johnson cho chúng tôi xem một danh mục các phép ẩn dụ mà chúng ta thường sử dụng, cho thấy rằng ngôn ngữ chủ yếu là các phép ẩn dụ và những ẩn dụ này cung cấp một cái nhìn sâu sắc về việc chúng ta hiểu thế giới như nào. Ngay cả những thuật ngữ cụ thể như “dòng tiền” mà chúng ta sử dụng khi nói về một hệ thống tài chính, cũng được coi là một phép ẩn dụ “tiền là một dạng chất lỏng”. Phép ẩn dụ đó có ảnh hưởng đến cách chúng ta nghĩ về hệ thống xử lý tiền như thế nào? Hoặc chúng ta có thể nói về các lớp trong một chồng biên bản, với một số mức cao và một số mức thấp. Điều này mang tính ẩn dụ mạnh mẽ: người dùng “lên” và công nghệ “xuống”.

Điều này phơi bày suy nghĩ của chúng tôi về cấu trúc các hệ thống chúng tôi xây dựng. Nó cũng có thể đánh dấu một thói quen lười biếng rằng đôi khi chúng ta có thể hưởng lợi từ việc phá luật. Martin Heidegger đã nghiên cứu kỹ cách mọi người trải nghiệm các công cụ. Các lập trình viên xây dựng và sử dụng công cụ, chúng tôi nghĩ, tạo nên, sửa đổi và tái tạo công cụ. Công cụ là đối tượng chúng tôi quan tâm. Nhưng đối với người dùng, như Heidegger thể hiện trong “Bản thể và Thời gian”, một công cụ là một thứ vô hình chỉ được tìm hiểu khi sử dụng. Đối với người dùng, công cụ chỉ được quan tâm khi chúng không hoạt động. Sự khác biệt này đáng được nhấn mạnh bất cứ khi nào khả năng sử dụng được bàn luận đến.

Eleanor Rosch đã đảo ngược mô hình Aristoteles mà chúng tôi dùng để sắp xếp sự hiểu biết của chúng tôi về thế giới. Khi lập trình viên hỏi người dùng về hệ thống mà họ mong muốn, chúng ta có xu hướng yêu cầu các định nghĩa được xây dựng từ các vị từ. Điều này rất thuận tiện cho chúng tôi. Các thuật ngữ trong vị từ có thể dễ dàng trở thành các thuộc tính trong class hoặc các cột trong bảng. Thật không may, như Rosch đã thể hiện trong “Thể loại tự nhiên” và những nghiên cứu sau đó, đó không phải là cách nhân loại nói chung hiểu về thế giới. Họ hiểu nó dựa trên các ví dụ. Một số ví dụ (được gọi là nguyên mẫu) tốt hơn so với các nguyên mẫu khác, cho ra kết quả chồng chéo với cấu trúc phức tạp. Chừng nào chúng tôi còn nhấn mạnh vào câu trả lời của Aristoteles, thì chúng tôi không thể hỏi người dùng đúng câu hỏi về thế giới của họ và sẽ rất khó khăn để đạt được sự thấu hiểu chung mà chúng tôi cần.