В Java, когато хвърлите, да речем, двойно към int, вие правите това.
int x = (int)(2.5 * 0.4);
В Python имаме много по-хубав синтаксис за четене.
x = int(2.5 * 0.4)
Откъде идва тази странна форма на кастинг? Защо се използва?
РЕДАКТИРАНЕ: Как се основава това главно мнение? Търся фактически история за това защо и откъде дойде този синтаксис. Моля, преразгледайте.
Отговори:
8 за отговор № 1Синтаксисът на Java е бил съзнателно моделиран на C (и в по-малка степен) C ++ синтаксис.
И C и C ++ използват (<type>) <expr>
като синтаксис за тип кастинг.
Така ...
Откъде идва тази странна форма на кастинг?
C и C ++
Защо се използва?
За да продължите Целта на Java дизайна на синтактично сходство с C и C ++.
Това може да ви се стори странно. Въпреки това, в контекста, в който Java първоначално е била проектирана, C & C ++ езиците са доминиращи. Дизайнерите трябваше да улеснят преминаването на C & C ++ програмисти към Java. Ако те бяха игнорирали това, Java най-вероятно никога нямаше да излезе.
1 за отговор № 2
И двата стила съществуват от известно време: функционални и С-подобни. Като се има предвид разпространението на C като код, Java имитира стила. C ++ всъщност позволяваше и двата стила.
0 за отговор № 3
Java е изобретен във време, когато имашеогромен брой програмисти C в професионалната работна сила и малко по-малък брой програмисти на C ++. Езиковите дизайнери умишлено направиха синтаксиса на Java много подобен на C и C ++, така че тази голяма орда от хора щеше да е по-лесно да се учи и да се адаптира към Java по-лесно. Леенето в С стил е само един от многото синтактични елементи в С, които Java също използва.