Lập trình tác động đến não bộ của chúng ta như thế nào?

Sự thật là: Các lập trình viên thường suy nghĩ khác so với mọi người.

Không phải các lập trình viên nhất thiết cần thông minh hơn, suy nghĩ logic hơn hay có lý trí hơn so với những người khác. Nhưng các nhà khoa học gần đây bắt đầu nghiên cứu về não bộ của các lập trình viên và đưa ra một số kết luận thú vị.

Giống như nghệ thuật có thể định hình tâm trí của bạn bằng nhiều cách khác nhau, lập trình cũng ảnh hưởng đến cách bạn nghĩ - có lẽ theo cách mà bạn không mong đợi.

Hãy cùng Quản Trị Mạng tìm hiểu xem cách lập trình tác động đến não bộ của chúng ta như thế nào trong bài viết dưới đây nhé!

1. Code định hướng các mô hình tâm trí của bạn

Code định hướng các mô hình tâm trí của bạn

Liệu điều này có liên quan đến việc lựa chọn ngôn ngữ lập trình đầu tiên của bạn hay không? - Câu trả lời là có.

Điều này có vẻ như không "công bằng"? Sau tất cả, hầu hết chúng ta đều biết đến ngôn ngữ lập trình đầu tiên tại trường học và chúng ta không có cơ hội tự lựa chọn ngôn ngữ lập trình cho mình. Tôi - tác giả bài viết, bắt đầu bằng ngôn ngữ lập trình C. Những người lớn tuổi hơn tôi có thể bắt đầu với FORTRAN, COBOL hoặc BASIC. Còn bạn, chắc hẳn là một lập trình viên mới vào nghề? Bạn có thể bắt đầu bằng Java hoặc Python.

Chẳng còn nghi ngờ gì: Thiết kế của ngôn ngữ lập trình định hình cách bạn suy nghĩ. Edsger Dijkstra, một trong những nhà khoa học máy tính có ảnh hưởng nhất trong lịch sử, cho biết điều này khi ông nói:

"Các công cụ mà chúng ta sử dụng có ảnh hưởng sâu sắc (và liên quan) tới thói quen suy nghĩ hàng ngày và do đó, ảnh hưởng đến về khả năng tư duy."

Edsger Dijkstra tiếp tục nói:

"Việc sử dụng COBOL làm tê liệt tâm trí. Do đó, việc giáo dục nó nên được coi là một tội phạm hình sự."

Và:

"Trên thực tế, không thể dạy lập trình tốt cho những sinh viên đã từng tiếp xúc với BASIC: như các lập trình viên tiềm năng đã bị 'tổn thương' về mặt tinh thần vượt quá khả năng phục hồi hy vọng."

Theo một ý nghĩa nào đó, tất cả ngôn ngữ lập trình đều có khả năng tương đương với ngôn ngữ lập trình hàm đa mục đích (Turing-complete). Nhưng theo một ý nghĩa khác, việc làm chủ một ngôn ngữ có thể dẫn tới sự phá hoại một ngôn ngữ khác. Lập trình Javalập trình Python là hai con thú khác nhau, họ tiếp cận code cũng bằng hai cách hoàn toàn khác nhau.

Nói cách khác, các mô hình và thành ngữ của ngôn ngữ lập trình đầu tiên ảnh hưởng và thậm chí chỉ ra cách bạn suy nghĩ về cấu trúc dữ liệu, các thuật toán, v.v...

Thật vậy, thực tế nó có thể lấy code ẩn danh và xác định ai đã viết nó dựa trên cách tiếp cận nhiệm vụ và cách viết code. Nhiệm vụ càng khó khăn, "de-anonymize" càng dễ dàng.

Xem bài viết về code stylometry [PDF] này và bản mô tả bài học code stylometry:

"Các lập trình viên có thể hiểu nhầm tên biến hoặc chức năng của chúng, nhưng không phải các cấu trúc mà tiềm thức họ muốn sử dụng hoặc các toán tử gia tăng yêu thích của họ."

Trong tiếng Anh, chúng ta có câu tục ngữ thể hiện điều này một cách dễ hiểu rằng: "Khi bạn có cái búa, mọi thứ giống như một cái đinh". Tương tự như vậy, khi bạn đã học cách lập trình nào đó, thường định hình suy nghĩ về tất cả các vấn đề theo cách đó.

Vì vậy, khi lựa chọn một ngôn ngữ lập trình, hãy thông minh và cẩn thận!

Xem thêm: Top 7 công việc liên quan đến CNTT không cần biết code

2. Code giúp tăng cường sức khoẻ não bộ

Code giúp tăng cường sức khoẻ não bộ

Mọi người thường nói rằng não bộ giống như cơ bắp và bạn cần luyện tập thể dục nếu muốn giữ được độ nhạy bén. Điều đó thực sự đúng? Và nếu như vậy, lập trình được xem như cách luyện tập tinh thần, đủ để ảnh hưởng đến sức khoẻ não bộ?

Một nghiên cứu năm 1991 xem xét "ảnh hưởng của việc lập trình máy tính lên kết quả nhận thức" và nhận thấy những sinh viên có kinh nghiệm lập trình máy tính đạt điểm cao hơn 16 phần trăm so với những sinh viên khác trong các bài thi về khả năng nhận thức.

Một nghiên cứu lớn hơn năm 1999 đã phát hiện và khẳng định rằng "các hoạt động có liên quan đến trí não phục vụ cho việc chống lại suy giảm nhận thức", nhưng cũng lưu ý rằng sự suy giảm nhận thức có thể dẫn đến việc ít tham gia vào các hoạt động liên quan đến trí tuệ.

Một nghiên cứu lớn hơn trong năm 2009 đã đưa ra một kết luận tương tự, gợi ý rằng "những người tham gia vào các hoạt động kích thích não trong những năm sau đó có thể làm giảm nguy cơ suy giảm nhận thức (và thậm chí trì hoãn sự xuất hiện của bệnh Alzheimer và các chứng sa sút trí tuệ khác" bao gồm đọc, viết, câu đố, trò chơi bài, trò chơi cờ và nghe nhạc.

Lập trình

Cuối cùng, một nghiên cứu được công bố vào năm 2013 cho thấy chỉ có một số loại nhất định thực sự ảnh hưởng tới độ nhạy bén của bộ não, đó là các hoạt động nhận thức cao bao gồm học hỏi và những khó khăn về trí tuệ.

Tất nhiên, cần phải nghiên cứu nhiều hơn nữa nhưng thật khó để nghĩ về bất kỳ hoạt động nhận thức nào yêu cầu tập trung học tập và thực hành nhiều hơn lập trình.

Mặc dù không có nghiên cứu nào chứng tỏ các hoạt động gắn kết trí tuệ giúp bạn thông minh hơn hoặc có khả năng hơn, nhưng chúng cho thấy những công việc nhận thức cao ít nhất sẽ giúp tăng cường sức khoẻ và ngăn ngừa đáng kể tác động xấu đến thần kinh.

Không bao giờ quá muộn để học lập trình giống như nữ lập trình viên 82 tuổi ở Nhật Bản và những nghiên cứu này chỉ phục vụ việc củng cố vị trí của chúng tôi. Lập trình là tốt cho bạn!

Xem thêm: 10 lời khuyên hữu ích dành cho các lập trình viên mới vào nghề

3. Code không phải Toán và Logic

Code không phải Toán và Logic

Theo một nghiên cứu năm 2014, sử dụng fMRI scans để quan sát hoạt động của não bộ trong khi các lập trình cố gắng làm việc và hiểu đoạn code, 5 vị trí khác nhau của não liên quan đến việc hiểu mã nguồn:

  • BA 6: Hồi trán giữa (Sự chú ý, ngôn ngữ, bộ nhớ làm việc)
  • BA 21: Hồi thái dương giữa (Thu hồi bộ nhớ ngữ nghĩa)
  • BA 40: Tiểu thùy đỉnh dưới (Bộ nhớ làm việc)
  • BA 44: Hồi trán dưới (Bộ nhớ làm việc)
  • BA 47: Hồi trán dưới (Ngôn ngữ, bộ nhớ làm việc)

Điều này có nghĩa là làm việc thông qua mã nguồn chủ yếu sử dụng các bộ phận của não thường liên quan đến xử lý ngôn ngữ, bộ nhớ và sự chú ý.

Điều đáng chú ý là các vùng não thường kết hợp với toán học và sự tính toán, vốn chỉ đăng ký - ngay cả khi hiểu các đoạn code liên quan đến các vòng lặp, điều kiện, số học và các phép thuật toán khác.

Tất nhiên, nghiên cứu này chưa đầy đủ và các nhà nghiên cứu thừa nhận nhiều hơn:

  • Các đoạn code trong thử nghiệm dưới 20 dòng code và giới hạn thời gian, có nghĩa là chúng không đủ khó để thử thách các chủ đề.
  • Bằng chứng không cho thấy rằng các ngôn ngữ lập trình giống như ngôn ngữ nước ngoài, chỉ có điều chúng liên quan đến các vùng tương tự của não.
  • Các chủ đề không viết bất kỳ code nào của họ, có thể sẽ liên quan đến các khu vực khác nhau của bộ não hơn là cố gắng hiểu code hiện có.

Tuy nhiên, đây là những gì chúng ta có thể thấy:

Chúng ta biết rằng các lập trình viên thường xuyên xem lại mã nguồn, cho dù đó là code tự viết hay code thuộc quyền sở hữu của ai đó. Hơn nữa, các lập trình viên thường dành nhiều thời gian để sửa và tái cấu trúc code hơn viết code mới.

Vì vậy, nghiên cứu này không phải là vô nghĩa. Lập trình không chỉ là một hoạt động "bán cầu não trái" và thậm chí có thể lập luận rằng các lập trình viên bán cầu não phải cũng thấy được điều này.

Làm thế nào để trở thành một lập trình viên tốt hơn?

Kỹ năng lập trình không đến một cách dễ dàng, nhưng nó sẽ đến nếu bạn luyện tập chăm chỉ. Hãy xem các mẹo làm chủ ngôn ngữ lập trình hoặc những bài viết của chúng tôi:

Chúc các bạn vui vẻ!

Thứ Bảy, 03/11/2018 08:23
53 👨 2.578
0 Bình luận
Sắp xếp theo
    ❖ Khám phá khoa học