Học Python có khó không?
Mình rất muốn trả lời câu hỏi "Học Python có khó không?" bằng một từ... đó là 'KHÔNG'.
Tuy nhiên,
Cần phải hiểu một cách tổng quan hơn là: Python "DỄ HỌC" hơn "HẦU HẾT CÁC NGÔN NGỮ LẬP TRÌNH" khác.
Vì sao mình nói điều này?
Bởi vì,
Phần lớn, lập trình bao gồm hai điều.
-
Khả năng viết các thuật toán và kiến trúc để giải quyết vấn đề nào đó.
-
Một điều khác là nắm vững cú pháp và tài nguyên cần thiết được cung cấp bởi bản thân ngôn ngữ và các công cụ hỗ trợ nó.
Điều thứ 2 thì là ưu điểm của Python. (Xem phần bên dưới để biết cú pháp Python dễ thế nào)
Còn về thuật toán và Kiến trúc thì không phụ thuộc nhiều vào ngôn ngữ.
Vì thế,
Học Python có khó hay không phụ thuộc nhiều hơn vào bạn chứ không phụ thuộc vào bản thân Python.
Phân tích cú pháp để xem học Python có dễ không?
Không thể phủ nhận rằng Python có cú pháp rất dễ hiểu so với nhiều ngôn ngữ lập trình khác.
Ví dụ:
Đây là chương trình in ra "Hello World" trong Java.
Chương trình Hello World trong Java
Chương trình Hello World trong C:
Chương trình Hello World trong C
Còn đây là chương trình Hello World trong Python.
Chương trình Hello World trong Python
Và Python đi kèm theo rất nhiều thứ đơn giản, Modules phong phú...
Có nghĩa là, làm việc với ngôn ngữ python là "Dễ dàng hơn" bởi vì có rất nhiều thư viện giúp bạn giải quyết nhiều vấn đề với chỉ 1 câu lệnh đơn giản.
Nhưng ngược lại, bạn cần phải mày mò để tìm kiếm các thư viện, tìm hiểu cách thư viện đó hoạt động để sử dụng:
-
Đúng
-
Đủ
-
Có thể sửa chữa khi cần thiết.
Mình nghĩ rằng bất cứ ai tuyên bố học Python là "DỄ" không thực sự kiểm tra tất cả các khía cạnh của lập trình.
Học lập trình sẽ luôn luôn đòi hỏi bạn nỗ lực, và do đó, đừng để bản thân lựa chọn Python vì người ta nói nó "DỄ".
ĐÚNG!
Python dễ dàng hơn trong một số trường hợp.
Nhưng trong rất nhiều trường hợp, mình nghĩ rằng cũng cần phải nỗ lực như các ngôn ngữ khác để có thể sử dụng Python để giải quyết vấn đề.
Để minh họa, đây là một chương trình trong C++ để cộng hai số từ dòng lệnh và in kết quả (Mình bỏ qua việc kiểm tra lỗi trong cả hai ví dụ này, ví dụ: Mình mong đợi hai số được truyền dưới dạng đối số):
Chương trình cộng 2 số từ dòng lệnh trong C++
Trong Python:
Chương trình cộng 2 số từ dòng lệnh trong Python
Trong C++, mình đã khai báo các đối số trong main
.
Trong Python thì không, nhưng mình vẫn cần nhiều cú pháp hơn để bù lại.
Ý tưởng đằng sau 2 chương trình này là giống nhau.
-
Cả hai phần
main
đều định nghĩa cùng một chương trình, cả 2 đều lấy đối số từ một mảng có tên là argv
.
-
Cả hai đều yêu cầu bạn
import
/ include
một số module bên ngoài.
-
Cả hai đều yêu cầu bạn chuyển đối số từ dòng lệnh thành
integer
.
Đến đây, mình không nghĩ là học các khái niệm này trong Python dễ hơn là trong C++.
Ngoài ra, theo kinh nghiệm cá nhân (hoàn toàn là ý kiến cá nhân), mình thấy lập trình hướng đối tượng trong Java và C++ dễ dàng hơn so với Python.
Vì vậy, chỉ là, bạn nên cảnh giác với tuyên bố học Python là DỄ DÀNG.
Theo nhiều cách, không có ngôn ngữ lập trình nào là dễ dàng, nó tùy thuộc vào những thứ bạn đang giải quyết hơn là ngôn ngữ.
Thuật toán và Kiến trúc là những vấn đề bạn cần quan tâm hơn là phân vân chọn một ngôn ngữ.
Bạn đã biết học Python có khó hay không chưa?
Python không phải là ngôn ngữ trẻ con (nó còn già hơn cả Java).
Python là một ngôn ngữ lập trình rất mạnh mẽ có ưu thế cực kỳ lớn trong AI, Machine Learning, Data Science... thế nên nếu bạn chọn học python thì rất tuyệt vời.
Chỉ là, cần lưu ý, mặc dù học python cơ bản là khá dễ dàng, nhưng khi đi sâu hơn hay để sử dụng ngôn ngữ này thành thạo cũng cần thời gian và nỗ lực như nhiều ngôn ngữ khác.
Nhưng nếu đã trót yêu Python thì hãy kiên định. Bạn sẽ được đền đáp xứng đáng với những nỗ lực bạn bỏ ra để Học Python.
---
HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI
Dạy học Lập trình chất lượng cao (Since 2002). Học làm Lập trình viên. Hành động ngay!
Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội
SĐT: 02435574074 - 0914939543 - 0353655150
Email: hello@niithanoi.edu.vn
Fanpage: https://facebook.com/NIIT.ICT/
#niit #niithanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp #python #java #php