Làm thế nào có thể code được khi bạn bị mù? Hãy nghe tâm sự của một nhân viên Google khiếm thị

Tôi bị mù hoàn toàn và hiện đang làm cho Google với công việc là lập trình các thuật toán xếp thứ hạng website cho cỗ máy tìm kiếm. Từ kinh nghiệm của mình, tôi có thể khẳng định rằng những lập trình viên khiếm thị khác cũng đang lập trình theo cách không khác gì người bình thường.

Hầu hết thời gian tôi sử dụng một trình chỉnh sửa text là Emacs (cùng tiện ích gắn theo là Emacspeak cho phép Emacs đọc được thành tiếng) và một trình duyệt để xem các tài liệu của Google khi code.

Khác biệt lớn nhất so với các lập trình viên thông thường là chúng tôi có thể nghe đọc thành tiếng những thứ trên màn hình hoặc cũng có thể tự mình đọc chúng qua hệ thống hiển thị Braille cho người mù. Tôi không sử dụng hệ thống hiển thị Braille bởi nó quá đắt nhưng có thể đưa ra vài bình luận về cảm giác được nghe những gì hiển thị trên màn hình qua Emacspeak.

Khó khăn mà những lập trình viên như tôi đương đầu khi dùng phương pháp này là phải ghi nhớ nhiều thứ một lúc. Giọng đọc sẽ chuyển nhanh hết hàng đến hàng khác, và bạn sẽ phải nghe đọc hết cả hàng một lúc. Bạn có thể nghe theo từng từ hoặc từng ký tự, nhưng điều đáng nói ở đây là đó cũng chỉ là một phần rất nhỏ của những gì hiện trên màn hình. Bạn không thể ngồi code mà vẫn có thể tra tìm định nghĩa, chức năng một biến nào đó vừa được nghe lướt qua. Chỉ có cách duy nhất là nhớ nó rồi tra sau. Nếu muốn kiểm tra lại định của chức năng nào đó thì tôi sẽ đánh dấu đoạn đó rồi nghe đọc lại. Bạn có thể thấy điều này sẽ khiến quá trình làm việc bị kéo dài thêm ít phút nhưng ít nhất thì kỹ năng ghi nhớ của bạn cũng dần dần được cải thiện.

Tôi thích làm việc với Emacspeak bởi nó mang đến cho tôi rất nhiều điều thú vị khi lập trình C++. Ví dụ Emacspeak có thể phân biệt các biến, các chức năng và thành phần của một ngôn ngữ lập trình bằng các tông giọng khác nhau. Điều này khiến mọi thứ trở nên đơn giản hơn khi cần xác định và ghi nhớ những gì mình vừa nghe. Tôi coi đây là highlight trên các dòng code.

Và cuối cùng, cho những ai còn tò mò, các lập trình viên khiếm thị không sử dụng thụt đầu dòng (indentation) cho các dòng code đâu. Chúng tôi thường code xong hết rồi mới cho thụt dòng sau bởi chúng thực ra cũng chẳng giúp gì nhiều cho chúng tôi.


Thụt đầu dòng phân tầng các dòng code

Thụt đầu dòng phân tầng các dòng code

Đến đây có thể bạn sẽ thắc mắc: Với lập trình Python thì sao?

Tôi rất thích Python, nhưng việc thụt đầu dòng code cũng không khiến tôi thay đổi quan điểm của mình. Tôi tự chế cho mình một vài thủ thuật như nhảy cách một dòng sau khi kết thúc một khối thụt đầu dòng để khi xem lại tôi có thể biết khối đó kết thúc ở đâu một cách nhanh chóng.

Khi đọc code người khác viết, tôi có thể cho Emacspeak đọc lên số tầng thụt đầu dòng nhưng thực ra nó cũng khá khó chịu bởi với mỗi dòng code được đọc lên, bạn sẽ phải nghe cả số dấu cách thụt đầu của dòng đó.

Tổng hợp theo  http://genk.vn