C/C++

почему надо задавать числам инты и флоты, а не стринги?

на примере реализации в gml - переменная с числом будет считаться как число, до тех пор ты не задашь ей стринг
так же намного удобнее чем срать везде этими чёртовыми интами и флотами
почему это не реализовали ни в одном значимом языке?
только в питоне это более менее легко реализовано, но питон для лохов и нердов
Из-под стрингов будет торчать писюн
Славик Маленчук
Славик Маленчук
76 830
Лучший ответ
Кирилл Романов лучший ответ
Есть языки со статической типизацией (Pascal, C++, C#, Java), а есть с динамической.(Python, Ruby, Javascript). У каждого из них свои плюсы и минусы.
Олег Козий
Олег Козий
66 408
Кирилл Романов эта статическая типизация такая что засрёшь весь код интами потом ничё не поймёшь
ты задаёшь не числам инты и флоаты, а переменным.

кое-где (rust, python) есть маскировка имён (name masking, variable shadowing) - если переменная, содержащая число, тебе больше не нужна, можешь влепить другую, строковую, переменную с тем же именем:
 //rustc 1.39.0

fn main() {

let n :i32 = 100;
println!("{}", n);

let n : &str = "hello world";
println!("{}", n);
}

https://en.wikipedia.org/wiki/Variable_shadowing

в gml, думается, тоже именно маскировка имён.
Потому что есть языки со строгой типизацией данных, а есть те, которые сами из контекста разберутся, какой это тип.
И если в приоритете производительность конечного приложение - то строгая типизация данных выигрывает.
Потому что ты задаешь число, а не переменную с последовательностью
Кирилл Романов дополнительная боль в очке
Спроси у специалистов IT безопасности почему не строки....
Юрий Котов
Юрий Котов
7 589
стринги они для девочек. А програмисты любят семейники
Асет Акумбаев
Асет Акумбаев
6 912
Например, переменная типа byte (или char) может быть равна 200. Занимает в памяти независимо от наполненности 1 байт, а в виде String это значение займёт 4 байта минимум.
unsigned long может принимать значения до 18446744073709551615 и это в памяти будет 8 байт (64 бита), а если ты сделаешь это в String, то занято будет 20 байт + накладные расходы самого String 1-2 байта (в зависимости от языка и даже версии), возможно, где-то больше.
А теперь представь, что тебе нужно хранить в базе данных и время от времени пересчитывать миллиарды таких чисел, для бухгалтерии это обычное дело. Заметна будет разница в размере и производительности?
**
***муса*** *******
4 583

Похожие вопросы