/ / Защо кастингът на Java има такъв странен синтаксис? [затворен] - java, кастинг

Защо Java предаването има такъв странен синтаксис? [затворен] - java, леене

В 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 също използва.