TẠI SAO LẬP TRÌNH VIÊN NÊN BIẾT CÁCH SỬ DỤNG LINUX?
NỘI DUNG BÀI VIẾT
Mình nhấn mạnh từ “nên”, nghĩa là không bắt buộc, nghĩa là bạn vẫn có thể trở thành lập trình viên mà không cần phải biết cách dùng Linux. Nhưng nếu bạn muốn trở thành một lập trình viên “hợp thời”, muốn khám phá những giải pháp công nghệ hiện đại, muốn trở thành “hổ thêm cánh” thì chắc chắn phải biết cách dùng Linux. Và dưới đây là một số lý do điển hình:
1. Các server phần lớn đều sử dụng hệ điều hành Linux
Mặc dù rất khó để tìm thấy một chiếc laptop của người dùng thông thường lại được cài hệ điều hành Linux. Nhưng đối với các server thì lại khác, Linux là hệ điều hành phổ biến nhất trên các server bởi những lý do sau:
- Miễn phí: Bạn sẽ không phải tốn chi phí bản quyền khi sử dụng hệ điều hành Linux.
- Ít tốn tài nguyên phần cứng: Linux được cho là ít tốn tài nguyên phần cứng hơn là hệ điều hành Windows, hay cũng có thể nói Linux có thể chạy tốt trên các phần cứng thông thường (phần cứng rẻ).
- Bảo mật và cập nhật nhanh chóng: Vì linux là mã nguồn mở, nên khi phát hiện lỗi, sẽ nhận được sự đóng góp nhiệt tình từ cộng đồng người sử dụng trên khắp thế giới.
Từ những lý do trên, có thể thấy rằng Linux là hệ điều hành “tối ưu cho túi tiền”. Bạn có thể tập trung chi phí cho phần cứng của server thay vì phải mất một khoản để trả cho bản quyền của hệ điều hành.
Mặt khác, các lập trình viên lại là đối tượng thường xuyên tọc mạch vào các server để ngịch ngợm. Vì vậy mà bạn nên biết sử dụng Linux để có thể làm chủ server của mình.
Nếu bạn chưa bao giờ làm việc với server Linux, thì có nghĩa là chưa tới lúc bạn động đến chúng, chứ không có nghĩa là bạn không cần chúng.
2. Là môi trường lý tưởng cho các công nghệ Open Source
Bản thân Linux là một open source, nên nó rất dễ dàng kết hợp với các công nghệ open source khác. Ngoài ra, các công nghệ open source phần lớn đều tương thích với hệ điều hành Linux (thật ra mình chưa gặp một open source nào mà không hỗ trợ Linux cả).
Mặt khác, phát triển sản phẩm open source lại đang là xu hướng. Bằng chứng là ngay cả ông lớn Microsoft – nổi tiếng với cách làm closed source cũng đã có sản phẩm open source cho riêng mình là VsCode – một editor được nhiều lập trình viên yêu thích. Hay trong mấy năm gần đây, Microsoft cũng đã mua lại github và npm, vốn là 2 nền tảng liên quan nhiều tới các open source. Bạn cũng có thể thêm các open source của Microsoft tại đây: https://opensource.microsoft.com
Việc cài đặt thêm các nền tảng open source khác trên Linux thật sự dễ dàng thông qua các trình quản lý gói. Ví dụ để cài đặt PHP trên Ubuntu (một distro của Linux) bạn chỉ cần chạy lệnh sau trên CLI:
sudo apt install php
Nếu như bạn là một web developer (PHP, NodeJS), android developer thì môi trường phát triển tốt nhất có lẽ là Linux.
3. Có ứng dụng CLI mạnh mẽ
Mình đã phân vân không biết có nên đưa mục này vào không. Vì trên các bản distro của Linux thường sẽ có sẵn một app CLI là Terminal, và điều khiến mình cho rằng CLI trên Linux mạnh mẽ hơn các hệ điều hành khác, cụ thể là với Windows là do cái app Terminal này dễ dàng sử dụng hơn so với Command Prompt hay Powershell có sẵn trên Windows. Nhưng mình cũng gặp rất nhiều bạn chuyển qua dùng Linux đơn giản chỉ vì cái cái Terminal của Linux dùng được tổ hợp phím control + C / control + V để copy và paste, thay vì phải sử dụng chuột hoặc một tổ hợp phím “lạ lùng” nào đó để thực hiện công việc tương tự trên Windows.
Sau khi suy nghĩ, mình quyết định đưa mục này vào bài viết.
MỘT SỐ LƯU Ý VỀ LINUX
Phía trên toàn là thấy khen Linux không à, sợ các bạn sẽ gỡ Windows để mà cài đặt Linux nên mình viết thêm mục này để lưu một số điều về Linux.
1. Nếu bạn chuyên làm các stack liên quan tới Windows, biết Linux có thể không giúp ích cho bạn
Nếu bạn chỉ làm C#, aps.net, Visual basic, hay bất kỳ công nghệ độc quyền nào của Microsoft thì biết linux sẽ không giúp ích gì cho bạn. Bởi bản thân ông lớn Microsoft đã trang bị sẵn một hệ sinh thái khép kín cho các công nghệ của mình.
2. Linux không phù hợp với các ứng dụng văn phòng hay thiết kế
Linux tuy rất phù hợp để lập trình, để phát triển các sản phẩm trên nền tảng open source, nhưng lại không hỗ trợ tốt các ứng dụng văn phòng như MS world, Excel, Power Point,… Mặc dù trên Linux có hai bộ ứng dụng là LibreOffice và OpenOffice để giải quyết vấn đề này, nhưng nó vẫn không mượt mà và ổn định như MS Office có trên Windows được. Cũng đúng thôi, MS Office là một trong những niềm tự hào của Microsoft mà, đâu dễ dàng thay thế được.
Tuy lập trình viên ít khi phải động tới các ứng dụng dạng này, nhưng không phải là không có.
Một phần mềm nữa là Photoshop cũng không có bản hỗ trợ trên Linux, với những bạn có nhu cầu cắt giao diện từ Photoshop thì đây cũng là vấn đề đang lưu ý đó.
Về cách khắc phục, thao tác với các ứng dụng văn phòng bạn có thể sử dụng LibreOffice, OpenOffice, hoặc Google docs, Google sheet, Google slide để thay thế. Với việc cài photoshop, bạn có thể cài trên máy ảo windows để sử dụng, hoặc chọn một nền tảng khác photoshop để sử dụng.
Lưu ý: Cách khắc phục trên chỉ giải quyết được phần nào, chứ không giải quyết được triệt để vấn đề. Cách giải quyết triệt để là không dùng Linux nữa.
3. Sao chỉ thấy so sánh Linux với Windows vậy, sao không thấy so sánh với MacOS?
Có một câu chuyện dài phía sau câu hỏi này.
Có thể bạn đã biết, MacOS được phá triển dựa trên BSD – một hệ điều hành thuộc họ nhà UNIX. Còn Linux thì chính là GNU (như mình nói ở phần đầu), trong khi đó GNU là một hệ điều hành clone (nhân bản, học tập ý tưởng, bắt chước) UNIX. Do đó, tuy GNU không được phát triển dựa trên UNIX và không được coi là hệ điều hành thuộc họ nhà UNIX, nhưng lại có khá nhiều điểm tương đồng với các hệ điều hành thuộc họ nhà UNIX, cụ thể là MacOS. Vì vậy có thể coi MacOS và Linux là hai anh em tuy không cùng bố mẹ, nhưng lại khá giống nhau. Mà giống nhau, thì người ta không cần phải so sánh.
Ngoài ra, MacOS là độc quyền của Apple, trong khi đó Apple lại chưa có dịch vụ nào liên quan tới cloud server giống như Windows cả – một trong những điều khiến người ta phải so sánh với Linux nhất.
TRUNG TÂM: CODEGYM – HỆ THỐNG ĐÀO TẠO LẬP TRÌNH HIỆN ĐẠI CAM KẾT CÓ VIỆC LÀM
Trả lời