Bài trước: Nhập môn lập trình (2) - Chương trình dịch
-----
[Video]
1.1
Ngôn ngữ và phần mềm lập trình
Để viết một chương trình cho máy tính, bạn cần thực hiện một
số việc sau:
– Lựa chọn ngôn ngữ lập trình phù hợp
– Lựa chọn phần mềm (công cụ) để lập trình
– Thực hiện quá trình biên dịch hoặc thông dịch mã nguồn
– Thực thi chương trình.
Lựa chọn ngôn ngữ lập trình
Việc lựa chọn ngôn ngữ lập trình sẽ tùy thuộc vào nhiều yếu
tố, như loại ứng dụng bạn muốn tạo ra (desktop, di động, web, nhúng), kĩ thuật
lập trình bạn sử dụng, môi trường thực thi (hạ tầng phần cứng, phần mềm, công
nghệ). Để tạo ra một ứng dụng, bạn có thể chỉ cần sử dụng duy nhất một ngôn ngữ
lập trình. Tuy nhiên, trong nhiều trường hợp, bạn cần phải sử dụng kết hợp một
vài ngôn ngữ cùng nhau, gồm ngôn ngữ lập trình (programming language), ngôn ngữ
kịch bản (scripting language) và ngôn ngữ đánh dấu (markup language).
Hiện nay có rất nhiều ngôn ngữ đang được mọi người sử dụng,
ví dụ:
JavaScript |
HTML/CSS |
SQL |
Python |
TypeScript |
Java |
C# |
Bash/Shell |
PHP |
C++ |
C |
PowerShell |
Go |
Kotlin |
Rust |
Ruby |
Dart |
Swift |
Assembly |
VBA |
Groovy |
R |
Delphi |
MATLAB |
Lua |
Scala |
Objective-C |
Elixir |
Perl |
Haskell |
Clojure |
Solidity |
LISP |
F# |
Julia |
Erlang |
Fortran |
COBOL |
OCaml |
SAS |
Phần mềm lập trình
Sau khi đã chọn được ngôn ngữ để lập trình. chúng ta cần phải
có công cụ để viết mã nguồn, dịch mã nguồn và chạy thử ứng dụng. Có những công
cụ chỉ giúp bạn làm được một công việc, ví dụ chỉ để viết mã nguồn, hoặc chỉ để
dịch mã nguồn, hoặc chỉ để chạy thử ứng dụng. Tuy nhiên, cũng có công cụ giúp bạn
có thể làm được nhiều công việc, vừa viết mã, dịch mã nguồn và chạy thử ứng dụng.
Ví dụ: notepad để viết mã nguồn, trình duyệt web để dịch và thực thi mã nguồn.
Có thể chia các phần mềm lập trình thành 3 loại:
– Phần mềm soạn thảo văn bản thô (text editor)
– Trình viết mã (code editor)
– Phần mềm phát triển tích hợp (IDE)
Hình 1‑9 thể hiện tính tiện dụng của mỗi loại phần mềm, để ý phần mềm càng tiện dụng thì dung lượng càng lớn.
Khi mới học lập trình, bạn có thể lựa chọn các phần mềm viết
mã đơn giản để có thể dễ dàng hiểu được bản chất của các ngôn ngữ lập trình.
Tuy nhiên, khi làm việc thì nên chọn phần mềm giúp thao tác nhanh, hiệu quả,
phù hợp với ngôn ngữ lập trình và môi trường làm việc thực tế.
Phần mềm soạn thảo
văn bản thô
Như đã biết, mã nguồn của các ứng dụng chỉ là văn bản thô
hay văn bản thuần (plain text), do vậy có thể sử dụng bất kì trình soạn thảo
nào cho phép tạo mới, nhập và lưu văn bản thô là có thể viết mã nguồn được.
Văn bản thô là văn bản không bao gồm thông tin định dạng (ví
dụ in đậm, màu sắc, gạch chân), ví dụ khi soạn thảo văn bản bằng Microsoft Word,
nó đã tự động thêm vào các thông tin định dạng cho văn bản, vì vậy không thể
dùng Microsoft Word để viết mã nguồn.
Text editor là trình soạn thảo văn bản thô, cho phép lập
trình viên viết mã nguồn và lưu lại thành một tập tin. Ưu điểm của text editor
là gọn, nhẹ, dễ sử dụng và thường có sẵn trong các hệ điều hành.
Ví dụ: Notepad, Notepad++, Vim
Trình viết mã
Trình viết mã (code editor) có chức năng cơ bản giống với một
phần mềm soạn thảo văn bản thô; tuy nhiên nó cho phép người dùng tích hợp thêm
các chức năng mở rộng, giúp việc soạn thảo, lập trình, lưu trữ, dịch mã nguồn
được thuận tiện và linh hoạt hơn.
Các chức năng mở rộng của code editor so với text editor:
– Chức năng tô màu mã nguồn, giúp lập trình viên dễ dàng nhận
ra các thành phần trong mã nguồn như từ khóa, tên biến, chuỗi, giá trị.
– Chức năng hỗ trợ gõ mã nguồn nhanh, tự động hoàn thành lệnh
– Chức năng kiểm tra lỗi cú pháp
– Tích hợp trình quản lý phiên bản (version control)
– Liên kết với chương trình dịch
– Các tính năng mở rộng khác
Ví dụ: VS code,
Sublime Text, Atom
Phần mềm phát triển tích hợp
IDE (Integrated
Development Environtment – môi trường phát triển tích hợp, hay phần mềm phát
triển tích hợp) là phần mềm mạnh mẽ nhất dùng để lập trình, trong đó đã được
tích hợp sẵn rất nhiều các thành phần liên quan đến quá trình phát triển phần mềm,
từ viết mã, dịch mã, kiểm thử, quản lý phiên bản, đóng gói.
Trong IDE đã được
tích hợp sẵn các thành phần như text editor, code editor, debugger (trình sửa lỗi),
trình dịch mã, máy ảo, trình quản lý phiên bản và nhiều công cụ khác.
IDE có nhiều loại,
có loại phức tạp của các công ty lớn, cũng có loại đơn giản; có loại miễn phí,
có loại phải trả phí. Tùy theo nhu cầu sử dụng để lựa chọn IDE cho phù hợp.
Ví dụ: Visual Studio, Eclipse, PHPStorm, Pycharm.
Chọn code editor hay
IDE
Trong một số trường hợp, khi mới học lập trình (ví dụ học lập
trình web front-end), bạn được khuyến khích sử dụng các phần mềm soạn mã nguồn
đơn giản (text editor) để nhớ các thẻ HTML, các lệnh CSS. Tuy nhiên, để tăng tốc
độ viết mã, nâng cao tính chuyên nghiệp thì bạn phải làm quen và sử dụng code
editor hoặc IDE.
Việc lựa chọn giữa code editor hay IDE phụ thuộc vào thói
quen, sở thích, yêu cầu của từng công việc, dự án, nhóm làm việc.
Code editor thường gọn nhẹ, miễn phí. Muốn sử dụng các chức
năng mở rộng thì bạn phải tự thêm vào. Một code editor thường hỗ trợ cho nhiều
ngôn ngữ lập trình khác nhau.
IDE thường có kích thước lớn, có bản miễn phí và có phí, các
chức năng được được tích hợp sẵn, sử dụng thuận tiện, dễ dàng. Mỗi IDE thường hỗ
trợ cho một hoặc một vài ngôn ngữ lập trình nhất định.
Bảng sau là một số phần mềm được dùng nhiều trong lập trình (theo khảo
sát của stackoverflow):
Visual Studio Code (code editor) |
Visual Studio (IDE) |
Notepad++ (text/code editor) |
IntelliJ (IDE) |
Vim (text/code editor) |
Android Studio (IDE) |
Sublime Text (code editor) |
PyCharm (IDE) |
Eclipse (IDE) |
Atom (code editor) |
Ipython (IDE) |
Xcode (IDE) |
Webstorm (IDE) |
PHPStorm (IDE) |
Netbeans (IDE) |
Emacs (text/code editor) |
Notepad (text editor) |
|
|
|
Lập trình trực tuyến
Ngoài các công cụ lập trình đã giới thiệu ở trên, bạn cũng
có thể sử dụng môi trường lập trình trực tuyến trên Internet. Đó là các trang
web, cho phép bạn nhập mã nguồn, dịch mã nguồn và xuất kết quả ngay trên môi
trường web. Thực tế, trang web chỉ là nơi cho phép lập trình viên nhập mã nguồn,
sau đó mã nguồn được gửi về server để dịch và thực thi; sau đó kết quả thực thi
sẽ được hiển thị lại lên trang web.
Ưu điểm của môi trường lập trình trực tuyến là bạn không cần
phải cài đặt, dễ dàng cộng tác, chia sẻ mã nguồn thuận lợi, miễn phí.
Tuy nhiên, môi trường lập trình trực tuyến cũng có một số bất
lợi như bắt buộc phải có kết nối Internet khi lập trình, tốc độ mạng không ổn định
sẽ ảnh hưởng rất lớn đến hiệu quả lập trình, do môi trường lập trình do nhà cung
cấp thiết lập sẵn nên người học không có cơ hội để tìm hiểu chi tiết về cách hoạt
động, cách phối hợp giữa các thành phần tham gia vào quá trình viết mã, dịch
mã, chạy chương trình và xuất kết quả.
Môi trường lập trình trực tuyến thích hợp trong việc dạy và
học lập trình, tìm hiểu về ngôn ngữ lập trình, chia sẻ mã nguồn; trao đổi và cộng
tác trong lập trình.
Sau đây là một số trang web cho phép bạn có thể lập trình trực
tuyến:
-----//3
[Video]
--------
Cập nhật: 4/7/2022
Bài tiếp theo: 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