Học lập trình những “ngộ nhận” của người mới

Bạn đang tìm hiểu về việc học lập trình?
Bạn đã chọn được một ngôn ngữ lập trình để theo đuổi nhưng rồi bạn lại bỏ dở?
Bạn sợ lập trình?
Những người mới học lập trình thường gặp phải nhiều ngộ nhận và lầm tưởng.
Nếu bạn nghĩ rằng việc học một ngôn ngữ lập trình sẽ khó khăn và vất vả như việc học một ngoại ngữ mới – thì bạn đã nhầm to rồi đó!
Khi bạn có suy nghĩ này, bạn đã mắc phải hội chứng “ngụy biện liên ngôn ngữ” – hội chứng này tạo cho bạn một ảo giác, rằng ngôn ngữ lập trình là một thứ gì đó tương tự như ngôn ngữ giao tiếp hàng ngày.
Điều đáng buồn, bạn đang ngộ nhận!

  1. NGÔN NGỮ LẬP TRÌNH LÀ NGÔN NGỮ CỦA MÁY TÍNH?
    Nghe có vẻ như nhầm nhưng không nhầm đâu, học lập trình tức là
  • Học cách “nói chuyện với máy tính”
  • Học phương pháp “tư duy” của máy tính
  • Họ muốn thuần thục nhưng không muốn “thống trị” một ngôn ngữ lập trình nào đó…
    Tất cả quan niêm trên đều sai hết! Rõ ràng ngôn ngữ lập trình được thiết kế dành cho con người.
    Khoa học đã chứng minh một cách thuyết phục rằng:
    Xét trong lĩnh vực khoa học máy tính – Computer Science, ta có ngôn ngữ bậc cao & ngôn ngữ bậc thấp.
    Ngôn ngữ bậc thấp như Assembly sẽ giao tiếp trực tiếp với máy tính thông qua một loại các phép toán trực tiếp với bộ xử lý. Nhưng Assembly chỉ đứng thứ 19 trong bảng xếp hạng các ngôn ngữ phổ biến! Toàn bộ top đầu là các ngôn ngữ bậc cao như Python, Java….
    Nếu bạn thích định nghĩa mọi sự vật mà bạn gặp phải, sau đây là trích dẫn một đoạn định nghĩa “ngôn ngữ bậc cao” trong từ điển Collins:
    “Ngôn ngữ lập trình bậc cao là ngôn ngữ lập trình giống với ngôn ngữ tự nhiên hoặc các kí pháp toán học”
    Như vậy, ngôn ngữ bậc cao rất gần với ngôn ngữ tự nhiên và chúng sử dụng các concept liên quan tới logic cũng như toán học, bởi lẽ chúng được thiết kế dành cho con người!
  1. Học ngôn ngữ lập trình khó ngang với học một ngoại ngữ mới
    Xem nào, nếu bạn thử đọc một đoạn văn bản viết bằng tiếng nước ngoài (tiếng Campuchia chẳng hạn), bạn sẽ phải đối mặt với:
  • Một bảng chữ cái mới tinh
  • Hệ thống ngữ pháp và cú pháp mới
  • Và điều khó khăn nhất: một tập hợp những từ ngữ mà bạn chưa thấy bao giờ!
    Đó là tiếng nước ngoài nhé! Còn với ngôn ngữ bậc cao thì sao nhỉ? Bạn sẽ không bao giờ gặp, dù chỉ là một trong ba khó khăn trên.
    Giả sử tiếng Anh là ngôn ngữ mẹ đẻ của bạn, chúng ta sẽ tạm thời so sánh tiếng Anh với SQL.
    Đầu tiên, bảng chữ cái không có gì thay đổi. Nếu bạn để ý, tất cả ký tự sử dụng trong SQL đều nằm trên bàn phím của bạn.
    Thứ hai, bạn hãy để ý tới ngữ pháp và cú pháp, ‘Insert into table’ có vẻ như không có gì xa lạ và khó hiểu! Nếu vốn tiếng Anh của bạn không tốt (tệ lắm thì 100-200 điểm TOEIC), bạn vẫn không tốn quá tốn sức để hiểu được câu lệnh này.
    Cuối cùng, hãy nhìn vào từng từ đơn, mỗi từ đều tồn tại trong tiếng anh, không có từ mới, không có cách phát âm khác, không đa nghĩa….Như vậy, “từ điển” của ngôn ngữ lập trình hầu như không khác biệt gì nhiều so với ngôn ngữ mẹ đẻ của chúng ta. Đó cũng chính là lý do mà chúng ta coi ngôn ngữ lập trình không phải là một “ngôn ngữ” thực sự. Nó giống như thổ ngữ (tiếng địa phương) hơn là một ngôn ngữ mới!
    Vì vậy, việc học một ngôn ngữ lập trình thậm chí còn dễ hơn cả việc học ngoại ngữ. Do đó, thời gian học không dài như chúng ta nghĩ…
  1. HỌC MỘT NGÔN NGỮ LẬP TRÌNH SẼ TỐN VÀI NĂM……
    Để học một ngoại ngữ, bạn cần học:
  • Từ vựng
  • Ngữ pháp
  • 4 kĩ năng nghe, nói, đọc, viết
    Có vẻ nhiều nhỉ?
    Vì vậy, để học một ngoại ngữ mới, một người bản xứ (nói tiếng Anh) cần từ 23 tuần đến 2 năm để hoàn toàn “thích nghi” với ngôn ngữ mới.
    Thế nhưng với ngôn ngữ lập trình, học các chức năng cũng như câu lệnh (tương ứng với việc học từ vựng trong ngoại ngữ) là một công việc dễ dàng bởi ngôn ngữ lập trình có hệ thống bảng chữ cái không khác tiếng Anh là mấy. Nếu bạn biết chút ít tiếng Anh, thời gian học ngôn ngữ lập trình cũng sẽ giảm đi đáng kể.
    Học cú pháp của ngôn ngữ lập trình tương đương với việc làm bài tập ngữ pháp. Có thể hơi vất vả hơn một chút nhưng hãy nhớ rằng, ngôn ngữ lập trình được thiết kế để con người có thể đọc-hiểu và sử dụng một cách dễ dàng, vì thế thuần thục cú pháp của một ngôn ngữ bậc cao không nằm ngoài tầm với của bạn.
    Cuối cùng là phát âm (tương ứng với cặp kỹ năng nghe-nói khi học ngoại ngữ)…Thật ra chúng ta chưa từng thấy ai đọc ngôn ngữ lập trình thành tiếng như tụng kinh cả…
    Bạn thấy đó, học ngôn ngữ lập trình đâu có phức tạp như học ngoại ngữ! Vì thế, thời gian học cũng không kéo dài lê thê như ta vẫn tưởng tượng. Thực tế không thiếu các trường hợp chỉ mất vài tháng để chế tạo một sản phầm từ một ngôn ngữ lập trình mới toanh!
    TẠM KẾT
    Ngôn ngữ lập trình được thiết kế cho chúng ta. Nó không khó học, hãy nhớ lấy điều này.
    Bây giờ là thời gian để bạn bắt đầu với ngôn ngữ lập trình đầu tiên của mình, hoặc tiếp tục những gì đang dang dở. Bạn thấy đấy, bài viết trên đã tước đi mọi lý do vớ vẩn của sự trì hoãn mà chính bạn tự tạo ra bây lâu nay.
    Với tất cả những điều kể trên, học lập trình thì cũng chỉ giống như bất kỳ lĩnh vực nào khác, nơi mà bạn phải học tập và làm việc chăm chỉ là yếu tố quyết định để thành công. Vì thế còn chần chừ gì nữa, bạn hãy thực hiện ngay bước đi đầu tiên của mình và bắt đầu học lập trình ngay hôm nay!
1 Like

Copy bài nhớ ghi nguồn nha bạn. Bài này hình như mình đã đọc ở trên TechTalk.

TechTalk cũng đa số lấy nguồn ngoài thôi. Mình hay ví TechTalk như “Báo Mới” của dân IT :laughing:

2 Likes

Wiki: Ngôn ngữ lập trình là một tập con của ngôn ngữ máy tính, được thiết kế và chuẩn hóa để truyền các chỉ thị cho các máy có bộ xử lý (CPU), nói riêng là máy tính.

Wiki: SQL - Structured Query Language - ngôn ngữ truy vấn mang tính cấu trúc, là một loại ngôn ngữ máy tính phổ biến để tạo, sửa, và lấy dữ liệu từ một hệ quản trị cơ sở dữ liệu quan hệ.

SQL đúng như tên của nó, nó là ngôn ngữ truy vẫn, không phải ngôn ngữ lập trình ^^!

Để cho dễ hiểu thì nên so sánh ngoại ngữ với ngôn ngữ lập trình dùng trong giảng dạy (Pascal, C/C++ hoặc Java) thì sẽ dễ dàng hơn.

Mình cũng đã từng học lập trình vì vậy nói nó “không khó học” là đúng, nhưng việc học nó cũng không hề dễ dàng gì, từ việc nhớ từ khóa tới nhớ cấu trúc sử dụng, sau đó là các thuật toán, rồi sau fix lỗi các kiểu :))

Quan trọng là có quyết tâm, đều đặn và điều độ, chúc m.n sớm thành công :))

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?