Dạo này anh em lớp IOS Swift thì bảo: thầy dạy bọn em Swift, nhưng ở Hà nội nhà tuyển dụng lại chỉ có dự án gia công iOS Objective-C. Bạn học lớp Objective-C thì tiếc rẻ, giá mà mình học Swift.

Quan điểm của tôi như sau: Objective-C hay Swift đều là ngôn ngữ để viết ứng dụng di động iOS. Chúng khác nhau khá nhiều về cú pháp, tuy nhiên lại dùng lẫn được, Swift có thể kế thừa lớp Objective-C. Cả hai cùng lập trình, gọi các hàm API từ Foundation Class, thư viện căn bản của iOS-OSX. Dù khác nhau về cú pháp, nhưng nếu bạn thạo Swift thì chuyển sang Objective-C và ngược lại đều rất dễ dàng. Nếu đã chọn một ngôn ngữ hay đi đến cùng, tạo ra sản phẩm cụ thể rồi bán. Đừng đứng núi này trông núi nọ.

Swift được thai nghén bí mật vào năm 2010 và nhiều ý kiến cho rằng đây là di sản lớn nhất mà Steve Jobs để lại, xây dựng và định hình sự phát triển của Apple cho hàng chục năm tiếp theo. Trong bài trước, chúng tôi có nói về tương lai của Swift và Objective-C. Tuy nhiên đó chỉ là quan điểm của người ngoài cuộc. Những người nội bộ bên trong Apple nói gì?

Dưới đây là bài chia sẻ của giáo sư John Vu, Khoa Khoa học Máy tính, trường Đại học Carnegie Mellon về ngôn ngữ lập trình Swift và quan điểm của ông về di sản này của Steve Jobs.

Trong nhiều năm, Steve Jobs bao giờ cũng muốn tạo ra một ngôn ngữ lập trình dễ học, để cho chúng tôi có thể đào tạo nhiều người viết mã nhanh. Steve cũng muốn nó nhanh để cho nó có thể được dùng trong miền công nghiệp. Sau vài năm nghiên cứu, chúng tôi tin rằng chúng tôi đã đáp ứng được viễn kiến của ông ấy

Cha đẻ ngôn ngữ lập trình SwiftCông nghệ thay đổi nhanh chóng và nhu cầu của công nghiệp đang thay đổi nhanh chóng nữa. Xu hướng rõ ràng ngày nay là trong di động với các thiết bị y tế, Internet về mọi thứ (IoT), và app di động doanh nghiệp. Tuần trước tôi đã tới thăm công ti Apple để biết về ngôn ngữ lập trình mới của họ có tên Swift.

Một người quản lí giải thích: “Swift là ngôn ngữ lập trình mới được Apple phát triển cho iOS và OS X. Trong tương lai, mọi sản phẩm của Apple sẽ dùng Swift thay vì Objective C. Chúng tôi háo hức về ngôn ngữ này vì nó sẽ là ngôn ngữ then chốt của chúng tôi cho mọi phát triển tương lai. Swift tương tự như Ruby và Python với cú pháp C nào đó và bạn có thể vẫn dùng các tệp ngôn ngữ lập trình Objective-C cùng mã Swift. Trong nhiều năm, Steve Jobs bao giờ cũng muốn tạo ra một ngôn ngữ lập trình dễ học, để cho chúng tôi có thể đào tạo nhiều người viết mã nhanh. Steve cũng muốn nó nhanh để cho nó có thể được dùng trong miền công nghiệp. Sau vài năm nghiên cứu, chúng tôi tin rằng chúng tôi đã đáp ứng được viễn kiến của ông ấy.”

Một người quản lí khác bảo tôi: “Swift được thiết kế để cho bất kì người nào cũng có thể học nó nhanh chóng, kể cả trẻ em. Đó là viễn kiến của Steve Jobs để mọi người viết được mã trong thế kỉ 21. Nhưng ông ấy nhấn mạnh rằng nó cũng phải đủ tốt để được dùng trong “hệ thống có phẩm chất công nghiệp” để cho mọi máy tính tương lai có thể được lập trình bằng ngôn ngữ này. Dưới dạng tốc độ, Swift dùng trình biên dịch LLVM, và biên dịch mã Swift thành mã máy tối ưu tuỳ theo thiết bị mục tiêu. Về căn bản, Swift 3 lần nhanh hơn Objective-C và 9 lần nhanh hơn Python. Vì mã chạy nhanh hơn là hiệu quả hơn cho app di động, điều đó tạo ra kinh nghiệm tốt hơn cho mọi người dùng di động tương lai. Yêu cầu của Steve Jobs là Apple phải tạo ra “kinh nghiệm của người dùng hoàn hảo” cho mọi thứ nó tạo ra. Đó là lí do tại sao chúng tôi làm việc cần mẫn để tạo ra ngôn ngữ lập trình này.”

Tôi hỏi: “Nhưng Apple cũng tạo ra Objective C và nó rất phổ biến trong những người phát triển app di động. Tại sao ông cần thay đổi sang ngôn ngữ mới?”

Objective-C cũ rồi, nó đã được tạo ra nhiều năm trước đây và nó là ngôn ngữ khó học cho những người không biết tính toán. Tất nhiên sinh viên đại học trong Khoa học máy tính và Kĩ nghệ phần mềm chắc sẽ nghĩ rằng Objective C là dễ. Nhưng sinh viên kinh doanh, sinh viên nghệ thuật, sinh viên kiến trúc hay trẻ nhỏ ở trường trung học hay tiểu học có thể không có khả năng học Objective C dễ thế. Steve Jobs muốn có một ngôn ngữ lập trình đặc biệt cho mọi người, trẻ và già, sinh viên đại học, cũng như học sinh tiểu học để học viết mã trong vài tuần. Đó là lí do tại sao chúng tôi phát triển ngôn ngữ lập trình mới này như một ngôn ngữ hiện đại cho mọi phần cứng của Apple.”

Apple hỗ trợ Objective-C, Swift và C
Apple hỗ trợ Objective-C, Swift và C

Tất nhiên, bạn bè tôi ở Microsoft và Google không có chung cách nhìn đó. Họ bảo tôi rằng mọi thứ Steve Jobs đã làm chỉ là để quảng cáo cho công ti của ông ấy và để bán được nhiều sản phẩm của Apple. Một người bạn nói: “Steve Jobs có lẽ là người bán hàng giỏi nhất thế giới; ông ấy có thể bán được gần như bất kì cái gì và toàn thế giới tin vào ông ấy.”

Tôi nhắc anh ấy rằng cho dù Steve Jobs không còn đó, công ti của ông ấy vẫn làm rất tốt, Apple hiện thời là công ti lớn nhất trên thế giới; và viễn kiến của ông ấy vẫn có lợi cho nhiều người. Việc tạo ra một ngôn ngữ lập trình mới chạy nhanh với chất lượng công nghiệp không phải là dễ. Nhưng làm nó để cho mọi người có thể học viết chương trình máy tính trong vài tuần, nhất định là viễn kiến tuyệt vời xứng đáng được ngưỡng mộ.