[#221]
Re: Nowy framework do tworzenia aplikacji
@grxmrx,
post #213
Framework nie zastąpi ochrony pamięci i też uważam, że jest ona nieodzownym elementem systemu operacyjnego, może jednak złagodzić trochę ból związany z jej brakiem. Gdy ktoś konsekwentnie będzie używał mechanizmów dostępnych w API2 jest duża szansa, że gdy pojawi się błąd to zamiast zawieszenia systemu uzyska komunikat o tym mówiący. API2 nie wymaga używania arytmetyki wskaźników, ani nawet zwykłych tablic, używając np. AFArrayList i for_each nie wyjdzie się poza zakres. Nie trzeba też pamiętać o sprawdzaniu czy udało się utworzyć obiekt, gdy to się nie powiedzie zostanie zgłoszony wyjątek i nawet jak go nie złapiemy to się nic nie stanie. Każda metoda ma wersję nazwaMetodyIf, która sprawdza przed jej wywołaniem czy obiekt nie jest NULL. Typy parametrów są sprawdzane podczas kompilacji - w przeciwieństwie do BOOPSI. W wersji deweloperskiej rejestrowane są wszystkie obiekty dzięki czemu można zweryfikować czy to co ma być obiektem nim jest i czy nie zostało wcześniej zwolnione, pamiętany jest też callstack (wywołań metod, a nie każdej funkcji choć i to jest możliwe) co pomaga zdiagnozować błąd gdy pojawi się wyjątek, a także odnaleźć miejsce gdzie tworzone są niezwalniane obiekty. Jak napisałem nie zastąpi to ochrony pamięci, ale w sytuacji gdy jej nie ma bardzo ułatwi programowanie, a jeśli się kiedyś ta ochrona pojawi nadal będzie zaletą.