Đối với một số người, những bạn coder được ví như siêu nhân vì có thể làm được một việc mà những người này cho là cực kỳ khó khăn: lập trình. Họ cho rằng những ai muốn học lập trình đều phải có một trí thông minh tuyệt đỉnh, tư duy sắc bén cùng với khả năng xử lý thông tin tốc độ cao. Ngay cả những bạn đã có một thời gian tiếp xúc với lĩnh vực này còn có suy nghĩ như vậy. Để rồi làm giảm đi sự tự tin của bản thân vào một tương lai tươi sáng. Tuy nhiên, đó không phải là sự thật. Lập trình không hề khó khăn như mọi người vẫn nghĩ.

Tuy chỉ toàn là chữ với số, cùng với hàng loạt các phương án xử lý tưởng chừng như phức tạp. lập trình suy cho cùng cũng chỉ dựa trên một vài nguyên tắc cốt lõi. Không những thế, các nguyên tắc này không phải chỉ áp dụng trong lập trình, mà chúng ta đã và đang sử dụng nó ở hầu hết mọi lĩnh vực trong cuộc sống mà không nhận ra, Chỉ cần nắm vững các quy tắc đó, câu chuyện lập trình sẽ chỉ còn là một hành trình khám phá điều mới một cách thoải mái và vui vẻ.

Trong bài viết này, WorkLabs sẽ chia sẻ cho bạn hai nguyên tắc mà chúng mình cho rằng quan trọng nhất, nếu bạn thành thạo nó thì chuyện lập trình sẽ chẳng còn gì khó khăn nữa.

1. Nguyên tắc Input-Process-Output 

Một sự thật mà không phải ai cũng tin, hầu như tất cả các chương trình máy tính đều dựa trên một quy trình ba giai đoạn đơn giản:

  • Giai đoạn 1: Thông tin đầu vào 
  • Giai đoạn 2: Xử lý thông tin 
  • Giai đoạn 3: Kết quả 

Bạn không hề nghe lầm đâu, lập trình luôn luôn xoay quanh quy tắc cơ bản này. Dù cho đó là một ứng dụng “Hello World”, hay một trí tuệ nhân tạo như Siri, Alexa thì đều được xây dựng dựa trên quy tắc này. Công việc của các lập trình viên chỉ đơn giản là, tổng hợp các thông tin đầu vào cần thiết, sau đó đưa ra các thuật toán xử lý những thông tin ấy để có được kết quả cuối cùng.

Có thể bạn thắc mắc, nếu chỉ đơn giản như vậy thì làm sao có thể tạo ra được những ứng dụng phức tạp với hàng trăm, hàng nghìn tính năng khác nhau. Câu trả lời là, quy trình này không chỉ xảy ra một hay một vài lần trong một ứng dụng, mà nó sẽ được liên kết với nhau thành một chuỗi tác vụ rất lớn và phức tạp. Kết quả của một quy trình sẽ trở thành thông tin đầu vào của một hoặc nhiều quy trình khác. Và cứ như thế, một hệ thống các tác vụ liên kết và liên tưởng với nhau đằng sau các ứng dụng mà ta vẫn đang sử dụng.

Đây không phải là một quy tắc xa lạ, hâu như mọi thứ trên đời này đều dựa trên quy tắc này mà vận hành và phát triển. Ví dụ trong việc học của chúng ta, chúng ta sẽ thu tháp những thông tin liên quan đến một vấn đề nào đó trước tiên. Tiếp đến, ta cần phải phân tích, xử lý những thông tin đó để đạt được kết quả là những kiến thức của riêng mình. Những kiến thức này, kèm với các thông tin khác sẽ trở thành thông tỉn đầu vào của một quy trình học tập mới. Hoặc trong làm việc nhóm. quy tắc này cũng đóng vai trò cực kì quan trọng đối với hiệu quả của nhóm. Mỗi thành viên đều áp dụng quy tắc này để xử lý công việc của mình. Và kết quả công việc của mỗi thành viên sẽ là thông tin đầu vào cho thành viên khác. Nếu dành một ít thời gian để suy nghĩ, bạn sẽ thấy sự hiện diện của quy tắc Input-Process-Output ở khắp mọi nơi.

Nếu như đã thấy hiểu được nguyên tắc này, lập trình sẽ không còn khó khăn đối với bạn nữa. Cho dù bạn đang làm một dự án phức tạp đến đâu, bạn cũng chỉ cần sự chia sự phức tạp đó thành những quy trình Input-Process-Output nhỏ và đơn giản. Việc còn lại chỉ là đi xử lý những vấn đề nhỏ và đơn giản đó thôi.

2. Nguyên tắc “từng bước một”: 

Ở thời điểm hiện tại, chúng ta đã thấy được máy tính có sức mạnh to lớn như thế nào. Tất cả các ngành nghề hiện nay đều có sự tham gia của máy tính. Tất cả các mặt trong cuộc sống của chúng ta đâu đâu cũng có sự hỗ trợ của máy tính (điện thoại cũng là một chiếc máy tính thu nhỏ). Ngay cả việc tưởng tưởng một ngày không có máy tính, không có internet, có nhiều người còn không dám nghĩ đến. Mạnh mẽ và quan trọng như thế, nhưng có một sự thật là, bản chất của những chiếc máy tính không hề thông minh, mà cũng có thể nói là hơi “ngu ngơ”.

Tại sao lại như vậy, dù cho chiếc mày tính đầu tiên được ra mắt cách đây hàng chục năm, nhưng những gì mà máy tính hiểu được không hề thay đổi và cực kỳ ít ỏi. Về cơ bản, máy tính chỉ có thể hiểu được hai thứ: số 0 (không) và số 1 (một). Tất cả những gì phức tạo nhất mà máy tính có thể làm được. đều cần phải quy hết về số 0 và số 1. Tất cả máy tính, cấu hình như thế nào đi chăng nữa cũng chỉ biết có hai thứ đó.

Một lý do khác, máy tính không thể làm được những việc phức tạp. Nghe có vẻ vô lý nhưng đó là sự thật. Ngoài việc chỉ hiểu được số 0 và số 1, máy tính chỉ có thể xử lý thông tin và các phép tính từng bước, từng bước một. Dù là một ứng dụng máy tính, hay là một trí tuệ nhân tạo siêu phẩm, thì bản chất bên trong vẫn là những phép tính, những tác vụ được diễn ra tuần tự, từng bước. Không bao giờ máy tính có thể bước hai bước một lần, điều mà con người vẫn hay thường làm. Đôi khi con người còn nhảy một phát là đến năm, mười bước rồi.

Nếu máy tính chỉ làm được những việc đơn giản như vậy, đâu là yếu tố giúp nó len lỏi vào mọi mặt đời sống như hiện nay và đóng vai trò cực kỳ quan trọng? Wow, đó chính là nhờ vào tốc độ xử lý của những chiếc máy tính ấy, Không có một thứ gì trên đời này có thể làm việc nhanh hơn máy tính của chúng ta. Những chiếc máy tính thông thường đã có thể xử lý hàng tỷ phép tính trong một giây, Do tốc độ xử lý khủng khiếp như vậy, đôi khi ta quên đi bản chất đơn giản của máy tính.

Lập trình, về cơ bản là đưa ra những chỉ dẫn để máy tính xử lý, từ đó tạo ra những ứng dụng mà ta sử dụng hiện nay. Nếu hiểu được bản chất của máy tính, ta sẽ hiểu được lập trình không hề khó khăn. Vì máy tính chỉ hiểu được những thứ đơn giản, nên những gì ta cần làm, là đưa ra những chỉ dẫn đơn giản cho máy tính. Vì nếu ta có nghĩ ra cái gì đó phức tạp thì máy tính cũng không hiểu được. Sự thú vị là, những thứ đơn giản với số lượng lớn và tốc độ cao, lại tạo ra những điều mà trước đây không nhiều người có thể tưởng tượng được.

Nếu bạn cho rằng việc lập trình là một công việc phức tạp, thì đến đây, có thể bạn nên cân nhắc lại về niềm tin ấy. Và khi đã hiểu được bản chất của máy tính cũng như bản chất của lập trình, thì công việc này lại trở nên rất đơn giản, vui vẻ và thú vị. Chính niềm vui và sự hứng thú đó, sẽ giúp chúng ta đi lâu và đi xa trên con đường này.