Lập trình là gì và lập trình viên làm những gì?

Giới thiệu:

Bạn quan tâm để học lập trình? Trước khi lựa chọn ngôn ngữ lập trình, bạn nên cómột số hiểu biết cơ bản về các lĩnh vực khoa học máy tính và những gì mà một lập trình viên thực sự làm.

Infographic này sẽ trả lời một số câu hỏi phổ biến như lập trình là gì, làm thế nào để chương trình máy tính hoạt động, phát triển phần mềm là gì, những khó khăn trong phát triển phần mềm là gì?

Hãy đọc thông tin của infographic và các giải thích cuối bài để hiểu rõ hơn nhé(Click vào ảnh để xem ảnh rõ hơn).

lap-trinh-la-gi-ky-thuat-lap-trinh

Bạn hiểu thế nào về câu “viết hướng dẫn rất chi tiết cho một cái máy không biết nói và còn không biết vâng lời”?

Hãy tưởng tượng: Bạn cần hướng dẫn một đứa trẻ đi tắm. Những đứa trẻ chỉ biết làm theo hướng dẫn của bạn. Vì vậy, bạn cần hướng dẫn cho em bé như sau:

1. Đi vào phòng tắm.

2. Bật vòi hoa sen.

3. Đứng dưới vòi sen.

4. Lấy xà phòng.

5. Nhiều thứ khác ….
Khoang, đứa trẻ thậm chí không biết cởi quần áo của mình trước khi bước vào phòng tắm! Quần áo đã bị ướt hết rồi. Đáng lẽ, bạn phải hướng dẫn cho nó cách cởi quần áo trước khi tắm.

Đó là cách lập trình. Máy tính chỉ làm những gì bạn bảo nó làm. Nó không biết làm thế nào để thực hiện và không bao giờ nghĩ về hậu quả.

Một số quan niệm sai lầm phổ biến về lập trình là gì?

Bạn không cần phải là một thiên tài về toán học để trở thành một lập trình viên. Bạn chỉ cần phải có khả năng giải quyết vấn đề và kỹ năng tư duy logic.
Việc lập trình sẽ khiến bạn dành nhiều thời gian ngồi trước máy tính, nhưng điều đó không có nghĩa là các lập trình viên giỏi về sửa chữa máy tính cho bạn bè và gia đình.
Không có ngôn ngữ lập trình tốt nhất để học. Các câu trả lời khác nhau tùy thuộc rất lớn vào yêu cầu của bạn, sở thích, thời gian học tập, v.v… Ngôn ngữ lập trình giống như tôn giáo và một số developer lại giống như con chiêng của tôn giáo đó.

Lập trình bậc cao và lập trình bậc thấp là gì?

Ngôn ngữ cấp cao giống như lái một chiếc xe tự động. Bạn không cần phải lo lắng về cơ cấu chuyển động bên trong chiếc xe (tương tự như thu gom rác thải và quản lý bộ nhớ trong lập trình).

Ngôn ngữ cấp trung giống như một chiếc xe bình thường. Bạn có thể tự láy (kiểm soát nhiều hơn), nhưng nó khó hơn vì phải học cách lái xe.

Ngôn ngữ cấp thấp giống như các động cơ xe. Bạn không cần phải hiểu các động cơ ấy hoạt đông như thế nào. Tương tự như vậy, bạn không cần phải tìm hiểu cách viết hợp ngữ và mã máy.

Tổng hợp lại, máy tính được xây dựng trên các lớp trừu tượng. Bạn lái xe một chiếc xe thông qua khái niệm trừu tượng – chuyển số, chân ga, chân phanh, tay lái, v.v… Sự phức tạp của xe, và tất cả những chi tiết nhỏ được ẩn đi.

Tại sao việc sửa lỗi phần mềm lại khó khăn đến vậy?

Sửa lỗi phần mềm là rất phổ biến, mà bạn sẽ gặp phải hàng ngày. Tuy nhiên, đôi khi nó sẽ mất thời gian hoặc thậm chí cả ngày (tuần và tháng cũng có thể) để sửa chữa một lỗi. Dưới đây là một số lý do tại sao:

  • Các mã lệnh được viết một cách dở tệ và nó được viết bởi một người khác và người đó có thể đã rời công ty và bạn không thể tiếp cận họ nữa.
  • Lỗi chỉ xảy ra trong một số điều kiện mà rất khó để mô phỏng điều kiện đó để tiến hành kiểm thử và sửa lỗi. Ví dụ, các lỗi chỉ xảy ra khi trang web của bạn nhận được lưu lượng truy cập lớn và đạt đến ngưỡng nhất định, do đó, khi muốn chắc rằng lỗi đã được sửa hoàn toàn, bạn phải tạo ra lưu lượng truy cập lớn vào website của mình.