Lập trình là gì?
Lập trình máy tính hay lập chương trình máy tính thường gọi tắt là lập trình (tiếng Anh: Computer programming, thường gọi tắt là programming) là việc lập ra chương trình làm việc cho máy có bộ xử lý, nói riêng là máy tính, để thực thi nhiệm vụ xử lý thông tin nào đó.
Lập trình có thể thực hiện cho các hệ thống xử lý thông tin, từ các dàn máy điện toán lớn, máy tính cá nhân (PC), đến các chip điều khiển lập trình được trong các khối điều khiển thiết bị các loại như trong máy đo đạc phân tích, vũ khí có điều khiển, máy giặt, lò vi sóng,... và trong các thiết bị ngoại vi của máy tính.
Lập trình trực tiếp ở dạng mã máy là công việc tốn sức, khó kiểm tra và lệ thuộc phần cứng cụ thể. Vì vậy giới lập trình phát triển ra các ngôn ngữ lập trình với hệ thống ký hiệu, từ khóa và cú pháp cụ thể để lập trình viên dễ viết mã nguồn ở dạng văn bản mà không quá lệ thuộc vào phần cứng, sau đó dịch (Compile) ra mã máy để máy hiểu và thực thi.
Ngôn ngữ được dùng phổ biến hiện có ActionScript, C, C++, MATLAB, C#, Haskell, Java, JavaScript, Objective-C, Perl, PHP, Python, Ruby, Smalltalk, SQL, Visual Basic, và nhiều nữa.
Các ngôn ngữ lập trình khác nhau hỗ trợ các phong cách lập trình khác nhau (còn gọi là các phương pháp lập trình). Một phần của công việc lập trình là việc lựa chọn một trong những ngôn ngữ phù hợp nhất với bài toán cần giải quyết. Các ngôn ngữ lập trình khác nhau đòi hỏi lập trình viên phải xử lý các chi tiết ở các mức độ khác nhau khi cài đặt các thuật toán.
Ngày nay lập trình ứng dụng trên các máy điện toán được hỗ trợ bằng các thư viện, khả năng liên kết mã phát sinh từ các ngôn ngữ khác nhau, và đặc biệt là sử dụng biểu tượng trực quan (visual) cho lập trình. Trong kỹ thuật điện toán việc lập ra bộ chương trình thường được gọi là phát triển phần mềm.
Phần mềm là danh từ chỉ một gói gồm các chương trình máy tính và dữ liệu. Tài liệu đi kèm và bản quyền phần mềm cũng được coi là một phần quan trọng của phần mềm.
Quy trình phát triển phần mềm
- Phân tích yêu cầu (requirements analysis)
- Đặc tả (specification)
- Thiết kế (design and architecture)
- Lập trình (coding)
- Biên dịch (compilation)
- Kiểm thử (testing)
- Viết tài liệu (documentation)
- Bảo trì (maintenance)
Một số ứng dụng của lập trình
- Hệ thống website
- Các ứng dụng trả lời tự động
- Hỗ trợ dây truyền sản xuất tự động
- Hệ thống lưu trữ, quản lý theo quy trình
- Hệ thống hỗ trợ ra quyết định
- Hệ thống học tập trực tuyến
- Các trò chơi điện tử