Các thuật ngữ thường thấy trong khoa học máy tính và lập trình

15 Th03 2023

Trong các lĩnh vực khoa học nói chung và lập trình nói riêng, chúng ta có rất nhiều khái niệm được thể hiện qua các thuật ngữ. Một số thuật ngữ chúng ta sẽ ít gặp nhưng một số thuật ngữ khác sẽ rất phổ thông. Bên dưới là danh sách một số thuật ngữ mà chúng ta sẽ hay gặp khi tìm hiểu các chủ đề liên quan đến khoa học máy tính hoặc lập trình.

Các thuật ngữ thường gặp

  • Algorithm (Thuật toán): Thuật toán (hay còn gọi là giải thuật) được định nghĩa như một tập hợp hữu hạn những hướng dẫn, lối tắt được đưa ra và có thể thực hiện bằng máy tính, mục đích là giải quyết các bài toán và các lớp vấn đề (đặc biệt trong lĩnh vực điện tử, tin học). Do đó thuật toán là một mô thức tối quan trọng đối với sự nghiệp của lập trình viên.

  • Application (ứng dụng): Thuật ngữ lập trình App hay application là một chương trình được thiết kế ra nhằm mục đích thực hiện hoặc cung cấp một tác vụ cụ thể nào đó cho người dùng. Ví dụ: App trên máy tính để bàn, xách tay, máy tính bảng gọi là ứng dụng máy tính; trên điện thoại cầm tay gọi là ứng dụng di động.

  • Browser (trình duyệt web): Trình duyệt web là một công cụ cho phép bạn truy cập vào mạng internet. Ví dụ: Chrome, Cốc Cốc, Microsoft Edge, Internet Explorer và Mozilla Firefox,… đều là các trình duyệt web.

  • Bug (lỗi – trong máy tính): Bug là thuật ngữ lập trình được mô tả như một vấn đề, một “lỗ hổng bảo mật” hoặc một lỗi trong chương trình hoặc máy tính làm cho nó hoạt động không bình thường.

  • Cookies: Thuật ngữ lập trình Cookie là các bit dữ liệu (một số tài liệu mô tả là một đoạn văn bản) mà máy tính sử dụng để thu thập thông tin về lịch sử duyệt web lưu tạm thời trên ổ cứng của người dùng, sau đó lấy lại nó. Quá trình này bao gồm thời gian và những ngày mà bạn đã truy cập vào trang web, những từ khóa bạn đã tìm kiếm. Ở một vài quốc gia, ta cần phải ủy quyền cho một trang web nào đó để lưu cookie trước khi truy cập vào trang web.

  • Cursor (con trỏ – chuột): Cursor là biểu tượng được sử dụng để hiển thị vị trí hiện tại của con chuột trên màn hình máy tính của bạn.

  • Database (cơ sở dữ liệu): Database là một thuật ngữ lập trình riêng biệt chỉ có trong ngành IT. Database là một bộ dữ liệu tập hợp các dữ liệu có liên quan với nhau, nhằm mục đích quản lí và truy cập dễ dàng. Ví dụ, một thư viện có thể có cơ sở dữ liệu quản lí tất cả các sách trong thư viện đó.

  • File (tập tin/tệp tin): File là một tập hợp của thông tin được đặt tên trên máy tính, được chứa trong các thiết bị lưu trữ như đĩa cứng, đĩa mềm, CD, DVD cũng như là các loại chip điện tử dùng kĩ thuật flash thường được tìm thấy trong các ổ nhớ có giao diện USB.

  • Folder (thư mục): Folder là vị trí ảo, là một dạng tệp tin đặc biệt – nơi mà các tệp tin và thư mục khác, hoặc chương trình máy tính được lưu trữ trong một ngăn chứa (folder) để quản lí dễ dàng hơn.

  • Hard Drive/Hard Disk Drive – HDD (ổ cứng): Thuật ngữ lập trình HDD là một loại đĩa hình tròn với bề mặt được phủ vật liệu từ tính, có chức năng lưu trữ dữ liệu. Dữ liệu trong ổ cứng được xếp vào loại bộ nhớ “không thay đổi”, tức không bị mất đi khi ta ngắt nguồn điện.

  • Solid-State Drive – SSD (ổ đĩa bán dẫn/ổ đĩa thể/ổ đĩa điện tử): SSD là một loại phương tiện lưu trữ dữ liệu liên tục trên bộ nhớ flash ở trạng thái rắn, hoạt động như một thiết bị lưu trữ được làm từ vật liệu bán dẫn semiconductor/solid state.

  • Hardware (phần cứng): Thuật ngữ lập trình Hardware bao gồm các vật liệu hữu hình của hệ thống máy tính điện tử: các thành phần điện, điện tử, cơ điện và cơ khí (như là màn hình, chuột, bàn phím, máy in, máy quét, vỏ máy tính, bộ nguồn, bộ vi xử lý CPU, bo mạch chủ); các dây cáp, cũng như tủ hoặc hộp, các thiết bị ngoại vi,…

  • Icon (biểu tượng): Thuật ngữ lập trình Icon là một hình ảnh nhỏ đại diện cho một chương trình hoặc tập tin, giúp điều hướng chương trình hoặc tập tin đó.

  • Network (mạng – máy tính): Mạng máy tính là một tập hợp các máy tính được kết nối với nhau để chia sẻ tài nguyên chung, có thể được liên kết thông qua dây cáp, đường dây điện thoại, qua sóng radio, vệ tinh hoặc qua tia hồng ngoại. Ví dụ: máy in và đĩa CD.

  • Server (máy chủ): Server là một thuật ngữ lập trình đại diện cho hệ thống máy chủ cung cấp dịch vụ cho các máy tính khác và lưu trữ tất cả chúng ở một nơi, cấp quyền truy cập và chia sẻ thông tin cho những người cùng làm việc trong cùng một công ty.

  • Software (phần mềm): Phần mềm là tập hợp dữ liệu hoặc các câu lệnh hướng dẫn trên máy tính, thông báo cho máy tính biết cách làm việc. Trong khi phần cứng có thể chạm vào và thao tác vật lý, thì phần mềm bao gồm các chương trình trong máy tính được tải xuống hoặc cài đặt điện tử, được xây dựng và thực sự thực hiện công việc.

  • Source Code (mã nguồn): Mã nguồn trong tin học được hiểu là một thuật ngữ lập trình mô tả dãy các câu lệnh gồm nhiều chữ cái và biểu tượng viết bằng một ngôn ngữ máy tính/lập trình nhằm mục đích biên soạn ra một chương trình máy tính. Mã nguồn thường được lưu trong một hoặc một vài tệp text (có thể đọc được) hoặc được in trong sách.

  • Virus (vi rút – máy tính): Virus là một thuật ngữ lập trình vô cùng quen thuộc. Chúng là đoạn mã được tạo ra để thực hiện tối thiểu là 2 việc: Tự xen vào hoạt động hiện hành của máy tính 1 cách hợp lệ, để thực hiện tự nhân bản và làm những công việc theo chủ ý của người lập trình. Trong đa số trường hợp, đoạn mã này làm hỏng dữ liệu và hệ thống máy tính, có tính chất lây lan qua các tệp đính kèm, các link độc hại được tải xuống.

Về phần cứng

  • Bit: Đơn vị nhỏ nhất dùng đo dung lượng bộ nhớ.
  • RAM - Random Access Memory: Nơi lưu trữ tất cả dữ liệu.
  • AGP - Accelerated Graphics Port: Cổng tăng tốc đồ họa.
  • ASCII - American Standard Code for Information Interchange: Hệ lập mã, sử dụng các số quy định cho chữ.
  • ACPI - Advanced Configuration and Power Interface: Cấu hình và giao diện nguồn.
  • Acc User: Tài khoản người dùng.
  • HTML - Hypertext Markup Language: Ngôn ngữ đánh dấu siêu văn bản.
  • HTTP - Hypertext Transfer Protocol: Truyền file dưới dạng siêu văn bản.
  • GPU - Graphics Processing Unit: Chip xử lý card màn hình.
  • HT - Hyper Threading: Công nghệ phân luồng sử dụng trong CPU.
  • VGA - Video Graphics Array: Card đồ họa thực hiện việc xử lý những thông tin chứa hình ảnh.
  • FDD - Floppy Disk Drive: Ổ đĩa mềm.
  • SSD - Solid State Drive: Ổ cứng hiệu suất cao.
  • HDD - Hard Disk Drive: Ổ cững lưu giữ dữ liệu.
  • CD-ROM: Đĩa compact không thể ghi đè lên.
  • ROM - Read Only Memory: Thực hiện việc lưu trữ dữ liệu, các thông tin trong đây sẽ không bị mất đi khi mất điện đột ngột.
  • Cổng COM - Computer Output in Micro: Cổng kết nối trực tiếp ở máy bàn, có thể kết nối được với máy in hay máy quay phim.
  • Mainboard: Đảm nhận việc điều khiển và kiểm soát hoạt động chung trên máy tính.

Trong lập trình web

  • AJAX - Asynchronous JavaScript and XML: Công nghệ tạo ảnh động mà không phải reload lại trang.
  • API - Application Programming Interface: Phương thức, giao thức kết nối với các thư viện và ứng dụng khác.
  • Browser console: Hỗ trợ việc truy cập vào developer toolbox với một số trình duyệt web.
  • Native API: Tính năng tích hợp có sẵn trong môi trường lập trình.
  • Debugger: Công cụ hỗ trợ việc tìm lỗi và những chỗ khiến chương trình ngưng hoạt động.
  • Browser API hay Web API: Web API là tính năng cụ thể có sẵn trên trình duyệt web, cho phép các dev sử dụng ngay lập tức sau vài buớc cài đặt đơn giản.
  • ECMAScript: Tên chính thức khi vừa được ra mắt năm 1996 của JavaScript.
  • ES5: Phiên bản thứ 5 của ngôn ngữ JavaScript, ra mắt năm 2009.
  • ES6: Phiên bản thứ 6 của JavaScript, ra mắt năm 2015.
  • JavaScript Engine: Là thành phần của browser và có khả năng biên dịch và phiên dịch JavaScript code.
  • JavaScript Specification: Bản mô tả chức năng của ECMAScript.
  • Node.js: Môi trường có thể chạy JavaScript bên ngoài browser, gồm có JavaScript engine và V8.
  • Node package manager: Thường được viết tắt là npm, một công cụ tạo và quản lý những thư viện lập trình Javascript cho Node.js.
  • JSON - JavaScript Object Notation: Một kiểu định dạng dữ liệu tuân theo quy luật nhất định, giúp mọi ngôn ngữ lập trình hiện nay có thể đọc được.
  • HTTP Request: Là thông báo yêu cầu được gửi từ client đến server, để yêu cầu server làm việc gì đó.
  • HTTP Error: Những lỗi thường gặp với web services và server trả về các error cùng với các mã số quen thuộc như 404, 403...
  • REST API: Là một ứng dụng chuyển đổi cấu trúc dữ liệu có các phương thức để kết nối với các thư viện và ứng dụng khác. Đây còn được như một công nghệ, nó là một giải pháp để tạo ra các ứng dụng web services thay thế cho các kiểu khác như SOAP, WSDL.
  • Transpiler: Thực hiện quá trình biên dịch cú pháp JavaScript mới thành các phiên bản tương thích.
  • Stage N: Bản JavaScript proposal sẽ bắt đầu với Stage 0.
  • Proposal: Một văn bản đặc tả viết bằng ngôn ngữ học thuật, mô tả những tính năng mới và cách áp dụng trong JavaScript.
  • Vanilla JavaScript: Một cách gọi của những ứng dụng JavaScript "nguyên thủy".
  • WebSocket: Một hình thức truyền dữ liệu hai chiều giữa server-client qua một kết nối TCP duy nhất.
  • FetchAPI: Một API đơn giản hỗ trợ việc gửi và nhận request thông qua js.
  • CORS - Cross-Origin Resource Sharing: Cơ chế cho phép nhiều tài nguyên khác nhau như fonts, JavaScript... của một trang web có thể được truy vấn từ domain khác với domain của trang đó.
  • XMLHttpRequest: Được sử dụng vào việc đọc nguồn dữ liệu từ URL một cách đồng bộ (synchronous) hoặc không đồng bộ (asynchronous).

Trong dự án

  • Project: Dự án.
  • Coder: Người viết Code.
  • Tester: Người kiểm thử chương trình.
  • Developer: Người phát triển phần mềm.
  • Structured Programming: Lập trình cấu trúc.
  • OOP - Object Oriented Programming: Lập trình hướng đối tượng.
  • Abstraction: Trừu tượng.
  • Encapsulation: Đóng gói.
  • Polymorphism: Đa hình.
  • Hierarchy: Phân cấp.
  • Inheritance: Thừa kế.
  • Muti Inheritance: Đa thừa kế.
  • Object: Đối tượng.
  • Class: Lớp.
  • Base class: Lớp cơ sở, lớp cha.
  • Derived class: Lớp con.
  • Member function: Hàm của thuộc lớp.
  • Non-member function: Hàm không thuôc lớp.
  • Member data: Dữ liệu thuộc lớp.
  • Constructor: Hàm khởi tạo.
  • Single-argument constructor: Hàm khởi tạo một tham số.
  • Query: Truy vấn.
  • Modifier: Sửa đổi.

Về công cụ và chương trình dịch

  • IDE - Integrated Development Environment: Môi trường tích hợp phát triển.
  • Compiler: Trình biên dịch.
  • Interpreter: Trình thông dịch.
  • Run: Chạy chương trình
  • Line: Dòng.
  • Editor: Trình soạn thảo.
  • Error: Lỗi.
  • Debug hay Fixbug: Gỡ rối, sửa lỗi.
  • Compile Error: Lỗi khi dịch chương trình.
  • Runtime Error: Lỗi khi chạy chương trình.

Về mã nguồn

  • Source code: Mã nguồn.
  • Open source: Mã Nguồn mở.
  • Close source: Mã nguồn đóng.
  • Source file: File nguồn.
  • Library: Thư viện.
  • Header file: File chứa các nguyên mẫu hàm.
  • Implementation File: File chứa nội dung thực thi, mã lệnh của các hàm.
  • Code: Mã, viết mã (Coding).
  • Pseudocode: Mã giả.

Trong viết lệnh

  • Character: Ký tự.
  • Digits: Chữ số.
  • Expression: Biểu thức.
  • Operand: Toán hạng.
  • Operator: Toán tử.
  • Function: Hàm.
  • Parameter: Tham số.
  • Argument: Đối số.
  • Value: Giá trị.
  • Syntax: Cú pháp.
  • Syntax Error: Lỗi cú pháp.
  • Prototype: Nguyên mẫu hàm.
  • Comment: Ghi chú, chú thích.
  • Code block: Khối lệnh.
  • Control structure: Cấu trúc điều kiển.
  • Statement: Câu lệnh.
  • Declaration: Khai báo.
  • Initialization: Khởi tạo.
  • Definition: Định nghĩa.
  • Assign: Gán.
  • Allocate memory: Cấp phát bộ nhớ.
  • Deallocate memory: Giải phóng/Thu hồi bộ nhớ.
  • Variable: Biến.
  • Memory leak: Lỗi xảy ra khi con trỏ ra khỏi phạm vi khi chưa giải phóng bộ nhớ.
  • Pointer: Con trỏ.
  • Reference: Tham chiếu.
  • Data structure: Cấu trúc dữ liệu.
  • Array: Mảng.

Về thuật toán

  • Algorithm: Thuật toán.
  • Searching: Tìm kiếm.
  • Linear search: Tìm kiếm tuyến tính.
  • Binary search: Tìm kiếm nhị phân.
  • Greedy algorithm: Thuật toán tham lam.
  • Sorting: Sắp xếp.
  • Quick sort: Sắp xếp nhanh.
  • Merge sort: Sắp xếp trộn.
  • Radix sort: Sắp xếp theo cơ số.
  • Buble sort: Sắp xếp nổi bọt.
  • Selection sort: Sắp xếp kiểu chèn.
  • Heap sort: Sắp xếp kiểu vun đống.

Một số thuật ngữ khác

  • Principle: Nguyên tắc.
  • Casting: Ép kiểu.
  • Implicit: Ngầm định.
  • Explicit: Ấn định rõ ràng.
  • Casting syntax: Cú pháp ép kiểu.

Tags

Tony Phạm

Là một người thích vọc vạch và tò mò với tất cả các lĩnh vực từ khoa học tự nhiên, lập trình, thiết kế đến ... triết học. Luôn mong muốn chia sẻ những điều thú vị mà bản thân khám phá được.