30 năm trước, Python xuất hiện lần đầu tiên. Nhưng phải mất 20 năm để nhận được sự đánh giá cao từ các nhà phát triển. Tua nhanh đến năm 2019, nó đã trở thành ngôn ngữ được yêu thích thứ 2 trong số các nhà phát triển. ¹
Sự tăng trưởng của nó trong quá khứ là rất lớn, đặc biệt là trong 5 năm qua. Python đã trở thành ngôn ngữ tiếp theo của các nhà phát triển khoa học dữ liệu và máy học
Sự thống trị của Python trong những lĩnh vực này chắc chắn sẽ rất lớn trong vài năm tới. Nhưng nó có một số nhược điểm nghiêm trọng khi so sánh với các ngôn ngữ mới hơn. Đây có thể là một rào cản đối với các nhà phát triển của những năm 20
Đây là thời điểm thích hợp để kiểm tra các vấn đề của Python và thay thế nó bằng một giải pháp thay thế tốt hơn. Trong trường hợp phát triển AI và Khoa học dữ liệu, ngôn ngữ tiếp theo của chúng tôi có thể là Golang
Lý do cho sự phổ biến của Python
Lý do chính cho sự phổ biến của Python là — nó dễ học. Cú pháp của nó đơn giản so với các ngôn ngữ khác và bất kỳ ai cũng có thể học những điều cơ bản về Python trong vài giờ hoặc vài ngày
Ngay cả sau khi học các ngôn ngữ khác như C ++ hoặc Java, các nhà phát triển thường thích gắn bó với Python hơn. Đó là bởi vì có một thư viện python cho hầu hết mọi thứ mà người ta có thể yêu cầu
Thư viện và cú pháp đơn giản giúp phát triển phần mềm bằng Python, đơn giản và hiệu quả. Những ưu điểm này đã khiến Python trở thành ngôn ngữ của người mới bắt đầu
Sự cố với Python
Tốc độ
Python là một ngôn ngữ được giải thích, điều này gây ra vấn đề lớn nhất của Python - Thực thi chậm. Thực thi bằng Python chậm, rất chậm so với các ngôn ngữ biên dịch khác như C++ và Go
Python là một ngôn ngữ được gõ động. Kiểu dữ liệu của các biến được gán tự động trong thời gian chạy. Điều này làm cho việc thực hiện chậm hơn nhiều
Sử dụng C/C++
Để khắc phục sự chậm chạp của Python, các thư viện như Tensorflow, Numpy và Pandas được viết một phần bằng C hoặc C++. Chúng giúp tăng tốc độ thực thi đáng kể
Về cơ bản, Python cần sự trợ giúp của các ngôn ngữ khác để khắc phục vấn đề của nó
Khóa phiên dịch toàn cầu
Khóa phiên dịch toàn cầu của Python [GIL]² chỉ cho phép một luồng thực thi tại một thời điểm đồng thời cải thiện hiệu suất đơn luồng. Đa luồng Python không thực sự có nhiều luồng chạy cùng lúc
Trên thực tế, Python không thể thực hiện đa luồng thực sự
[Ghi chú. Việc triển khai Python không phải CPython như Jython và IronPython không có GIL]
Tại sao đi ngôn ngữ?
Go là ngôn ngữ lập trình nguồn mở giúp dễ dàng xây dựng phần mềm đơn giản, đáng tin cậy và hiệu quả
'Go' xuất hiện lần đầu tiên cách đây 10 năm. Nó được phát triển tại Google như một ngôn ngữ có mục đích chung
Nó có một số lợi thế so với Python và các ngôn ngữ lập trình khác, và đó là lý do tại sao chúng tôi quan tâm
Nhanh
Go là ngôn ngữ được gõ và biên dịch tĩnh. Điều này có nghĩa là việc thực thi sẽ nhanh hơn nhiều lần so với Python. Không giống như Python, Go không cần sự trợ giúp của các ngôn ngữ khác để nhanh hơn
Đây là một so sánh nhỏ về trò chơi điểm chuẩn giữa cờ vây và Python. Go gần như nhanh như C++ và Java. Ngoài ra, Go biên dịch mã cực kỳ nhanh hơn C++ và Java
dễ học
Cú pháp của Go đơn giản và tương tự như C. Đây là một ngôn ngữ lập trình dễ học, đặc biệt nếu ai đó đã biết những kiến thức cơ bản về ngôn ngữ C hoặc Java
Để tìm hiểu kiến thức cơ bản về cờ vây, hãy truy cập A Tour of Go để có chuyến tham quan tương tác hoặc truy cập tài liệu chính thức
ngày càng phổ biến
Go là ngôn ngữ lập trình được tìm kiếm nhiều nhất trong năm 2020 theo cuộc khảo sát Hackearth này với hơn 16.000 nhà phát triển từ 76 quốc gia
Không có gì đáng ngạc nhiên khi 32% nhà phát triển có kinh nghiệm và 29% sinh viên nói rằng họ muốn học Go
đồng thời
Đồng thời là một trong những thế mạnh chính của Go. Go có Goroutines³ để đạt được đồng thời. Goroutine là các chức năng có thể chạy đồng thời và độc lập
Goroutine có trọng lượng nhẹ và chỉ chiếm 2 kB bộ nhớ. Vì các Goroutine rất nhẹ nên có thể có hàng nghìn chúng chạy cùng một lúc
Có rất nhiều lợi thế khác trong Go. Kiểm tra bài viết chuyên sâu này của Keval Patel
Tại sao bạn nên học cờ vây?
“Go sẽ là ngôn ngữ máy chủ của tương lai. ” — Tobias Lütke, Shopify
Điều gì làm cho Go phù hợp với Nghiên cứu AI
Không có gì thực sự đặc biệt khi sử dụng Go dành riêng cho Nghiên cứu AI hoặc Khoa học dữ liệu. Tại sao nên sử dụng Go cho AI và Khoa học dữ liệu?
30 năm trước, Python không được phát triển để xây dựng các thuật toán Machine Learning hoặc Deep Learning hoặc để trực quan hóa dữ liệu
Nó có được như ngày nay bởi vì các nhà phát triển và sinh viên thích viết mã bằng Python và ngôn ngữ được hỗ trợ để phát triển những gì các nhà phát triển dự định
Go nhằm mục đích làm cho các lập trình viên làm việc hiệu quả hơn. Nó có một số lợi thế so với Python. Nó có thể dễ dàng giúp Python trở thành ngôn ngữ được yêu thích nhất và phổ biến nhất trong những năm tới