Исправление vbr, (текущая версия) :
Динамическая типизация это когда я могу написать код вида
function length2(p) {
return p.x * p.x + p.y * p.y;
}
function unit_length2(id) {
const resp = fetch("/unit/" + id);
const resp_body = JSON.parse(resp.body);
return length2(resp_body.position);
}
В общем когда разница между статически определёнными структурами (т.е. определёнными до запуска программы) и динамически определёнными структурами (т.е. определёнными во время работы программы) размывается.
Рефлексия частично позволяет перекрыть эту разницу в статически-типизированных ЯП.
А auto
есть нынче практически в каждом языке программирования и это просто синтаксический сахар. В том же rust есть фича shadowing, которая позволяет переопределять переменную с тем же именем и с другим типом. Что-то вроде
let x = 1
let x = x.to_string()
Но это, конечно, не является динамической типизацией. По сути это простой синтаксический сахар для чего-то вроде
let x_1: int32 = 1
let x_2: string = x_1.to_string()
Исправление vbr, :
Динамическая типизация это когда я могу написать код вида
function length2(p) {
return p.x * p.x + p.y * p.y;
}
function unit_length2(id) {
const resp = fetch("/unit/" + id);
const resp_body = JSON.parse(resp.body);
return length2(resp_body.position);
}
В общем когда разница между статически определёнными структурами (т.е. определёнными до запуска программы) и динамически определёнными структурами (т.е. определёнными во время работы программы) размывается.
А auto
есть нынче практически в каждом языке программирования и это просто синтаксический сахар. В том же rust есть фича shadowing, которая позволяет переопределять переменную с тем же именем и с другим типом. Что-то вроде
let x = 1
let x = x.to_string()
Но это, конечно, не является динамической типизацией. По сути это простой синтаксический сахар для чего-то вроде
let x_1: int32 = 1
let x_2: string = x_1.to_string()
Исправление vbr, :
Динамическая типизация это когда я могу написать код вида
function length2(p) {
return p.x * p.x + p.y * p.y;
}
function unit_length2(id) {
const resp = fetch("/unit/" + id);
const resp_body = JSON.parse(resp.body);
return length2(resp_body.position);
}
В общем когда разница между статически определёнными структурами (т.е. определёнными до запуска программы) и динамически определёнными структурами (т.е. определёнными во время работы программы) размывается.
Исправление vbr, :
Динамическая типизация это когда я могу написать код вида
function length2(p) {
return p.x * p.x + p.y * p.y;
}
function unit_length2(id) {
const resp = fetch("/unit/" + id);
const resp_body = JSON.parse(resp.body);
return length2(resp_body.position);
}
В общем когда разница между статически определёнными структурами и динамически определёнными структурами размывается.
Исправление vbr, :
Динамическая типизация это когда я могу написать код вида
function length2(p) {
return p.x * p.x + p.y * p.y;
}
function unit_length2(id) {
const resp = fetch("/unit/" + id);
const resp_body = JSON.parse(resp.body);
return length2(resp_body.position);
}
Исправление vbr, :
Динамическая типизация это когда я могу написать код вида
function length2(p) {
return p.x * p.x + p.y * p.y;
}
function unit_length2(id) {
const resp = fetch("/unit/" + id);
const respBody = JSON.parse(resp.body);
return length2(respBody.position);
}
Исходная версия vbr, :
Динамическая типизация это когда я могу написать код вида
function length2(p) {
return p.x * p.x + p.y * p.y;
}
И передавать туда что угодно. Если у переданного чего-угодно есть свойства x и y, то оно сработает. Если нет - то упадёт. В рантайме.