Recent Posts

banner-top-it-job-right.gif

Archive

Tags

Related Posts

Python và Julia: Cuộc chiến chưa có hồi kết

Python được biết đến là ngôn ngữ bậc cao cho lập trình đa năng với các ưu điểm như dễ đọc, dễ học và dễ nhớ. Python được hỗ trợ bởi cộng đồng vững chắc là các nhà khoa học máy tính, nhà khoa học dữ liệu và chuyên gia AI. Tuy nhiên, chính họ cũng nhận thấy vài yếu điểm của Python như chậm chạp, các yêu cầu kiểm tra quá mức, tạo ra các lỗi thời gian chạy mặc dù đã thử nghiệm trước đó. Chính vì điều đó các nhà lập trình đã dùng các ngôn ngữ mới như Julia cho các nhiệm vụ toán học và kỹ thuật, Go cho các chương trình mô-đun và Rust cho lập trình hệ thống.

Python và Julia: Cuộc chiến chưa có hồi kết

Vì các nhà khoa học dữ liệu và chuyên gia AI phải giải quyết rất nhiều vấn đề về toán học và Julia là lựa chọn hàng của học. Vậy khi xem xét tổng thể, Julia có thể đánh bại Python hay không? Hãy theo chân JT1 cùng nhau phân tích và đưa ra kết luận nhé!

The Zen của Python so với The Greed của Julia

Khi tạo ra ngôn ngữ lập trình mới, các nhà lập trình muốn giữ các điểm tốt của ngôn ngữ cũ và sửa chữa những điểm tệ. Như vào những năm 1980, Guido van Rossum tạo ra Python để củng cố ABC. ABC dễ đọc nhưng khó sử dụng trong thực tế trong khi Python rất thực dụng. Bạn có thể thấy trong The Zen của Python nó phản ánh ý định những người tạo ra:

The Zen của Python so với The Greed của Julia

Python vẫn giữ những điểm tốt của ABC như dễ đọc, đơn giản, thân thiện với người mới sử dụng nhưng Python mạnh hơn và thích hợp với thực tế hơn ABC.

Tương tự, các nhà sáng tạo của Julia muốn giữ điểm tốt của ngôn ngữ khác và loại bỏ đi những điểm tệ. Julia với nhiều tham vọng: thay vì thay thế một ngôn ngữ khác nó muốn đánh bại luôn tất cả.

The Zen của Python so với The Greed của Julia

Julia muốn kết hợp tất cả ngôn ngữ đang có sẵn và không muốn chứa những nhược điểm của ngôn ngữ khác. Mặc dù là ngôn ngữ mới nhưng Julia đã đạt được nhiều rất nhiều mục tiêu nhà sáng tạo đề ra.

Hàng ngàn công việc IT hấp dẫn đang chờ bạn

Những gì các nhà phát triển Julia đang tự hào


Tính linh hoạt


Julia có thể được sử dụng cho mọi thứ từ các máy ứng dụng học đơn giản đến các máy mô phỏng siêu máy tính khổng lồ. Ở một góc độ nào đó Python cũng thực hiện được những điều này nhưng bằng cách nào đó Python phát triển thành công việc, còn với Julia là được xây dựng chính xác cho những công cụ đơn giản đến phức tạp.


Tốc độ

So sánh tốc độ giữa Python, Julia và C++

Các nhà sáng tạo Julia muốn tạo ra ngôn ngữ nhanh như ngôn ngữ C và bây giờ Julia thậm chí nhanh hơn. Mặc dù Python đã trở nên dễ dàng hơn để tăng tốc trong những năm gần đây, hiệu suất của nó vẫn khác xa so với những gì Julia có thể làm.

Năm 2017, Julia tham gia câu lạc bộ Petaflop- một câu lạc bộ nhỏ về ngôn ngữ có thể vượt quá tốc độ của một petaflop mỗi giây với hiệu suất cao nhất. Ngoài Julia, chỉ có C, C ++ và Fortran ở trong câu lạc bộ lúc bây giờ.

Cộng đồng

Với hơn 30 năm ra đời, Python có cộng đồng rộng lớn và hỗ trợ. Cũng chính vì điều đó mà các câu hỏi về Python ít khi tìm được trả lời tòa vẹn trong một tìm kiếm Google

Trái lại, cộng đồng Julia rất nhỏ, điều này có nghĩa bạn phải bỏ thêm công sức để tìm câu trả lời, nhưng bạn có thể liên kết với cùng một người và nhiều lần. Và điều này có thể biến thành các mối quan hệ lập trình viên vượt quá giá trị.

Chuyển đổi mã

Bạn không những có thể sử dụng mã Python và C trong Julia mà bạn có thể sử dụng Julia trong Python. Điều này làm cho nó cực kỳ dễ dàng để khắc phục các điểm yếu của mã Python của bạn. Hoặc để duy trì năng suất làm việc trong khi bạn vẫn đang làm quen với Julia.

Tìm hiểu thêm các bài viết khác về Python tại đây!

Thư viện


Đây là điểm mạnh của Python, hàng triệu thư viện được duy trì tốt. Julia không có nhiều thư viện và người dùng phàn nàn rằng họ không duy trì một cách đáng ngạc nhiên.

Nhưng khi xem xét, Julia là ngôn ngữ mới với số lượng nguồn hạn chế, số lượng thư viện hiện đang có là khá ấn tượng. Trên thực tế thư viện của Julia đang phát triển, nó cũng có thể kết hợp với các thư viện từ C và Fortran để giải quyết vấn đề

Xem thêm: 5 kỹ thuật khắc cốt ghi tâm của dân IT về python


Các loại động và tĩnh


Python là ngôn ngữ động 100%. Điều đó có nghĩa là chương trình quyết định thời gian chạy dù một biến là số thực hoặc số nguyên.