13/11/2018, 23:25

4 lí do tại sao máy Mac đang trở thành lựa chọn hàng đầu của giới lập trình viên

Dường như máy Mac đang chiếm được lòng tin của ngày càng nhiều nhà phát triển phần mềm. 1. Giới developer đang dần ưa chuộng macOS(Mac OS X) hơn Ở thời điểm 15 năm trước,sẽ thật ngớ ngẩn nếu nghe ai đó nói Apple sẽ làm hệ điều hành thích hợp nhất cho dân dev (developer – nhà phát ...

Dường như máy Mac đang chiếm được lòng tin của ngày càng nhiều nhà phát triển phần mềm.

1. Giới developer đang dần ưa chuộng macOS(Mac OS X) hơn

Ở thời điểm 15 năm trước,sẽ thật ngớ ngẩn nếu nghe ai đó nói Apple sẽ làm hệ điều hành thích hợp nhất cho dân dev (developer – nhà phát triển phần mềm). Lúc đó, trước khi OS X ra đời, và trước cả khi Apple sử dụng CPU Intel, Microsoft là kẻ thống trị trong lĩnh vực này.

Tất nhiên, máy tính của Apple trước giờ luôn luôn là những thiết bị tốt có thể phục vụ việc học lập trình. Tuy thế, dân dev chuyên nghiệp ở thời điểm đó vẫn lựa chọn một môi trường thuần UNIX/Linux hay phổ biến hơn là Windows của Microsoft.

Tuy thế, mọi chuyện có vẻ đang thay đổi, khi trong cuộc khảo sát developer năm 2016 cua trang StackOverflow, macOS (OS X) lại giữ vị trí dẫn đầu trong hạng mục hệ điều hành được sử dụng, theo sau lần lượt là Windows 7 và Linux. StackOverflow cho biết: “Chúng tôi nhận ra rằng, năm ngoái, Mac đã vượt qua các phiên bản Linux để đạt vị trí số 2. Năm nay, xu hướng sử dụng Mac tiếp tục phát triển rõ rệt. Nếu tốc độ chuyển đổi hệ điều hành tiếp tục ổn định, lần đầu tiên sẽ có ít hơn 50% lập trình viên sử dụng các phiên bản của Windows.”


Kết quả cuộc khảo sát năm 2016 của StackOverflow về hệ điều hành sử dụng

Kết quả cuộc khảo sát năm 2016 của StackOverflow về hệ điều hành sử dụng

Tại sao các lập trình viên cho rằng macOS là hệ điều hành tốt nhất cho mình?

Kỹ sư hệ thống phân tán, anh Dmitri Zagidulin đưa ra một bằng chứng về sự thay đổi này: “Hãy đi tới một hội nghị công nghệ hoặc một sự kiện bất kì của dân dev. Nhìn xung quanh mình, bạn chỉ cần đếm xem có bao nhiêu logo Apple phát sáng xung quanh mình.”.

“Ở hội nghị AWS của Amazon, ở hội nghị các lập trình viên hoặc ở các sự kiện Node.js hay Ruby on Rails, và nhiều các hội nghị như thế nữa. Chắc phải đến 98% mọi người sử dụng Mac. Tôi cũng là một trong số họ, cho dù tôi đã bị nhiều người đả kích hay hét vào mặt suốt những năm qua.”

1. Lí do các coder ưa thích Mac: trình command UNIX

UNIX command line trên macOS
UNIX command line trên macOS

Quá trình chuyển đổi qua OS X từ các hệ điều hành đối thủ đã xảy ra trong một giai đoạn dài. Một phần của quá trình này (một phần lớn, theo nhiều lập trình viên) là khi Apple ra mắt OS X. Trong suốt 15 năm qua, hệ điều hành của Apple xây dựng trên nền tảng UNIX, hệ điều hành command-line (không có GUI) chạy trên hầu hết hệ thống dữ liệu và máy chủ trên toàn thế giới.

Quả thật, OS X là một hệ điều hành có đầy đủ tính năng của UNIX (được chứng nhận bởi chính UNIX). Cần chú ý rằng, cả những phiên bản hiện đại của Linux – như Linuxmint hay Ubuntu – đều không được UNIX chứng nhận tương tự (chúng dựa vào nhân GNU).

Jessica Su, một nghiên cứu sinh Khoa học Máy tính tại Stanford, cho biết rõ hơn: “Trình shell (UNIX) rất quan trọng với một lập trình viên. Nó cho phép bạn chạy chương trình ở hầu hết các ngôn ngữ lập trình mà không cần tới một IDE (môi trường phát triển phần mềm) chuyên biệt. Nó cũng rất quan trọng nếu bạn muốn kiếm việc tại một công ty công nghệ, khi mà nhiều công ty yêu cầu bạn phải làm việc với những hệ thống dựa trên UNIX”.

Cô cho biết thêm: “Bạn có thể học shell UNIX trong khi vẫn có một chiếc máy tính hoạt động bình thường (nói về máy Mac). Nếu tôi không thể xoay xở mua máy Mac, tôi cần phải dual-boot Linux và Windows để có trải nghiệm tương tự như thế.”

2. macOS là sự kết hợp của UNIX và phần mềm thương mại

Adobe cung cấp đầy đủ gói Creative Cloud của mình cho macOS
Adobe cung cấp đầy đủ gói Creative Cloud của mình cho macOS

Có thể vài người vẫn thắc mắc, nếu muốn học shell thì chỉ cần đơn giản cài Linux là đủ. Nhưng hãy cùng lắng nghe ý kiến của anh Christopher Reiss, một lập trình viên: “Đó là mục tiêu của bạn trong vai trò một lập trình viên. Một trình command UNIX. Vậy bạn nên dùng máy gì nào? Câu trả lời là máy Mac. Với nó, bạn có thể dùng trình command UNIX để có giả lập server của mình rồi tương tác với nó. Nếu bạn có PC, bạn sẽ phải cài đặt Ubuntu, và mirror server để có trải nghiệm tương tự (với chi phí phần mềm còn lớn hơn).”

Sự kết hợp của nhân UNIX với thiết bị máy tính thông thường cũng chiếm được sự ưa chuộng từ nhiều developer. “Tại sao Adobe không cung cấp một phiên bản Creative Suite nào cho Linux?”, kỹ sư phần mềm Tharaka Manawardhana đặt vấn đề. “Gần như tất cả các công ty phần mềm thương mại đều cung cấp một phiên bản ổn định cho Mac.”

3. Độ hoàn thiện máy tuyệt hảo

Máy Mac luôn có độ hoàn thiện tuyệt vời
Máy Mac luôn có độ hoàn thiện tuyệt vời

Chất lượng của những sản phẩm Apple cũng đóng một vai trò nhất định. Dân dev dành nhiều thời gian làm việc với máy tính của họ, và hầu hết đều có một chuẩn mực khá chính xác dành cho mình.

“Chất lượng hoàn thiện của họ (Apple) rất tốt”, Christopher Miles, một developer nói, “và dĩ nhiên, bạn cần phải có phần cứng của Apple (máy Mac) để xây dựng phần mềm một cách hiệu quả cho iPhone hay iPad.”

Cựu nhân viên Microsoft, hacker Roy Williams kể: “Máy Mac ít đòi hỏi bảo trì hơn. Tôi đã từng làm việc tại Microsoft, nên nói ra điều này với tôi cũng không dễ dàng gì, nhưng kéo dài sử dụng PC đúng là một sự chịu đựng khó khăn, cho dù tôi có là dân dev. DLL(direct-link library) là một địa ngục, nó làm tôi tiêu tốn hàng tiếng đồng hồ tại sao một thư viện (library) không đúng lại đang được load.”

4. macOS tương thích đa nền tảng tốt hơn

Android Studio trên macOS
Android Studio trên macOS

Nếu bạn có một chiếc máy Mac, bạn có thể sử dụng mọi hệ điều hành phổ biến một cách nhanh chóng. Đây rõ ràng là một điểm cộng với những ai đang học lập trình. Ngược lại, chạy macOS trên một chiếc PC (Windows hoặc Linux) khá khó, bạn phải tìm và cài đặt phiên bản đã được hack của macOS (Hackintosh). Trong khi đó, bạn có thể dễ dàng cài đặt Windows hay Linux trên môi trường ảo hóa.

Nếu bạn từng suy nghĩ tới việc trở thành developer iOS hay macOS, thì bạn phải có máy Mac. Nếu là dân web dev, để thử nghiệm website của mình trên Safari cho Mac, bạn cũng phải có máy Mac. Ngược lại, nếu bạn có máy Mac, bạn vẫn có thể tạo và test phần mềm cho Windows hay Linux ngay trên Mac.

Bạn cũng cần biết rõ, nếu muốn phát triển bất cứ phần mềm gì cho bất cứ thiết bị nào trong hệ sinh thái Apple, bạn cũng cần có máy Mac. Nếu bạn đang cần phát triển ứng dụng của mình cho cả iOS và Android, thì sự thật ở đây đã rõ: bạn chỉ có thể phát triển iOS trên Mac. Bạn cũng có thể phát triển Android trên Mac. Vậy cuối cùng bạn vẫn cần sử dụng Mac.

Tuy thế, không phải ai cũng đồng ý trong việc chọn máy Mac cho lập trình. Ông Paul Lemmons, quản lý hệ thống UNIX, bày tỏ: “Máy tính bạn sử dụng phải phù hợp với cách bạn suy nghĩ. Nó chỉ là một công cụ. Nó không phải thứ dạy bạn về ngành khoa học máy tính. Chút chịu đựng nói chung đó không đáng kể với những thứ bạn cần phải học.”

Mark Nelson, một kỹ sư tại Cisco Systems, thì khuyên: “Máy tính tốt nhất cho bạn sử dụng khi đi học, là máy có khả năng tương thích với máy mà hệ thống trường bạn sử dụng. Nhiều trường học chủ yếu sử dụng PC, và rõ ràng bạn sẽ thấy OS X không được tương thích cho lắm với VPN hay máy in. Trong trường hợp đó, bạn cần dùng thứ hợp với mọi thứ khác hơn.”

Còn bạn, bạn lựa chọn máy tính nào để phục vụ chính xác nhất cho lĩnh vực mà mình làm việc hay học tập? Hãy chia sẻ quan điểm với chúng tôi ở phần bình luận nhé!

Techtalk Via Genk

0