🎛️Programming Language
C/C++, Java, Javascript,...
Last updated
C/C++, Java, Javascript,...
Last updated
C++ là một loại ngôn ngữ lập trình bậc trung (middle-level). Đây là ngôn ngữ lập trình đa năng được tạo ra bởi Bjarne Stroustrup.
C++ là một ngôn ngữ khá lâu đời (ra đời vào năm 1979) và đã từng là một ngôn ngữ khuôn mẫu cho những ngôn ngữ khác như Java và C#. Với cú pháp đơn giản, dễ hiểu, C++ đã từng là rất phổ biến trong thập niên 90.
Advantages | Disadvantages |
---|---|
Java là 1 ngôn ngữ lập trình được sử dụng rộng rãi trong phát triển web application. Nó đã là một lựa chọn phổ biến của các nhà phát triển trong hơn hai thập kỷ, với hàng triệu ứng dụng Java được sử dụng ngày nay. Java là 1 ngôn ngữ multi-platform, object-oriented, và network-centric có thể được sử dụng như 1 platform của chính nó. Đây là ngôn ngữ lập trình nhanh, an toàn, đáng tin cậy để coding mọi thứ, từ ứng dụng dành cho thiết bị di động và phần mềm doanh nghiệp đến ứng dụng dữ liệu lớn và công nghệ phía máy chủ.
Cloud computing
Game Development
BigData
AI
IOT
Vì đã xuất hiện từ lâu nên nguồn tài liệu nghiên cứu và cộng đồng hỗ trợ lớn.
Công cụ hỗ trợ chất lượng cao.
Đa luồng
Có sẵn nhiều Func và Lib
Độc lập nền tảng
Automatic Garbage Collection
Security
Performance < C/C++
Chương trình được chạy trên JVM nên tốn nhiều bộ nhớ hơn.
Memory và process yêu cầu cao nên chi phí phần cứng tăng.
Không hỗ trợ low-level programming do không có pointer.
Không để kiểm soát Garbage Collection vì không có cung cấp các func như delete(), free().
Tất cả các programming đều là công cụ để giao tiếp với machines. Machine hardware chỉ phản hồi với electronic communication. Những high-level language như java hoạt động giống như cầu nối giữa human language và hardware language. Để sử dụng java, cần phải biết đến 2 thứ:
Java languages và APIs: đây là front-end communication của dev với java platform.
JVM: đây là back-end communication giữa java platform và hardware cơ bản.
Java define syntax và semantics của Java programming language. Nó bao gồm từ vựng và nguyên tắc để sử dụng viết các thuật toán như: primitive data types, if/else blocks, etc.
APIs là thành phần software quan trọng đi cùng với java platform. Đây là những chương trình java viết sẵn có thể plug và chạy chức năng sẵn có vào code riêng của chúng ta. Ví dụ như lấy ngày giờ, map,...
Bất cứ Java Application Code nào đều được dev phát triển dựa trên các đoạn mã mới và mã có sẵn được cung cấp từ Java APIs và Java libraries.
Javascripts là 1 ngôn ngữ lập trình ban đầu được tạo ra để tương tác với các element của các web page. Trên các web browser, js gồm 3 thành phần chính (main):
ECMAScript cung cấp các Core Functionality.
Document Object Model (DOM): cung cấp các interface để tương tác với các element trên các web page.
Browser Object Model (BOM): cung cấp các browser API để tương tác với web browser.
Js cho phép chúng ta thêm tính tương tác vào trong 1 web page.
Ví dụ: Thêm Js vào HTML/CSS để nâng cao tính tương tác của web page như: validating forms, tương tác map, hoạt ảnh khung chat,...
Khi 1 web page được load, sau khi HTML/CSS đã được download, Js engine trong web browser executes the js code. Mã js thay đổi HTML/CSS để update user interface 1 cách linh hoạt.
Js ngin là 1 program để chạy js code. Ban đầu, các js ngin được implemented dưới dạng interpreters. Tuy nhiên, các modern js ngin thường được implemented dưới dạng JIT compilers đễ complie js thành bytecode để cải thiện hiệu xuất
Khi js được sử dụng trên 1 web page, nó được executes trên web browser. Trong case này, js làm việc như 1 client-side language.
Js có thể chạy được trên cả web brower và server. 1 environment server-side nổi tiếng của js là NodeJs. Không giống như các client-side js, server-side js executes trên server và cho phép chúng ta kết nối với db, file sys,...
Advantages | Disadvantages |
---|---|
Dễ dàng giao tiếp với hardware.
BUFFER OVERFLOW
Thoải mái quản lí vùng nhớ.
OOP phức tạp
C++ -> OOP.
Pointer khó để hiểu và sử dụng
Simply syntax
Sec
Độc lập nền tảng
Browser support
Tương tác với web page
Speed
Cross-browser Compatibility
Ít trình gỡ lỗi
Nhiều interface
Ít Lib
ez debug