GIC'23 Best programming talk!McPixel 3 was written from scratch in C and has so far been ported to Windows, Mac, Linux, iOS, Android, Nintendo Switch, Xbox, ...
Jeśli chodzi o konstrukcje językowe to ostatnio myślałem nad czymś. Co jeśli “.” byłaby normalnym elementem nazwy tak jak “_”? W C mógłby istnieć skrót do nadawania nazw z przedrostkiem w stylu:
group costam. {
int x = 0;
int y = 1;
}
co byłoby równoznaczne:
int costam.x = 0;
int costam.y = 0;
Fajnie jakby przed “costam” można było wstawić “const” lub “static”, dla wszystkich elementów.
Oczywiście zamiast “.” można użyć “_” lub nic i używać camelCase.
Problem z taką interpretacją kropki wystąpiłby przy zagnieżdżonych strukturach.
Jeśli dobrze rozumiem pomysł, foo.bar byłby w tym przypadku niepowiązany ze zmiennymi foo.bar.x i foo.bar.y.
Ze struktur bym prawdopodobnie zrezygnował. Uznałbym, że zmienne to mapowanie pamięci. Wymyślenie lepszej dynamicznej pamięci zostawiam tobie. Ale wyobrażam sobie jakieś konteksty na wzór banków pamięci (aktywacje mapy?).
Jeśli chodzi o konstrukcje językowe to ostatnio myślałem nad czymś. Co jeśli “.” byłaby normalnym elementem nazwy tak jak “_”? W C mógłby istnieć skrót do nadawania nazw z przedrostkiem w stylu:
group costam. { int x = 0; int y = 1; }
co byłoby równoznaczne:
int costam.x = 0; int costam.y = 0;
Fajnie jakby przed “costam” można było wstawić “const” lub “static”, dla wszystkich elementów. Oczywiście zamiast “.” można użyć “_” lub nic i używać camelCase.
Tak wiem, pora deszczowa w pełni.
Ta składnia mi to trochę pascalowe
with
.Problem z taką interpretacją kropki wystąpiłby przy zagnieżdżonych strukturach.
Jeśli dobrze rozumiem pomysł,
foo.bar
byłby w tym przypadku niepowiązany ze zmiennymifoo.bar.x
ifoo.bar.y
.Ze struktur bym prawdopodobnie zrezygnował. Uznałbym, że zmienne to mapowanie pamięci. Wymyślenie lepszej dynamicznej pamięci zostawiam tobie. Ale wyobrażam sobie jakieś konteksty na wzór banków pamięci (aktywacje mapy?).
Do grupy można jeszcze dodać tablice.