Có nên lập trình bằng linux

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:

OSWindowsLinuxGiao diện sử dụngX Văn phòngX Chơi gameX Lập trình XMạng máy tính XNghiên cứu A.I. XServer XLậ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!

Giáp Nguyễn @giapbnv

Theo dõi

114 1 5

Đã đăng vào thg 9 15, 2019 12:43 CH 14 phút đọc

4.3K

12

2

[Linux]11 lý do tại sao Linux lại tốt hơn Windows | 11 Reasons Why Linux Is Better Than Windows

  • Báo cáo
  • Thêm vào series của tôi

Bài đăng này đã không được cập nhật trong 3 năm

Giáp Nguyễn @giapbnv

Theo dõi

114 1 5

Đã đăng vào thg 9 15, 2019 12:43 CH 14 phút đọc

4.3K

12

2

[Linux]11 lý do tại sao Linux lại tốt hơn Windows | 11 Reasons Why Linux Is Better Than Windows

  • Báo cáo
  • Thêm vào series của tôi

Bài đăng này đã không được cập nhật trong 3 năm

   Đã có bao giờ bạn tự hỏi Liệu Linux có tốt hơn Windows? Đừng có hỏi làm gì cho mất công. Bởi vì trong những khía cạnh khác nhau thì mỗi hệ điều hành đều có những ưu điểm và hạn chế riêng. Nếu chỉ là người dùng phổ thông hay đơn giản là bạn không thích Linux thì có vẻ như Windows là 1 sự lựa chọn tuyệt vời.

  Tuy nhiên, trong thực tế chúng ta có xu hướng trải nghiệm điều gì đó khác biệt, nếu như bạn thích khám phá và tìm tòi những thứ mới thì Linux sẽ là sự lựa chọn tuyệt vời.

Ưu điểm của Linux so với Windows

  Nhưng trong bài viết này, mình sẽ đưa ra 11 điều làm cho Linux tốt hơn Windows.

1. Một "thiên đường" mã nguồn mở

   Điều này cũng giống như khi bạn đi mua một chiếc laptop, bạn mua nó nhưng bạn không thể biết rõ được bên trong nó bao gồm những gì. Điều này giống như khi bạn sử dụng HĐH Windows vậy.
   Tuy nhiên, ngược lại, Linux là mộ dự án mã nguồn mở bạn có thể xem mã nguồn của Linux và có thể tùy chỉnh mọi thứ bạn muốn. Đây là một điểm cộng cực lớn. Có thể mọi người không quan tâm đến nó nhưng với tôi đây là một tính năng vô cùng quan trọng khi sử dụng GNU/Linux.

2. Bảo mật an toàn

   Như chúng ta đã biết, windows dẽ bị tấn công bởi các kiểu tấn công khác nhau [ hoặc bị khai thác các lỗ hổng zero-day hay one-day]. Tuy không phải là bất khả xâm phạm nhưng theo những thống kê cho thấy. Số lượng các cuộc tấn công hay mã độc chủ yếu sảy ra với các server chạy windows. Linux không phải là tượng đài bất khả xâm phạm nhưng chắc chắn nó an toàn hơn windows mặc cho các công nghệ tường lửa trên windows ngày một phát triển.

3. Có thể hoạt động ngon lành trên các máy tính cũ

  Khi các hệ điều hành phát triển thì yêu cầu phần cứng của các HĐH đó cũng tăng theo cấp số nhân. Ví dụ, khi bạn sử dụng windows 10 thì yêu cầu phần cứng tối thiểu cũng phải là 2GB và nhiều yêu cầu phần cứng khác mà không phải là máy đời cũ nào cũng có thể đáp ứng.   Tuy nhiên, với Linux bạn thẩm chí có thể sử dụng trên những hệ thống máy tính có cấu hình từ đời "Tống" và vẫn có thể hoạt động bình thường.
Nhưng không có nghĩa là mọi bản phân phối cũng như cấu hình quá cũ. Ít ra cũng phải 256MB RAM cho bản phân phối nhẹ nhất. Những cũng vẫn có những bản phân phối có thể cài cho những thiết bị siêu "yếu sinh lý" như các thiết bị IoT [Puppy Linux chẳng hạn]...
   Vì vậy nên Linux là một hệ điều hành hiệu quả cho mọi cấu hình máy từ cao cấp đến thấp cấp. Không như Window nó yêu cầu một cấu hình máy phải khá cao. Ngay cả khi so sánh các bản phân phối cao cấp của Linux với cao cấp của Windows thì số lượng máy chủ Linux trên thế giới vẫn chiếm thế thượng phong. Vì vậy mà gần đây Microsoft cũng đang dấn thân vào con đường phát hành Linux cho cộng đồng...

10 Best Lightweight Linux Distributions For Older Computers

4. Hoàn hảo cho lập trình viên

   Linux hỗ trợ hầu hết các ngôn ngữ lập trình [C, C++, Java, Python, Ruby,... ]. Không những thế cũng có rất nhiều IDE hỗ trợ trên Linux.
Terminal trên Linux ưu việt hơn rất nhiều cho các mục đích phát triển so với CMD hay PowerShell trên Windows. Bạn có thể tìm thấy rất nhiều thư viện hỗ trợ trên Linux. Ngoài ra, rất nhiều các lập trình viên chỉ ra rằng Package manager trên Linux giúp họ dễ dàng quản lý và hoàn thành công việc.
Không những thế bash script cũng là một trong những điều thú vị cho các lập trình viên thích sử dụng Linux.
Linux cũng mang đến sự hỗ trợ riêng cho SSH, giúp bạn quản lý máy chủ nhanh chóng.

SemiCode OS: A Linux Distribution For Programmers And Web Developers

5. Kho phần mềm mã nguồn mở và update thường xuyên

  Microsoft đẩy một bản cập nhật phần mềm khi nhận được một loạt các vấn đề hoặc nếu cần sửa lỗi gì đó. Mặt khác, bạn sẽ thấy rằng một bản cập nhật phần mềm chỉ để giải quyết một vấn đề nhỏ.
  Vì vậy, với Linux, bạn sẽ nhận thấy nhiều bản cập nhật hơn để khắc phục các sự cố bạn có thể gặp phải. Bạn sẽ không chỉ được số lượng cập nhật phần mềm lớn hơn mà còn thấy được rằng các bản cập nhật phần mềm nhanh hơn nhiều so với Windows. Hoặc khi có vấn đề phát sinh một cộng đồng Open source sẽ sửa lỗi nhanh hơn so Microsoft nhiều.

6. Tùy biến cao

  Một lợi thế lớn của việc sử dụng Linux thay vì Windows là tùy biến. Nếu bạn thích điều chỉnh hệ thống của bạn, thì Linux hoàn toàn là sự lựa chọn tuyệt vời.
  Ngoài việc cài đặt các chủ đề, bạn có hàng tấn chủ đề biểu tượng đẹp. Ngoài ra, bạn có thể sử dụng Conky để hiển thị thông tin hệ thống trên desktop theo cách tuyệt vời nhất có thể. Không những thế bạn có thể làm rất nhiều xung quanh Wallpapers trong Linux.

7. Nhiều bản phân phối đa dạng tùy mục đích

  Trên Windows, bạn có thể phải tuân theo các kế hoạch hay packages khác nhau về điều khoản, thời gian kích hoạt, tính năng và giá của các sản phẩm trên Window.
Ngược lại, bạn sẽ tìm thấy hàng tấn phân phối Linux phục vụ cho một loạt các nhu cầu khác nhau. Vì vậy, bạn có thể chọn cài đặt bất kỳ bản phân phối Linux có sẵn nào theo yêu cầu của bạn.
Chẳng hạn, có bản phân phối Linux cho tin tặc, có bản phân phối Linux cho lập trình viên, có bản phân phối Linux cho máy tính cực kỳ cũ. Có một câu nói khá là hay ho "Linux for everyone and everything".

8. Miễn phí

Linux thì miễn phí hoàn toàn còn Windows thì không hề. Bạn có thể phải trả từ 100-250$ để có WIn bản quyền.
Bạn sẽ không phải trả 100-250 USD để có được bản sao chính hãng của bản phân phối Linux [như Ubuntu, Fedora]. Vì vậy, nó hoàn toàn miễn phí.
Nếu một cái gì đó miễn phí nhưng hữu ích, nó luôn là điều tốt nhất người ta có thể mong đợi. Với số tiền bạn vừa tiết kiệm, bạn có thể xem xét việc tăng cường hệ thống của mình bằng các phần mềm hỗ trợ khác.

9. Cộng đồng hỗ trợ đông đảo

Không cần phải thuê một chuyên gia để giải quyết vấn đề mà bạn đang gặp phải trên hệ thống Linux của mình. Bạn chỉ cần tìm kiếm một chủ đề tương tự trên Google để tìm giải pháp hoặc đăng một chủ đề lên diễn đàn Linux nào đó. Trong vài phút sau khi đăng một thời gian, bạn có thể có câu trả lời cùng với giải pháp chi tiết và hoàn toàn miễn phí!

  Có rất nhiều người dùng Linux tích cực luôn sẵn sàng phản hồi một chủ đề có liên quan. Số lượng người dùng hoạt động trên các diễn đàn Linux như vậy nhiều hơn số lượng thành viên tích cực trên bất kỳ diễn đàn nào của Windows.

Tuy nhiên, phản hồi của cộng đồng có thể khác nhau tùy thuộc vào bản phân phối Linux đang được sử dụng.

10. Độ tin cậy

  Windows, như chúng ta biết, trở nên chậm chạp ngày qua ngày. Bạn sẽ muốn cài đặt lại Windows sau một thời gian khi bạn gặp sự cố hoặc chậm trên hệ thống của bạn.

  Nếu bạn đang sử dụng Linux, bạn sẽ không phải lo lắng về việc cài đặt lại nó chỉ để trải nghiệm một hệ thống nhanh hơn và mượt mà hơn. Linux giúp hệ thống của bạn chạy trơn tru trong một thời gian dài hơn rất nhiều [trên thực tế, lâu hơn nhiều!].

Ngoài ra, với Windows, bạn thường sẽ phải khởi động lại hệ thống khi làm một số việc sau:

  • Nếu bạn vừa cài đặt phần mềm, hãy khởi động lại!
  • Nếu vừa gỡ cài đặt phần mềm, hãy khởi động lại!
  • Nếu bạn vừa cài đặt bản cập nhật Windows, hãy khởi động lại!
  • Hệ thống có vẻ hơi chậm chậm đơ đơ, khởi động lại!

"Oát dờ heo ì dít?". Chúng ta phải khởi động lại quá nhiều... Trong trường hợp máy cá nhân thì OK thôi. Nhưng nếu là máy server thì chắc sẽ sấp mặt đấy.

  Tuy nhiên, trong trường hợp của Linux, bạn sẽ không phải khởi động lại cho các tình huống được đề cập ở trên. Bạn có thể thoải mái tiếp tục với công việc của mình và Linux sẽ không làm phiền bạn.

  Một thực tế khác chứng minh Linux là đáng tin cậy là các máy chủ web. Bạn có thể quan sát thấy rằng hầu hết những gã khổng lồ Internet như Google và Facebook đều chạy trên Linux. Thậm chí gần như tất cả các siêu máy tính cũng chạy trên Linux.

11. Sự riêng tư

  Microsoft chắc chắn đã, đang và sẽ cố gắng ẩn danh dữ liệu được thu thập từ mọi người dùng. Tuy nhiên, nó là một cái gì đó khá là mập mờ, đặc biết là với Windows 10. Microsoft đã nhận được rất nhiều lời chỉ trích về cách họ thu thập dữ liệu, những gì nên thu thập và những gì không nên.

  Nếu bạn đã từng sử dụng Windows 10, bạn chỉ có thể vào cài đặt quyền riêng tư để biết rằng mọi thứ đều được bật theo mặc định. Ngay cả khi bạn chọn không gửi thông tin của của mình cho Microsoft, thì nó vẫn đang được thu thập. Tất nhiên, Microsoft sẽ không tiết lộ chính thức với báo chí, nhưng chắc chắn là họ đã, đang và sẽ tiếp tục thu thập thông tin của bạn. Vì vậy, để tắt các tính năng này bạn phải cần các phần mềm để vô hiệu hóa các tiến trình thu thập thông tin của Windows.

  Ngược lại, Linux sẽ là giải pháp hoàn hảo cho một quyền riêng tư. Trước hết, các bản phân phối Linux không thu thập nhiều dữ liệu [hoặc không có]. Hơn nữa, bạn sẽ không cần các công cụ bổ sung để bảo vệ quyền riêng tư của bạn.

Vậy Linux liệu có tốt hơn Window?

Bây giờ bạn đã biết những lợi thế của việc sử dụng Linux thay vì Windows. Let's upgrade to Linux! Hỡi những con dân của Windows.

Chủ Đề