
Fortran 03 – Czy warto znać tę wersję języka?
Fortran, jeden z najstarszych języków programowania, przez lata przechodził liczne zmiany. Wraz z wersją Fortran 03 pojawiło się wiele nowych możliwości, które uczyniły kodowanie bardziej elastycznym i zgodnym ze współczesnymi standardami programowania. Ale czym dokładnie różni się Fortran 03 od wcześniejszych wersji? Jakie wprowadził zmiany? I czy warto go używać dzisiaj? Sprawdźmy!
Dlaczego powstał Fortran 03?
Fortran 90 był ogromnym krokiem naprzód w porównaniu do starszych wersji, wprowadzając m.in. programowanie modułowe i tablice dynamiczne. Jednak świat programowania nie stoi w miejscu. Pojawiły się nowe potrzeby, a wraz z nimi konieczność dalszej modernizacji języka. Właśnie dlatego powstał Fortran 03 – jako ewolucja Fortrana 90 i 95.
Główne cele nowej wersji to:
- Lepsza obsługa programowania obiektowego.
- Zwiększona interoperacyjność z językiem C.
- Większa elastyczność w obsłudze dynamicznych struktur danych.
- Poprawa obsługi błędów.
Przyjrzyjmy się teraz kilku kluczowym zmianom wprowadzonym w Fortran 03.
Fortran 03 – Przykłady kluczowych zmian
1. Programowanie obiektowe i typy zagnieżdżone
Jedną z najważniejszych nowości wprowadzonych w Fortran 03 jest lepsza obsługa programowania obiektowego. Wcześniejsze wersje języka miały już pewne elementy OOP, ale w Fortran 03 można było w pełni wykorzystywać dziedziczenie i zagnieżdżone typy.
Oto przykład z wykorzystaniem dziedziczenia:
MODULE Shapes TYPE :: Shape REAL :: area END TYPE Shape TYPE, EXTENDS(Shape) :: Circle REAL :: radius END TYPE Circle END MODULE Shapes
Teraz możemy tworzyć obiekty klasy Circle, które dziedziczą cechę area z klasy Shape.
2. Lepsza współpraca z językiem C
Fortran 03 znacznie poprawił interoperacyjność z C, co było dużym krokiem naprzód dla naukowców i inżynierów pracujących w środowiskach, gdzie Fortran i C muszą ze sobą współpracować.
Przykład deklaracji funkcji w C i wywołania jej w Fortran 03:
INTERFACE FUNCTION c_function(x) BIND(C) USE, INTRINSIC :: ISO_C_BINDING REAL(C_DOUBLE), VALUE :: x REAL(C_DOUBLE) :: c_function END FUNCTION c_function END INTERFACE
Teraz można bez problemu wywoływać funkcje napisane w C bez konieczności stosowania skomplikowanych mechanizmów komunikacji.
3. Obsługa dynamicznych struktur danych
Fortran 03 wprowadził również wskaźniki na alokowane obiekty i dynamiczne struktury danych. Oznacza to, że możemy tworzyć i usuwać struktury danych w trakcie działania programu.
Przykład dynamicznej alokacji:
TYPE :: DynamicArray INTEGER, ALLOCATABLE :: data(:) END TYPE DynamicArray TYPE(DynamicArray) :: myArray ALLOCATE(myArray%data(10))
Teraz możemy łatwo manipulować pamięcią bez konieczności definiowania statycznych tablic.
4. Obsługa błędów
W poprzednich wersjach Fortrana obsługa błędów była mocno ograniczona. W Fortran 03 pojawiło się nowe podejście do błędów wejścia/wyjścia, dzięki czemu można lepiej kontrolować działanie programu.
Przykładowe sprawdzanie błędów przy otwieraniu pliku:
OPEN(UNIT=10, FILE="data.txt", STATUS="OLD", ACTION="READ", IOSTAT=err) IF (err /= 0) THEN PRINT *, "Błąd otwierania pliku!" ENDIF
Teraz możemy przechwytywać błędy i reagować na nie w bardziej przewidywalny sposób.
Czy warto używać Fortran 03?
Mimo że od premiery Fortran 03 minęło już sporo czasu, wiele jego funkcji nadal jest używanych w nowoczesnym kodzie. Jest to wersja języka, która wprowadziła wiele kluczowych zmian, a jej elementy są wciąż podstawą nowocześniejszych edycji Fortrana, takich jak Fortran 08 czy Fortran 2018.
Podsumowując, jeśli pracujesz ze starszym kodem Fortran 90/95, warto znać zmiany, jakie przyniósł Fortran 03. Dzięki lepszej obsłudze programowania obiektowego, dynamicznym strukturom i interoperacyjności z C, stał się on kluczowym krokiem w ewolucji języka.
Mam nadzieję, że ten artykuł i fortran 03 przykłady pomogły ci lepiej zrozumieć tę wersję języka i jej zastosowanie!
Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!