Julia Language - Ngôn ngữ lập trình cho kỹ thuật máy tính, toán học
Julia Language là một ngôn ngữ lập trình cấp cao, năng động với hiệu suất cao cho máy tính kỹ thuật, với cú pháp quen thuộc cho người sử dụng trong môi trường điện toán kỹ thuật. Nó cung cấp một trình biên dịch phức tạp, phân phối thực hiện song song, một thư viện tính năng toán học rộng lớn.
Tải Python cho Windows
Tải C cho Windows
Thư viện này phần lớn được viết trong Julia, một số được lấy bên C và Fortran như thư viện đại số tuyến tính, hệ số ngẫu nhiên, xử lý tín hiệu và xử lý chuỗi. Ngoài ra, cộng đồng phát triển Julia đang đóng góp một số gói bên ngoài thông qua trình quản lý gói được tích hợp sẵn trong Julia, với một tốc độ nhanh chóng. IJulia, một sự hợp tác giữa cộng đồng IPython và Julia, cung cấp một giao diện đồ họa dựa trên trình duyệt mạnh mẽ cho Julia.
Tóm tắt tính năng của Julia Language
- Nhiều dispatch: cung cấp khả năng định nghĩa hành vi chức năng thông qua những sự kết hợp của nhiều loại đối số.
- Hệ thống soạn thảo năng động: tạo tài liệu, tối ưu hóa và dispatch.
- Trình biên dịch có hiệu năng và cách tiếp cận tốt giống như ngôn ngữ lập trình C.
- Tích hợp quản lý các gói.
- Các hàm giống như Lisp và các ngôn ngữ khác.
- Gọi chức năng Python: sử dụng gói PyCall.
- Gọi các chức năng của C trực tiếp mà không cần wrapper hay các API đặc biệt.
- Được thiết kế cho xử lý song song (parallelism) và điện toán đám mây.
- Các hàm do người dùng định nghĩa cũng nhanh như những hàm được tích hợp sẵn.
- Hỗ trợ hiệu quả cho Unicode, bao gồm cả UTF-8.
- Được cấp phép bởi MIT, hoàn toàn miễn phí và là ngôn ngữ lập trình mã nguồn mở.
Ứng dụng này có một trình biên dịch đáng tin cậy, phân phối thực hiện song song, độ chính xác cao và một thư viện các hàm toán học lớn. Nó cũng hỗ trợ nhất định cho thư viện C và Fortran.
Trong khi chạy trong dòng lệnh, Julia Language cung cấp cho người dùng một không gian làm việc toàn diện trong đó để tạo và biên dịch các script Julia. Cú pháp của nó tương tự như các ngôn ngữ lập trình khác, nhưng dễ sử dụng hơn cho các nhà phát triển và những người mới sử dụng Julia.
Một đoạn code được viết bằng Julia Language
Julia Language bao gồm một số thư viện chức năng, với độ chính xác cao và hiệu quả hơn, được viết bằng Julia, C và cả Fortran. Đại số tuyến tính, hệ số, xử lý tín hiệu và xử lý chuỗi có thể được cải thiện bằng cách sử dụng các thư viện này.
Julia Language hỗ trợ nhiều dispatch, cho phép xác định hành vi chức năng trên một số sự kết hợp của các loại đối số. Hơn nữa, nó có một hệ thống các tính năng năng động giúp cho việc tạo ra các tài liệu, công cụ tối ưu hóa và gửi đi dễ dàng hơn.
Trình biên dịch ngôn ngữ lập trình nhanh chóng, thuận tiện và được trang bị tính năng thời gian điểm chuẩn gần với trình biên dịch của C. Trình biên dịch này được tích hợp gói quản lý cho phép xử lý phần mở rộng và plugin, trong khi đó, nó cũng hỗ trợ Python, C hoặc các chức năng Lisp.
Hơn nữa, các nhà phát triển có thể dễ dàng kết hợp cú pháp Julia với các yếu tố từ thư viện C và Fortran, cũng như các chức năng gọi hàm từ bên ngoài. Người dùng cũng có thể dễ dàng định nghĩa các hàm trong C, Python, Fortran mà không cần viết mã wrapper hoặc biên dịch lại các dòng hiện có.
LLVM của Julia Language dựa trên trình biên dịch just-in-time (vừa kịp giờ) được thiết kế để xử lý song song và tính toán phân tán, cùng với hệ số tự động cấu hình tốt. Nó cung cấp một loạt các khối xây dựng quan trọng trong việc tính toán phân tán, cho phép giữ lại một số style của các chủ đề song song.
Nó có thể xử lý một số loại đối số và cho phép xác định các yếu tố phù hợp với một hoặc nhiều đối số đó.
Julia không áp đặt bất kỳ phong cách đặc biệt nào của parallelism cho người sử dụng. Thay vào đó, nó cung cấp một số lượng các khối xây dựng chính trong việc tính toán phân tán, làm cho nó trở nên linh hoạt hơn để hỗ trợ một số phong cách parallelism, và cho phép người dùng thêm các phong cách khác vào. Ví dụ đơn giản sau đây chứng minh làm thế nào để đếm số lượng đầu người trên mặt đồng xu, khi tung một số lượng lớn các đồng xu song song.
Tính toán này được tự động phân phối trên tất cả các nút tính toán có sẵn, và kết quả, làm giảm bởi tổng (+), được trả lại vào nút gọi.
Điều này mở đường cho các hoạt động dựa hoàn toàn trên đám mây, bao gồm cả quản lý dữ liệu, chỉnh sửa code, chia sẻ, thực hiện, gỡ lỗi (debug), phối hợp, phân tích và khai thác dữ liệu. Mục tiêu cuối cùng là để cho mọi người ngừng lo lắng về điều hành máy tính, quản lý dữ liệu và tập trung vào vấn đề thực sự.
Gadfly của Julia Language có thể sản xuất các lô khác nhau với các phần phụ trợ trong trình duyệt (SVG, PDF, PNG và phần phụ trợ khác cũng được hỗ trợ). Tính tương tác có thể thêm đồ thị và các lô với gói Interact.jl. Một mẫu nhỏ của các khả năng của Gadfly được trình bày dưới đây:
Ngoài ra, nó có tính năng hỗ trợ Unicode, tùy chọn mặc định của nó là phương pháp mã hóa UTF-8. Ngôn ngữ lập trình Julia Language được thiết kế cho trình độ cao, hiệu suất cao và tính năng động, tính dễ dàng sử dụng với cú pháp rất linh hoạt. Vì khả năng tùy biến trong việc sử dụng thư viện của Julia khá tốt nên người lập trình có thể dễ dàng chuyển đổi từ ngôn ngữ lập trình Python sang Julia.
Video giới thiệu và hướng dẫn về Julia Language
Bích Thủy