Học lập trình giống như học ngoại ngữ?

Tôi đã nghe nói rằng ngữ pháp và cú pháp của các ngôn ngữ lập trình cũng giống như ngoại ngữ, nhưng đối với tôi, các khóa học ngoại ngữ vẫn dễ hơn khóa học về lập trình. Điều đó đã thúc đẩy tôi chọn học tiếng Ý ở trường đại học, đấy là một lựa chọn không thực tế nếu muốn tìm tìm kiếm một công việc tốt, nhưng tôi tin rằng nó đã giúp tôi rất nhiều khi tôi quyết định học Java.

Điều này không có nghĩa là bạn phải học “ngoại ngữ” tốt mới có thể kết nối với học lập trình tốt, nhưng đây để trình bày một cách chung cho việc học lập trình cũng tương tự như học ngoại ngữ (bạn sẽ thể thấy điều này hữu ích cho việc học ngoại ngữ!)
 

Học ngoại ngữ


Khi chúng ta bắt đầu học ngoại ngữ, ngay lập tức, chúng ta nắm bắt những điều có thể dịch trực tiếp, như “ciao” cho “hello”. Chúng ta bắt đầu học các quy tắc và các khái niệm như các đại từ khác nhau giúp chúng ta ghép các phần khác lại với nhau: Có thể nói “un cane” cho “Một con chó” và “il cane” cho “con chó”.

Chúng ta học cách kết hợp động từ cho phép chúng ta tạo ra câu, như “Ho un cane” (tôi có một con chó) và “Hai un cane” (Bạn có một con chó). Những mảnh ghép này hoạt động như những viên gạch mà chúng ta có thể xếp chồng lên nhau để tạo thành các cấu trúc. Khi chúng ta có thêm nhiều viên gạch, chúng ta có thể xây dựng các cấu trúc lớn hơn và sáng tạo hơn.

Trong giai đoạn đầu của việc học ngoại ngữ, đôi khi chúng tôi muốn có thể nói điều gì đó mà chúng ta chưa học ngữ pháp. Vào ngày đầu tiên của tôi về tiếng Ý, tôi đã học cách tự giới thiệu mình với “Mi chiamo Jo” (tên tôi là Jo), nhưng tôi chưa học được cách liên hợp động từ hoặc xử lý đại từ phản xạ. Tôi chấp nhận cụm từ này như một cụm từ có ý nghĩa cụ thể, nhưng những viên gạch riêng lẻ thì vẫn chưa có ý nghĩa.

Không hiểu nghĩa những viên gạch thì sẽ không thấy thoải mái (tôi thấy nó rất khó chịu), nhưng với thời gian, chúng ta học cách phá hủy cấu trúc này và sử dụng gạch của chúng một cách sáng tạo hơn trong cấu trúc của chúng ta.

Chúng ta có thể ưu tiên một số mẫu câu nhất định trong quá trình này và tránh sử dụng tất cả cùng với nhau, nhưng chúng ta càng trải nghiệm các cấu trúc, cả mới và cũ, chúng ta càng trở nên thoải mái hơn với cách sử dụng nó.

Sự lưu loát của chúng ta là thước tiến bộ trong học ngoại ngữ. Đó là, khả năng và sự tự tin của chúng ta để sử dụng từ và cấu trúc (mà chúng ta có thể không hoàn toàn hiểu được) mới để giao tiếp.
 

Học một ngôn ngữ Lập trình


Sự khác biệt đáng kể nhất giữa việc học một ngôn ngữ lập trình và học một ngoại ngữ là bản chất trừu tượng của các ngôn ngữ lập trình.

Tôi nghĩ bằng tiếng Anh theo cách mà người Ý nghĩ bằng tiếng Ý, vì vậy việc lập bản đồ các ngôn ngữ này với nhau là tự nhiên. Tôi không suy nghĩ như một chiếc máy tính, vì vậy giai đoạn đầu của việc học một ngôn ngữ máy tính sẽ rất khác.

Chúng ta phải chấp nhận rằng đôi khi chúng ta có thể không hiểu tại sao chúng ta phải học một số khái niệm hoặc thậm chí chẳng hiểu lý do tại sao nó tồn tại.

Tuy nhiên, chúng ta vẫn có thể tập trung vào những mảnh ghép. Chúng ta có thể không hoàn toàn hiểu tại sao chúng ta truyền các bit thông tin trong các biến, nhưng chúng ta có thể học cách tạo ra chúng và hiểu sự khác biệt giữa các biến (variable) và các hằng số (const). Sau đó chúng ta có thể tìm hiểu cú pháp để sử dụng mảng, cấu trúc, vòng lặp, v.v. khá dễ dàng.

Khi nói đến các cấu trúc lớn hơn — như tạo các hàm (function), học những thứ phức tạp như lập trình hướng đối tượng – chúng ta có thể phải sao chép các code mẫu từ các bài hướng dẫn trong một thời gian trước khi chúng ta thực sự hiểu nó.

Việc sao chép code mẫu có thể không tốt lắm, như khi tôi chưa học đại từ phản xạ nhưng đã biết giới thiệu bản thân mình bằng tiếng Ý. Tuy nhiên, dần dần, chúng ta sẽ cải thiện cho đến thời điểm “À ,ra thế” xuất hiện.

Đến lúc đấy chúng ta có thể hiểu một cấu trúc mới và có thể sử dụng thành phần của nó một cách độc lập để sáng tạo ra cách code của riêng chúng ta.

Ví dụ, tôi thực phải đau đầu rất nhiều lần với tính bao đóng (closures) trong Java, nhưng qua một thời gian, tôi đã sử dụng nó đơn giản chỉ bằng cách làm theo các đoạn code mẫu mà tôi đã thấy trong các bài hướng dẫn. Một ngày, tôi bất chợt bật ra với một ý nghĩ “À, ra thế”, và từ lúc đấy tôi thực sự hiểu tính bao đóng trong Java.
 Tham khảo khoá học lập trình web trong vòng 6 tháng, đảm bảo 100% công việc đầu ra!

Tìm tài nguyên học lập trình tốt nhất của bạn


Khi bắt đầu cuộc hành trình học Java, mọi người đều nói tài liệu sẽ là tài nguyên tốt nhất và chuẩn nhất để học, nhưng tôi sẽ đưa ra lời khuyên khác cho những người mới bắt đầu.

Cũng giống như cách bạn không nhận một cuốn từ điển được viết bằng tiếng Ý vào ngày đầu tiên của một lớp học tiếng Ý, bạn không nên dựa hoàn toàn vào tài liệu khi bạn chưa có từ vựng nhất định về lập trình. Bạn phải tìm tài nguyên hướng dẫn khác mà có thể giúp bạn dần dần có thể hiểu được.

Tài liệu sẽ có ích cho bạn vào một ngày nào đó, nhưng cho đến lúc đó, hãy tham khảo nó và ghi nhớ chỗ nào mình hiểu được. Đừng để nó làm cho bạn nảy sinh ý nghĩ rằng bạn không thể học lập trình. Phát triển kỹ năng lập trình của bạn cần phải có thời gian. Và nên bắt đầu từng những tài nguyên dễ hiểu với bạn như video, các tutorial về lập trình…

150 thuật ngữ Tiếng Anh về công nghệ thông tin

Nguồn: https://niithanoi.edu.vn/hoc-lap-trinh-cung-giong-nhu-hoc-ngoai-ngu.html

Bài viết liên quan

Leave a Reply

Your email address will not be published.

TÀI LIỆU DEV WORLD
Cẩm nang phát triển bền vững với nghề lập trình!