Vì sao sử dụng Linux để lập trình và nên sử dụng OS Linux nào?

Chào mọi người, mình mới lon ton vào lập trình cũng kha khá. Chuyện là mình xưa giờ vẫn lập trình trên Windows OS, bữa đi thực tập có thấy vài anh chị cũng lập trình trên Linux, mình thắc mắc là Môi trường lập trình trên Linux có khác biệt so với Windows không tại sao mình thấy nhiều người hay làm việc trên Linux.
Nhân tiện nếu thấy phù hợp thì mình cũng sẽ tải một máy ảo chạy Linux, nhưng mình thấy có khá nhiều phiên bản như Kali, Ubuntu… cho mình tham khảo ý kiến các bạn là phiên bản nào xài ok nhất :slight_smile: ,mình cảm ơn.

  1. Bảo mật: Trong Linux, tất cả mọi người dùng đều dưới trướng sudo (điều đó dẫn đến tại sao chúng ta phải thêm sudo ở mọi câu lệnh trong terminal). Trong Windows, chỉ cần quyền Admin là có thể “sờ mó” hệ thống 1 cách lung tung :slight_smile: Đó là lí do tại sao người đời nói Linux an toàn hơn Windows vì sudo đóng vai trò như là Durex của nhân Linux, khi 1 con virus được thực thi trên Linux thì phải có password từ người dùng :slight_smile: , đó cũng là cách sudo chạy. Còn Windows thì chắc bạn hiểu rồi nhỉ

  2. Tương thích: Hiện nay, Linux (và các OS *NIX-based khác) còn khó tương thích với các phần mềm Windows-only (file exe) , … để xài thì phải cài Wine vào trong máy để chạy file. Nguyên nhân là nhiều dev thấy Windows phổ biến nên xách mông làm app Windows thôi (siêng hơn nữa thì port cross-platform)

  3. Quản lý hệ thống : Linux có thể cho bạn quyền quản lý hệ thống tận răng : điển hình là sudo rm -rf / nhưng điều đó Windows lại không

Còn nhiều lắm …

Cái đó gọi là distro nhé. Linux là core thôi. Các dev khác sẽ mổ xẻ nhân Linux để tạo ra OS Linux-based như Kali Linux, Ubuntu, Fedora, … Mỗi distro sẽ khác nhau về cách dùng, PM, cách quản lí hệ thống, …

nếu bạn lập trình thì xài Ubuntu nhé vì nó cũng nhẹ, hầu hết devtool hỗ trợ, support tận rặng, update đều đặn, …

7 Likes

Chủ yếu do quen cái gì thì dùng cái đó.
Công cụ chuyên ngành hẹp nên không cần tới sự đa năng của Windows vẫn đáp ứng được công việc.

3 Likes

Virus muốn chạy trên Windows cũng phải vượt qua được Windows Defender, UAC, Admin mặc định luôn bật.

1 Like
  1. Nếu em dev các app cho android, windows thì cứ việc dùng windows.
  2. Nếu em động chạm đến server thì có thể chuyền sang dùng linux.
  3. Nếu em dev plc, atm… vi điều khiển thì cứ windows mà phang.
  4. Nếu em dev máy tính nhúng thì linux là bắt bược.

Ubuntu, Kali… là distro của Linux, mới động tới thì cứ Ubuntu mà táng vì nó cực kỳ thân thiện. Đừng đua đòi distro vì có thể sẽ không biết setup, hoặc distro ấy bị custom lỗi tùm lum ( điển hình là thằng Kali, lỗi lung tung cái software center của nó lên…)

Thường thì nên cài song song 2 cái hệ điều hành này.

8 Likes

Dạ em cảm ơn anh ạ :sweat_smile:

Cái này là không chính xác nhé, privilege/permission trên *nix đơn giản và “nguyên thủy” hơn so với trên Windows.

4 Likes

Vote Linux mint, hoặc Ubuntu song song với Windows nha bạn. hai cái này là dễ dùng nhất cho newbie đó. Command thì cũng tương tương nhau

1 Like

về giao diện thì Ubuntu giống với MacOS, linux mint có giao diện giống Windows

Sai hết.

  1. Không phải mọi command đều cần dùng quyền sudo, windows muốn phân quyền cũng có thôi,
    “chỉ” cần quyền admin là có thể sờ mó lung tung => chứ còn cần j nữa bạn
  2. App windows chỉ là 1 phần, phía backend API nó lại là chuyện khác.
  3. Chỉ là 1 command ko nói lên điều j cả.

Các bạn LTV nên focus vào cái mình học mình làm, nếu ko có yêu cầu j quá đặc biệt thì nên sử dụng OS mà mình thành thạo.

2 Likes

Bảo mật Linux kém hơn Win nhiều, có phần quyền đầy đủ chẳng qua các bạn không xài thôi, ngoài ra Virus cũng chưa chắc cần động chạm gì đến kernel.

Thật ra là các bạn cảm thấy dùng cái nào quen tay hơn, thuận tiện cho công việc của các bạn hơn, giải quyết vấn đề nhanh hơn thì các bạn xài cái đấy thôi, chứ không phải chạy theo người ta khổ dâm Linux làm gì .

1 Like

Mình sài xubuntu 18.04. Phiên bản này nhẹ và rất ổn định. Hơn nữa nó sài font noto san, đẹp hơn khá nhiều với font của Ubuntu.
Linux không phải ai cũng xài được và cũng không dễ xài nha bạn.

Mình thấy học lập trình nên tập trung vào docker / vagrant, ansible, … dần dần theo hướng DevOps.
Như vậy OS nào mạnh về dùng lệnh thì dùng:
MacOS: UI tốt hơn Linux, lệnh không thua kém Linux là lựa chọn không tồi.
Ubuntu: UI kém, lệnh ok
Windows 10 WSL: UI tốt, hỗ trợ subsystem linux

1 Like

Khỏi máy ảo, chơi WSL cho lẹ. Ubuntu đi, Kali chỉ chuyên cho dân hacker hay bảo mật tối cao thôi.

1 Like

Quyền admin cũng giống sudo thôi, đâu phải muốn là có được. Anh tech lead bên cạnh mình, máy không có quyền admin cài gì cũng khó.

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?