top of page

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 đề


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.

Mặc dù điều này thân thiện với người mới bắt đầu, nó cũng giới thiệu một loạt lỗi có thể xảy ra. Điều đó có nghĩa bạn phải tốn nhiều thời gian để kiểm tra mã Python trong tất cả các tình huống.

Bởi vì các nhà sáng tạo Julia cũng muốn ngôn ngữ của mình dễ học, Julia hỗ trợ toàn diện loại ngôn ngữ động. Nhưng trái với Python, bạn có thể giới thiệu các loại tĩnh nếu bạn muốn- trong cách họ thực hiện như ở C hoặc Fortran.

Điều này có thể tiết kiệm rất nhiều thời gian, thay vì tìm lý do để không kiểm tra mã, bạn có thể chỉ định loại ở bất cứ nơi nào có ý nghĩa.

Dữ liệu: Đầu tư vào những thứ trong khi chúng còn nhỏ

Dữ liệu: Đầu tư vào Julia

Dữ liệu: Đầu tư vào Python

Trong khi tất cả mọi thứ nghe rất tuyệt vời, nhưng phải lưu ý rằng Julia vẫn còn nhỏ bé so với Python.

Một số liệu khá tốt là số lượng câu hỏi trên Stack Overload: ở cùng thời điểm Python được đề cập gấp 20 lần so với Julia.

Điều đó không có nghĩa là Julia không phổ biến, thay vào đó nó cần khoảng thời gian tự nhiên để được các lập trình viên chấp nhận.

Hãy nghĩ về điều này, bạn có thật sự muốn viết toàn toàn mã của các bạn trong bằng một ngôn ngữ lập trình khác không? Không bạn thật sự chỉ muốn trải nghiệm một ngôn ngữ mới trong dự án ở tương lai. Điều này tạo ra độ trễ về thời gian mà mọi ngôn ngữ lập trình phải đối mặt giữa việc phát hành và áp dụng nó.

Nếu bạn áp dụng nó bây giờ, rất đơn giản bởi vì Julia cho phép chuyển đổi ngôn ngữ số lượng lớn bạn đang đầu tư trong tương lai. Hơn thế, khi mọi người áp dụng Julia, bạn đã có đủ kinh nghiệm để trả lời các câu hỏi của họ. Ngoài ra, mã của bạn sẽ bền hơn khi ngày càng nhiều mã Python được thay thế bởi Julia.

Hàng trăm công việc IT hấp dẫn

Điểm mấu chốt: Dùng Julia và để nó là lợi thế của bạn

40 năm về trước, trí tuệ nhân tạo không là gì, nó chỉ là một tình huống thích hợp. Các doanh nghiệp và nhà đầu tư không tin tưởng nó. Nhiều công nghệ còn vụng về và khó sử dụng. Nhưng những người tin tưởng và dùng nó giờ đã là những gã khổng lồ, những người có nhu cầu rất cao đến mức lương của họ phù hợp với một người chơi NFL.

Tương tự, Julia hiện tại vẫn còn nhỏ. Nhưng khi nó phát triển nó sẽ mang đến chiến thắng lớn cho những ai áp dụng nó sớm. Đây không phải là một cam kết rằng bạn sẽ kiếm được một số lượng tiền lớn khi dùng Julia ngay bây giờ, nhưng nó sẽ tăng cơ hội cho bạn.

Hãy thử nghĩ rằng: Hầu hết các nhà lập trình đều có Python trên CV của họ. Trong một vài năm tới bạn sẽ thậm chí nhìn thấy nhiều nhà lập trình Python hơn trong thị trường công việc. Nhưng nếu nhu cầu của các doanh nghiệp về Python giảm, cơ hội cho nhà lập trình Python giảm. Chậm rãi nhưng không thể tránh khỏi.

Ở mặt khác, bạn có lợi thế thật sự khi đưa Julia vào CV của bạn. Hãy thành thực, điều gì làm bạn khác biệt với bất kỳ Pythonista khác? Không nhiều. Nhưng hiện tại không có nhiều nhà lập trình Julia thậm chí sau 3 năm nữa.

Với những kỹ năng Julia, bạn không chỉ chỉ ra rằng bạn thích ứng trước yêu cầu công việc. Bạn cũng đang chứng minh rằng bạn đang sẵn sàng học và bạn có một ý nghĩa rộng hơn về ý nghĩa của việc trở thành một lập trình viên. Nói cách khác, bạn phù hợp với công việc.

Bạn và những nhà lập trình viên Julia khác sẽ là những ngôi sao trong tương lai hoặc như nhà sáng tạo Julia nói:

nhà sáng tạo Julia nói

Python vẫn còn rất phổ biến. Nhưng nếu bạn học Julia bây giờ, đó có thể là tấm vé vàng của bạn sau này. Hãy cân nhắc nhé!

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

Ngoài ra JT1 còn có nhiều bài viết chia sẻ không chỉ về kiến thức mà còn về các kỹ năng mềm cho dân IT mong muốn trở nên chuyên nghiệp hơn trong con đường sự nghiệp của mình, tại: https://www.jt1.vn/

Gợi ý cho bạn:

_Nguồn tổng hợp_

---

JT1 - IT Recruitment Agency

Website: https://www.jt1.vn

Email: hi@jt1.vn

Điện thoại: +8428 6675 6685

Xem thêm các bài viết khác tại: https://www.jt1.vn/blog

Theo dõi chúng tôi tại: https://www.facebook.com/jt1asia/

Job_link_banner.gif
bottom of page