eXec.plMAGAZYN UŻYTKOWNIKÓW KOMPUTERÓW AMIGA
MAGAZYN UŻYTKOWNIKÓW KOMPUTERÓW AMIGA

piątek, 25. maja, 2018, 10:45

Dodano: 2014-02-03, Autor: Robert Szacki, Kategoria: Publicystyka, Liczba wyświetleń: 2455

A A A

Dlaczego warto pisać natywne programy?

W niniejszym artykule chciałbym przedstawić zalety tworzenia natywnego oprogramowania dla Amiga OS w odniesieniu do techniki potocznie zwanej portowaniem, czyli przenoszenia programów z innych systemów operacyjnych.

1. Pisanie w zgodzie z architekturą systemu i sprzętu.

Najważniejsza zaleta tkwi w samym sposobie tworzenia natywnego oprogramowania. Termin "natywny" oznacza "naturalny". Programy noszące to określenie są tworzone pod konkretną architekturę systemu operacyjnego i - często również - sprzętu. Oznacza to tyle, że takie programy korzystają z systemowych bibliotek danego systemu i przez to najlepiej realizują wszystkie funkcjonalności programu począwszy od rysowania grafiki, realizowania interfejsu użytkownika, a kończąc na obliczeniach. Przykładów można mnożyć. Podam kilka: pakiet biurowy dla Amigi (mowa o programach WordWorth, TurboCalc, DataStore i Organiser) stosuje amigowy intefejs użytkownika (tzn. biblioteki intuition i gadtools), dzięki czemu działa wyśmienicie już na Amidze 1200, a oferuje naprawdę spory wachlarz funkcji, w tym współpracę z dokumentami z pakietu Microsoft Office.

IconEd

Programy przenoszone z innych systemów są z reguły dostosowane do zupełnie innej filozofii systemu, dlatego mogą czuć się nie najlepiej w środowisku Amiga OS. Nie wynika to z wad Amiga OS. Powodowane jest to kilkoma czynnikami. Po pierwsze programy te są wysoce zależne od zewnętrznych komponentów (tzw. "dependancies" - zależności). Jak pokaże w punkcie 2. te zależności mogą bardzo komplikować algorytm, który, przy programowaniu natywnym, można by doprowadzić do znacznie prostszej postaci. Po drugie takim programom zwykle należy stworzyć sztuczne środowisko pracy, by program w ogóle zadziałał. Zwykle wiąże się to z emulacją pewnych funkcjonalności portowanego programu. Taki program zyskuje cechy emulatora, a nie jest to dobrze w przypadku programów użytkowych i narzędziowych. Programy natywne nie potrzebują takiego sztucznego środowiska, korzystają bezpośrednio z Amiga OS.

2. Kontrola nad kosztem algorytmu.

W informatyce każdy algorytm rozwiązujący jakiś problem obarczony jest kosztem. Wyróżniamy koszt pamięci i czasu wykonania. Zwykle koszty te są wyrażone przez rząd funkcji. W algorytmie wyróżniamy operację dominującą, która warunkuje ten koszt, np. przy sortowaniu operacją dominującą jest porównywanie elementów tablicy. Koszty niewiele różnią się między różnymi komputerami, jeśli np. koszt jest wykładniczy to taki algorytm nie wykona się w rozsądnym czasie nawet na najnowszym procesorze dostępnym na rynku. Dlatego warto zwrócić uwagę przy projektowaniu programu, jaki koszt będzie miał nasz algorytm.

Przy programach natywnych ten koszt może być w łatwy sposób obliczony, oraz mamy pełną kontrolę nad tym kosztem. W przypadku programów portowanych z reguły nie ma się w ogóle kontroli nad kosztem algorytmu, a rośnie on wraz z dołączanymi zewnętrznymi algorytmami. Z reguły nie można redukować takich kosztów, co jest sytuacją bardzo niepożądaną w przypadku budowania programów.

3. Wykorzystanie mocy drzemiącej w komputerze.

Przykładem są takie programy, jak tzw. dema komputerowe. Wykorzystują one moc drzemiącą w komputerze prezentując ją w sposób artystyczny. Na Amidze mamy sporo przykładów, np. najbardziej popularne dema jak Arte i Desert Dream. Co prawda są to programy pisane pod konkretny sprzęt (w tym przypadku Amigę), jednakże pokazują jak dużo można wykrzesać z komputera pisząc programy zgodnie z filozofią komputera.

Proszę sobie wyobrazić, jak dużo osiągnęłoby się choć na chwilę rezygnując z rzeczy, które na dłuższą metę za bardzo ułatwiają pracę. czyli wysokopoziomowych bibliotek, i skupić się na zaprogramowaniu podstaw programu. Efekt jest przecież zależny od włożonej pracy. Jeśli mało włożyliśmy w wykonanie zadania, to też efekt będzie niezadowalający (czyli np. programy będą działać zbyt wolno). W przypadku, gdy wysiłek jest duży, możemy oczekiwać naprawdę rewelacyjnych efektów. Mam nadzieję, że powyższy artykuł choć trochę przybliżył temat programowania natywnego i pokazał jego zalety.

Robert Szacki
zobacz inne nasze artykuły »



AmigaOS.pl

Polecamy
Najpopularniejsze
eXec blog

Świat poza Amigą: