Skip to content

Viễn kiến của Steve Jobs về ngôn ngữ lập trình

Cô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?”

Người quản lí giải thích: “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.”

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ộ.

 

Để xem thông tin về Swift:

https://www.apple.com/swift/

https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/

 

—English version—

 

Steve Jobs’ vision on programming language

Technology changes fast and industry’s demand is changing fast too. The clear trend today is in mobility with medical devices, Internet of Thing (IoT), and enterprise mobile apps. Last week I visited Apple Company to learn about their new programming language called Swift.

A manager explained: “Swift is a new programming language developed by Apple for iOS and OS X. In the future, all Apple products will use Swift instead of Objective C. We are exciting about this language as it will be our key language for all future development. Swift is similar to Ruby and Python with some C syntax and you can still utilize Objective-C files with Swift code. For many years, Steve Jobs always wanted to create a new programming language that is easy to learn, so we can train a lot of people to write code quickly. Steve also wanted it to be fast so it can be used in specific industry domains. After several years of research, we believe that we have met his vision.”

Another manager told me: “Swift is designed so anyone can learn it quickly, including children. That was Steve Jobs’ vision to have everybody write code in the 21st century. But he insisted that it must also be good enough to be used in “industrial-quality systems” so all future computers can be programmed with this language. In terms of speed, Swift uses the LLVM compiler, and compiles Swift code to optimized native code depending on target device. Basically, Swift is about 3 times faster than Objective-C and 9 times faster than Python. Because faster running code is more efficient for mobile apps, it makes a better experience for all future mobile users. Steve Jobs’ demand that Apple has to create a “Perfect users’ experience” for everything it produces. That is why we work hard to create this programming language.”

I asked: “But Apple also created Objective C and it is very popular among mobile apps developers. Why do you need to change to a new language?

The manager explained: “Objective-C is old, it was created several years ago and it is a difficult language for non-computing people to learn. Of course college students in Computer Science and Software Engineering would think that Objective C is easy. But Business students, Arts students, Architecture students or young children in high school or elementary school may not be able to learn Objective C that easy. Steve Jobs wanted a special programming language for everybody, young and old, college students, as well as elementary students to learn to write code in few weeks. That is why we develop this new programming language as a modern language for all Apple hardware.”

Of course, my friends at Microsoft and Google did not share that view. They told me that everything Steve Jobs did is only to promote his company and to sell more Apple’s product. A friend said: “Steve Jobs is probably the best salesman in the world; he can sell almost anything and the whole world believes in him.”

I reminded him that even Steve Jobs is no longer here, his company is still doing very well, Apple is currently the largest company on earth; and his vision is still benefit a lot of people. Creating a new programming language that is fast with industry quality is not easy. But make it so everyone can learn to write computer program in few weeks, is definitely a wonderful vision that deserved to be admired.

 

For information on Swift:

https://www.apple.com/swift/

https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/