Tại sao tất cả ngôn ngữ lập trình không khai báo biến bằng var?

Hi,
Như tiêu đề, mình thấy có một số ngôn ngữ như js, C#, kotllin,… dùng var để khai báo biến không cần biết trước kiểu dữ liệu là gì, Tại sao điều này không áp dụng cho toàn bộ ngôn ngữ lập trình ?

Bởi vì rất nhiều người muốn tất cả mọi thứ phải tường minh.
Càng tường minh thì càng dễ làm và hiệu suất càng tốt vì cả người cả máy đỡ phải “đoán” xem cái mình đang dùng nó cụ thể là cái gì.

10 Likes

Theo như bạn nói thì code luôn php, python, js khỏi phải khai báo biến cho gọn
Tại sao ngôn ngữ này phải giống ngôn ngữ kia?

3 Likes

Đọc bài viết này, và bạn sẽ hiểu tại sao https://kipalog.com/posts/Rust-la-gi--Co-an-duoc-khong

4 Likes

Vậy bạn chuyển qua python đỡ phải khai báo biến lẫn var luôn :smile:

2 Likes

Có hai kiểu ngôn ngữ lập trình: Kiểu dữ liệu tính (khi khai báo biến thì kiểu phải được định nghĩa) và kiểu động (biến có thể chưa mọi loại dữ liệu). Thường thì các ngôn ngữ biên dịch là kiểu tĩnh do khi biên dịch cần xác định kiểu của biến và các ngôn ngữ thông dịch là kiểu động. Tuy nhiên đội khi các ngôn ngữ thông dịch vãn cho phép quy định kiểu và ngược lại các ngôn ngữ biên dịch cho phép dùng kiểu tự động: VD auto count = 10; (kiểu mặc định hằng số là double thì kiểu của biến cũng là double).

2 Likes

Trả lời chủ topic: mọi khoa học đều có một phần gọi là lịch sử. Cho nên, trước khi hỏi, nên đọc lịch sử để giải trí, cũng để hiểu/ biết một số thứ quanh cái đó. Một ví dụ: quản trị kinh doanh (khoa học về quản lý) thường được mấy ông Tây lông ngộ nhận là thứ mà họ là chủ nhân của cái khoa học ấy… Cho đến một ngày mấy ông khảo cổ học dịch được các tấm bia đá, sách cổ của Ấn Độ thì thấy hoá ra những cuốn sách về quản trị kinh doanh đã được viết trước hoặc cùng thời với đức Phật (Thích Ca Mầu Ni).

Túm cái gáy lông lá lại: để trả lời cho các câu hỏi tại sao, chúng ta cần bỏ tính “ghét bỏ” những cái gọi là “lịch sử”, dù môn lịch sử ở trường phổ thông là đáng chán, nhưng lịch sử nói chung là một thứ rất thú vị.

4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?