🥬
FreshForFresh
  • ✌️Xin chào!
  • Overview
    • 💡Data structures and Algorithms
    • 👀Programming
    • 🧠Database
    • 🦴Back-End
    • ✨Front-End
    • 💐Spring Framework
    • 🛠️Tool
  • Data structures and Algorithms
    • 🎰Data Type
    • 🗑️Garbage collection
    • 🧩Data structures
    • 🎲Algorithms
  • Programming
    • 🧮Compiler
      • 🤖Tại sao phải cần compiler?
      • 📠Java Virtual Machine
  • 📈Thread
  • 🔐Lock & Deadlock
  • 🏇Race condition & Data Race
  • 🧯Synchronized
  • 🗜️Blocking IO và Non Blocking IO Client Server Socket
  • 🌐Languages
    • 🎛️Programming Language
    • 📑Client-Side & Server-Side
    • ⁉️Why java? Why javascript?
  • 🗼Design pattern
    • 🎨Front-End Design Pattern
    • 🏗️Back End Design Pattern
      • 🐴with Java
      • 🦄with Spring Boot
      • 🐖with Modern Backend Development
      • 🐁with Microservice
  • 🍀Clean Code
    • 🌊Chương 1: Code sạch
    • 📐Chương 2: Quy tắc đặt tên rõ nghĩa
    • 🚧Chương 3: Cách viết hàm
    • 👻Chương 4: Comments thế nào cho chuẩn?
    • 🥳Chương 5: Định dạng code.
    • 😈Chương 6: Đối tượng và cấu trúc dữ liệu
    • 🐛Chương 7: Xử lí lỗi
    • ☦️Chương 8: Ranh giới code
    • 🧪Chương 9: Unit test
    • 🥂Chương 10: Lớp đối tượng
    • 🥡Chương 11: Code sạch cấp hệ thống
  • Database
    • 🐔Giới thiệu
    • 📰Các loại cơ sở dữ liệu
    • 🐘Các loại DBMS phổ biến
    • 🕵️‍♀️SQL và cách sử dụng với relational database
      • 👺Lệnh SQL
      • 🛢️JOIN trong SQL
      • 🛕GROUP BY trong SQL
      • 🐼ORDER BY trong SQL
      • 🐣Truy vấn con SUBQUERY trong SQL Server
      • 🏦Transaction Trong SQL
      • 🇲🇰ACID
    • ☢️Thiết kế cơ sở dữ liệu
    • 🕍Consistency and concurrency handling
      • 🔒Database locking
      • 🎮Concurrency Control
      • 🙀Isolation Level
    • 🎨Performance & Scability
      • ☝️Indexing
      • 👯‍♂️Partitioning
      • 💅Các tips tăng hiệu suất SQL
      • 🇲🇬Kiểm tra và Xác thực việc Sao lưu và Phục hồi CSDL
      • 🌠Database sharding
      • 🧘‍♂️REPLICATION
      • 😁Các vấn đề ảnh hưởng đến performance.
  • Back-End
    • 🔫API?
    • 🐕‍🦺Web Services
    • 💾Phân biệt API và web service
    • 🙆‍♂️Tìm hiểu về RestAPI
    • 🧦SOAP
    • ✈️GraphQL API
    • 📊Compared GraphQL & REST
    • 📄Phân biệt HTTP & HTTPS
    • 🚵Client & Server
    • 🇩🇲DOM
  • Front-End
    • 🦑User Interface (UI)
    • 🛰️State Management
  • Spring Framework
    • 🔐Spring Security
      • 🌅Đơn giản hoá Spring Security
      • 🌸Spring Security: Authentication and Authorization In-Depth
      • 🚻OAuth2 Basic
      • 🀄JWT + Spring Security Oauth
      • 📤Logout trong ứng dụng sử dụng bảo mật Oauth
      • 🔂Reset Password
      • 🎗️OAuth2 Remember Me với Refresh Token
      • ⛓️OAuth2 cho một Spring REST API
  • Network
    • 💸Mạng máy tính căn bản
  • Tool
    • 🦏Các câu lệnh Docker cơ bản
    • 🦧Github
      • 🐰Các lệnh Git cơ bản
      • 🐇Một số trường hợp khi sử dụng Git
    • 🏚️WebServer
      • 🪂Tổng quan về kiến trúc hệ thống
      • 🔃Cơ bản về WebServer Nginx
  • Tài nguyên
    • 👨‍🏫Course
    • 📖Docs
Powered by GitBook
On this page
  • C/C++
  • Advantages & Disadvantages
  • Java
  • What is Java programming language used for?
  • Advantages
  • Disadvantages
  • Làm thế nào để Java hoạt động?
  • Java API là gì?
  • JVM?
  • Javascript
  • Client-side vs. Server-side JavaScript
  • Advantages and Disadvantages
  1. Languages

Programming Language

C/C++, Java, Javascript,...

C/C++

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

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

Java

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ủ.

What is Java programming language used for?

  • Cloud computing

  • Game Development

  • BigData

  • AI

  • IOT

Advantages

  • 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

Disadvantages

  • 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().

Làm thế nào để Java hoạt động?

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 API là gì?

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.

JVM?

Javascript

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

Client-side vs. Server-side JavaScript

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 and Disadvantages

Advantages
Disadvantages

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

PreviousLanguagesNextClient-Side & Server-Side

Last updated 1 year ago

🌐
🎛️
📠Java Virtual Machine