Có phải developer nên xài hệ điều hành Linux?

HDH linux và MAC OS trước giờ sử dụng tài nguyên (ram,cpu…) được tiếng là tốt hơb windows nhiều thì lam sao máy lại nóng hơn và hao pin hơn windows… nghịch lý. trừ khi hardware quá tệ… mình thấy ngược lại. Đang su dung song song FreeBSD và windows 8.1

Nói chung nào gio vẫn sử dụng win làm dev và CentOS làm server, tùy theo loại mà dùng cho thích hợp nhưng phai dùng kết hợp thôi

Cũng chia sẽ luôn các bạn muốn học lập trình php và mysql thì qua trang http://phplang.com có khi giúp ích được phần nào

VLang

Chuyện nóng và hao pin hơn là có thật, nhưng không phải lỗi của HĐH, mà lỗi của driver (cung cấp bởi Nhà sản xuất chip, không phải bởi Linux). Linux sử dụng ít RAM, CPU hơn, nhưng driver cho chip đồ họa lại kém, không kích hoạt được tính năng tiết kiệm năng lượng của chip nên khiến máy nóng và hao pin hơn.

Tuy nhiên tình hình đang được cải thiện vì hãng game Steam đang cổ vũ người chơi game dùng Linux, và họ buộc các hãng chip đồ họa như nVidia phải nhảy vào cải tiến driver. Tương lai gần, máy Linux sẽ không còn bị nóng vì driver tệ nữa.

4 Likes

trường hợp của bạn quân có thể đúng. vì bạn sử dung cài linux phục vụ muc đích chơi game của ban nên bạn cần card đồ họa. Máy FreeBsd của mình dung để code và thử nghiem làm máy chủ các thư nó chạy rất êm và muot… tât nhien nó cung ko can card đồ họa. vay cuoi cung quay về tùy muc dich sử dung linux để lam gì? neu để choi game giai tri và la developer .Net thi chắc chăn là chọn windows và cai bộ visual studio. còn ban lam php thi co thể la linux… bạn làm về linh vuc infrastructure cần nghien cuu server proxy, firewall, email server…nhưng mà dù may có card đồ họa, bạn su dung linux cho viec develop phan mem hoac nghien cuu server thì nó cung kô ảnh huong vi su dung command line là nhieu… ko ly gì card đồ ho lai nóng thế. may nong còn phai xem bạn su dung máy bao lâu rồi, Fan quat chỗ cpu hay đóng bụi, có dc ve sinh ko… cung la ly do máy nóng chứ ko hẵn do su dung linux dau nhé

Trừ khi bạn làm việc với .NET, không thì việc dùng Linux có những ưu điểm sau:

  • Khi làm với Android: Bạn không cần cài driver để kết nối điện thoại vào máy tính. Bạn chỉ cần thay đổi udev rule, là 1 loại file cấu hình để nói cho Linux biết khi nó gặp thiết bị mới kết nối vào thì nó sẽ làm gì (đặt lại quyền truy cập, nạp driver gì lên). Vì Android cũng dựa trên Linux nên nếu bạn cũng đang xài Linux, bạn sẽ có 1 số kiến thức về Linux để dễ dàng chẩn đoán 1 số sự cố trên Android nhanh hơn khi bạn quen với Windows.

  • Khi làm với các ngôn ngữ như Python, Ruby, NodeJS…: Python thì có sẵn trên Linux. Các ngôn ngữ kia thì cài rất dễ dàng bằng 1 lệnh, không cần phải mở web site, kiếm link download, bấm download, lưu xuống đâu đó, rồi click vào exe để cài đặt như Windows. Linux giúp làm nhanh gọn hơn nhiều. Chưa kể việc, nhiều thư viện của các ngôn ngữ này được viết bằng C và được thiết kế để build bằng trình biên dịch gcc. Khi bạn cài các thư viện này qua pip, gem, npm, các trình cài đặt này phải gọi gcc để build. Khi bạn dùng Windows, việc cài đặt, cấu hình cho gcc rất mất thời gian và khó khăn.

  • Việc viết script để làm tự động một số việc lặp đi lặp lại trong công việc sẽ dễ dàng hơn nếu bạn dùng Linux. Bởi vì Linux có sẵn Shell, Python, hoặc dễ dàng cài Ruby, để cho bạn viết script. Khi bạn viết xong script, chạy script đó trong Linux cũng dễ, vì đa số các script chạy trong môi trường dòng lệnh.

  • Môi trường dòng lệnh trong Linux mạnh hơn Windows nhiều. Hiển thị tốt, auto-complete tốt. Nhiều khi dùng dòng lệnh nhanh hơn là phải mở một chương trình GUI rồi rê chuột, bấm nút v.v…

  • Khi bạn làm web, đôi khi bạn phải truy cập vào server để sửa một số file, thay đổi cấu hình trên đấy. Lúc đó thì bạn chỉ có thể làm trên môi trường dòng lệnh. Khi đã đã quen dùng dòng lệnh trên máy cá nhân thì việc làm tương tự trên server cũng dễ.

5 Likes

Mình đang giải thích lí do tại sao nhiều người thấy dùng Linux lại nóng và hao pin, mình không bàn tới mục đích sử dụng gì ở đây. Mình không chơi game, nhưng laptop nào mà chẳng có chip đồ họa, dù là mua về để viết code, và đều phải đối mặt với vấn đề driver đồ họa.

Nếu bạn đọc nhiều về Linux, bạn sẽ thấy vụ nóng do driver là chuyện có thật (chứ do bụi bặm thì đơn giản quá, không cần phải la): http://www.webupd8.org/2011/06/linux-kernel-power-issue-fix.html , http://www.linuxquestions.org/questions/slackware-14/heat-and-video-problem-in-current-with-radeon-driver-936776/

cảm ơn bạn chia sẽ thông tin. Minh thì kô bi vấn đề này.

thế còn python thì sao ạ nên dùng hệ điều hành nào ???

Khuyên bạn chủ top dùng Linux cho tất cả project bạn làm. Kể cả C# thì chiến C# Mono! Linux là môi trường cho programming, ko thể thiếu nó.

Trên đời có muôn vàn kiểu dev, muôn vàn kiểu project, muôn vàn kiểu nền tảng, muôn vàn kiểu thiết bị, muôn vàn kiểu giao tiếp, muôn vàn…, muôn vàn…,
Không phải cái gì Linux cũng làm được và làm tốt nên :
Cái nào nó yêu cầu Linux và dùng Linux là tốt nhất thì phải/nên dùng Linux.
Cái gì không yêu cầu Linux thì không cần thiết. Tùy sở thích mà sử dụng.
Mục đích :
Thuận tiện và hỗ trợ tối đa công việc thì dùng.

5 Likes

Trước bị ép buộc dùng Linux giờ thì nghiện em nó mất rồi :smile:

Bác có thể dùng Linux để bớt chơi game hơn. Vì Linux kho game khá là khiêm tốn :smile:

Khuyên không nên sử dụng linux vì động vào là nghiện :stuck_out_tongue_winking_eye:

Thi thoảng đổi mới cho vui. Chán cơm ta dùng phở mà.

Mình thì dùng Linux ở Công ty, MAC dùng MacBookAir, còn Windows ít dùng (vì trước có tham gia hội anti Microsoft ^^). Tuy nhiên gần đây mình lại quay lại với lập trình Windows và cài trên con desktop ở nhà. Nói chung, cái nào cũng có cái hay riêng.

Windows: lắm game hay ho hơn, soft nhiều. Bộ VS của Microsoft chỉ chạy trên Windows ^^ (tuy hiện h có Visual Code, port từ Atom sang). Muốn dùng kiểu Linux command trên Windows thì có MinGW, CygWin nhìn xanh đỏ y hệt Linux.

Còn bảo Windows không có Shell là sai nhé. Windows Command Promt (viết batch file cũng rất uyển chuyển), ngoài ra Power Shell support cả .NET, … Script gì bên Linux thì Windows cũng làm được hết. Kể cả autocomplete của Windows Command Prompt lần Power Shell đều rất tốt. Command của Windows cũng cực kỳ tốt (nếu hồi xưa bạn dùng DOS thì chắc sẽ quen với rất nhiều lệnh này)

Việc config gcc không khó khi bạn cài các cả package cho Python, Ruby … vì nó sẽ nhúng cho bạn gcc, + MinGW hoặc CygWin (kể cả cài GIT, HG, …) Chắc mất 30s.

Đồng ý mỗi điểm: đa phần server web chạy Linux server (nó bỏ UI để cho nhẹ) nên nếu dùng Linux quen phía destop thì lên server cũng sẽ làm quen dễ. Tuy nhiên, trên server dùng cực ít lệnh (đa phần là cơ bản). Chứ trên server, bạn có dám dùng các lệnh GIT cho phần commit, cherry pick, … không (đa phần dùng mỗi git pull là hết. Server kể cả bạn pro cũng không dám change nhiều vì nó ảnh hưỏng tới rất nhiều người, tới khách hàng. Mình làm sai gì đó là mất cần câu cơm ngay).

Linux và Mac: Mình theo trường phái dễ dùng thì dùng nên không thích gõ command line trừ phi viết shell làm nhiều việc cùng lúc. Nhiều bạn mình thấy dùng GIT gõ lệnh ào ào, mình thì cứ SmartGIT/SourceTree vừa đơn giản, trực quan, khó nhầm lẫn.

Một ưu điểm trên Linux là OpenSource nên một số lib, app của php, … chỉ chạy được trên Linux (thực ra trên Windows # với Linux ở path spliter, dung / hoặc \ nên các lib này nó bị sai path là chủ yếu). Ưu điểm thứ 2 là Linux ít game khủng nên khi làm việc sẽ không bị phân tâm (tuy nhiên, không tránh được nếu bạn chơi game trên web). Trước kia, cài Windows có game Starcraft, hôm nào cũng tốn 2h cho nó ^^

Giờ nhiều nền tảng cũng support Linux: ASP.NET, Swift, …
Làm việc với Mono C thì k chạy được TestScript.
Ngoài ra, muốn chạy app Windows có thể dùng Wine, khá tốt.

p/s: nếu không có dk, bạn cài song song, cả Win, Linux, Mac (Hackintosh) cho đa dạng.
Driver Linux nóng vì nó chưa có driver nguyên bản của hãng thôi (cái này thì Mac cũng bị) nên khi render nó sẽ phải work-around tốn nhiều command hơn. Tuy nhiên, với các tác vụ thông thường thì không đến nỗi nào đâu (ngoài ra, có thể cài vài cái mini Linux như Mint chẳng hạn)

Windows dạo này cũng bắt đầu có kho ứng dụng và support cài đặt từ command line nhé.

3 Likes

Không thích thằng window nên chuyển qua sài ubuntu được hơn 1 năm à. Dùng window chủ yếu để học ở trường còn Linux để tự học lập trình.

Cho mình hỏi cài đặt linux trên máy ảo trên windows và cài đặt song song windows-linux thì sử dụng linux có bị ảnh hưởng gì không ạ? Cảm ơn mọi người!

Bạn xài cái nào cũng được :smile:
Xài linux thì đỡ phải mua key vì thân dev mà xài windows crack thì nhọ lắm :blush:

android cũng là bắt nguồn từ linux, nói cách khác nó là 1 bản linux nhỏ gọn,bạn dùng os linux để dev, code lập trình android, nó hỗ trợ rất nhiều, nói từng này chắc đủ thuyết phục bạn qua linux :smile:

Windows bây giờ rẻ ều.
Thân dev mà không mua nổi Windows thì còn nói chuyện gì.
Người ta cứ kêu gào không có tiền mua Windows nhưng rất nhiều tiền mua smart phone :smile:

2 Likes

Cho mình hỏi con dell inspiron 14r củ của mình nên xài distro linux gì để code android cho nhẹ nhỉ, chạy android studio trên win nặng quá

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