Vì sao văn bản thuần vẫn là một trong những công nghệ tốt nhất của chúng ta
Giữa vô số định dạng file phức tạp, văn bản thuần (plain text) vẫn đứng vững suốt hàng thập kỷ nhờ sự đơn giản, khả năng tương thích rộng và tuổi thọ đáng kinh ngạc. Bài viết phân tích lý do văn bản thuần tiếp tục là nền tảng của lập trình, cấu hình hệ thống và web, cũng như vai trò của Markdown như một giải pháp dung hòa.

Không có nhiều định dạng file mà tôi dám tin rằng vẫn đọc được sau 50 năm nữa. Nhưng văn bản thuần (plain text) là một trong số đó. Nghe có vẻ như một lời khen dè dặt, bởi một file văn bản thuần không thể nhúng bảng tính, không giữ được bố cục trang phức tạp, không chạy được bài trình chiếu, cũng chẳng mang lại nhiều tiện ích mà các ứng dụng hiện đại vẫn hứa hẹn.
Điều nó làm được lại nằm ở chỗ khác: lưu trữ văn bản dưới một trong những dạng đơn giản và được hiểu rộng rãi nhất trong ngành máy tính. Chính sự đơn giản ấy là lý do lớn nhất khiến nó tồn tại lâu đến vậy.
Gần như không có gì để hỏng
Chuẩn Unicode định nghĩa văn bản thuần về cơ bản là một chuỗi mã ký tự, không kèm theo thông tin định dạng như văn bản giàu định dạng (rich text). Phông chữ, màu sắc, bố cục và các chi tiết trình bày tương tự thuộc về một nơi khác.
Dưới góc nhìn người dùng, điểm quan trọng đơn giản hơn nhiều: file chứa chính nội dung văn bản mà không đòi hỏi một ứng dụng cụ thể nào để hiểu nó. Tôi có thể tạo một file văn bản trên Linux, sao chép sang máy Windows, đưa lên máy chủ web, mở trong terminal, tìm kiếm bằng công cụ dòng lệnh, chỉnh sửa bằng vô số chương trình khác nhau, hoặc gửi cho ai đó đang dùng một hệ thống hoàn toàn khác. Rất ít thứ trong file phụ thuộc vào cách nó được tạo ra.
Điều này khác biệt với nhiều định dạng tài liệu, nơi thông tin gắn chặt với ứng dụng hoặc nhóm ứng dụng hiểu được định dạng đó. Đôi khi điều đó vô hại, khi định dạng được ghi chép đầy đủ và hỗ trợ rộng rãi. Nhưng trong nhiều trường hợp khác, mở được một file cũ nghĩa là bạn phải hy vọng phần mềm phù hợp vẫn còn tồn tại.
Văn bản thuần gần như không mang theo gánh nặng đó.
Chúng ta dùng nó từ rất lâu, và vì một lý do
Văn bản thuần không phải một công nghệ bị lãng quên đang cần được giải cứu. Nó vẫn là một phần trong những ống dẫn cơ bản của ngành máy tính.
- Mã nguồn thường là văn bản
- File cấu hình thường là văn bản
- File log thường là văn bản
- Hệ thống Unix và Linux đầy rẫy các file văn bản
- Phần lớn cỗ máy đằng sau web cũng liên quan đến văn bản dưới dạng này hay dạng khác
HTML, XML, JSON, CSS, shell script, các ngôn ngữ lập trình, các định dạng cấu hình và vô số thứ khác đều được xây dựng quanh những ký tự mà con người có thể kiểm tra được.
Tất nhiên, đây là các định dạng có cấu trúc chứ không phải văn xuôi thông thường. Một tài liệu HTML không giống một ghi chú trong file .txt. Điểm tương đồng nằm ở chỗ nội dung vẫn hiển hiện. Mở file bằng một trình soạn thảo văn bản cơ bản và bạn thấy được những gì đang ở trong đó, kể cả khi bạn không hiểu hết từng phần.
Điều này có giá trị thực tế. Khi một file cấu hình văn bản gặp trục trặc, tôi có thể kiểm tra trực tiếp, sao chép, so sánh giữa các phiên bản, tìm một thiết lập cụ thể, hoặc tạo bản sao lưu mà không cần đến chương trình đã tạo ra nó. Dữ liệu vẫn dễ đọc hiểu ngay cả khi tách khỏi ứng dụng thông thường thì việc xử lý sự cố và bảo tồn cũng dễ dàng hơn nhiều.
Văn bản thuần hợp tác tốt với mọi thứ khác
Một trong những thế mạnh lớn nhất của văn bản thuần là đã có sẵn một tập hợp khổng lồ công cụ biết cách làm việc với nó.
Trên hệ thống kiểu Unix, một file văn bản có thể được giao cho grep, sed, awk, sort, diff và nhiều tiện ích khác đã tồn tại hàng chục năm. Một script có thể xử lý hàng nghìn file mà không cần giả vờ rằng nó là con người đang bấm chuột qua từng menu.
Lợi thế này không giới hạn ở dòng lệnh. Các trình soạn thảo đồ họa, môi trường lập trình, ứng dụng ghi chú, trình quản lý file, công cụ tìm kiếm, trình duyệt và vô số chương trình khác cũng làm việc được với văn bản. Lợi thế thật sự nằm ở chỗ thông tin không bị gắn chặt vào một giao diện duy nhất.
Phần mềm hiện đại thường đi theo hướng ngược lại. Một ứng dụng có thể quyết định thông tin của bạn nằm ở đâu, được tổ chức thế nào, đồng bộ ra sao, được tìm kiếm như thế nào và phần mềm nào khác được phép chạm vào nó. Những hệ thống như vậy có thể mang lại tính năng hữu ích, nhưng chúng cũng khiến ứng dụng ngày càng trở thành trung tâm của dữ liệu.
Văn bản thuần để lại nhiều lựa chọn hơn cho người dùng.
Markdown đã tìm được điểm dung hòa hợp lý
Điểm yếu dễ thấy của văn bản thuần là định dạng. Tiêu đề, nhấn mạnh, liên kết, danh sách, trích dẫn và các cấu trúc khác giúp tài liệu dễ đọc hơn, trong khi một file .txt cơ bản không cung cấp cách chuẩn để thể hiện phần lớn những thứ đó.
Markdown là một giải pháp thỏa hiệp thực dụng. Đây là định dạng văn bản thuần dành cho tài liệu có cấu trúc, dựa trên những quy ước vốn đã quen thuộc từ email và Usenet. Nó ra đời năm 2004, và các biến thể của nó nay được dùng cho tài liệu phần mềm, website, ghi chú, sách và nhiều kiểu viết khác.
Thế mạnh thật sự của nó là phần nguồn vẫn hữu dụng kể cả khi trình xử lý Markdown biến mất. Một tiêu đề vẫn trông như tiêu đề. Một danh sách gạch đầu dòng vẫn giống một danh sách. Một liên kết vẫn chứa cả phần mô tả lẫn địa chỉ đích. Cú pháp định dạng hiển hiện trước mắt thay vì bị chôn trong một cấu trúc nhị phân.
Đó là ví dụ điển hình của việc bổ sung khả năng hữu ích mà không đánh mất những lợi thế chính của văn bản thuần. Kết quả hiển thị có thể tiện lợi, nhưng file nguồn vẫn là văn bản bình thường.
Văn bản "già" theo thời gian một cách đáng ngạc nhiên
Tuổi thọ có lẽ là lập luận mạnh nhất dành cho văn bản thuần.
Lịch sử máy tính đầy rẫy những định dạng file và ứng dụng bị bỏ rơi. Đôi khi khôi phục một tài liệu cũ đồng nghĩa với việc phải tìm phần mềm đã lỗi thời, tìm bộ lọc nhập, chạy trình giả lập, hoặc chuyển đổi qua nhiều định dạng trung gian.
File văn bản không hoàn toàn miễn nhiễm với vấn đề tương thích. File cũ có thể gặp lỗi mã hóa ký tự, và sự khác biệt về ký tự xuống dòng đã gây khó chịu suốt bao năm. Tuy vậy, đây thường là những vấn đề dễ xử lý hơn nhiều so với việc cố khôi phục thông tin từ một định dạng độc quyền mờ ám.
Nếu tôi tìm thấy một file văn bản cũ, khả năng cao là một chương trình nào đó trên máy tính hiện tại vẫn mở được nó. Kể cả khi định dạng thô sơ hay mã hóa cần chỉnh lại, bản thân các từ ngữ vẫn thường khôi phục được.
Unicode hiện đại cũng khiến văn bản thuần mạnh mẽ hơn nhiều so với ý niệm cũ về văn bản ASCII chỉ chứa chữ cái tiếng Anh, chữ số và dấu câu. Văn bản thuần ngày nay có thể biểu diễn chữ viết và ký tự của khắp nơi trên thế giới, trong khi vẫn giữ nguyên ý tưởng cơ bản: file chứa các ký tự được mã hóa thay vì một định dạng trình bày độc quyền.
Đơn giản không có nghĩa là nguyên thủy.
Cũng rất dễ sở hữu
Lợi thế của văn bản thuần càng rõ khi phần mềm ngày càng chuyển sang tài khoản, lưu trữ đám mây, dịch vụ đồng bộ và mô hình thuê bao.
Một file văn bản có thể đơn giản nằm trong một thư mục trên máy tính của tôi. Tôi có thể sao lưu nó cùng với phần còn lại của dữ liệu, đồng bộ theo cách mình muốn, đưa vào hệ thống quản lý phiên bản, sao chép sang máy khác, hoặc lưu trên một máy chủ do tôi kiểm soát. Không việc nào trong số đó đòi hỏi công ty làm ra trình soạn thảo của tôi phải tiếp tục tồn tại hay duy trì dịch vụ.
Điều này không có nghĩa mọi dịch vụ ghi chú hay ứng dụng đám mây đều là ý tồi. Các ứng dụng chuyên biệt cung cấp những tính năng mà chỉ văn bản thuần khó làm được: cộng tác, cơ sở dữ liệu, phương tiện nhúng, định dạng phức tạp, và mối quan hệ giữa các loại thông tin khác nhau — tất cả đều có công dụng chính đáng.
Không có ích lợi gì khi ép mọi loại dữ liệu vào một file .txt. Sự phân biệt hữu ích nằm ở chỗ: liệu độ phức tạp tăng thêm có giải quyết một vấn đề thực sự, hay chỉ trở thành thêm một sự phụ thuộc.
Khi văn bản thuần đã đủ dùng, nó loại bỏ một cách đáng ngạc nhiên nhiều thứ có thể cản trở về sau.
Những hạn chế là có thật
Văn bản thuần không phải câu trả lời cho mọi thứ.
Tôi sẽ không muốn thay một bức ảnh bằng bản mô tả văn bản các điểm ảnh của nó, và cũng không muốn một bảng tính tài chính bị biến thành một đống con số buộc tôi phải dựng lại toàn bộ công thức bằng tay. Tài liệu giàu định dạng tồn tại vì đôi khi cách trình bày và cấu trúc thực sự quan trọng.
Các ứng dụng cũng cung cấp những lớp trừu tượng hữu ích. Một cơ sở dữ liệu có thể ràng buộc các mối quan hệ mà một thư mục đầy file văn bản không làm được. Một trình xử lý văn bản có thể xử lý bố cục trang mà nếu làm thủ công sẽ rất cực nhọc. Phần mềm chuyên biệt tồn tại vì những lý do chính đáng.
Vấn đề không nằm ở việc dùng công cụ phức tạp hơn. Vấn đề nằm ở giả định rằng công cụ phức tạp hơn đương nhiên tốt hơn, kể cả khi công việc không đòi hỏi điều đó. Trong không ít trường hợp, cách biểu diễn đơn giản nhất mà đủ dùng lại là cách bền vững nhất.
Nhàm chán cũng là một tính năng
Văn bản thuần là một trong những công nghệ gần như trở nên vô hình vì nó hoạt động quá ổn định. Nó không có công ty nào đang cố tăng mức độ tương tác, không yêu cầu tài khoản, không có gói thuê bao, và không có dịch vụ nào có thể bị khai tử khi mô hình kinh doanh thay đổi.
Nó dễ di chuyển, dễ kiểm tra, dễ tìm kiếm, dễ viết script, dễ sao lưu, và có sức đề kháng đáng kinh ngạc trước sự lỗi thời. Những phẩm chất này không hào hứng, nhưng chúng hữu ích, đặc biệt là trong khoảng thời gian dài.
Sau nhiều thập kỷ chứng kiến phần mềm và định dạng file đến rồi đi, tôi đã dành khá nhiều sự tôn trọng cho những công nghệ làm ít hơn mà tồn tại lâu hơn. Văn bản thuần không giải quyết mọi vấn đề, và cũng không nên như vậy. Điều nó mang lại là một cách lưu trữ thông tin ổn định mà không đòi hỏi quá nhiều từ phần mềm xung quanh.
Với một thứ cơ bản đến vậy, đó đã là một thành tựu đáng kể.


