Công ty của Bác khi code vẫn dùng native (?) hay sao ấy hì hì.
Không phải bác à, em viết chương trình Native chỉ để thỏa mãn chính mình mà thôi, giống như làm nghệ thuật vậy, vì bây giờ toàn dùng .NET không à, không có đất dụng võ.
Khi còn đi học em tôi luyện rất dữ. Có lẽ bác nào mới vào đại học có thể tham khảo.
-
Học cái gì cũng đi từ cơ bản. Làm nhiều project, viết nhiều chương trình, cái gì cũng tự mình làm từ đầu đến cuối, làm cái gì cũng đi từ cơ bản, Windows thì dùng WinAPI, Linux thì dùng X Window System (core). Cái gì dễ làm nhưng không hiểu được cái dưới, không biết cái bên trong thì không làm.
-
Không bao giờ sử dụng thư viện có sẵn. Không bao giờ dùng code của người khác, cái nào bí quá đọc code của người khác thì kiểu gì cũng phải viết lại cho tốt hơn. Đoạn mã nào cũng phải tinh chỉnh đến tận mỹ, tận tuyệt. Đây là cách tôi luyện tốt. Học hành khác với làm việc. Làm việc thì phải làm sao cho nhanh, bớt bỏ nhiều công sức.
(Lúc đó quả thật hơi kiêu ngạo, vì đọc code của ai cũng thấy người ta vụng về cả, nhìn cái gì cũng thấy những điểm mấy chốt để có thể làm nó chạy nhanh hơn, dù tốc độ chỉ tăng lên 5% cũng sẵn sàng viết một đoạn code dài gấp 3, 4 lần đi theo tinh thần của CPU. Sau này mới nghĩ lại, viết code phải nghĩ đến vấn đề dễ hiểu, sẵn sàng hy sinh một chút tốc độ để đổi lấy cấu trúc bền vững, dễ sử dụng lại.)
-
Khi viết chương trình luôn luôn tách bạch với hệ điều hành. Những gì sử dụng đến hàm hệ thống (API) thì luôn luôn có một lớp ở giữa, khi chuyển ứng dụng của mình sang hệ điều hành khác, chỉ việc viết lại lớp giữa. Ví dụ như malloc. Thay vào đó hãy viết
Mã:
void* MemoryAlloc (ULONG size)
{
#ifdef WINDOWS
return HeapAlloc (GetProcessHeap(), size);
#elif PALMOS
return MemPtrNew (size);
#elif LINUX
return malloc (size); /* should we use kernel api? */
#else
#error Platform not supported.
#endif
}
Tuy nhiên muốn làm như vậy kiến thức vững một chút.
Và còn rất nhiều nữa, tạm thời không nhớ hết. Một sự bắt đầu khó khăn, cày bừa nhiều, sẽ xây dựng một kiến thức nền tảng vững chắc, sẽ rất có ích cho sau này, làm việc gì cũng dễ dàng, Java hay .NET lúc đó học rất nhanh. Đừng bao giờ đề .NET hay Visual làm mê mị nếu mới bắt đầu học.
