Học ăn, học nói, học gói, học... code

Trong thập kỷ 2020, lập trình được dự đoán không còn là kỹ năng dành riêng cho “dân IT”, mà trở thành kiến thức đại chúng bất kỳ ai cũng có thể, và nên, tự “phổ cập” như với tiếng Anh hay tin học văn phòng.

Khi công nghệ, trí tuệ nhân tạo (AI) và tự động hóa được dự báo tiếp tục thống lĩnh thị trường việc làm thế giới trong 10 năm tới, đầu tư cho con cái làm quen với máy tính và các ngôn ngữ lập trình từ nhỏ dường như đã trở thành xu thế tất yếu của nhiều bậc cha mẹ trên thế giới. Nhưng đã có những lo ngại về hệ lụy của việc cho trẻ “trò chuyện” cùng máy tính trước khi kịp hoàn thiện kỹ năng giao tiếp với con người.

Lập trình (programming hay coding) là “viết” chương trình làm việc cho máy tính để thực hiện một nhiệm vụ nào đó thông qua một dãy các chỉ thị hay “lệnh” mà máy tính có thể hiểu được. Tất cả tiến bộ của khoa học máy tính, trong đó có AI, hệ điều hành, các phần mềm máy tính, trang web, hay mọi ứng dụng trên điện thoại thông minh, đều là sản phẩm của lập trình.

Hiểu lập trình nghĩa là hiểu nguyên lý vận hành căn bản nhất của không gian số và các sản phẩm điện tử hiện diện hằng ngày quanh ta.

Lập trình là một “ngôn ngữ”

Nhiều quốc gia phát triển như Úc, Phần Lan, Ý và Anh cũng đã thiết kế và tích hợp môn lập trình vào chương trình giáo dục chính quy cho học sinh 5-16 tuổi. Nhiều nghiên cứu chỉ ra việc học lập trình từ nhỏ có lợi cho sự phát triển nhận thức và giúp tăng cường khả năng hợp tác, giao tiếp ở trẻ. Đây là những kỹ năng có lợi về lâu dài khi trưởng thành, bất kể sau này đứa trẻ đó có làm việc liên quan trực tiếp đến máy tính hay không.

Lập trình còn giúp phát triển tư duy logic ở trẻ vì đòi hỏi khả năng tập trung giải quyết một vấn đề hay một “bài toán” cụ thể bằng cách tiếp cận, đánh giá nó từ nhiều góc độ khác nhau để tìm ra hướng giải quyết hiệu quả nhất. Qua lập trình, trẻ còn học cách thử nghiệm nhiều phương án khác nhau và tìm ra điểm sai hoặc chưa hợp lý của từng phương án để đi đến kết quả 
cuối cùng.

Những người ủng hộ dạy trẻ lập trình từ nhỏ cho rằng lập trình cũng là một thứ ngôn ngữ, càng học sớm thì càng dễ tiếp thu. Cơ quan lập pháp của bang Maryland (Mỹ) thậm chí đang cân nhắc một dự luật cho phép trường học sử dụng kết quả môn lập trình thay thế môn ngoại ngữ khi xét tốt nghiệp đối với học sinh cấp III. Một dự luật tương tự đang được một số thượng nghị sĩ Mỹ thuộc cả 2 đảng Cộng hòa và Dân chủ đề xuất lên Quốc hội nước này xem xét.

Ngày nay, có nhiều ngôn ngữ lập trình như Scratch, Python, Ruby và Go được thiết kế thân thiện với người mới bắt đầu, ngay cả trẻ nhỏ cũng có thể học được mà không gặp nhiều khó khăn. Ngoài ra còn có những trại hè lập trình đã bắt đầu xuất hiện ở nhiều nước, trong đó có Việt Nam, hoặc những công cụ học lập trình online hoàn toàn miễn phí như trang CodeAcademy.com do Viện Công nghệ Massachusettes (Mỹ) phát triển giúp việc học lập trình chưa bao giờ dễ dàng và tiện lợi đến thế.

Trong thập kỷ 2020, lập trình được dự đoán không còn là kỹ năng dành riêng cho “dân IT”, mà trở thành kiến thức đại chúng bất kỳ ai cũng có thể, và nên, tự “phổ cập” như với tiếng Anh hay tin học văn phòng.

Những hoài nghi

Thế nhưng không phải ai cũng ủng hộ dạy trẻ em lập trình từ quá sớm. Cây bút công nghệ Adrienne So của trang WIRED là một trong số đó.

Là người tiếp cận thường xuyên với những sản phẩm công nghệ được quảng cáo giúp trẻ từ 3 tuổi làm quen với lập trình, So háo hức mua những con robot có thể được “lập trình” bằng iPad - thông qua giao diện sử dụng những hình khối màu sắc bắt mắt thay cho các đoạn mã lệnh - để thực hiện những thao tác đơn giản như leo lên tường hoặc vẽ tranh.

So cho biết đã “vỡ mộng” sau 2 năm vật lộn để khiến con gái 5 tuổi hứng thú với những món đồ chơi công nghệ đắt tiền và rút ra lời khuyên dành cho các bậc cha mẹ ôm mộng dạy con học lập trình: đừng phí thời gian.

“Lập trình không phải ngôn ngữ, mà là một kỹ năng - So viết cho WIRED - Bạn không thể dạy một đứa trẻ mới biết đi tiếng Anh, tiếng Đức và (ngôn ngữ lập trình) Scratch và gọi đó là đứa trẻ biết 3 thứ tiếng”.

So cho biết hoàn toàn đồng cảm với những bậc cha mẹ đang sốt ruột muốn con mình biết lập trình càng sớm càng tốt. Khi mà hình ảnh những tỉ phú công nghệ 9X vẫn được tô vẽ thật lấp lánh và hấp dẫn trong mắt truyền thông thì cha mẹ vẫn còn lý do để tự an ủi rằng mình đang làm điều tốt cho con cái khi ép chúng biết viết app từ lúc lên 5.

Tuy nhiên, theo So, dạy con biết lập trình trước cả khi chúng biết đọc là không cần thiết bởi những câu lệnh trong lập trình không vận hành giống với ngôn ngữ tự nhiên. Khác với ngôn ngữ tự nhiên, ngôn ngữ lập trình không có chức năng biểu đạt thế giới quan, cảm xúc, mong muốn hay cách ta nhìn nhận bản thân mình như một 
con người.

Đối với máy tính, “không ném bóng” chỉ có nghĩa duy nhất là trái bóng không được ném đi. Nhưng khi bảo một đứa trẻ không được ném bóng, ta đang dạy chúng nhiều bài học khác nhau về cuộc sống, ví dụ như ném bóng vào mặt người khác là sai trái vì trái bóng ném đi có thể gây đau đớn cho đối phương.

“Những dòng lệnh máy tính không hoạt động theo cách đó - So đúc kết - Bạn không thể ra lệnh cho trẻ bằng ngôn ngữ C++ và hi vọng chúng trả về kết quả như ý”. Theo So, lập trình là một kỹ năng cần thiết và hữu ích, nhưng hoàn toàn có thể học khi trẻ đủ lớn thay vì cố gắng nhồi nhét từ tấm bé trước khi chúng kịp hoàn thiện kỹ năng ngôn ngữ tự nhiên.

Nhà phát triển phần mềm Jeff Atwood - người đồng sáng lập diễn đàn hỏi đáp về lập trình nổi tiếng Stack Overflow - từng nhận xét trên trang blog cá nhân năm 2012 rằng lập trình, như mọi kỹ năng khác, chỉ thật sự phát huy tầm quan trọng khi đúng người, hợp cảnh.

Nguồn: TTCT

T.LN