thuật ngữ IT cho Comtor. #2
tiếp theo bài trước
Trong bài chúng ta sẽ đến với một ít từ vựng dùng trong lĩnh vực lập trình (coding) tầng Nghiệp vụ (Business Logic Layer / 業務ロジックレイヤー)
Reference: https://www.w3schools.com/java/default.asp
Các minh họa trong bài sẽ sử dụng ngôn ngữ lập trình (programming language/ プログラミング言語・コーディング言語) Java (ngày xưa tôi có chứng chỉ Java 2.0 🙂 )
Nhân nói về Java, cần phân biệt một tẹo với Javascript. Cả hai đều là ngôn ngữ lập trình, tuy nhiên Java có trước và phức tạp còn Javascript thì ra đời sau, dựa trên Java nhưng được đơn giản hoá đi và nhắm đến mục đích sử dụng khác. Cụ thể hơn thì Javascript được coi là một Client-side programming language, trong khi Java thì không thế.
Client-side Programming:
- Nói đến phần code được thực thi trên trình duyệt của người dùng (client), như trong một trang web.
- Client-side code chịu trách nhiệm về giao diện người dùng, tính tương tác và một số xử lý dữ liệu đơn giản: hiển thị nội dung, xử lý sự kiện trên trang web, validation (入力チェック) form….
- Các ngôn ngữ phổ biến cho client-side là HTML, CSS và JavaScript.
Server-side Programming:
- Nói đến phần code được chạy trên máy chủ (server), không phải trên trình duyệt của người dùng.
- Server-side code chịu trách nhiệm xử lý logic nghiệp vụ, truy vấn cơ sở dữ liệu, bảo mật và các tác vụ phức tạp hơn: xác thực người dùng(authentication/authorization : 認証・認可), lưu trữ và truy xuất dữ liệu, tính toán phức tạp.
- Các ngôn ngữ phổ biến cho server-side bao gồm PHP, Python, Java, C#, Ruby.
Có thể bạn không hiểu hết được các chi tiết trong đoạn trên nhưng đừng lo, chúng ta chỉ cần bắt keywords/ key differences về mặt ngôn từ là được.
I. Get your hands dirty
Nhân học các thuật ngữ liên quan đến lập trình, ta có thể thử kết hợp trải nghiệm luôn việc lập trình. Giờ đây thì việc thử “lập trình” ngày càng trở nên dễ dàng hơn, bài này xin giới thiệu một cách đơn giản để bắt đầu:
- Đăng ký vào https://www.sololearn.com/, một trang web miễn phí. Ta có thể đăng ký/ login bằng địa chỉ gmail đang sử dụng luôn được, hầu như không mất công gì cả:
2. Sau khi đăng ký/login xong, ta có thể scroll xuống dưới và chọn Add New trong phần Code Bits. Dưới đây là minh họa từ page Sololearn cá nhân tôi:
3. Chọn Java Compiler hoặc Python Compiler để bắt đầu. Cứ mạnh dạn chọn, yên tâm sẽ không có gì “nổ bùm” đâu 🙂
4. Tèn ten … Xuất hiện một màn hình màu đen xịn xò để lập trình và chạy (Run/ Execute/ 実行) rồi xem kết quả (Execution result/ Execution output/ 実行結果) ngay và luôn!
II. Bắt đầu với comment, statement, datatype
OK, bắt tay vào code luôn cho nó nóng!
Thời đại instant gratification, muốn gì là có sẵn, cứ tương example vào chạy thử ngay và luôn:
Nhưng gượm, cái đoạn code trên có gì đó chưa ổn….Có gì đó sai sai….. Ý tôi không phải là code sai (w3c làm sao mà sai được chứ!), mà là …. chưa sướng! 🙂
Cái đoạn code trần trụi trên chẳng có tí dấu ấn gì của “tôi” cả. Nó vẫn sẽ chạy được và tôi vẫn sẽ tự hào về “trình độ code” “của bản thân”, nhưng tốt hơn là nó có dấu ấn cá nhân gì đó.
Và cách để cá nhân hoá một cách an toàn nhất, zero mistake là chèn vào một dòng comment (コメント) trong code
Nói văn vẻ thì comment trong code là để giao tiếp. Máy sẽ không đọc nó, nhưng những người liên quan đến đoạn code: người review code, người maintain (保守) code …. sẽ đọc nó. Và trong ví dụ này tôi sẽ thêm một dòng comment để giao tiếp với chính tôi hay ai đó đọc bài viết này.
OK, chạy ổn rồi, không có gì nổ bùm cả 😉
Một đơn vị cơ bản trong lập trình là statement (コーディング ステートメント/ 文). Trong đoạn code ở ảnh ngay trên, có 3 statement ở 3 dòng: dòng số 2, dòng số 3 và dòng số 4.
- Khái niệm:
- Statement là một đơn vị cơ bản trong ngôn ngữ lập trình, thể hiện một hành động cụ thể. Ví dụ trong Java:
int x = 5;
(khai báo và gán giá trị biến)System.out.println("Hello, world!");
(in ra một chuỗi)if (x > 0) { ... }
(câu lệnh điều kiện)
- Statement là một đơn vị cơ bản trong ngôn ngữ lập trình, thể hiện một hành động cụ thể. Ví dụ trong Java:
Trong đoạn ví dụ ở trên, ta thấy có khái niệm biến hay biến số (variable/ 変数). Biến (variable) cũng là một khái niệm cơ bản. Một đoạn code (code snippet/ コードスニペット ) thì bao gồm một hay nhiều statement và trong statement thì hay xuất hiện các variable.
Lưu ý gọi là “biến số” nhưng nó không có nghĩa là một con số, nó chỉ là một thứ mà ta có thể gán (assign) cho nó bất kỳ giá trị (value / 値) nào. Tuy nhiên, trước khi gán giá trị, ta nên khai báo (declare / 宣言) Kiểu dữ liệu (data type / データ型 データタイプ) cho biến (variable).
Đi sâu vào các data type cụ thể, theo https://www.w3schools.com/java/java_data_types.asp , ta có một số ví dụ declare variable với các data type như sau:
tất cả các statement trên đều có cùng một dạng cú pháp (syntax 構文):
{data type} space {variable} space = {một value nào đó}
Trong ảnh VD. 2 có 5 data type:
Integer 整数 số nguyên,
Floating point number 浮動小数点数 Số thập phân dấu phẩy động,
Character 文字 Ký tự/chữ,
Boolean ブール型 (loại dữ liệu chỉ có 1 trong 2 giá trị là true hoặc false),
String 文字列 Chuỗi ký tự.
(Số thập phân có thể nói gọn là 小数点数 hoặc vắn tắt nữa là 小数, dấu phẩy thập phân (nói gọn là dấu thập phân) thì là 小数点 )
Như trên, các Data type có thể được nhóm thành 2 nhóm:
Nhóm các kiểu dữ liệu primitive (nguyên thuỷ プリミティブ型): gồm 整数, バイト (byte) , 文字, ブール型… Trong khi đó các kiểu 文字列, Array (配列), Classes (クラス) thì thuộc về nhóm non-primitive.
Kế thừa từ VD. 1 ở trên, thêm đoạn code sample ở VD. 2 vào rồi chế thêm mấy statement để print ra giá trị biến, tôi có đoạn code cùng kết quả chạy như dưới:
Trong phần chế biến trên, bạn có để ý dòng số 14 không? Dòng này vốn là statement cuối cùng của VD.1 nhưng nó không còn phù hợp để sử dụng với VD. 2, vì thế đáng nhẽ tôi có thể xoá bỏ nó hoàn toàn. Tuy nhiên, do “tiếc của”, chưa chắc chắn nên tôi đã làm một việc là biến statement đó thành một comment để vô hiệu hoá dòng code ấy mà không cần phải xoá nó.
Việc “vô hiệu hoá” một/ nhiều dòng code bằng cách biến chúng thành comment như vậy gọi là “comment out” (コメントアウト). Lợi ích của việc comment out là ta có thể nhanh chóng loại bỏ cũng như dễ dàng khôi phục một vài statement mình muốn.
Việc khôi phục một dòng code (thật sự chạy được) đã bị comment out trước đó bằng cách undo thao tác comment hoá gọi là bỏ comment (remove comment コメントを外す) VD.
// x = y + 1 ----> x = y + 1 //(loại bỏ “//” ở đầu dòng)
Nói thêm một chút về data type thì có hai nhóm kiểu dữ liệu thường dùng nhất là Kiểu số: Numeric (数字型・数値型) bao gồm Integer, Float, Double, Short…. , và Kiểu chuỗi/ Kiểu ký tự (文字列型) bao gồm Char, varchar, String…. Có một thuật ngữ trỏ đến kiểu dữ liệu chấp nhận pha trộn cả hai kiểu này gọi là Alphanumeric (英数字), ví dụ “John123” – tên người dùng bao gồm cả chữ và số.
III. Các toán tử
Nắm vững về variable (biến số) và value (giá trị) giúp ta hình dung rõ hơn về khái niệm Toán tử (Operator 演算子) trong lập trình: Operators are used to perform operations on variables and values.
Nói nôm na, operator là các phép toán dùng cho biến số và các giá trị, nhưng nó không chỉ dừng lại ở các phép tính toán cộng trừ nhân chia thông thường mà được mở rộng hơn.
Theo https://www.w3schools.com/java/java_operators.asp thì
. +, -, * (nhân/ multiplication/ 掛け算), / (chia/ division/ 割り算), % (lấy phần dư) … là các toán tử toán học (Arithmetic operators 算術演算子), Vd. int sum = 10 + 20
. Phép gán giá trị cho biến (số) (assignment 代入する) cũng là một operator gọi là assignment operator (代入演算子). Và assignment operator cũng không chỉ có một loại “=” mà còn có nhiều loại khác. Vd. x += 5 (x = x + 5), x -=5 (x = x-5), x *= 5 (x = x*5).