Dịch sách Programming Ground Up Chương 1 Giới thiệu

Welcome to Programming

Tôi yêu việc lập trình. Tôi thích thử thách trong việc lập trình không chỉ là việc tạo ra chương trình chạy được mà còn làm ra nó với một phong cách. Lập trình giống như thi ca. Nó chuyển các thông điệp tới máy tính, tới những người chỉnh sửa và sử dụng chương trình của bạn. Lập trình như là bạn xây dựng thế giới của bạn với nguyên tắc của bạn.

Một trong số các lập trình viên vĩ đại nhất, Donald Knuth, mô tả việc lập trình không phải là việc nói cho máy tính cách phải làm việc như thế nào, mà là nói với một người cách chỉ thị máy tính làm việc đó. Về điểm này các chương trình có thể đọc bởi mọi người, không chỉ máy tính. Chương trình của bạn sẽ được chỉnh sửa, cập nhật tiếp sau khi bạn đã chuyển qua các dự án khác. Như vậy việc lập trình không phải là việc giao tiếp với máy tính mà là giao tiếp với những người theo sau bạn. Một lập trình viên là những người giải quyết vấn đề (problem-solver), một nhà thơ, một người hướng dẫn. Mục đích của bạn là giải quyết các vấn đề bằng tay, làm việc đó với sự cân bằng và sự thưởng thức, chỉ ra giải pháp của bạn cho các lập trình viên tương lai. Tôi hi vọng rằng cuốn sách này sẽ dạy bạn ít nhất là thi vị và ảo thuật cái làm cho máy tính trở nên thú vị.

Hầu hết lời giới thiệu của các cuốn sách lập trình đều làm tôi bực bội. Đọc xong bạn vẫn sẽ hỏi “Máy tính thực sự hoạt động như thế nào” và không có một câu trả lời thực sự. Mục đích của tôi là giúp bạn có kiến thức, cách viết và cách học như một lập trình viên. Bạn sẽ không biết tất cả mọi thứ, nhưng bạn sẽ có kiến thức nền để bước tiếp. Đọc xong sách, bạn sẽ có thể làm những thứ sau:

Hiểu được một chương trình làm việc và tương tác với các chương trình khác.
Đọc được chương trình của người khác và xem chúng chạy như nào.
Học một ngôn ngữ mới
Học các khái niệm nâng cao về khoa học máy tính

Tôi sẽ không dạy bạn tất cả mọi thứ. Computer science là một lĩnh vực rộng lớn, đặc biết khi bao gồm cả lý thuyết với thực hành lập trình máy tính. Tuy nhiên, tôi sẽ cố gắng giúp bạn bắt đầu trên các nền tảng vì thế bạn có thể dễ dàng đi tiếp.

Cũng có một câu truyện gà hay trứng có trước trong việc dạy lập trình, đặc biệt là hợp ngữ. Có quá nhiều thứ để học - đặc biệt là quá nhiều để học một lần, mỗi thứ lại phụ thuộc vào các cái khác. Vì thế, bạn cần phải nhẫn nại trong khi lập trình. Nếu bạn không hiểu một vài thứ ở lần đầu hãy đọc lại. Nếu ban vẫn không hiểu sau vài lần thử hãy quay lại sau đó. Tiếp xúc với việc lập trình nhiều sẽ giúp các ý tưởng có ý nghĩa hơn. Đừng nản lòng. Nó là một chặng đừng dài nhưng rất đáng giá.

Cuối mỗi chương sẽ có các bài tập.

Các công cụ

Cuốn sách này sẽ dạy bạn hợp ngữ cho vi xử lý x86 và hệ điều hành GNU/Linux.