Nhập môn lập trình (4) - Kỹ năng, Kiểu ngôn ngữ, Mẫu hình lập trình

Bài trước: Nhập môn lập trình (3) - Ngôn ngữ và phần mềm lập trình

-----

[Video]

1.1       Các kĩ năng cần có khi sử dụng một phần mềm lập trình

Đối với mỗi phần mềm lập trình, để chọn được phần mềm phù hợp, sử dụng hiệu quả, bạn cần phải có các thông tin và kĩ năng cơ bản sau:

– Tính tương thích của phần mềm với các họ hệ điều hành (Windows, macOS, Linux)

– Phần mềm hỗ trợ làm việc với các ngôn ngữ lập trình nào

– Phần mềm miễn phí hay có phí

– Cách tải và cài đặt

– Sử dụng thuần thục các chức năng trên giao diện người dùng

– Cài đặt và chọn tông màu giao diện (theme) theo ý thích

– Thuần thục các thao tác với thư mục và tập tin

– Định dạng mã nguồn tự động

– Sử dụng gợi ý trong lúc viết mã (IntelliSense)

– Dịch và chạy mã nguồn

– Tìm, cài đặt và gỡ bỏ các chức năng mở rộng (extensions)

– Học các kỹ năng soạn thảo mã nguồn nhanh (ví dụ gõ tắt, tạo văn bản ngẫu nhiên, sử dụng đa con trỏ)

1.2       Các kiểu ngôn ngữ và mẫu hình lập trình

Các kiểu ngôn ngữ lập trình

Như các bạn đã biết, hiện nay đang có rất nhiều ngôn ngữ lập trình (hàng ngàn ngôn ngữ). Tùy theo mục đích sử dụng, môi trường phát triển và yêu cầu của công nghệ, người ta đã tạo ra các kiểu ngôn ngữ lập trình khác nhau. Dựa vào đặc tính hoạt động, phương pháp lập trình mà nó hỗ trợ, người ta chia các ngôn ngữ lập trình thành một số kiểu chính sau:

– Ngôn ngữ lập trình hướng đối tượng (object-oriented programming language). Ví dụ: Java, C++, C#, Python, PHP, Ruby, Perl, Object Pascal, Objective-C, Dart, Swift, Scala, Common Lisp, và Smalltalk

– Ngôn ngữ lập trình logic (logic programming language). Ví dụ: Prolog, Datalog

– Ngôn ngữ lập trình thủ tục (procedural programming language). Ví dụ: FORTRAN, ALGOL, BASIC, COBOL, Pascal, C, Ada.

– Ngôn ngữ lập trình hàm hay lập trình chức năng (functional programming language). Ví dụ: Scheme, Erlang, Objective Caml, Haskell; các ngôn ngữ lập trình chuyên biệt: R, F#, SQL, JavaScript, bảng tính Excel cũng có thể xem là thuộc kiểu ngôn ngữ này.

– Ngôn ngữ lập trình kịch bản (scripting programming language). Ví dụ: Bash, PowerShell, Perl, Python, PHP, JavaScript.

Tuy nhiên, hiện nay các ngôn ngữ không ngừng được cải tiến, bổ sung thêm nhiều đặc tính, giúp lập trình được nhiều loại ứng dụng, chạy được trên nhiều nền tảng, lập trình tiện lợi và tối ưu hơn. Do vậy, một ngôn ngữ có thể thuộc vào nhiều loại ngôn ngữ cùng lúc. Ví dụ, JavaScript, PHP thuộc kiểu ngôn ngữ kịch bản, tuy nhiên, nó vẫn có những đặc điểm của kiểu ngôn ngữ hướng đối tượng, lập trình hàm, và thủ tục. Để tạo ra một chương trình, bạn sẽ sử dụng duy nhất một ngôn ngữ lập trình, hoặc có thể phải sử dụng nhiều ngôn ngữ lập trình. Ví dụ: để viết một chương trình đơn giản, bạn có thể chỉ cần sử dụng C#, tuy nhiên, nếu bạn viết một ứng dụng web thì bạn phải sử dụng nhiều ngôn ngữ khác nhau (HTML, CSS, JavaScript, SQL, PHP).

Mẫu hình lập trình

Tùy theo mục đích lập trình, loại ứng dụng muốn tạo ra và ngôn ngữ lập trình đang sử dụng, bạn có thể lựa chọn một, hoặc kết hợp nhiều mẫu hình (mô hình, paradigm) lập trình phổ biến sau:

– Lập trình hướng đối tượng (object-oriented programming)

– Lập trình thủ tục (procedural programming)

– Lập trình tổng quát, lập trình khái quát (generic programming)

– Lập trình hàm (functional programming)

– Và nhiều mẫu hình lập trình khác

Một ngôn ngữ có thể hỗ trợ một hoặc nhiều mẫu hình lập trình, do đó bạn có thể viết một chương trình chỉ sử dụng một mẫu hình cụ thể hoặc kết hợp nhiều mẫu hình lập trình. Ví dụ bạn chỉ sử dụng lập trình thủ tục; hoặc chỉ sử dụng lập trình hướng đối tượng; hoặc có thể sử dụng cùng lúc cả hai mẫu hình này.

1.3       Xem và đọc thêm

– Dùng các từ khóa sau để tìm kiếm trên mạng và đọc thêm: lập trình, mã máy, hợp ngữ, ngôn ngữ lập trình cấp cao, chương trình dịch

– T.Đ.Thư, N.T.Phương, Đ.B.Tiến, T.M.Triết, Nhập môn lập trình, NXB Khoa học kĩ thuật, 2011, tr14 – 28

– List of programming languages: https://en.wikipedia.org/wiki/List_of_programming_languages

– Stackoverflow (Programming, scripting, and markup languages): https://survey.stackoverflow.co/2022/#most-popular-technologies-language-prof

– List of scripting language: https://kinsta.com/blog/scripting-languages/

– List of markup language: https://computerscience.fandom.com/wiki/List_Of_Markup_Languages

– Các mẫu hình (mô hình) lập trình (programming paradigm): https://vi.wikipedia.org/wiki/M%E1%BA%ABu_h%C3%ACnh_l%E1%BA%ADp_tr%C3%ACnh

1.4       Bài tập và thực hành

Bài tập 1. Đọc thông tin trong khảo sát (survey) mới nhất của Stackoverflow và liệt kê tất cả các ngôn ngữ phổ biến hiện nay.

Bài tập 2. Viết một chương trình bằng JavaScript (đây là ngôn ngữ chạy theo kiểu thông dịch), xuất ra một thông báo bất kì.

Bài tập 3. Liệt kê tên của 5 ngôn ngữ lập trình, 5 ngôn ngữ kịch bản, và 5 ngôn ngữ đánh dấu.

Bài tập 4. Xem qua các clip trên youtube về cách sử dụng một code editor, IDE, môi trường lập trình trực tuyến. Ví dụ : VS code: https://www.youtube.com/watch?v=VqCgcpAypFQ&t=911s

Bài tập 5. Tải và cài đặt VS code

Bài tập 6. Tải và cài đặt Visual Studio

Bài tập 7. Sử dụng môn trường lập trình online, viết một đoạn mã bằng ngôn ngữ JavaScript, xuất một câu chào ra màn hình.

Gợi ý:

Bài tập 1. Vào trang Google > gõ từ khóa survey stackoverflow > tìm tới surver của năm mới nhất > tìm tới mục Technology > tìm tới mục Most popular technologies > tìm tới mục Programming, Scripting and Markup Language.

Bài tập 2. Xem hướng dẫn trong phần lý thuyết về Trình thông dịch.

Bài tập 3. Tìm kiếm trên Internet.

Bài tập 4. Tìm kiếm trên Youtube.

Bài tập 5. Tải và cài đặt VS code: vào trang google > tìm kiếm từ khóa VS code > vào trang web của VS code để tải về. Ví dụ: https://code.visualstudio.com/

Bài tập 6. Tải và cài đặt Visual Studio: vào trang google > tìm kiếm từ khóa visual studio > vào trang web của visual studio > chọn bản miễn phí (chọn tab Free Visual Studio) > chọn bản phù hợp với máy tính bạn đang sử dụng để tải về > ví dụ bản Visual Studio Community (https://visualstudio.microsoft.com/free-developer-offers/).

Bài tập 7. Sử dụng môn trường lập trình online, viết một đoạn mã bằng ngôn ngữ JavaScript, xuất một câu chào ra màn hình: mở một trang web cho phép lập trình online bất kì, ví dụ codepen (https://codepen.io/) > đăng nhập vào tài khoản của bạn (nếu bạn chưa có thì tạo mới một tài khoản) > nhập mã nguồn JavaScript (console.log('Hi cu Teo');) > mở cửa số console của code pen để xem kết quả. 

1.5       Câu hỏi ôn tập

Câu 1. Về mặt lý thuyết có thể viết đoạn mã điều khiển máy tính bằng?

A. Mã máy

B. Hợp ngữ

C. Ngôn ngữ lập trình cấp cao

D. Tất cả các cách trên

Câu 2. In computer science, an _______ is a computer program that directly executes instructions written in a programming or scripting language, without requiring them previously to have been compiled into a machine language program.

A. compiler

B. interpreter

C. assembler

D. coder

Câu 3. Bạn có thể lập trình bằng các công cụ nào?

A. text editor, code editor, IDE, web browser

B. microsoft word, code editor, IDE, web browser

C. text editor, code editor, CMD, web browser

D. text editor, code editor, IDE, HTML

Câu 4. Các kiểu ngôn ngữ lập trình (cấp cao) phổ biến gồm:

A. Java, Logic, Thủ tục, Hàm, Kịch bản

B. Hướng đối tượng, Hợp ngữ, Thủ tục, Hàm, Kịch bản

C. Hướng đối tượng, Logic, Thủ tục, Hàm, Kịch bản

D. Logic, Hướng đối tượng, C, Hàm, Kịch bản

Câu 5. Các mẫu hình (mô hình, paradigm) lập trình phổ biến gồm:

A. Tổng quát, Desktop, Thủ tục, Hàm

B. Hướng đối tượng, Thủ tục, Tổng quát, Hàm

C. Thủ tục, Hướng đối tượng, Tổng quát, Web

D. Tổng quát, Di động, Thủ tục, Hàm

Đáp án: 1 (D), 2(B), 3 (A), 4(C), 5(B)

-----//4

[Video]

--------

Cập nhật: 22/7/2022

Bài tiếp theo: Nhập môn lập trình (5) - C#, .NET và Visual Studio