Windows và Linux lập trình viên nên chọn OS nào?
Linux > Windows?
Giới thiệu hệ điều hành Windows
Hệ điều hành Windows đã quá đỗi thông dụng đến mức mình không cần phải giới thiệu gì nhiều. Hệ điều hành (OS) mà bạn đang sử dụng để đọc bài viết này xác suất rất cao đang là hệ điều hành Windows. Windows là hệ điều hành của tập đoàn Microsoft, người đứng đầu là tỷ phú Bill Gates. Microsoft là một trong những công ty công nghệ lớn nhất thế giới, cùng với nhiều ông lớn khác như Google, Facebook, Amazon, Apple, … Những công ty công nghệ hàng đầu thế giới ai trong giới lập trình viên cũng phải ngưỡng mộ, tất nhiên mình cũng thế!
Bản thân Minh trong quá khứ cũng đã dùng qua nhiều phiên bản Windows:
- Windows XP (rất ổn định, tương thích nhiều game nè :D)
- Windows Vista
- Windows 7
- Windows 8
- Windows 10 (đánh rơi nhịp Windows 9 đâu mất tiêu rồi ta ^^!)
Không thể phủ nhận rằng Windows là một trong những hệ điều hành phổ biến nhất hiện nay. Cá nhân mình nhận xét Windows có những điểm nổi trội sau:
- Phổ biến trên nhiều máy tính ở quán nét, trường học, văn phòng, cá nhân, …
- Dễ sử dụng cho người mới dùng máy tính, Windows khá dễ làm quen và thành thạo. Tuyệt vời!
- Ứng dụng soạn thảo văn bản Microsoft Office quá tốt! Giúp ta dễ dàng soạn báo cáo, slide và việc in ấn.
- Lựa chọn số 1 cho các game thủ: game online, game đồ họa, …
Nhìn chung mình khuyên dùng Windows cho người dùng cuối, riêng dạng đặc biệt đối với những người làm lập trình (developer, programmer) Minh lại khuyên dùng Linux! Tại sao vậy nhỉ, hãy đọc tiếp nhé.
Giới thiệu lõi hệ điều hành Linux
Lõi Linux (Linux kernel) ra đời cũng đã khá lâu rồi, là một lõi hệ điều hành mã nguồn mở. Có nhiều phiên bản hệ điều hành (Linux distribution) phát triển trên lõi Linux nổi tiếng như:
- Ubuntu
- CentOS
- Fedora
Hiện tại Minh đang dùng Ubuntu nhưng trong bài viết này mình sẽ gọi chung là Linux cho nó tổng quát. Nói về Linux, ta có thể nghĩ đến những điểm sau:
- Gọn nhẹ
- Terminal mạnh mẽ (command line)
- Rất dễ cài đặt thư viện, package
- Tính tương thích cao (ví dụ: chương trình chạy được trên Ubuntu 16.04 sẽ không gặp vấn đề gì với Ubuntu 18.04)
Thời điểm đầu việc chuyển từ Windows sang Linux Minh cũng cảm thấy Linux khá khó xài vì chủ yếu không quen với giao diện của nó. Laptop mình giữ 2 OS: Windows và Linux. Thời điểm đầu mình ít khi dùng Linux, sau khi quen dần mình dùng Linux nhiều hơn (chỉ qua Windows khi muốn chơi game) và bây giờ Minh đã dùng hẳn Linux trên máy cá nhân cũng như công việc ở công ty. Chỉ trong bài viết này mình chưa thể thuyết phục bạn chuyển sang dùng Linux ngay, nhưng thời điểm sau vài năm đi làm công ty PHẦN LỚN các developer sẽ "tự động" dùng Linux (trừ các dev trên nền tảng .NET) :) => Nếu chuyện này có thực sự xảy ra hãy quay về bài viết này của mình thả nhẹ một LIKE nhé ^^~
So sánh Windows và Linux
So sánh theo quan điểm cá nhân của Minh, dành cho mục đích tham khảo:
OS | Windows | Linux |
---|---|---|
Giao diện sử dụng | X | |
Văn phòng | X | |
Chơi game | X | |
Lập trình | X | |
Mạng máy tính | X | |
Nghiên cứu A.I. | X | |
Server | X |
Lập trình viên (developer) nên chọn môi trường Linux
Nếu bạn đang là lập trình viên .NET, điều đương nhiên là bạn phải "dính" với Windows. Vì Microsoft đã xây dựng một nền tảng của riêng mình, rất nhiều dịch vụ được cung cấp tạo nên một "hệ sinh thái" khép kín:
- Windows PC, Windows Server, Windows Phone, … (liên quan đến OS)
- Microsoft Office: Word, Excel, Powerpoint, …
- Ngôn ngữ lập trình C#, VB .NET trên .NET framework
- Bing search
- Visual Studio (IDE)
- Deep Learning framework: Microsoft Cognitive Toolkit (CNTK)
- Microsoft Azure: dịch vụ cloud
- …
Thế giới đang theo xu hướng mở. Việc tung ra source code giúp cộng đồng lập trình, nghiên cứu trong lĩnh vực khoa học máy tính đi nhanh hơn! Khi dùng Linux, sự lựa chọn phục vụ việc phát triển phần mềm của mỗi cá nhân tự do hơn:
- Linux: Ubuntu, CentOS, hoặc distribution nào khác
- LibreOffice hoặc Google Docs, Google Sheets, Google Slides cho việc văn phòng
- Ngôn ngữ lập trình PHP, Python, Java, … (bạn có thể cài trên Windows nhưng không dễ dàng như Linux)
- Google search, …
- VSCode (cũng của Microsoft nhưng mã nguồn mở và gọn nhẹ hơn VS), Eclipse, PyCharm, …
- Deep Learning framework: Pytorch, Tensorflow, MXNet, …
- Amazon Web Service, Google Cloud, Linode, Digital Ocean, …
- …
Tóm lại, lựa chọn nằm ở bạn. Bạn đang cảm thấy mình phù hợp với OS nào hơn, phục vụ công việc mình tốt hơn thì cứ dùng. Riêng Minh, thời điểm này, Linux (cụ thể: Ubuntu) là quá ổn!