Typed language là gì?

Noun Programming

Typed language là ngôn ngữ lập trình (language) mà chúng ta định nghĩa kiểu dữ liệu và nó sẽ được máy biết tại thời điểm biên dịch (compile time ) hoặc ở thời điểm chạy (runtime).

Typed language có thể được phân thành hai loại:

  • Statically typed language
  • Dynamically typed language

Statically typed languag là các ngôn ngữ như C, C ++, Java, v.v., Trong loại ngôn ngữ này, kiểu dữ liệu (data type) của một biến được biết đến tại thời điểm biên dịch, có nghĩa là người lập trình (programme) phải chỉ định kiểu dữ liệu của biến tại thời điểm nó được khai báo (declare). Chúng ta phải định nghĩa trước kiểu trả về (return type) của hàm (function) cũng như kiểu dữ liệu của biến.

Cú pháp:

data_type variable_name;

Ví dụ dưới đây minh họa code trong ngôn ngữ C++ để cho thấy nó là statically typed language:


#include <iostream>
#include <string>
using namespace std;
  
int number(int n){
  return n;
}
  
int main() {
  
    // Here every variable is defined by 
    // specifying data type to it
    string str = "Dictionary4it";
    int num = 109;
    float flo = 12.99;
    cout 

Output:


I'm a string with value: Dictionary4it
I'm a number with value: 109
I'm a floating point number with value: 12.99

Dynamically typed language là những ngôn ngữ không yêu cầu bất kỳ kiểu dữ liệu nào được định ngĩa trước cho bất kỳ biến nào. Trong các ngôn ngữ này, trình thông dịch (interpreter) gán kiểu dữ liệu cho một biến trong runtime tùy thuộc vào giá trị (value) của nó. Chúng ta thậm chí không cần chỉ định kiểu dữ liệu của biến mà một hàm đang trả về (return) hoặc nhận trong các ngôn ngữ này. JavaScript, Python, Ruby, Perl, v.v. là những ví dụ về dynamically typed language.

Ví dụ này minh họa JavaScript là một dynamically typed language:


<script>
    
        var str = "Dictionary4it";
        var num = 5;
        var flo = 12.99;
        var num2 = "Welcome to Dictionary4it";
    
        function number(n) {
            return n;
        }
    
        console.log("I'm a string with value: " + str);
        console.log("I'm a number with value: " + number(num));
        console.log("I'm a floating  point number with value: " + flo);
        console.log("I'm a string with value: " + num2);
</script>

Learning English Everyday