Tập Tin Thuật Ngữ Hacker, Phiên Bản 4.2.2, 20 Tháng 8 Năm 2000

Lượt đọc: 655 | 0 Đánh giá: 0/10 Sao
★★★★★★★★★★
★★★★★★★★★★
« Lùi Tiến »
Phong Cách Viết Của Hacker

❊ ❊ ❊

Chúng ta đã thấy giới hacker thường tạo ra tiếng lóng bằng cách khái quát hóa quá mức các quy tắc ngữ pháp. Đây là một khía cạnh của niềm yêu thích chung đối với những trò đùa ngôn ngữ giữa hình thức và nội dung, vốn thể hiện đặc biệt rõ nét trong văn phong hacker. Một người trao đổi thư từ cho biết anh ta luôn cố tình gõ sai từ "wrong" thành "worng". Những người khác lại nổi tiếng với việc chỉ trích các lỗi vụn vặt trong các bản thảo của Jargon File bằng cách nhận xét (theo phong cách của Douglas Hofstadter) kiểu như: "Câu này không động từ", hoặc "Quá lặp lặpp lại", hay "Lỗi trính tả", hoặc "Sai dấu cách." Tương tự, người ta cũng thường cố ý dùng phép nói lái nhầm âm đầu đối với những cụm từ chỉ sự bối rối hoặc những điều gây bối rối; chẳng hạn "dain bramage" thay cho "brain damage" có lẽ là phổ biến nhất (cũng như vậy, một hacker sẽ có xu hướng viết "Xin thứ lỗi, hôm nay tôi bị cixelsyd" thay vì "Hôm nay tôi bị dyslexic"). Những điều như thế này diễn ra rất thường xuyên và đem lại niềm vui cho tất cả những ai liên quan.

Hacker có xu hướng dùng dấu ngoặc kép như những dấu phân cách đóng mở cân đối giống hệt dấu ngoặc đơn, khiến cho các biên tập viên người Mỹ phải ngán ngẩm. Chẳng hạn, nếu "Jim is going" là một cụm từ, và "Bill runs" cùng "Spock groks" cũng vậy, thì hacker thường thích viết thành: "Jim is going", "Bill runs", and "Spock groks". Cách này bị coi là sai theo quy chuẩn của Mỹ (vốn sẽ đặt các dấu phẩy tiếp diễn và dấu chấm kết câu vào bên trong dấu ngoặc kép); tuy nhiên, với hacker, việc làm biến dạng các chuỗi ký tự nguyên bản bằng những ký tự không thuộc về chúng là điều hết sức phản trực giác. Với những ví dụ thường xuất hiện trong các cuộc thảo luận lập trình, kiểu đặt dấu ngoặc kép của người Mỹ thậm chí còn có thể gây hiểu lầm tai hại. Khi cần truyền đạt các dòng lệnh hoặc những đoạn mã nhỏ, những ký tự thừa thãi có thể gây phiền toái khôn xiết.

Hãy xem xét ví dụ về một câu trong tài liệu hướng dẫn dùng vi như sau:

Then delete a line from the file by typing

"dd".

Quy chuẩn thông thường sẽ viết câu này thành:

Then delete a line from the file by typing

"dd."

nhưng làm như vậy thì tệ vô cùng — bởi vì người đọc sẽ rất dễ gõ theo chuỗi ký tự gồm d-d-dấu chấm, mà trớ trêu thay trong vi(1), dấu chấm lại có chức năng lặp lại lệnh vừa nhận trước đó. Kết quả ròng là lệnh sẽ xóa mất hai dòng!

Tài liệu Jargon File nhất quán tuân theo phong cách viết của hacker xuyên suốt toàn bộ nội dung.

Thật thú vị là một phong cách tương tự hiện nay lại là lối viết được ưa chuộng ở Anh, mặc dù phong cách cũ (vốn hình thành do những lý do sắp chữ liên quan đến tính thẩm mỹ thị giác giữa dấu phẩy và dấu ngoặc kép trong văn bản in ấn) vẫn được chấp nhận tại đó. Cuốn "Hart's Rules" và "Oxford Dictionary for Writers and Editors" gọi lối trích dẫn kiểu hacker này là cách trích dẫn "mới" hoặc "hợp lý". Điều này đưa tiếng Anh-Anh trở lại với phong cách mà các ngôn ngữ gốc Latin (bao gồm tiếng Tây Ban Nha, tiếng Pháp, tiếng Ý, tiếng Catalan) vẫn luôn sử dụng từ trước đến nay.

Một thói quen khác của hacker là xu hướng phân biệt giữa dấu ngoặc kép "hàm ý mỉa mai" và dấu ngoặc kép "trích dẫn lời nói"; nghĩa là dùng dấu ngoặc đơn kiểu Anh để đánh dấu và giữ lại dấu ngoặc kép kiểu Mỹ cho những phần tường thuật lời nói hoặc văn bản thực sự được trích từ nơi khác. Thú vị thay, một số tài liệu có thẩm quyền xem đây là cách dùng chuẩn mực chung, nhưng tiếng Anh-Mỹ đại chúng lại sử dụng dấu ngoặc kép một cách bừa bãi đến mức khiến lối dùng của hacker trở nên khác biệt [và trên thực tế, tôi từng tưởng đây chỉ là một thói quen lập dị của riêng mình cho đến khi kiểm chứng lại trên Usenet --ESR]. Một biến thể khác chắc chắn không hề theo quy chuẩn là xu hướng dùng dấu nháy đơn làm dấu trích dẫn theo từng cặp; nghĩa là 'như thế này'. Cách viết này mô phỏng cú pháp chuỗi ký tự và ký tự nguyên bản trong một số ngôn ngữ lập trình (càng được củng cố thêm bởi thực tế là nhiều thiết bị đầu cuối chỉ hiển thị văn bản thường hiện dấu nháy đơn theo kiểu máy đánh chữ, tức là một vạch thẳng đứng).

Một nét kỳ quặc thường thấy trong phong cách viết email của các hacker dùng Unix là xu hướng để nguyên chữ thường cho những đối tượng vốn dĩ chỉ dùng chữ thường (bao gồm tên người dùng, tên lệnh và các hàm trong C), ngay cả khi chúng đứng ở đầu câu. Rõ ràng là đối với nhiều hacker, cách viết hoa hay viết thường của các định danh này đã trở thành một phần trong biểu tượng tinh thần (tức "chính tả") của họ và không thể thay đổi nếu không tốn công suy nghĩ (một phản xạ hợp lý vì cả Unix lẫn C đều phân biệt chữ hoa chữ thường, và việc nhầm lẫn chúng có thể dẫn đến thất bại). Một cách để thoát khỏi thế tiến thoái lưỡng nan này chỉ đơn giản là tránh đặt những cấu trúc đó ở đầu câu.

Dường như có một siêu quy tắc đứng sau những nét dị biệt phi chuẩn của hacker: tính chính xác trong biểu đạt quan trọng hơn việc tuân thủ các quy tắc truyền thống; ở đâu các quy tắc ấy tạo ra sự mơ hồ hoặc làm mất thông tin, chúng có thể bị gạt bỏ không cần đắn đo. Đáng chú ý ở khía cạnh này là các sáng tạo khác của hacker (chẳng hạn như trong từ vựng) cũng thường mang những sắc thái ý nghĩa hết sức chuẩn xác, ngay cả khi chúng được tạo dựng để trông có vẻ suồng sã và buông tuồng. Thật ra, đối với một hacker, sự tương phản giữa hình thức "lỏng lẻo" và nội dung "chặt chẽ" trong tiếng lóng chính là một phần cốt lõi tạo nên nét hài hước của nó!

Hacker cũng phát triển một số quy ước chấm câu và nhấn mạnh phù hợp với các kênh liên lạc chỉ dùng một phông chữ và hoàn toàn bằng mã ASCII; những quy ước này đôi khi còn được đưa vào cả các tài liệu văn bản ngay cả khi đã có sẵn các phương tiện thông thường như đổi phông chữ, gạch chân và những tính năng tương tự.

Một trong số đó là việc VĂN BẢN VIẾT HOA TOÀN BỘ ĐƯỢC HIỂU LÀ "NÓI LỚN", và điều này trở thành một phản xạ cảm giác kết hợp sâu sắc đến mức một người bật Caps Lock khi đang ở chế độ trò chuyện có thể bị yêu cầu "làm ơn đừng hét lên nữa, bạn làm tôi đau hết cả tai rồi đấy!".

Ngoài ra, người ta cũng thường dùng các ký tự bất thường bao quanh từ ngữ để thể hiện sự nhấn mạnh. Dấu hoa thị là phổ biến nhất, như trong "What the *hell*?", mặc dù việc này có gây cản trở đến cách dùng thông thường của dấu hoa thị đặt ở cuối từ với tư cách là ký hiệu chú thích. Dấu gạch dưới cũng rất phổ biến, gợi ý sự gạch chân (điều này đặc biệt thường thấy với tựa đề sách; ví dụ: "Người ta thường cho rằng Joe Haldeman viết cuốn _The_Forever_War_ như một lời phản bác đối với cuốn tiểu thuyết trước đó về quân đội tương lai của Robert Heinlein, cuốn _Starship_Troopers_."). Những dạng khác như "=hell=", "\hell/", hay "/hell/" cũng thỉnh thoảng xuất hiện (có người cho rằng ở ví dụ cuối cùng, dấu gạch chéo đầu tiên đẩy các chữ cái nghiêng sang phải để biến chúng thành chữ nghiêng, còn dấu gạch chéo thứ hai giữ cho chúng khỏi bị đổ). Trên FidoNet, bạn có thể thấy văn bản dạng #bright# và ^dark^, vốn thực sự được một số phần mềm đọc hiểu và xử lý. Cuối cùng, các từ cũng có thể được nhấn mạnh B Ằ N G C Á C H N H Ư T H Ế N À Y, hoặc bằng một hàng dấu mũ (^) đặt ngay phía dưới chúng ở dòng kế tiếp.

Có sự khác biệt về mặt ngữ nghĩa giữa *nhấn mạnh như thế này* (vốn nhấn mạnh toàn bộ cụm từ), và *nhấn* *mạnh* *như* *thế* *này* (gợi cảm giác người viết đang nói rất chậm rãi và rõ ràng từng từ, như thể đang nói với một đứa trẻ rất nhỏ hoặc một người thiểu năng trí tuệ). Việc đặt một từ vào giữa các ký tự "*" cũng có thể nhằm biểu thị rằng người viết muốn độc giả hình dung một hành động đang diễn ra hoặc một âm thanh đang phát ra. Ví dụ: *bang*, *hic*, *ring*, *grin*, *kick*, *stomp*, *mumble*.

Người ta cũng có thể thấy những hiệu ứng âm thanh nói trên được viết dưới dạng <bang>, <hic>, <ring>, <grin>, <kick>, <stomp>, <mumble>. Cách dùng dấu ngoặc nhọn để đánh dấu nội dung bên trong ban đầu bắt nguồn từ các quy ước trong dạng thức BNF, nhưng kể từ khoảng năm 1993, nó càng được củng cố thêm nhờ ngôn ngữ đánh dấu HTML dùng trên World Wide Web.

Việc đóng khung trong dấu ngoặc nhọn cũng được dùng để chỉ ra rằng một thuật ngữ đại diện cho một phần tử bất kỳ của một tập hợp lớn hơn (cách này xuất phát trực tiếp từ BNF). Những ví dụ như sau là rất phổ biến:

Một ngày nọ có một gã <sắc tộc> bước vào quán bar...

Ngoài ra còn có một quy ước được chấp nhận để "viết đè sửa lỗi"; đoạn văn bản:

Be nice to this fool^H^H^H^Hgentleman,

he's visiting from corporate HQ.

được hiểu đại khái là "Hãy tử tế với tên ngốc này, à quên, quý ông này...", với ý mỉa mai được nhấn mạnh. Cụm hai ký tự ^H thường được dùng như ký hiệu in ấn đại diện cho phím xóa lùi (backspace), và thực tế từng hiển thị rất rõ ràng trên các thiết bị đầu cuối in ấn kiểu cũ. Khi văn bản đang được soạn thảo, các ký tự sẽ được dội lại và in ra ngay lập tức, và khi sửa lỗi, các lần bấm phím backspace sẽ được dội lại bằng chuỗi '^H'. Lẽ dĩ nhiên, văn bản soạn thảo hoàn chỉnh cuối cùng sẽ không còn dấu vết nào của các ký tự backspace (hay văn bản sai sót ban đầu).

Quy ước này tương đồng (và có thể đã chịu ảnh hưởng từ) việc dùng các ký hiệu "gạch bỏ" đầy mỉa mai trong các tạp chí nghiệp dư về khoa học viễn tưởng.

Một thói quen liên quan khác là dùng các lệnh của trình biên tập văn bản để biểu thị việc đính chính văn bản phía trước. Phong tục này từng phai nhạt dần trong email khi các trình quản lý thư ngày càng có khả năng biên tập tốt hơn, nhưng rồi lại hồi sinh mạnh mẽ trên IRC và các hệ thống trò chuyện dạng dòng lệnh khác.

Tôi thấy thuật ngữ đó được dùng rất thường xuyên trên alt.foobar.

Gửi nó cho Erik để đưa vào File đi.

Chết tiệt...s/Erik/Eric/.

Cú pháp s/Erik/Eric/ có nghĩa là "hãy đổi Erik thành Eric trong câu vừa rồi". Cú pháp này được mượn từ các công cụ biên tập văn bản ed và sed của Unix, nhưng cũng được giới hacker không dùng Unix nhận biết rộng rãi.

Trong một công thức, dấu * biểu thị phép nhân nhưng hai dấu hoa thị liền nhau lại là cách viết tắt của phép lũy thừa (điều này bắt nguồn từ FORTRAN). Do đó, người ta có thể viết 2 ** 8 = 256.

Một ký hiệu lũy thừa khác mà ta hay bắt gặp hơn là dùng dấu mũ (^, mã ASCII 1011110); người ta có thể viết thành 2^8 = 256. Nguồn gốc của nó ngược dòng về tận Algol-60, vốn dùng ký hiệu ASCII cổ xưa hình "mũi tên hướng lên" mà sau này trở thành dấu mũ; ký hiệu này được ngôn ngữ BASIC nguyên bản của Kemeny và Kurtz tiếp nhận, rồi ảnh hưởng tới thiết kế của các công cụ Unix như bc(1) và dc(1), những thứ có lẽ đóng góp nhiều nhất vào việc củng cố quy ước này trên Usenet. (Chế độ toán học của TeX cũng dùng ^ cho phép lũy thừa). Ký hiệu này gây chút bối rối cho các lập trình viên C, bởi vì trong C, dấu ^ có nghĩa là phép toán XOR thao tác trên bit. Mặc dù vậy, trong một cuộc khảo sát trên Usenet vào cuối năm 1990, nó vẫn được ưa chuộng hơn dấu ** với tỷ lệ 3:1. Quy ước này được sử dụng nhất quán trong cuốn từ điển này.

Trong các cuộc trao đổi trực tuyến, hacker có xu hướng dùng dạng số thập phân hoặc phân số thực sự ("3.5" hoặc "7/2") thay vì hỗn số "kiểu máy đánh chữ" ("3-1/2"). Động cơ chính ở đây có lẽ là dạng trước dễ đọc hơn trong phông chữ đơn cách, cùng với mong muốn tránh nguy cơ dạng sau có thể bị đọc nhầm thành "ba trừ một nửa". Dạng số thập phân chắc chắn được ưa chuộng hơn đối với các phân số có biểu diễn thập phân hữu hạn; ở đây có thể có đôi chút ảnh hưởng văn hóa từ vị thế trang trọng của ký hiệu khoa học.

Một quy ước trực tuyến khác, được dùng đặc biệt cho các số rất lớn hoặc rất nhỏ, được lấy từ C (ngôn ngữ này lại tiếp thu từ FORTRAN). Đây là một dạng "ký hiệu khoa học" dùng chữ "e" để thay thế cho "*10^"; ví dụ, một năm dài khoảng 3e7 giây.

Dấu ngã (~) thường được dùng với ý nghĩa định lượng là "xấp xỉ"; tức là ~50 có nghĩa là "khoảng năm mươi".

Trên Usenet và trong thế giới MUD, các toán tử quan hệ, logic và boolean thông dụng trong C như |, &, ||, &&, !, ==, !=, >, =, và =, cũng được nhận biết, và đôi khi người ta thấy dấu /= đại diện cho phép so sánh khác (bắt nguồn từ Ada, Common Lisp và Fortran 90). Việc dùng tiền tố "!" như một từ đồng nghĩa nới lỏng cho "not-" (không) hoặc "no-" (không có) là đặc biệt phổ biến; vì thế, "!clue" được đọc là "no-clue" (không có manh mối) hoặc "clueless" (mù tịt).

Một thói quen liên quan là mượn cú pháp từ các ngôn ngữ lập trình ưa thích để diễn đạt ý tưởng trong một văn bản bằng ngôn ngữ tự nhiên. Chẳng hạn, người ta có thể bắt gặp đoạn trao đổi sau:

Trong thư <[email protected]>, J. R. Hacker đã viết:

>Gần đây tôi có dịp thử nghiệm thực tế thiết bị gonkulator

>thích ứng Snafu Systems 2300E. Giá cả rất phải chăng,

>và đường sọc thể thao trên vỏ máy trông cũng khá ngầu,

>nhưng hiệu năng thì vẫn còn nhiều điều đáng bàn.

Ừ, tôi cũng dùng thử một chiếc rồi.

#ifdef FLAME

Bộ chưa ai nói cho mấy gã ngốc đó biết rằng không thể triệt

tiêu bogon thỏa đáng bằng các bộ lọc AFJ với lưu lượng mạng

như hiện nay à?

#endif /* FLAME */

Tôi đoán họ nghĩ mức giá chênh lệch để có được khả năng phân tích

ngữ nghĩa dựa trên khung thực sự là quá đắt.

Đáng tiếc là đó lại là cách tiếp cận khả thi duy nhất.

Tôi khuyên bạn không nên mua sản phẩm này trừ khi ngân sách của bạn

*cực kỳ* eo hẹp.

#include <disclaimer.h>

--

== Frank Foonly (Fubarco Systems)

Trong đoạn trên, cặp lệnh #ifdef/#endif là cú pháp biên dịch có điều kiện trong C; ở đây, nó ngụ ý rằng đoạn văn bản ở giữa (vốn là một lời chỉ trích gay gắt - flame) chỉ nên được đọc nếu bạn đã bật (hoặc định nghĩa) công tắc FLAME. Dòng lệnh #include ở cuối là cách viết của C mang nghĩa "hãy chèn lời từ chối trách nhiệm tiêu chuẩn vào đây"; "lời từ chối trách nhiệm tiêu chuẩn" được hiểu đại khái là: "Đây là quan điểm cá nhân của tôi và không được hiểu là lập trường chính thức của công ty nơi tôi làm việc."

Phần trên cùng trong ví dụ, với ký tự > ở lề trái, là một minh họa cho quy ước trích dẫn nội dung mà chúng ta sẽ thảo luận ở phần dưới.

Gần đây hơn, nối tiếp sự bùng nổ của World Wide Web, ngôn ngữ đánh dấu giả HTML đã trở nên phổ biến cho các mục đích tương tự:

<flame>

Cha anh là một con chuột đồng còn mẹ anh thì nồng nặc mùi quả cơm cháy!

</flame>

Bạn thậm chí còn thấy cách viết này đi kèm với từ bổ nghĩa theo phong cách HTML:

<flame intensity="100%">

Bạn có vẻ rất hợp với một vị trí công tác trong cơ quan nhà nước đấy.

</flame>

Một cấu trúc gần đây khác (cuối thập niên 1990) hiện phổ biến trên USENET dường như được mượn từ Perl. Nó bao gồm việc dùng một dấu đô la đứng trước một từ viết hoa hoặc một từ viết tắt để gợi ý một thành viên ngẫu nhiên bất kỳ thuộc nhóm mà từ đó chỉ định. Chẳng hạn: "$PHB" có nghĩa là "bất kỳ kẻ nào thuộc dạng Sếp Đầu Nhọn (Pointy-Haired Boss)".

Hacker cũng trộn lẫn chữ cái và chữ số một cách tự do hơn so với lối dùng thông thường. Cụ thể, văn phong hacker chuẩn mực là viết một chuỗi chữ số ở nơi mà bạn muốn người đọc hiểu chuỗi văn bản gọi tên con số đó bằng tiếng Anh. Vì vậy, hacker thích viết "1970s" hơn là "nineteen-seventies" hay "1970's" (cách viết sau trông giống như một sở hữu cách).

Cũng cần lưu ý rằng hacker ít ngần ngại hơn nhiều trong việc dùng các dấu ngoặc đơn lồng nhau nhiều tầng so với tiếng Anh thông thường. Một phần của điều này gần như chắc chắn là do ảnh hưởng từ LISP (ngôn ngữ sử dụng các dấu ngoặc đơn lồng sâu rất nhiều trong cú pháp (như thế này (thấy chưa?))), nhưng người ta cũng cho rằng đó là do một nét tính cách căn bản hơn của hacker: thích thú đùa nghịch với sự phức tạp và đẩy các hệ thống tới giới hạn của chúng.

Sau cùng, cũng đáng nhắc tới việc nhiều nghiên cứu về giao tiếp trực tuyến đã chỉ ra rằng các kết nối điện tử có tác dụng giải tỏa ức chế tâm lý đối với con người. Bị tước đi các tín hiệu ngôn ngữ cơ thể vốn dùng để bộc lộ trạng thái cảm xúc, người ta có xu hướng quên đi mọi thứ về đối phương ngoại trừ những gì được thể hiện qua liên kết ASCII kia. Điều này đem lại cả tác động tích cực lẫn tiêu cực. Mặt tốt là nó khuyến khích sự thẳng thắn và có xu hướng phá vỡ các mối quan hệ quyền lực thứ bậc; mặt xấu là nó có thể khuyến khích sự tha hóa nhân cách và thói thô lỗ vô cớ. Có lẽ để phản ứng lại điều này, những cư dân mạng dày dạn kinh nghiệm thường thể hiện một thứ phép lịch sự trang trọng có ý thức trong văn phong của họ vốn đã lỗi thời trong các phương tiện truyền thông nói và viết khác (chẳng hạn, cụm từ "Well said, sir!" - Nói hay lắm, thưa ngài! - không hề hiếm gặp).

Nhiều hacker hướng nội gần như không thể diễn đạt trôi chảy khi đối thoại trực tiếp lại giao tiếp hết sức lưu loát trên mạng, có lẽ chính vì trong tiềm thức họ có thể quên đi rằng mình đang đối diện với con người thật, và do đó không cảm thấy căng thẳng, âu lo như khi gặp mặt trực tiếp.

Mặc dù việc công khai chỉ trích người đăng bài vì lỗi chính tả hay ngữ pháp kém bị coi là thiếu tế nhị, thế nhưng mạng lưới vẫn luôn đề cao khả năng hiểu biết ngôn ngữ và sự rõ ràng trong diễn đạt. Rất có thể các nhà sử học văn học tương lai sẽ nhìn nhận nơi đây như một sự hồi sinh của truyền thống vĩ đại xem việc viết thư từ cá nhân là một bộ môn nghệ thuật.

Mục:

Trích dẫn trong email

, Tiếp theo:

Phong cách nói của hacker

,

Trước:

Phong cách viết của hacker

, Lên trên:

Đầu trang

Nguồn: Việt Nam Thư Quán dịch từ Project Gutenberg
Được bạn: Mọt Sách đưa lên
vào ngày: 1 tháng 11 năm 2026

« Lùi Tiến »

1 Trong Tổng Số 2 tác phẩm của Leon Trotsky

💬 Thảo luận

Chưa có bình luận nào — hãy là người đầu tiên chia sẻ cảm nhận của bạn!

Đăng nhập để tham gia bình luận.