Là lập trình viên, chúng ta phải thường xuyên làm việc với rất nhiều ký tự bàn phím mà người bình thường hiếm khi phải dùng đến và họ không phải suy nghĩ nhiều về chúng:
$ # % {} * [] ~ &
Ngay cả những ký tự được sử dụng khá thường xuyên trong văn bản hàng ngày — như dấu gạch ngang, dấu ngoặc, dấu chấm, và dấu hỏi — có ý nghĩa hoàn toàn khác nhau trong các ngôn ngữ lập trình.
ất cả điều này đều tốt đẹp, nhưng cuối cùng bạn sẽ phải đọc lên những ký tự này cho một lập trình viên khác vì một lý do nào đó. Và sau đó bạn sẽ rơi vào một tình huống thực sự khó xử.
Làm thế nào để bạn phát âm các ký tự ASCII ít quen thuộc này?
Tất cả chúng ta đều làm điều đó, nhưng không nhất thiết phải suy nghĩ nhiều về những từ mà mình lựa chọn. Tôi chắc chắn đã không nghĩ nhiều về việc này cho đến ngày hôm qua, khi tôi đọc dòng comment sau đây dưới bài viết Exploring Finder Wide:
Một người bạn đã gửi cho tôi một đoạn code Java, trong đó anh ta viết một vòng lặp để in ra dòng chữ “Cảm ơn!” một triệu lần (nhằm cảm ơn một vị giáo sư vì ông đã gia hạn thời gian deadline nộp luận văn cho anh ta). Tôi đã đáp lại bằng một dòng code duy nhất bằng Ruby thực hiện cùng chức năng, và một dòng duy nhất bằng ngôn ngữ Lisp.
Anh ta viết lại cho tôi rằng: “Underscores, pipes, octothorpes, curly braces — sheesh… Tôi sẽ có được cách viết ít rườm rà hơn, nhưng đồng nghĩa phải viết những dòng code trông giống như nó được nén lại vậy!”
Nhưng một octothorpe là cái quái gì vậy?
Tôi thường ngạc nhiên khi nghe các lập trình viên khác đọc tên những ký tự ASCII. Không phải là những từ mà cá nhân tôi sử dụng để gọi các ký tự ASCII là chính xác hơn, mà thực tế có nhiều biến thể về cách gọi hơn một lập trình viên có thể nghĩ.
Có lẽ đó là lý do tại sao tôi rất vui mừng khi phát hiện mục ASCII trong The New Hacker’s Dictonary, cái mà Phil Glockner đã giới thiệu. Đó là một thư mục khá đầy đủ các tên thông thường, tên hiếm gặp, và đôi khi hết sức kỳ lạ mà các lập trình viên gọi các ký tự ASCII rải khắp trên các dòng code của họ.
Có bao nhiêu cách phát âm ký tự ASCII trong số này mà bạn nhận ra? Những cái nào là “chính xác” như cách bạn đang gọi?
Tên phổ biến | Tên hiếm gặp | |||||
! | exclamation mark bang pling excl not shriek |
|
||||
“ | quotation marks quote double quote |
|
||||
# |
|
|
||||
$ | dollar sign dollar |
|
||||
% | percent sign mod grapes |
double-oh-seven | ||||
& | ampersand amp amper and and sign |
address reference andpersand bitand background pretzel |
||||
‘ | apostrophe single quote quote |
|
||||
( ) | opening / closing parenthesis left / right paren left / right parenthesis left / right open / close open / close paren paren / thesis |
so/already lparen/rparen opening/closing parenthesis opening/closing round bracket left/right round bracket wax/wane parenthisey/unparenthisey left/right ear |
||||
[ ] | opening / closing bracket left / right bracket left / right square bracket bracket / unbracket |
square / unsquare u turn / u turn back |
||||
{ } | opening / closing brace open / close brace left / right brace left / right squiggly left / right squiggly bracket/brace left / right curly bracket/brace |
brace / unbrace curly / uncurly leftit / rytit left / right squirrelly embrace / bracelet |
||||
< > | less / greater than bra / ket left / right angle left / right angle bracket left / right broket |
from / into (or towards) read from / write to suck / blow comes-from / gozinta in / out crunch / zap tic / tac angle / right angle |
||||
* | asterisk star splat |
|
||||
+ | plus add |
cross intersection |
||||
, | comma | cedilla tail |
||||
– | dash hyphen minus |
worm option dak bithorpe |
||||
. | period dot point decimal point |
radix point full stop spot |
||||
/ | slash stroke slant forward slash |
diagonal solidus over slak virgule slat |
||||
\ |
|
bash reverse slant reversed virgule backslat |
||||
: | colon | dots two-spot |
||||
; | semicolon semi |
weenie hybrid pit-thwong |
||||
= | equals gets takes |
quadrathorpe half-mesh |
||||
? | question mark query ques |
|
||||
@ | at sign at strudel |
|
||||
^ | circumflex caret hat control uparrow |
xor sign chevron shark (or shark-fin) to the fang pointer |
||||
_ | underline underscore underbar under |
score backarrow skid flatworm |
||||
` | grave accent backquote left quote left single quote open quote grave |
|
||||
| | bar or or-bar v-bar pipe vertical bar |
vertical line gozinta thru pipesinta spike |
||||
~ | tilde squiggle twiddle not |
approx wiggle swung dash enyay sqiggle (sic) |
Vì vậy, nếu lần sau mà có một tay lập trình viên tiến tới trước mặt bạn và nói, “oh, it’s easy! Just type wax bang at hash buck grapes circumflex and splat wane”, thì bạn sẽ biết ý của anh ta là gì nhé.Nếu bạn tò mò về nguồn gốc của một số tên khá kỳ quặc ở trên, thì hãy tham khảo bộ đầy đủ các chú thích tại phần hướng dẫn phát âm ở trang web ascii-table.com.
Có lẽ như vậy.
Via Vinacode.net