Hãy cứ phát minh lại cái bánh xe

ó một dạo thời còn đại học, bị ám ảnh với những thứ 3D, nên tự đi viết một cái 3D-engine: phối cảnh vật thể trong không gian 3 chiều! Mà tôi biết thừa là chỉ làm cho vui, chứ những engine 3D đã có như OpenGL, DirectX nó làm tốt hơn tôi một triệu lần! Nhưng xem như bài tập, cứ làm thử xem sao! Nhờ đó mà đọc qua các lý thuyết về một tá các phép chiếu (projection) khác nhau, ôn lại một mớ Toán vector, ma trận. Cái engine tôi viết ra hiển thị tốt các đối tượng 3D phức tạp, nhưng chưa có đổ bóng hay các thao tác advanced khác!

Bạn bè cùng lứa là toàn dùng ngôn ngữ và công nghệ cấp cao, kéo thả, cắt dán các kiểu rồi, còn tôi vẫn lập trình DOS với Turbo C++ sơ đẳng như thế! Và cực kỳ ghét những câu chữ bóng bẫy, trơn tuột (catching, slippery phrases) kiểu: Don’t reinvent the wheel – Đừng phát minh lại cái bánh xe! Không làm được cái đơn giản, sao làm được cái phức tạp!? Mà điều đó thấy rất rõ ở những coder trẻ: cái gì cũng biết, mà không làm được những điều đơn giản! Mà những điều đơn giản nó không có đao to búa lớn, không huênh hoang chữ nghĩa!

Và thế rồi đi chê Trung Quốc toàn chỉ biết copy (mà mình thì đến copy vẫn chưa làm được)! Copy hay không không quan trọng, quan trọng là bắt đầu với việc đơn giản đã! Và họ cứ “trường kỳ copy” như thế hàng chục năm, trước khi có được khả năng sáng tạo cái mới! Cũng như hoạ sĩ học vẽ thôi, trước khi tạo thành phong cách, thành danh thì hàng chục năm trước, họ đã dày công học hỏi, copy hết phong cách này đến xì-tai khác! Tự dưng mới sinh ra đã thành phong cách, đã thành sáng tạo, đã có kết quả thì chỉ có “cuội VN” thôi!

Nhưng nói điều đơn giản, làm điều cơ bản, ở cái thời gian và không gian này, có khi bị coi là ngu và ngố á! Đồ dở người, đồ hâm hấp, cứ mấy cái đơn giản, cơ bản đem ra nói hoài, chả có cái gì “cao siêu” cả, toàn cộng trừ nhân chia, toán hình toán số cơ bản thôi, xem có làm được không đã! Bữa xài cái app trả tiền điện nước, mới thấy mấy cái dòng tô đỏ bên dưới, nào là “Simulate”, nào là “Giả lập”, đem cả code test vào production – môi trường chạy thật như thế, có mỗi một dòng “#if DEBUG” cũng không thêm vào được, chả hiểu làm gì để ăn!? 🙁