Mười dòng code đã thay đổi thế giới của tôi

Công nghệ27 tháng 9, 2026·6 phút đọc

Từ lời chào "Hello World" đầu tiên đến màn hình vô hạn mạng trong game, mỗi lập trình viên đều có những dòng code ghi dấu ấn riêng. Bài viết này kể lại mười đoạn code đặc biệt — có cái khiến ta bật cười, có cái khiến ta nhận ra sức mạnh thật sự của lập trình.

Mười dòng code đã thay đổi thế giới của tôi

Có những dòng code tưởng chừng vô nghĩa nhưng lại in sâu vào ký ức của người lập trình viên. Chúng có thể là lời chào đầu tiên với thế giới máy tính, một trò đùa JavaScript lầy lội, hay một thủ thuật can thiệp trực tiếp vào bộ nhớ để có vô hạn mạng.

Mỗi người làm công nghệ đều có vài đoạn code "để đời" — không phải vì chúng hoàn hảo, mà vì chúng đánh dấu một khoảnh khắc hiểu ra điều gì đó. Dưới đây là mười dòng code như thế, được chia sẻ bởi một lập trình viên kỳ cựu.

Lời chào đầu tiên với thế giới máy tính

Hello World - dòng code đầu tiên của mọi lập trình viênHello World - dòng code đầu tiên của mọi lập trình viên

10 PRINT "HELLO, WORLD!"
20 GOTO 10

Không ai nhớ chính xác lần đầu mình gõ đoạn này là khi nào, và cũng chẳng chắc nó đúng y nguyên như vậy — có thể thiếu dấu phẩy, có thể thừa vài dấu chấm than. Nhưng điều quan trọng là chiếc máy tính đã ngoan ngoãn đáp lời, chào lại thế giới một cách vui vẻ, và đặc biệt là chào đứa trẻ đang mắt tròn mắt dẹt vì lần đầu tiên "nói chuyện" được với máy tính.

Dòng thứ hai mới là điều đáng suy ngẫm: máy tính sẽ làm bất cứ điều gì bạn bảo nó làm — kể cả lặp lại mãi mãi. Hello world forever!

Sự kỳ quặc của JavaScript

Array(16).join('wat' - 1) + ' Batman'

Hãy dán dòng này vào console của trình duyệt để thưởng thức màn giao thoa giữa văn hóa đại chúng cổ điển và sự hài hước của dân lập trình, kèm theo một liều thuốc "JavaScript đúng là khó hiểu" thật đậm.

Đây là một tác phẩm kinh điển, và là một tràng cười sảng khoái thật sự trong lần đầu chạy thử.

Tự sửa đổi code hợp ngữ 6502

LDX #$00        ; Nạp X với giá trị 0
.loop   LDA $2000,X     ; Nạp A với byte tại địa chỉ $2000 + X
STA $0400,X     ; Lưu A vào địa chỉ $0400 + X
INX             ; Tăng X lên một
BNE .loop       ; Quay lại .loop khi X khác 0
INC .loop+2     ; X bằng 0, tăng byte tại .loop + 2
INC .loop+5     ; Đồng thời tăng byte tại .loop + 5
LDA .loop+5     ; Nạp A với byte tại địa chỉ .loop + 5
CMP #$07        ; So sánh với 7
BNE .loop       ; Quay lại .loop nếu A khác 7

Mã máy là thứ gần với phần cứng nhất mà bạn có thể chạm tới. Không cảnh báo, không log, không rào chắn. Nó thậm chí cho phép đoạn code tự sửa đổi chính mình bằng cách ghi đè trực tiếp các byte của mã đang chạy.

Trong ví dụ này, bạn cập nhật byte cao của địa chỉ nguồn và đích. Vòng lặp chạy từ $2000 đến $20FF, rồi lệnh INC tiếp theo đẩy địa chỉ từ $2000 lên $2100 trước khi bắt đầu vòng lặp mới. (Vi xử lý 6502 dùng little endian, nên ta cộng +2 và +5 thay vì +1 và +4.)

Cực kỳ low-level, cực kỳ "hardcore", và có phần nguy hiểm. Nhận ra mình có thể làm được điều này khiến tôi hiểu rằng: khi lập trình gần với phần cứng đến vậy, mọi thứ đều có thể.

Script touch.bat — vũ khí bí mật trên Windows

type nul > .\"%*"

Đoạn batch script nhỏ xíu này mang đến một phiên bản "touch" giá rẻ trên Windows, thứ tôi dùng liên tục từ thời Windows NT đến tận Windows 7. Chỉ cần gõ touch filename.txt trong mini-shell của Total Commander là có ngay một file rỗng mới. Không thể sống thiếu nó.

Debugger CSS

border: 10px solid hotpink;

Đây chính là console.log của tầng cascade! Là var_dump() của style! Là printf() của các bảng CSS!

Và lúc nào cũng phải là màu hotpink.

Mạng vô hạn

POKE 9450,173

Chỉ cần "poke" một byte vào đúng vị trí trong mã nhị phân đang nằm trong bộ nhớ máy tính, thế là bạn có ngay mạng, năng lượng hoặc tiền vô hạn.

Không chỉ cho phép gian lận trong game, đoạn code này còn mang đến một nhận thức mạnh mẽ: mọi thứ trong bất kỳ trò chơi nào đều có thể bị can thiệp, miễn là bạn biết chỗ để PEEK và POKE.

Vòng lặp tăng tốc

Ngày xưa, khi lập trình game, người ta thường dùng những kỹ thuật nhỏ để tận dụng sức mạnh phần cứng hạn chế. Những vòng lặp tối ưu kiểu này là bài học đầu tiên về hiệu năng — thứ mà ngày nay các lập trình viên web hiếm khi phải bận tâm, nhưng lại cực kỳ quan trọng trong thời đại máy tính 8-bit.

Trình quét username thời "hacker tập sự"

program Scanner;
{ ... }
var
  i: integer;
begin
  for i := 0 to 999 do
    { thử username ba ký tự, mật khẩu mặc định }
  readln;
end.

Thời kỳ đầu thập niên 90, trường học của chúng tôi cuối cùng cũng lắp đặt một mạng LAN, và đương nhiên nhóm bạn "hacker 1337" nghiệp dư của tôi bắt đầu khám phá nó.

Chúng tôi biết rằng mọi username đều gồm ba ký tự, và những tài khoản không dùng sẽ giữ nguyên mật khẩu mặc định. Thế là cả bọn viết vội một trình quét username cực kỳ thô sơ bằng Borland Pascal. Lỗi nhiều hơn cả số dòng code, nhưng nó cũng tạm hoàn thành nhiệm vụ (xứng đáng là phiên bản 2.00!).

Chúng tôi vui vẻ "hack" hết những tài khoản còn ngủ đông có thể tìm được, rồi... chuyển sang việc khác.

Bài thơ CSS trong 280 ký tự

*{transform:translateY(24vh);text-align:center}*>:before{animation:a 9s
1e+9 linear;content:'Roses are #F00'}@keyframes a{10%,15%,35%,40%,60%,65%,
85%,90%{opacity:1}12%,37%,62%,87%{opacity:0}25%{content:'Violets are #00F'
}50%{content:'All my base'}75%{content:'Are belong to you'}}

Một bài thơ động chỉ bằng đúng 280 ký tự CSS. Không JavaScript, thậm chí không cần HTML — đoạn mã chỉ cần chạy trong một tài liệu trống với duy nhất một thẻ style, không hơn.

Giới hạn nhân tạo này là bước nâng cấp so với mốc 140 ký tự trước đó do Twitter đặt ra, cho phép đăng những đoạn code nhỏ gọn mà bạn có thể dán thẳng vào một CodePen trống để xem hiệu ứng thú vị.

Điều đáng tự hào nhất có lẽ là thời lượng 1e+9 — ngắn hơn cả "vô hạn" (cả về thời gian lẫn số ký tự).

Điều đọng lại

Nhìn lại mười đoạn code này, có thể thấy chúng trải dài từ BASIC thời thơ ấu, qua hợp ngữ 6502, Borland Pascal, cho tới CSS hiện đại. Mỗi đoạn đều đánh dấu một khoảnh khắc "à, ra là vậy" — khi ta hiểu ra rằng máy tính chỉ là công cụ, còn điều kỳ diệu nằm ở trí tưởng tượng của người viết ra chúng.

Với các lập trình viên Việt Nam, những ký ức kiểu này chắc hẳn không xa lạ: từ những buổi gõ BASIC trên máy tính cũ, đến các thủ thuật "poke" trong game, hay những dòng CSS "phá đảo" để debug giao diện. Công nghệ thay đổi, nhưng niềm vui khi thấy code của mình chạy được thì vẫn vẹn nguyên.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗