Sài vscode hay vim?

Lập trình viên embedded Linux có 2 trường phái, 1 là code trên console, 2 là dùng IDE mà phổ biến nhất là Vscode. Vậy 2 trường phái này có ưu nhược điểm gì và nên chọn cái nào? Chúng ta sẽ cùng bàn luận ở trong bài viết này.
Embedded Linux và đặc biệt là Linux kernel, mình thấy lập trình viên code trên console rất phổ biến. Tuy nhiên một số khác thì lại thích dùng IDE hơn. Mặc dù mình thấy những người khác code trên console tương đối hiệu quả nhưng bản thân mình lại cảm thấy không phù hợp lắm, mặc dù đã nhiều lần cố gắng làm quen.
Ưu nhược điểm của Vim trên console:
  • Ưu điểm: Có rất nhiều plugin, hotkey, khả năng tùy chỉnh cho người dùng rất mạnh. Bản thân Vim cũng được cộng đồng về Linux kernel khuyến nghị nên sử dụng trong quá trình phát triển mã nguồn. Các hệ thống embedded có đặc thù là image bị customize nhiều, nên trong quá trình debug hay gặp các lỗi liên quan đến setup môi trường, ví dụ như thiếu package, chưa enable debug option… Nếu dùng vim thì sẽ dễ phát hiện nguyên nhân hơn do Vim liên kết trực tiếp với các debug plugin bên dưới. Cấu hình debug sử dụng Vim cũng đơn giản hơn. Vim dễ chạy và chuyển dịch qua lại giữa nhiều plaform khác nhau. Lập trình và debug trên console cũng giúp người mới hiểu rõ bản chất của quá trình compile và debug hơn.
  • Nhược điểm: Khó sử dụng, năng suất code rất chậm đặc biệt là với người mới. Người mới nếu không biết cách cấu hình và cài plugin thì khi code Vim sẽ không tự suggest và tự động điền code, các thao tác debug cũng nhiều bước và không trực quan.
  • Tuy nhiên như mình thấy các expert ở nước ngoài họ code sử dụng Vim rất nhanh, một cửa sổ có thể vừa gõ lệnh để tương tác với hệ thống bên ngoài, vừa gõ code… Khả năng debug sử dụng Vim cũng mạnh hơn Vscode nếu ở level master. Vì vim debug thông qua việc tích hợp trực tiếp vào gdb, mà gdb hiện tại hỗ trợ lên đến hàng nghìn tính năng. Hầu hết các tính năng mà gdb hỗ trợ thì Vim đều có thể sử dụng được.
Về ưu nhược điểm của Vscode và các loại IDE khác:
  • Ưu điểm: Dễ sử dụng, trực quan cho người mới do hỗ trợ UI và thao tác qua button. UI/UX của vscode thuộc loại dễ sử dụng nhất vì là đồ của Microsoft. Hiện tại với xu hướng màn hình độ phân giải lớn 4k thì vscode có thể hiện thị rất nhiều thông tin trên cùng 1 màn hình. Màn hình càng xịn thì các IDE càng phát huy được ưu điểm về UI của nó. Khả năng debug của Vscode rất trực quan, cùng 1 màn hình nhưng thể hiện đầy đủ các thông tin cơ bản như giá trị biến, call stack… Code cũng nhanh và đỡ lỗi hơn vì hỗ trợ đoán code, tra cứu…
  • Nhược điểm: Để cấu hình debug và tra cứu code trên vscode lằng nhằng hơn vim. Hay bị trục trặc nhất là khi cấu hình remote debug sang các loại board khác nhau. Vscode không sử dụng được hết tính năng của gdb vì vscode hỗ trợ người dùng thao tác với gdb thông qua UI và button. Thành ra chỉ những chức năng của gdb được tích hợp trên UI thì người dùng mới có thể sử dụng được. Tuy nhiên mình thấy tầm 95% các trường hợp debug thì đều sử dụng được trên UI của Vscode rồi.
Kết luận: Lập trình trên console như Vim hoặc UI như Vscode đều có ưu nhược điểm riêng. Nếu ở level expert thì mình thấy sử dụng console sẽ tốt hơn, và thực tế họ thao tác còn nhanh và tiện lợi hơn vscode. Còn đối với phần còn lại, đặc biệt là người mới thì nên code trên IDE, việc lập trình sẽ trực quan hơn rất nhiều.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top