Julia - Ngôn ngữ lập trình có thể đánh bại Python đang chinh phục giới khoa học

Ngôn ngữ Julia là một 'chú hắc mã' đã xuất hiện trong thế giới khoa học những năm gần đây. 

Nói về Julia, nhà vật lý học Lee Phillips đã xuất bản một bài báo khoa học để giới thiệu sức hấp dẫn thực sự của ngôn ngữ máy tính khoa học này. “Gần đây, nhiều nhà khoa học và tôi đã gặp nhau nhiều lần trên Internet, và họ rất hào hứng với một công cụ mới. Nó không phải là máy gia tốc hạt mới nhất hay siêu máy tính, mà là một ngôn ngữ máy tính trẻ tuổi-Julia”, Lee Phillips nói.

Các ngôn ngữ máy tính khác nhau thực hiện tốt các tác vụ khác nhau. Một số chạy nhanh, một số dễ phát triển và triển khai hơn, một số có hệ sinh thái và thư viện khổng lồ, một số phù hợp để giải quyết các vấn đề cụ thể.

Julia - Ngôn ngữ lập trình có thể đánh bại Python đang chinh phục giới khoa học

Đối với các nhà khoa học cần mô phỏng biến đổi khí hậu hoặc phản ứng tổng hợp hạt nhân, ngôn ngữ chính hiện nay là Fortran. Trình biên dịch của nó có thể tận dụng tối đa hiệu suất mạnh mẽ của các siêu máy tính lớn. Đối với các nhà khoa học dữ liệu, Python là ngôn ngữ phổ biến nhất vì hệ sinh thái phong phú, tính tương tác mạnh và chu kỳ phát triển nhanh.

Julia dường như đã giải quyết được "vấn đề hai ngôn ngữ", đây là một vấn đề phổ biến mà người dùng các ngôn ngữ thông dịch như Python phải đối mặt. Viết một chương trình bằng Python, mặc dù bạn có thể tận hưởng cú pháp và tính tương tác tiện lợi của nó, nhưng khi quy mô tính toán được mở rộng đến một mức độ nhất định, tốc độ tính toán của chương trình sẽ chậm lại rất nhiều. Đây là một hạn chế của chính ngôn ngữ Python.

Đối với các hoạt động mô phỏng quy mô lớn, do lượng dữ liệu quá lớn, tốc độ chạy của chương trình là rất quan trọng nên các nhà nghiên cứu phải viết lại chương trình tương tự bằng một ngôn ngữ như C để cải thiện tốc độ chạy trong các ứng dụng thực tế. Nhưng sau khi tăng tốc, họ phải duy trì và cập nhật mã của cả hai ngôn ngữ trong nghiên cứu tiếp theo. “Vấn đề hai ngôn ngữ” ra đời từ đây.

Nhiệm vụ của Julia là giải quyết "vấn đề hai ngôn ngữ" kể từ khi nó ra đời, để thu hút các nhà khoa học và những người khác học ngôn ngữ, nhưng đây không phải là phần thú vị duy nhất của nó.

Hãy lấy hội nghị JuliaCon năm nay làm ví dụ. Hầu hết các hội nghị máy tính thông thường được tổ chức xoay quanh các chủ đề khoa học máy tính như lập trình, trình biên dịch, thuật toán và tối ưu hóa. Mặc dù có những thứ này trên JuliaCon, chúng thiên về các chủ đề nghiên cứu khoa học, chẳng hạn như cơ học chất lỏng, xử lý ngôn ngữ, hình ảnh não. Những chủ đề này tạo cho mọi người ảo tưởng rằng họ đã bước vào một hội nghị nghiên cứu khoa học.

Tình hình phổ biến này là do thái độ cởi mở của cộng đồng lập trình Julia, mọi người đều có thể tìm thấy code trên GitHub. Nếu ai đó muốn sử dụng một thuật toán hiện có, từ tài liệu trợ giúp đến nhận xét mã, họ có thể tải phiên bản mới nhất. Điều này hoàn toàn khác với bầu không khí mà hầu hết các nhà khoa học lớn tuổi quen thuộc: Trước đây, mã nghiên cứu hầu như không bao giờ rời khỏi phòng thí nghiệm.

Giải quyết "vấn đề biểu thức"

"Vấn đề biểu thức" là một khái niệm phổ biến trong nghiên cứu thiết kế ngôn ngữ máy tính. Đây là một lĩnh vực nghiên cứu nhánh của khoa học máy tính, và ý nghĩa và cách giải thích của nó thường rất trừu tượng và dựa trên thuật ngữ chuyên môn. Nếu chúng ta muốn hiểu rõ hơn về khái niệm này, chúng ta có thể so sánh nó với cách nấu ăn.

Nhưng trong thực tế, mối quan hệ giữa phương pháp nấu ăn và nguyên liệu có thể trở thành một phần của cấu trúc thư viện. Trong bối cảnh tương tự công thức, chúng ta có thể tưởng tượng rằng gà và cá là một tập hợp con của thịt, dâu tây và anh đào là một tập hợp con của các loại trái cây màu đỏ, và áp chảo và luộc là các biến thể của các phương pháp nấu ăn tương đồng.

Phương thức tư duy này là một nỗ lực để giải quyết "vấn đề biểu thức". Đây cũng được gọi là "lập kế hoạch nhiều lần" trong thiết kế ngôn ngữ và đề cập đến phương pháp lựa chọn tự động dựa trên kiểu của tất cả các kiểu dữ liệu sẽ được áp dụng.

 

“Lập kế hoạch nhiều lần” là phương pháp của Julia để giải quyết “vấn đề biểu thức” và nguyên tắc tổ chức cốt lõi của nó. Do đó, Julia không hướng đối tượng cũng không hướng chức năng. Giải pháp mà nó sử dụng mạnh hơn và linh hoạt hơn hai giải pháp trên. Điều này có nghĩa là Julia tự do hơn trong việc trộn và sử dụng các thư viện.

Tầm quan trọng của các công cụ

Julia không phải là ngôn ngữ đầu tiên cố gắng giải quyết "vấn đề về biểu thức", cũng không phải là ngôn ngữ đầu tiên sử dụng "lập kế hoạch nhiều lần". Ngôn ngữ Common Lisp với tính năng này đã ra đời được 40 năm và các phiên bản ngôn ngữ mới nhất như Perl cũng có tính năng này. Người dùng đã khẳng định sự tiện lợi của việc “lập kế hoạch nhiều lần” trong việc viết và mở rộng thư viện.

Nhưng sự khác biệt giữa Julia và họ là Julia được thiết kế xoay quanh "nhiều lịch trình", trong khi các ngôn ngữ khác chỉ sử dụng nó như một tùy chọn và sẽ làm giảm hiệu suất. Ví dụ, "lập kế hoạch nhiều lần" của Julia cho phép nó thể hiện tư duy toán học một cách linh hoạt và tự nhiên hơn, và việc sử dụng nhiều mã cộng đồng của nó đã khiến các nhà thiết kế ngôn ngữ ngạc nhiên.

Nhưng nếu bạn muốn có được chỗ đứng trong giới khoa học, những lợi thế trên là chưa đủ. Lý do tại sao Julia nhận được nhiều sự chú ý là nó kết hợp "lập kế hoạch nhiều lần" với các tính năng khác, chẳng hạn như mã chất lượng cao miễn phí và tốc độ tính toán rất nhanh, rất hấp dẫn đối với các nhà khoa học, những người cần nhiều tính toán số.

Giáo sư Đại học Stanford Mykel Kochenderfer đã sử dụng Julia để thiết kế một hệ thống tránh va chạm máy bay, hệ thống này đã trở thành tiêu chuẩn quốc tế. Ông nói rằng Julia không chỉ là “một ngôn ngữ cấp cao, có thể hiểu được mà còn chạy nhanh như mã C ++ được tối ưu hóa cao”.

Julia cũng có một cú pháp diễn đạt, dễ đọc, đặc biệt là khi xử lý các mảng. Nó cung cấp một đường dẫn nhanh để xử lý song song các thuật toán kỹ thuật số. Nó có những ưu điểm về thiết kế của kỷ nguyên Unicode, khiến nó giống toán học thực hơn khi thể hiện các công thức toán học.

Những tính năng này của Julia ngay từ những ngày đầu đã thu hút rất nhiều nhà khoa học, và ngay cả trước khi những ưu điểm đặc biệt của “lập lịch nhiều lần” gây chú ý, nó đã thu hút một lượng lớn người dùng.

Lee Phillips chia sẻ: “Và ý tưởng cốt lõi mà tôi học được từ đó là: Công cụ rất quan trọng. Điều này giống như khi họa sĩ chọn cọ và sơn phù hợp với phong cách của tác phẩm, và nhịp điệu trong suy nghĩ của người sáng tác phải phù hợp với kỹ năng của nhạc cụ và người biểu diễn”.

Là một công cụ lập trình, Julia cũng có ý nghĩa tương tự đối với các nhà khoa học. Nó có thể mở rộng các nhiệm vụ mà các nhà khoa học có thể hoàn thành trong thời gian giới hạn và giúp họ hiện thực hóa những ý tưởng không tưởng.

Phong Vũ

iPhone đời cũ bất ngờ tăng giá tại Việt Nam

iPhone đời cũ bất ngờ tăng giá tại Việt Nam

Do tình trạng khan hàng, nhiều mẫu máy đời cũ như iPhone 11, 11 Pro Max đồng loạt tăng giá khoảng 300.000-400.000 đồng tùy theo từng phiên bản bộ nhớ và màu sắc.

 
List comment
 
Khách Việt mua xe chạy phí trước bạ, thị trường ô tô đạt đỉnh mới
icon

Chính sách giảm 50% phí trước bạ và sự xuất hiện của hàng loạt mẫu xe mới đã đưa thị trường ô tô đạt tăng trưởng mạnh với lượng xe bán ra cao nhất kể từ cuối năm 2019.

 
Các nguồn năng lượng mới tiềm năng sẽ được quan tâm xây dựng bài bản
icon

Bộ Công Thương cho biết, các nguồn năng lượng mới, năng lượng sạch có tiềm năng sẽ được quan tâm phát triển, xây dựng bài bản để đảm bảo mục tiêu cân đối công suất phát giữa các vùng, giảm bớt thất thoát và giảm tiêu hao năng lượng.

 
Tháng 10, Cà Mau tiết kiệm 3,052 triệu kWh điện
icon

Chỉ riêng tháng 10, Cà Mau tiết kiệm được 3,052 triệu kWh điện, đạt 2,38% sản lượng điện thương phẩm.  

 
Phú Tân: Tuyên truyền tiết kiệm điện cho hơn 1.600 học sinh
icon

Điện lực Phú Tân thuộc Công ty Điện lực Cà Mau đã tổ chức chương trình tuyên truyền cho học sinh về tiết kiệm điện và an toàn điện tại hai trường học trên địa bàn.  

 
Top 10 xe bán chạy: SUV đô thị Corolla Cross và Kia Seltos lọt danh sách xe ăn khách
icon

Toyota Vios bứt tốc và bỏ xa các đối thủ, các mẫu xe SUV đô thị mới Toyota Corolla Cross và Kia Seltos lần đầu lọt top xe bán chạy chỉ sau vài tháng ra mắt.

 
 
Honda sẽ bán xe không người lái cấp độ 3 vào tháng 3/2021
icon

Mẫu xe không người lái cấp độ 3 của Honda Nhật Bản đã được cấp phép bán ra thị trường và có thể sẽ đến tay người dùng vào tháng 3 năm sau.  

Sơn La quy hoạch phát triển hệ thống điện mặt trời
icon

Theo dự kiến, đến năm 2025, Sơn La sẽ phát triển 600MWp điện mặt trời. Trong đó có 500MWp điện mặt trời mặt đất và 100MWp mặt mái nhà.  

TPHCM: Cam kết đấu nối trong 2 ngày cho khách hàng lắp đặt ĐMTMN
icon

Những khách hàng đăng ký lắp đặt hệ thống điện mặt trời mái nhà (ĐMTMN) tại TP Hồ Chí Minh sẽ được cam kết đấu nối trong 2 ngày.  

USAID tài trợ 36 triệu USD hỗ trợ Việt Nam chuyển sang năng lượng sạch
icon

Chương trình Năng lượng phát thải thấp Việt Nam II (V-LEEP II) có mục tiêu đẩy nhanh quá trình chuyển đổi sang năng lượng sạch tại Việt Nam.

Việt Nam đề nghị Ngân hàng Thế giới tiếp tục hỗ trợ lĩnh vực năng lượng
icon

Tối ngày 4/11, Phó Thủ tướng, Bộ trưởng Bộ Ngoại giao Phạm Bình Minh đã có buổi làm việc trực tuyến với Tổng Giám đốc điều hành của Ngân hàng Thế giới (WB) Axel van Trotsenburg.  

 
123

Giấy phép hoạt động báo chí: Số 09/GP-BTTTT, Bộ Thông tin và Truyền thông cấp ngày 07/01/2019.

Tòa soạn: Tầng 7, Tòa nhà Cục Tần số Vô tuyến điện, 115 Trần Duy Hưng, Quận Cầu Giấy, Hà Nội

Điện thoại: 024 3 936 9966 - Fax: 024 3 936 9364

Hotline nội dung: 0888 911 911 - Email: toasoan@ictnews.vn

123