Công nghệ

Nên chọn ngôn ngữ lập trình nào cho người mới bắt đầu?

Nên chọn ngôn ngữ lập trình nào cho người mới bắt đầu?

Một ngôn ngữ lập trình nên dễ học hay toàn diện về khả năng?

Nên chọn ngôn ngữ lập trình nào cho người mới bắt đầu?

Không gian mới cho nội dung chủ quan—Discussions—trên Stack Overflow đã trở thành trung tâm cho các cuộc thảo luận tuyệt vời. Là người thích nghe nhiều góc nhìn khác nhau về các vấn đề phần mềm và công nghệ, tôi thấy những cuộc thảo luận này đặc biệt thú vị. Các câu hỏi công nghệ thường kết thúc với “còn tùy” khi bạn có nhiều kinh nghiệm hơn, và nhiều góc nhìn sẽ tiết lộ thêm các yếu tố mà “cái đó” có thể phụ thuộc vào.

Hôm nay, tôi muốn làm nổi bật cuộc thảo luận đang diễn ra trong “Ngôn ngữ nào là tốt nhất cho người mới bắt đầu?” Người dùng Mr Quibbles, tương đối mới với lập trình, đặt ra một câu hỏi thú vị:

“Tôi bắt đầu học lập trình khoảng một năm rưỡi trước và tôi bắt đầu với Python 3.10 làm ngôn ngữ đầu tiên. Bạn bè khuyên tôi nên học Python vì cú pháp giống tiếng Anh của nó. Tuy nhiên, gần đây, một số bạn bè khác lại gợi ý rằng C có thể là ngôn ngữ khởi đầu tốt hơn. Tôi đã học C++ trong ba tháng qua vào thời gian rảnh và tôi có thể thấy lý do của họ. Cú pháp C++ có nhiều điểm chung với các ngôn ngữ lập trình khác hơn so với Python. Vậy mọi người nghĩ gì? Ngôn ngữ nào là tốt nhất để bắt đầu, và ngôn ngữ đầu tiên mọi người học là gì?”

Như bạn có thể đoán, nhiều cuộc thảo luận xoay quanh việc so sánh C/C++ và Python làm ngôn ngữ khởi đầu.

Rupesh Kumar viết: “C, C++ là để học các khối cơ bản và áp dụng logic. Python, Java-like languages thì giàu thư viện và được dùng để tạo ứng dụng thực tế và giải quyết các vấn đề kinh doanh. Bạn có thể bắt đầu với sở thích của mình.”

Để rõ ràng, tôi bắt đầu với BASIC, sau đó học các lớp khoa học máy tính bằng C và Java. Có thể tranh cãi liệu tôi có thực sự biết lập trình hay không, nhưng đó là lý do tại sao những cuộc thảo luận như thế này rất có giá trị.

Techguy viết: “Python là một ngôn ngữ tuyệt vời để học, vì nó được coi là rất ‘high level’ – nghĩa là cú pháp gần giống tiếng Anh.”

jfleach viết: “Có lý do Python là ngôn ngữ lập trình phổ biến nhất thế giới. Nó là ngôn ngữ open-source (mã nguồn mở) ở mức cao, rất dễ học và sử dụng. Nó có thể được dùng cho các dự án nâng cao, bạn có thể import (nhập) các thư viện bên thứ ba dễ dàng, tiết kiệm rất nhiều thời gian. Nó có thể được sử dụng cho full-stack development (phát triển toàn diện), và các nhà tuyển dụng rất thích những người biết Python, điều này mang lại nhiều lợi ích.”

Mặt khác, những người ủng hộ C/C++ tin rằng nên có hiểu biết sâu sắc về các khái niệm khoa học máy tính từ đầu:

wyzarddoc viết: “Tôi bỏ phiếu cho C++. C++ cho bạn toàn quyền kiểm soát đến từng bit đơn lẻ nhưng cũng đòi hỏi bạn phải tái tạo lại bánh xe khi học. Ví dụ, chỉ để in cái gì đó trên terminal (giao diện dòng lệnh) yêu cầu bạn phải học nội dung của các thư viện và cách tích hợp chúng vào mã của bạn. Python dễ hơn nhiều nhưng cực kỳ không nhất quán trong việc áp dụng mã hóa. Ví dụ, xử lý chuỗi có thể bị nhầm lẫn với danh sách nếu bạn không biết khi nào hàm của bạn thay đổi đầu vào từ danh sách thành chuỗi.”

Một đề xuất táo bạo đến từ:

LemonCool viết: “Assembly!! Rất nhiều người bắt đầu từ nó vì một lý do, cuối cùng tất cả đều được dịch xuống mức thấp nên sẽ rất có lợi cho hành trình phát triển của bạn. Theo tôi, bạn không nên tiết kiệm việc học và nên học cách đi bộ. Assembly sẽ khiêm tốn và thưởng cho hành trình của bạn. Nếu bạn không muốn học sâu như vậy, có lẽ C là điểm khởi đầu tốt nhất, nó sẽ không che giấu quá nhiều thứ từ mã của bạn với ma thuật đằng sau hậu trường.”

Có nhiều thảo luận khác về lợi ích của từng ngôn ngữ, bao gồm cả ngôn ngữ nào sẽ giúp bạn có được công việc (không phải là nhiệm vụ chính, nhưng chắc chắn là đáng để xem xét). Bạn thuộc Team Python với cú pháp dễ hiểu, hay bạn nghĩ mọi người nên bắt đầu với malloc trong tâm trí? Hay bạn ủng hộ một cách tiếp cận hoàn toàn khác, như Haskell hay một ngôn ngữ hàm khác? Hãy tham gia thảo luận và chia sẻ ý kiến của bạn.

Shares:

Related Posts

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *