Sau nhiều năm học tập và làm việc với Ubuntu, hôm nay tôi muốn chia sẻ một chút kinh nghiệm của mình. Bài viết sẽ tổng hợp một số câu hỏi thường gặp cho những lập trình viên đang muốn chọn hệ điều hành để làm việc lâu dài. Nhân đây tôi cũng muốn biện minh cho việc kỳ thị Windows users của tôi ở công ty  😆 .

Life is short, use Ubuntu

Tại sao phải dùng Ubuntu khi Windows cờ rắc là đủ?

Tôi không dám chỉ trích những người dùng Windows lậu vì bản thân tôi cũng có một thời gian rất dài gắn bó với nó. Từ thời Windows XP cho đến Windows 8 cũng là một khoảng thời gian khá dài. Windows để lại cho tôi nhiều kỷ niệm với một thời đi cài win giúp bạn bè (nhất là các bạn gái), ghost máy, sửa máy, cài game, cài phần mềm lậu và diệt virus  😆

Song song với những kỷ niệm đáng nhớ đó, là những ký ức về những lần tắt máy mà Windows đòi update, màn hình xanh và máy nhiều virus. Đặc biệt có những đêm tôi thức đến năm giờ sáng để cài lại bản Windows “sạch sẽ” với đầy đủ phần mềm tôi cần. Lúc đó tôi tự hỏi mình rằng: “có cách nào thoát khỏi cái vòng luẩn quẩn này để có thể tập trung vào lập trình hơn?”.

Một phần do may mắn, một phần vì tính chất công việc nên tôi đã có cơ hội tiếp xúc với Linux. Công ty đầu tiên giao cho tôi đủ thứ việc, trong đó có đi cài đặt máy chủ web. Tôi không đủ dũng cảm để xóa sạch Windows nhưng do một lần format nhầm nên tôi chỉ cài duy nhất hệ điều hành Ubuntu trên máy của mình. Thời gian đó tôi hết phụ thuộc vào Windows, bản thân như được làm mới kiến thức về hệ điều hành.

Từ sau lần đó tôi có thử qua dăm ba hệ điều hành khác nhau như Mint, Fedora, CentOS nhưng cuối cùng tôi vẫn trở lại với người bạn đầu tiên: Ubuntu. Lý do tôi chọn Ubuntu là:

  1. Dễ cài đặt, dễ làm quen cho người mới bắt đầu
  2. Ổn định, ít lỗi và đáng tin cậy
  3. Mạnh mẽ trong việc lập trình web, system admin
  4. Cộng đồng lớn, luôn sẵn sàng giải đáp tất cả các câu hỏi
  5. Và tất cả những ưu điểm của hệ điều hành nhân Linux.
    Xin tạm biệt những lần khởi động lại máy, phần mềm diệt virus. Tạm biệt dọn dẹp ổ cứng. Tạm biệt cài lại… win  😯

Ubuntu lập trình được những platform nào?

Just for fun – Bill Gates recommend Ubuntu :))

Để tiết kiệm thời gian thì hãy hỏi rằng “Ubuntu không lập trình được platform nào?” Theo sự hiểu biết giới hạn của tôi, ngoài app iOS và MacOS (cụ thể là hai ngôn ngữ Objective-C và Swift) cộng với Winform (ngôn ngữ C#, đã có thể lập trình trên Ubuntu nhưng cũng khá giới hạn). Tất cả các platform nổi tiếng khác đều có thể lập trình trên Ubuntu. Và Ubuntu đặc biệt mạnh mẽ khi bạn dùng nó để lập trình web, lập trình Android và làm System Admin.

Ubuntu có chơi game được không?

Câu trả lời là không những chơi được game mà còn chơi được nhiều game nổi tiếng. Ubuntu có thể chơi được Dota2 và tất cả những game hỗ trợ SteamOS qua phần mềm Steam. Bạn có thể xem danh sách game có thể chơi được trên Ubuntu tại đây.

Rất tiếc cho fan của LOL vì Ubuntu chỉ chạy được bản quốc tế (thông qua Wine) còn bản Việt Nam thì do phần mềm Garena quá lởm nên không thể chạy được. Mỗi khi team tôi cần chơi LOL thì ra phải ngoài net. Vì mấy anh em đều chỉ cài Ubuntu thôi.

Đặc biệt những game offline cần sức mạnh của VGA thì cũng bó tay luôn. Vì các hãng sản xuất card màn hình luôn bỏ qua Ubuntu (không thèm hỗ trợ hoặc hỗ trợ sau). Đến mức mà Linus Tovarlds đã từng nói: Nvidia, f**k you. Cho nên những card mạnh nhất mới ra thì đương nhiên sẽ không chạy hết hiệu suất trên Ubuntu mà chiến game được, và chẳng ai muốn bỏ tiền ra mua card mà lại chạy không hết hiệu suất cả.

Theo quan điểm cá nhân, tôi nghĩ lập trình viên nếu cần chơi game thì hãy build một máy tính bàn mạnh mẽ cài Windows, còn laptop làm việc thì cài Ubuntu là hợp lý. Việc này gây tốn kém nhưng cũng có mặt lợi là giúp bạn đỡ sao nhãng trong công việc, giúp bạn:

Chơi ra chơi – Làm ra làm

Nhược điểm của Ubuntu là gì?

Ubuntu không phải là hoàn hảo. Vẫn có nhiều khoảng cách và giới hạn mà không phải ai cũng vượt qua được để đến với Ubuntu. Cái đầu tiên phải nói là khó dùng, khó làm quen. Khó dùng là khó với người mới làm quen với nó, nhất là những người chuyển từ Windows sang, đa số có thói quen ăn sẵn, sợ những điều phức tạp (lại miệt thị rồi 😅 ). Còn nếu bạn đã dùng lâu rồi thì sẽ chẳng có khó khăn nào đâu.

Vấn đề thứ hai là thiếu hụt phần mềm, hiện tại Ubuntu cũng đã cung cấp kha khá phần mềm nhưng một số phần mềm chuyên dụng vẫn chưa hỗ trợ Ubuntu, nổi tiếng nhất là Microsoft Office (phầm mềm kiếm cơm của M$) và Photoshop (không có cái này thì rất bất tiện cho Web developer). Giải pháp thay thế (alternative) là dùng Open OfficeGimp, bạn cũng có thể cài các phần mềm thông qua Wine. Nếu đã dùng hết các cách mà phần mềm của bạn vẫn không thể nào chạy ngon trên Ubuntu thì… đành tạm biệt  😥

Vấn đề nhức nhối cuối cùng là bộ gõ tiếng việt. Tôi đảm bảo Ubuntu gõ tiếng việt ngon, tôi viết blog này trên Ubuntu mà. Nhưng trải nghiệm gõ tiếng việt trên Ubuntu (và cả MAC) chưa bao giờ được nuột như Windows. Cái này hơi dông dài nên bạn có thể tham khảo chuyện gõ tiếng việt trên Linux để hiểu rõ hơn.

Kết

Trên đây là những ý kiến của bản thân tôi về Ubuntu, nó cũng có ưu/nhược riêng, nếu bạn đang có ý định thử thì hãy thử ngay đi, tôi nghĩ nó sẽ không làm bạn thất vọng đâu. Còn một điều này:

Ubuntu tốt, nhưng bạn có quyền không dùng nó.

Nếu không thích hoặc không hợp, bạn có thể chọn Windows và MAC. Bởi vì chọn hệ điều hành nào không quan trọng, quan trọng là cách bạn sử dụng và làm chủ nó. Hãy sử dụng hệ điều hành mà bạn cảm thấy nó giúp công việc của mình trôi chảy và hạnh phúc.

Các bài viết khác về chủ đề Ubuntu: