Cyclone

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

Cyclone jest niskopoziomowym językiem programowania, którego korzenie sięgają języka C. Został tak zaprojektowany, by uniknąć głównych wad swojego pierwowzoru.

Wskaźniki w Cyclone dzielą się na cztery grupy:

  • zwykłe wskaźniki (takie jak w C) - ograniczona możliwości rzutowania, jest zabroniona arytmetyka wskaźników; Cyclone przy dereferencji wskaźnika (np. rekord→pole) sprawdza czy wskaźnik ma wartość NULL.
  • fat pointers ("grube" wskaźniki) - wskaźnik jest samoopisujący: zawiera zarówno adres obszaru pamięci, jak również rozmiar tego obszaru; arytmetyka wskaźników jest dowolna, bowiem łatwo wykryć próby dostępu do pamięci spoza przydzielonego zakresu;
  • not-NULL pointers (niepuste wskazania) - Cyclone gwarantuje że taki wskaźnik nigdy nie będzie miał wartości NULL.
  • wskaźniki na łańcuch znaków zakończony zerem.

W Cyclone wprowadzono regiony pamięci, które mogą być statyczne lub dynamiczne (tworzone w trakcie działania programu). Z regionem pamięci powiązane są wskaźniki, tak że jeśli region jest niszczony (np. został stworzony w funkcji, która już została zakończona) to wszystkie wskaźniki - a ogólnie: obiekty stworzone w jego zakresie - automatycznie stają się nieważne.

Dodatkowe cechy tego języka to: wyjątki znane z C++, ułatwienia w tworzeniu tablic (automatyczna alokacja pamięci, inicjalizacja wyrażeniami), abstrakcyjne typy danych, krotki, funkcje polimorficzne, pattern matching.

Linki zewnętrzne[edytuj | edytuj kod]