Wolne Oprogramowanie i GNU Fortran

Podobne dokumenty
Języki Programowania. Kompilatory Fortranu. Wojciech Sobieski

Tworzenie oprogramowania

Wprowadzenie do biblioteki klas C++

Programowanie w C. dr inż. Stanisław Wszelak

Praca w środowisku Cygwin. Przygotował Mateusz Dudek

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Technologia Informacyjna

IBM SPSS Statistics - Essentials for R: Instrukcje instalacji dla Linux

Java jako język programowania


Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

Wykład VI. Wybrane zagadnienia licencjonowania i praw autorskich. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Metody i algorytmy pomiarów przedmiotów metodami optycznymi.

egroupware czy phpgroupware jest też mniej stabilny.

Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 7. Karol Tarnowski A-1 p.

Wstęp do Informatyki. Klasyfikacja oprogramowania

Podstawy programowania

Programowanie proceduralne w języku C++ Podstawy

Podstawy Informatyki Wprowadzenie do języka C dr inż. Jarosław Bułat

Licencje na oprogramowanie i zasoby internetowe

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Automatyczna instalacja oprogramowania.

Instrukcja użytkownika Platforma transakcyjna mforex Trader dla systemu Linux

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

26.X.2004 VNC. Dawid Materna

Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

IdyllaOS. Prosty, alternatywny system operacyjny. Autor: Grzegorz Gliński. Kontakt:

Instalacja i opis podstawowych funkcji programu Dev-C++

Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Rozdział 1. Informacje ogólne

Przede wszystkim autor ma oficjalne prawo do autorstwa utworu, rozpowszechniania go pod wyznaczonym pseudonimem, kontroli nad

Prawa autorskie, licencje

Prawa autorskie cd. Prawa autorskie. Autorskie prawa majątkowe. Autorskie prawa osobiste

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja autoryzowanego użytkownika)

Delphi podstawy programowania. Środowisko Delphi

Software is like sex it s better when it s free. Linus Torvalds

Historia systemów operacyjnych - Unix

Komputery przemysłowe i systemy wbudowane

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8

Dokument Detaliczny Projektu

Powłoki systemu operacyjnego i intepretery

Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja wielokrotna)

Instrukcja instalacji oprogramowania dla środowiska Windows

Podstawy programowania. Wprowadzenie

Król Łukasz Nr albumu:

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.

Programowanie obiektowe

Wolne oprogramowanie

System Zarządzania Treścią

Monitorowanie i zarządzanie urządzeniami sieciowymi przy pomocy narzędzi Net-SNMP

IBM SPSS Statistics - Essentials for R: Instrukcje instalacji dla Windows

Organizacja zajęć BAZY DANYCH II WYKŁAD 1. Plan wykładu. SZBD Oracle

Środowisko dla Fortrana

Kernel Kompilacja jądra

IBM SPSS Statistics - Essentials for Python: Instrukcje instalacji dla Windows

Dystrybucje Linuksa c.d.

Dodatkowo planowane jest przeprowadzenie oceny algorytmów w praktycznym wykorzystaniu przez kilku niezależnych użytkowników ukończonej aplikacji.

Laboratorium 1. I. Zainstaluj program Eclipse (wersja C/C++ w odpowiednim systemie operacyjnym

S YSTEM O PERACYJNY L INUX W PARCOWNI

tel. fax

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 8. Karol Tarnowski A-1 p.

LINUX. Instalacja oprogramowania

Systemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania

Trochę o plikach wsadowych (Windows)

Programowanie obiektowe zastosowanie języka Java SE

Komputer nie myśli. On tylko wykonuje nasze polecenia. Nauczmy się więc wydawać mu rozkazy

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

IBM SPSS Statistics Wersja 25. Windows Instrukcja instalacji (licencja autoryzowanego użytkownika) IBM

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

Wstęp do programowania

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Acronis Universal Restore

Standardy programowania protokołów komunikacyjnych Laboratorium nr 5 komunikacja multicastowa IPv6

Wstęp do Informatyki dla bioinformatyków

Podstawy Programowania 2

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Ustawa o ochronie praw autorskich i prawach pokrewnych

Struktury systemów operacyjnych

IBM SPSS Statistics Wersja 23. Mac OS Instrukcja instalacji (licencja autoryzowanego użytkownika)

IBM SPSS Statistics dla systemu Linux Instrukcje instalacji (licencja sieciowa)

Here comes the sun. Wyk lad niesystematyczny. Marcin Makowski. 24 października Zak lad Chemii Teoretycznej UJ

JavaFX. Technologie Biznesu Elektronicznego. Wydział Informatyki i Zarządzania Politechnika Wrocławska

Opracowanie dodatkowego rodzaju pytań dla systemu Moodle

Instalacja środowiska MPI w systemie operacyjnym Linux

Licencjonowanie oprogramowania

Wykaz zmian w programie WinAdmin Replikator

IBM SPSS Statistics - Essentials for R: Instrukcje instalacji dla System Mac OS

IBM SPSS Statistics Wersja 24. Mac OS Instrukcja instalacji (licencja autoryzowanego użytkownika) IBM

Uniwersytet Mikołaja Kopernika. Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej

Programowanie w języku Python. Grażyna Koba

Transkrypt:

Wolne Oprogramowanie i GNU Fortran Olsztyn 2007-2012 Wojciech Sobieski

Wolne Programowanie Wolne Oprogramowanie (Free Software) jest to ruch programistów i użytkowników komputerów, zaangażowanych w działania na rzecz swobodnego dostępu do oprogramowania przez ogół użytkowników. Ruch Wolnego Oprogramowania powstał w latach 80., gdy dostępny wcześniej wraz z otwartymi źródłami system operacyjny Unix został skomercjalizowany przez firmę AT&T, co spowodowało odcięcie dostępu do kodu źródłowego oraz jego swobodnego rozwoju. Sytuacji tej przeciwstawił się Richard M. Stallman z Massachusetts Institute of Technology, który zapoczątkował ruch na rzecz tworzenia wolnego oprogramowania (czyli dostępnego dla wszystkich) pod nazwą GNU (GNU's Not Unix). Richard M. Stallman był również założycielem Fundacji Wolnego Oprogramowania (Free Software Foundation), najważniejszej instytucji sponsorującej projekt GNU.

Wolne Programowanie Zasadniczą cechą Wolnego Oprogramowania jest możliwość jego dalszego rozpowszechniania i modyfikacji oraz pełna dostępność kodu źródłowego. Szczegółowe zasady korzystania z Wolnego Oprogramowania regulowane są przez kilka typów licencji, z których najważniejszą jest powszechna licencja publiczna GPL (GNU General Public License). Celem tej licencji jest przekazanie użytkownikom praw do (tzw. 4 wolności): 1) uruchamiania programu w dowolnym celu, 2) analizowania działania programu i dostosowywania go do swoich potrzeb, 3) kopiowania, 4) udoskonalania i publikowania własnych poprawek i wersji.

Wolne Programowanie Głównym celem projektu GNU było opracowanie systemu operacyjnego kompatybilnego z systemem Unix. Aby zrealizować to zamierzenie koniecznym stało się stworzenie w pierwszej kolejności narzędzi dla programistów tak właśnie narodził się projekt GCC. GCC (GNU Compiler Collection) to zestaw kompilatorów tworzony w ramach projektu GNU. Początkowo skrótowiec GCC oznaczał GNU C Compiler, ponieważ był to kompilator tylko języka C. Z czasem GCC zaczął obejmować inne języki programowania obecnie w ramach projektu rozwijane są kompilatory języków C, C++, Objective C, Fortranu, Javy, Ady i eksperymentalnie wielu innych.

Kompilatory GNU Fortranu G77 kompilator języka Fortran 77 rozwijany w ramach projektu GCC od roku 1987 (aż do wersji GCC 3.4.4 opublikowanej 18 maja 2005 r.). Kompilator ten dostępny jest na systemy operacyjne Unix/Linux, Windows i inne.

Kompilatory GNU Fortranu Gfortran kompilator języka Fortran 77 oraz 90/95 (z elementami Fortranu 2003) stanowiący bezpośrednią kontynuację projektu g77. Zmiana nazwy z g77 na gfortran obowiązuje w projekcie GCC od wersji 4.0.1, wydanej oficjalnie 7 lipca 2005. Obecnie kompilator gfortranu jest wiodącym projektem Wolnego Oprogramowania związanym z językiem Fortran. Kompilator ten dostępny jest dla systemów operacyjnych Unix/Linux, Windows oraz MacOS. Wersje kompilatora gfortran na te systemy operacyjne dostępne są np. pod adresem: http://gcc.gnu.org/wiki/gfortranbinaries.

Kompilatory GNU Fortranu G95 kompilator języka Fortran 77 oraz 90/95 (z elementami Fortranu 2003), rozwijany niezależnie od projektu GCC. Projekt g95 powstał w roku 2000 i jest kontynuowany do chwili obecnej. Kompilator g95 dostępny jest na platformy Unix/Linux, Windows i inne. Wszelkie informacje o tym projekcie dostępne są na jego stronie domowej: http://www.g95.org/. W systemach Windows kompilatory GNU Fortranu dostępne są za pośrednictwem środowisk MinGW lub Cygwin.

Kompilatory GNU Fortranu MinGW (Minimalistic GNU for Windows) jest to darmowy kompilator dla systemów Windows. Podstawowymi jego składnikami są kompilator GCC, zestaw programów binutils (zawierający m.in. kompilator zasobów windowsowych windres ) oraz zestaw plików nagłówkowych i bibliotek charakterystycznych dla platformy Windows. MinGW kompiluje kod źródłowy napisany w językach programowania C, C++, Fortran 77, Java, Ada oraz Objective C, do kodu wykonywalnego (EXE) lub, zależnie od potrzeb, plików obiektowych (O), bibliotek statycznych (LIB, SO, O) lub bibliotek dynamicznych (DLL). MinGW może kompilować większość programów przeznaczonych dla systemu Windows.

Kompilatory GNU Fortranu Programy skompilowane kompilatorem MinGW do komunikacji z systemem operacyjnym (np. w celu narysowania na ekranie przycisku) wykorzystują bezpośrednio standardowe biblioteki dynamiczne systemu Windows, np. kernel32.dll, gdi32.dll. Dlatego programy te wyglądają i zachowują się jak typowe aplikacje Windows, a pliki wykonywalne nie wymagają dołączania żadnych dodatkowych bibliotek dynamicznych specyficznych dla tego kompilatora. Jest to podstawowa cecha odróżniająca MinGW od środowiska Cygwin. Ponieważ kompilator MinGW charakteryzuje się niezwykle liberalną licencją typu Public Domain, jest powszechnie wykorzystywany w niekomercyjnych zintegrowanych środowiskach programistycznych dla platformy Windows.

Kompilatory GNU Fortranu Cygwin to implementacja standardu POSIX funkcji systemowych przeznaczona dla systemów Windows (32-bitowe pełne wersje od MS Windows 95 dla x86 z wyjątkiem MS Windows CE) oraz zestaw oprogramowania w większości przeniesionego z systemów typu Unix (np. Linux, BSD). Są to głównie aplikacje działające w trybie tekstowym, ale dostępny jest również podsystem grafiki X.Org oraz graficzne środowisko KDE. Projekt posiada wygodny w użyciu program instalacyjny. Cygwin jest rozwijany głównie przez oddział Cygnus Solutions firmy Red Hat i dostępny na licencji GPL. Można również zakupić licencje do użycia tego środowiska w systemach przeznaczonych do dystrybucji pod innymi licencjami (na przykład wyłącznie w postaci skompilowanej).

Kompilatory GNU Fortranu Cygwin nie zastępuje w pełni np. Linuksa: nie wszystkie linuksowe aplikacje można skompilować dla Cygwina, a te, które się da, na Linuksie chodzą znacznie szybciej niż na Cygwinie. Należy go traktować jako emulator systemu operacyjnego, który pozwala na używanie wielu różnych użytecznych aplikacji z rodziny POSIX na platformie Microsoft Windows w tym także wiele z oprogramowania FLOSS. POSIX (Portable Operating System Interface) - dosłownie przenośny interfejs systemu operacyjnego. POSIX powstał w celu standaryzacji różnych odmian systemu operacyjnego Unix i obejmuje interfejs programisty, interfejs użytkownika oraz właściwości powłoki systemu operacyjnego. FLOSS (Free Libre/Open Source Software, także FOSS, F/OSS) - neutralny skrót pozwalający objąć jednym mianem zarówno Wolne Oprogramowanie (ang. Free Software) jak i Otwarte Oprogramowanie (ang. Open Source), używany najczęściej w dokumentach urzędowych i oficjalnych analizach.

Implementacje Fortranu Najbardziej popularnymi implementacjami komercyjnymi są Intel Compiler Fortran oraz Fujitsu Lahey Fortran. Pierwszy z tych kompilatorów rozwijany był pierwotnie przez firmę Microsoft (pod nazwą Microsoft Fortran Power Station) a następnie przez firmę Compaq (pod nazwą Compaq Visual Fortran). Oba kompilatory dostępne są dla systemów Windows oraz Unix/Linux. Warto nadmienić, że kompilator firmy Intel dystrybuowany jest dla systemów Unix/Linux na bardzo liberalnej licencji, pozwalającej na korzystanie z tego narzędzia w dość szerokim zakresie jedynie na podstawie rejestracji. Innym, znacznie mniej znanym kompilatorem języka Fortran, jest Salford FTN95 Compiler. Produkt ten jest również dostępny w wersji Personal nie można go wykorzystywać w działalności komercyjnej lub w celach badawczych. Kompilator Salford FTN95 przeznaczony jest dla systemów Windows.

Implementacje Fortranu Z niekomercyjnych implementacji języka Fortran można wymienić chociażby Open Watcom Fortran, nfortran (obecnie chyba już nie rozwijany), czy też opisane wcześniej kompilatory GNU Fortranu. Kompilatory GNU Fortranu ze względu na dostępny kod źródłowy i liberalną licencję dostępne są dla wielu różnych systemów operacyjnych, w tym dla systemów Unix/Linux i Windows. Ze względu na odmienne cechy tych systemów operacyjnych, wynikających ze sposobu ich rozwoju, inne są nieco zasady wykorzystywania tych kompilatorów w obu grupach systemów.

Implementacje Fortranu W systemach Windows kompilatory GNU Fortranu wykorzystywane są zazwyczaj do budowy różnego typu środowisk programistycznych przykładami mogą być całkowicie darmowe projekty takie jak: Fortran Force, VForth czy Edi. W systemach Unix/Linux zazwyczaj oddziela się proces edycji kodu od jego kompilacji: edycja odbywa się w dowolnym edytorze tekstu, zaś kompilacja bezpośrednio w wierszu poleceń systemu operacyjnego. Najwygodniejszym edytorem środowiska Linux jest program Kate: posiada on wsparcie kolorowania składni języka Fortran oraz wbudowany wiersz poleceń systemu. Oprócz Kate istnieje wiele innych edytorów nadających się do tworzenia kodów źródłowych Fortranu, np. KWord czy Mined.

Implementacje Fortranu Salford FTN95 Compiler (wersja Personal)

Fortran Force 2.0 (GNU g77) Implementacje Fortranu

Implementacje Fortranu VFort (GNU g77)

Implementacje Fortranu Edi 3.0 (GNU g77, GNU g95, GNU gfortran, DISLIN)

Implementacje Fortranu Edycja plików w programie Kate (gfortran, DISLIN)

Zalety GNU Fortranu oszczędności kompilatory GNU Fortranu są całkowicie darmowe, a każdy użytkownik może je wykorzystywać w dowolnym celu (również zarobkowym), w szkole, firmie czy instytucie naukowym jest to podstawą działania licencji GPL; brak problemu aktualizacji w przypadku programów komercyjnych zazwyczaj trzeba płacić za nowe wersje produktów. W przypadku kompilatorów GNU Fortranu problem ten nie występuje każdy użytkownik może mieć zawsze najnowszą wersję; brak problemu piractwa komputerowego możliwość dowolnego kopiowania i redystrybucji kompilatorów GNU Fortranu rozwiązuje problem legalności programów. Programy można po prostu rozdawać, co ma duże znaczenia np. na uczelniach każdy student może w domu korzystać w dowolny sposób z tego samego oprogramowania, którego uczy się na zajęciach;

Zalety GNU Fortranu dostępność kompilatory GNU Fortranu są ogólnie dostępne. W przypadku systemów Windows można łatwo pobrać z Internetu sam kompilator (w postaci pliku instalacyjnego) lub jakieś środowisko programistyczne na nim bazujące. W przypadku systemów Unix/Linux należy pobrać i zainstalować odpowiednie pakiety instalacyjne (w formacie obsługiwanym przez daną dystrybucję systemu operacyjnego) lub kod źródłowy i samodzielnie dokonać kompilacji. W niektórych większych dystrybucjach kompilatory Fortranu dostępne są bezpośrednio na płytach instalacyjnych; dostępność darmowych środowisk programistycznych i edytorów kodu każdy użytkownik może przetestować dostępne środowiska programistyczne i wybrać te, które okaże się dla niego najwygodniejsze i najlepiej dostosowane do potrzeb. Użytkownik może również skorzystać z dowolnego uniwersalnego edytora kodów źródłowych, wspierającego język Fortran, i samodzielnie zbudować sobie własny zestaw oprogramowania, bibliotek, przykładów i dokumentacji, tworząc niepowtarzalne i oryginalne środowisko pracy;

Zalety GNU Fortranu duża stabilność ponieważ każdy może zapoznać się z ogólnodostępnym kodem źródłowym kompilatorów GNU Fortranu i go poprawić lub zgłosić błąd, bardzo szybko eliminowane są wszelkiego typu niedociągnięcia i wady, przez co nie ma potrzeby długiego czekania na poprawki. W takim przypadku każdy użytkownik staje się testerem programu, co daje w efekcie bardzo dużą ich liczbę, nieporównywalnie większą niż w przypadku oprogramowania komercyjnego (zamkniętego); duże bezpieczeństwo ze względu na możliwość wglądu w kod źródłowy kompilatorów GNU Fortranu, praktycznie nie ma możliwości zaszycia w nich modułów wykonujących w systemie operacyjnym niepożądane działania;

Zalety GNU Fortranu brak zagrożenia zmianą rodzaju licencji w przypadku kompilatorów GNU Fortranu nie ma możliwości zmiany rodzaju licencji. Jeżeli ktoś w swoim programie użyje chociaż fragment kodu źródłowego Wolnego Oprogramowania, to zgodnie z licencją GPL musi swój produkt rozprowadzać wraz z kodem źródłowym. W przypadku innych darmowych produktów, np. na licencji FREEWARE, może ona się zmienić w dowolnej chwili w inne: SHEREWARE, a później PAYWARE; możliwość przeniesienia kompilatora do innego systemu operacyjnego posiadanie kodu źródłowego programu pozwala również na dokonywanie samodzielnych kompilacji, przy czym nie ma znaczenia w jakim systemie operacyjnym się to odbędzie. Tak waśnie było z kompilatorami GNU Fortranu stworzonymi pierwotnie dla systemu Unix, a dostępnymi obecnie dla wielu innych systemów operacyjnych;

Zalety GNU Fortranu łatwość przenoszenia kodów źródłowych między różnymi systemami operacyjnymi ponieważ kompilatory GNU Fortranu występują w takich samych wersjach dla wielu systemów operacyjnych, nie ma większych problemów z przeniesieniem, kompilacją i uruchamianiem swoich programów w środowiskach Windows, Unix/Linux czy MacOS; możliwość dostosowania do własnych wymogów otwarty kod źródłowy pozwala na dowolną jego modyfikację, przy czym zgodnie z licencją GPL, nie trzeba nikogo prosić o zdanie ani nikogo o tym fakcie zawiadamiać. W świecie Wolnego Oprogramowania każdy posiadacz kodu źródłowego ma takie same prawa i możliwości.

Wady GNU Fortranu brak gwarancji ponieważ kompilatory GNU Fortranu tworzone są przez wielu programistów, często w bardzo odległych częściach świata, nie ma od kogo wymagać gwarancji w przypadkach awaryjnych (jest to zresztą sprzeczne z ideą Wolnego Oprogramowania); brak profesjonalnej opieki jest to podstawowy problem ruchu Wolnego Oprogramowania, w tym użytkowników kompilatorów GNU Fortranu. W przypadku niejasności związanych z użytkowaniem kompilatorów GNU Fortranu jedyną podstawą rozwiązywania problemów są informacje zawarte w Internecie (np. dokumentacja projektu GCC) oraz znajomi, którzy posługują się podobnym oprogramowaniem. Bardzo pomocne są w tym zakresie specjalistyczne serwisy internetowe i fora dyskusyjne;

Wady GNU Fortranu brak polskiej dokumentacji jak dotąd kompilatory GNU Fortranu rozwijane są głównie w oparciu o język angielski: cała dokumentacja i wszelkie dostępne materiały są w tym języku. Jedynym obszernym opracowaniem dotyczącym GNU Fortranu w języku polskim jest książka GNU Fortran z elementami wizualizacji danych. brak wbudowanych bibliotek i rozszerzeń kompilatory GNU Fortranu umożliwiają korzystanie ze standardowych elementów języka Fortran. Istnieje co prawda możliwość dołączenia dodatkowych składników (bibliotek, przykładów, dokumentacji), ale zazwyczaj użytkownik musi to zrobić samodzielnie. Cecha ta może stanowić zarówno zaletę (środowisko można lepiej dopasować do swoich potrzeb), jak i wadę (wszystkie modyfikacje należy wykonywać samodzielnie);

Wady GNU Fortranu brak możliwości programowania równoległego jak do tej pory kompilatory GNU Fortranu umożliwiają tworzenie programów jednowątkowych, co w epoce komputerów wieloprocesorowych stanowi pewne ograniczenie. W Internecie można jednak znaleźć informacje świadczące o rozpoczęciu prac w tym kierunku.

Szybkość GNU Fortranu Porównanie czasu wykonywania się podstawowych operacji matematycznych w programach skompilowanych różnymi kompilatorami

Szybkość GNU Fortranu Porównanie czasu działania przykładowego programu skompilowanego różnymi kompilatorami GNU Fortranu

Zmienne środowiskowe Każdy system operacyjny posiada konkretny zbiór poleceń możliwych do wywołania z dowolnego miejsca w strukturze katalogów. Przykładem może być polecenie DIR w systemie DOS lub Windows, lub też polecenie LS w systemach Unix/Linux oba wyświetlają bieżącą listę plików i katalogów. Użycie polecenia spoza tego zbioru spowoduje wyświetlenie komunikatu błędu, np: Nazwa 'polecenie' nie jest rozpoznawalna jako polecenie wewnętrzne lub zewnętrzne, program wykonywalny lub plik wsadowy.

Zmienne środowiskowe Generalnie istnieją trzy możliwości reakcji systemu operacyjnego na podanie dowolnej komendy: jeżeli polecenie jest poleceniem systemowym, system operacyjny wykona je bezpośrednio; jeżeli polecenie nie jest poleceniem systemowym, system operacyjny przeszuka wszystkie katalogi znajdujące się w specjalnej zmiennej środowiskowej (najczęściej o nazwie PATH) jeżeli znajdzie tam plik wykonywalny lub plik wsadowy powłoki, to go uruchomi; jeżeli polecenie nie jest poleceniem systemowym, a w katalogach znajdujących się w zmiennej PATH nie ma pliku wykonywalnego lub skryptu powłoki o takiej nazwie jak polecenie, system operacyjny zgłosi błąd.

Zmienne środowiskowe Zmienna środowiskowa jest to ogólnie dostępna w systemie operacyjnym zmienna, zawierająca pewne informacje przydatne w pracy innych programów. Zmienne środowiskowe mogą być tworzone lub modyfikowane przez system operacyjny, przez instalowane w nim dodatkowe oprogramowanie lub też ręcznie przez użytkownika.

Zmienne środowiskowe Zmienne środowiskowe są wykorzystywane w procesie kompilacji kodów źródłowych różnych języków programowania, w tym również języka Fortran. Przykładowe polecenie kompilacji kompilatorem GNU Fortranu ma postać: g77 program.for -o program.exe Ponieważ polecenie g77 nie jest poleceniem systemowym, sprawdzane są katalogi znajdujące się w zmiennej PATH. Oznacza to, że położenie kompilatora tego języka a konkretnie pliku wykonywalnego o nazwie g77.exe musi być dokładnie określone w zmiennej PATH.

Zmienne środowiskowe W procesie kompilacji ważną rolę odgrywa również zmienna LIBRARY_PATH (w systemach Windows) lub LIB (w systemach Unix/Linux). Zmienna ta zawiera listę katalogów, które mają być przeszukiwane w przypadku żądania kompilatora o dołączenie dodatkowej, nieznanej biblioteki. Zagadnienie wyszukiwania kompilatora i jego bibliotek może być rozwiązane na dwa sposoby: kompilator i jego biblioteki instaluje się w dowolnym katalogu, po czym nazwy tych katalogów dodaje się do zmiennych środowiskowych takie podejście przeważa w systemach Windows, kompilator i jego biblioteki umieszcza się w specjalnie do tego celu przeznaczonych katalogach systemowych (nie trzeba wówczas tworzyć lub ustawiać zmiennych środowiskowych, gdyż zawierają one już te katalogi) takie podejście przeważa w systemach Unix/Linux.

Zmienne środowiskowe Przykład definicji zmiennych systemowych w systemach Windows: SET PATH=c:\progra~1\edi\g77;%PATH% SET LIBRARY_PATH=c:\progra~1\edi\g77;%LIB% g77.exe program.for -a -O -o program.exe Przykład definicji zmiennych systemowych s systemach UNUX\Linux: PATH = sciezka_1: scieka_2:...: $PATH export PATH

Zmienne środowiskowe Zapytanie o zmienną systemową w systemach Windows: set set PATH - wszystkie zmienne - tylko zmienna PATH Zapytanie o zmienną systemową w systemach UNUX\Linux: printenv echo $PATH - wszystkie zmienne - tylko zmienna PATH

Dziękuję za uwagę Olsztyn 2007-2012 Wojciech Sobieski