Định nghĩa “lập trình” là gì thì có lẽ là ít ai trong số chúng ta hiểu chính xác về nó. Hôm nay hãy cùng Tự Học Lập Trình tìm hiểu kỹ hơn nhé.
Lập trình là gì?
Theo định nghĩa của Wikipedia: “Lập 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 đó. Chương trình này gồm dãy các chỉ thị (hay lệnh) hợp lý để máy tính thực hiện theo trình tự thời gian”.
Lập trình được sử dụng khi chúng ta muốn xử lý một công việc nào đó bằng máy tính. Đặc biệt là các công việc đòi hỏi sự tính toán, lặp đi lặp lại, hoặc con người không xử lý được.
Ngôn ngữ lập trình là gì?
Để có thể giao tiếp với máy tính và ra các chỉ thị cho máy tính thì ta phải dùng ngôn ngữ lập trình. Hiện nay có rất nhiều ngôn ngữ lập trình. Mỗi ngôn ngữ có ưu khuyết điểm riêng, phù hợp với các công việc khác nhau.
Top 10 ngôn ngữ lập trình được sử dụng nhiều nhất năm 2019.
Ngôn ngữ lập trình được chia làm 2 loại:
- Ngôn ngữ cấp thấp (low-level programming language): sử dụng các số nhị phân (‘0’ và ‘1’) để ra lệnh cho máy tính.
- Ngôn ngữ cấp cao (high-level programming language): sử dụng từ ngữ giống tiếng Anh (Java, C, Python…) để ra lệnh cho máy tính. Tuy nhiên trước khi máy tính có thể hiểu được thì phải được chuyển thành ngôn ngữ cấp thấp.
Lập trình để làm gì?
Lập trình được sử dụng để giải quyết một hay nhiều vấn đề cụ thể theo yêu cầu của người sử dụng. Một vài ví dụ cụ thể như sau:
Đẩy nhanh quá trình xử lý một bài toán mà cách giải, các bước xử lý đã được biết trước. Mục tiêu để tiết kiệm thời gian và sử dụng thời gian đó vào các công việc khác.
Tự động hóa quy trình sản xuất hoặc dịch vụ. Thí dụ như lập trình robot thay thế con người trong một số công đoạn sản xuất lặp đi lặp lại hoặc có tính chất nguy hiểm.
Tạo ra các công cụ, phần mềm, website… để con người có thể liên lạc, làm việc với nhau tại mọi lúc, mọi địa điểm.
Sử dụng máy tính để tính toán, khám phá những cái mới mà con người không thể làm được.
Quy trình xây dựng phần mềm bao gồm các công việc chính như sau:
- 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)
Chương trình phần mềm thông thường phải đảm bảo các yếu tố như sau:
Reliability: Xác suất chương trình chạy đúng và ra kết quả giống như mong đợi.
Robustness: Khả năng tiên đoán và xử lý lỗi.
Usability: Tính dễ sử dụng, các tính năng theo đúng yêu cầu của người sử dụng.
Thuật toán là gì?
Thuật toán (hay còn gọi là giải thuật) là tập hợp, trình tự các bước để giải quyết một vấn đề cụ thể. Một số thuật toán tiêu biểu thường được các lập trình viên sử dụng là:
- Thuật toán tìm kiếm: tìm kiếm dữ liệu trong một tập các giá trị.
- Thuật toán sắp xếp: sắp xếp một tập các giá trị theo một trật tự cho trước.
- Thuật toán đồ thị: xử lý những bài toán liên quan đến đồ thị như tìm đường đi ngắn nhất, tìm đường đi qua 1 điểm, ….
- Thuật toán chia để trị: chia bài toán lớn ra thành những bài toán nhỏ và giải quyết từng bài toán nhỏ đó.
- Thuật toán tham lam: thuật toán thay đổi trạng thái được thiết đặt để qua mỗi hành động, thuật toán sẽ đi lại gần hơn với bài toán cần giải quyết.
Thuật toán tốt giúp chương trình chạy nhanh hơn, ít tốn tài nguyên hơn và giúp chương trình dễ hiểu hơn.
Phân loại lập trình:
Đối với nền tảng web (WebForm)
Để có thể tạo ra những website tin tức, bán hàng, học tập, … thì chúng ta cần phải có kiến thức về:
Ngôn ngữ lập trình C (Làm quen với lập trình); Thiết kế website; Cơ sở dữ liệu; Lập trình PHP.
Tham khảo khóa học Lập trình PHP và My SQL:
https://fullstack.tuhoclaptrinh.edu.vn/khoa-hoc/php-4.html
https://fullstack.tuhoclaptrinh.edu.vn/khoa-hoc/mysql-5.html
Đối với nền tảng Win
Kết quả đạt được sau khi hoàn thành giáo án này là những sản phẩm chạy trên PC (Desktop, Laptop) như Phần mềm Microsoft Word, Phần mềm Skype, Phần mềm quản lý bán hàng, Phần mềm quản lý nhân sự, …
Sau đây là các kiến thức cần có:
Lập trình C; Cơ sở dữ liệu; Lập trình Java cơ bản; Lập trình giao diện với Java Swing; Lập trình cơ sở dữ liệu với JDBC.
Tham khảo các khóa học liên quan đến các phần kiến thức trên:
Khóa học jQuery: Tích hợp jQuery để tạo các hiệu ứng và thêm các tiện ích cần thiết cho website. Tự xây dựng các plugin tái sử dụng cho nhiều dự án về sau.
https://fullstack.tuhoclaptrinh.edu.vn/khoa-hoc/jquery-2.html
Khóa học Optimization: Huấn luyện kỹ thuật tối ưu hóa hiệu suất (tăng tốc website), tối ưu hóa trải nghiệm người dùng (UX) và tối ưu hóa công cụ tìm kiếm (SEO).
https://fullstack.tuhoclaptrinh.edu.vn/khoa-hoc/optimization-7.html
Đối với nền tảng mobile
Mục tiêu của nhóm này là tạo ra những sản phẩm (Application, Game) cho nền tảng mobile như Android, iOS,…
Và để làm được những điều nêu trên thì chúng ta cần có hiểu biết về:
Lập trình C; Cơ sở dữ liệu cho mobile; Lập trình Java (Đối với Android), Lập trình Swift (Đối với iOS); Lập trình Android hoặc Lập trình iOS; Lập trình game cho mobile; Lập trình đa nền tảng với Xamarin.
Khóa học Webapp: Xây dựng webapp hoạt động tương tự như mobile app trên cả Android lẫn iOS, cách để lập trình ứng dụng di động chỉ trong 1 ngày.
https://fullstack.tuhoclaptrinh.edu.vn/khoa-hoc/webapp-8.html
Khóa học React Native: Chỉ với 1 lần viết code nhưng phát triển được ứng dụng di động native cho cả 2 nền tảng thông dụng nhất hiện nay: Android và iOS .
https://fullstack.tuhoclaptrinh.edu.vn/khoa-hoc/react-native-9.html
Kết luận
Sản phẩm của lập trình là những chương trình thực thi (run) trên PC (Desktop, Laptop), trên mobile (iPhone, Samsung, HTC, Lumia,…), trên tablet (iPad, Sumsung Galaxy Tab,…) phục vụ công việc hay giải trí (game).
Nếu bạn đang đọc bài viết này tức là bạn đang sử dụng sản phẩm của lập trình đó là website: https://tuhoclaptrinh.edu.vn/