Definicje terminów używanych w programowaniu komputerowym

Definicje terminów używanych w programowaniu komputerowym

Termin programowanie komputerowe jest nieco wieloznaczny i trudno określić dziedzinę jednym zdaniem. Może odnosić się do procesu tworzenia czegoś z komputera, co może obejmować od strony internetowej do kawałka oprogramowania do ładnego obrazu. Uważa się, że jest to mieszanka sztuki i nauki, będąc jednocześnie analitycznym i technicznym. Oto kilka definicji terminów używanych w programowaniu komputerowym.

Poślizgi koncepcyjne

Poślizgi występują, gdy użytkownicy zamierzają zrobić jedną rzecz, a przypadkowo robią coś innego. Przykłady obejmują wpisanie „i” zamiast „o” lub przypadkowe nałożenie mydła w płynie na szczoteczkę do zębów. Poślizgi zdarzają się zazwyczaj, gdy użytkownik korzysta z autopilota i nie jest w pełni skoncentrowany na wykonywanym zadaniu. Poniższe przykłady opisują kilka przykładów poślizgów w programowaniu komputerowym. Wymienione poniżej przykłady opisują niektóre przykłady powszechnych poślizgów. Przyjrzyjmy się kilku przykładom, aby zobaczyć, jak języki programowania mogą poprawić swoje możliwości wykrywania poślizgów.

Na ogół nie chcemy sprowadzać problemu do poziomu sprzętowego. Ale czasami konieczne jest opisanie komponentów sprzętowych i organizacji funkcjonalnej, aby zrozumieć poślizgi. W niektórych przypadkach satysfakcjonujące wyjaśnienie może polegać na pokazaniu, w jaki sposób nieprawidłowo zainicjowany program powoduje błędne obliczenia. Chociaż nie jest to wystarczające do pełnego wyjaśnienia poślizgów, jest to cenna abstrakcja w specyfikacji i rozwoju systemów obliczeniowych.

Poślizgi materiałowe

Poślizg, w fizyce, to deformacja części kryształu spowodowana ruchem dyslokacji. Poślizg występuje, gdy atomy w sieci krystalicznej poruszają się wzdłuż płaszczyzny o dużej odległości. W zależności od rodzaju sieci, ruch ten prowadzi do zmiany geometrii, zwanej poślizgiem. Rysunek po prawej stronie przedstawia mechanizm poślizgu. Metale, które zawierają strukturę BCC to żelazo, wolfram, wanad i chrom.

Podstawowym problemem programowania materiałowego jest zbyt ścisła współpraca z materiałem projektowym. Skutkuje to ograniczeniem przestrzeni projektowej. Na szczęście istnieją narzędzia, które pomagają nam abstrahować od materiału i pozwalają na szerszą przestrzeń działania. Możemy następnie wykorzystać te narzędzia do tworzenia bardziej zaawansowanych projektów z konkretnymi połączeniami z materiałami. Ostatecznie pozwala nam to tworzyć bardziej elastyczne i efektywne projekty, które są bardziej kompatybilne z rzeczywistymi zastosowaniami. Poniżej zbadamy niektóre z tych metod.

Jedną z najbardziej powszechnych i podstawowych metod deformacji jest poślizg materiału. Poślizg występuje, gdy dyslokacja jest przenoszona z jednej płaszczyzny na drugą. Ruch ten znany jest jako poślizg poprzeczny. Dyslokacja śrubowa będzie się przemieszczać z jednej płaszczyzny poślizgu na drugą. Jej ruch jest nieodwracalny. Innym sposobem myślenia o poślizgu jest wyobrażenie go sobie jako ślizg. Dyslokacja śrubowa będzie się przemieszczać z jednej płaszczyzny poślizgu na drugą, co powoduje przeniesienie naprężeń na drugą płaszczyznę poślizgu.

Proces ten odbywałby się na miejscu lub za pośrednictwem odłączonego komputera stacjonarnego i wiązałby się z użyciem fizycznych narzędzi, które działają bezpośrednio na materiały. Obniżyłoby to barierę dla projektantów do poznawania nowych materiałów. Sprzyjałoby to również bardziej kinestetycznej praktyce twórczej i wspierało projekty na zamówienie. Nie byłoby możliwe wdrożenie programowania materiałowego, gdyby był to jedyny sposób programowania. Co więcej, programowanie materiałowe wymagałoby skomplikowanej integracji z algorytmami backendu.

Ontologia programów

Ontologie reprezentują struktury danych, z których korzystają programy komputerowe. Na przykład typowa ontologia reprezentuje program jako zbiór instrukcji procesora, standardową bibliotekę języka programowania lub zbiór plików w dostępnym systemie plików. Struktura tych struktur danych zapewnia użyteczny semantyczny opis programów, które są tworzone przez oprogramowanie. Dodatkowo, ontologie te pozwalają projektantom na określenie ograniczeń semantycznych bez wymuszania konkretnego schematu kodowania.

Niektóre z tych programów mogą być klasyfikowane jako „górne ontologie”. Niektóre ontologie nie mają hierarchii, a encje mogą mieć więcej niż jednego rodzica. Standard P1600.1 jest przykładem górnej ontologii. Wiele języków programowania i projektów oprogramowania open source korzysta z tej ramy. Nie jest to jednak uniwersalny standard i istnieją między nimi różnice. Wynika to z faktu, że ontologie dla różnych domen często się różnią.

Ontologie mogą być definiowane na wiele sposobów i dostępnych jest wiele narzędzi open source i komercyjnych. Najczęstszym zastosowaniem ontologii jest programowanie komputerowe. Ontologia programów komputerowych jest ustrukturyzowanym modelem oprogramowania. Ontologia może opisywać wszystkie rodzaje programów, w tym funkcje baz danych, narzędzia do tworzenia aplikacji i inne. Struktura ta jest również przydatna do wdrażania ustrukturyzowanego procesu rozwoju oprogramowania.

Ontologia programów w programowaniu komputerowym jest ściśle związana z rozróżnieniem na sprzęt i oprogramowanie. Część programowa jest abstrakcyjnym artefaktem, natomiast sprzętowa jest konkretna. Z tym drugim przypadkiem mamy do czynienia, gdy programy nie są formalnie zdefiniowane. W związku z tym ontologia programów komputerowych może służyć do opisu różnic między oprogramowaniem a sprzętem. SS1.1 przedstawia przykłady interpretacji programów. Na przykład Colburn (2000) proponuje konkretną abstrakcyjną definicję programu, natomiast Irmak (2012) proponuje bardziej formalną analizę programu.

Ontologia programów w programowaniu komputerowym opisuje problem poprawności w informatyce. Systemy obliczeniowe są charakteryzowane przez ich dwa odrębne byty: oprogramowanie i sprzęt. Część programowa to algorytmy, kody źródłowe i programy, natomiast część sprzętowa to maszyny obliczeniowe. Rozróżnienie pomiędzy oprogramowaniem i sprzętem pozwala nam zdefiniować systemy obliczeniowe jako abstrakcyjne byty, które spełniają pewne specyfikacje. Należy pamiętać, że te dwie odrębne części są wyraźnie różne, ale obie są niezbędne dla poprawności programu.

Przykłady artefaktów abstrakcyjnych

Istnieje wiele różnych przykładów artefaktów abstrakcyjnych w programowaniu komputerowym, od kompozycji muzycznych po oprogramowanie do rezerwacji lotów linii lotniczych. Każdy z tych utworów został celowo stworzony w celu realizacji jakiejś funkcji. W przeciwieństwie do nich, artefakt abstrakcyjny może nie mieć żadnego praktycznego zastosowania ani celu. Jednak programowanie komputerowe w dużej mierze opiera się na abstrakcji. Na przykład program, który tworzy zwierzę, może reprezentować abstrakcję jego zachowania. Podobny proces zachodzi, gdy program tworzy żywą istotę.

Powszechnie akceptowana definicja artefaktu może być przydatna do zrozumienia jego celu i wpływu. Na przykład, program komputerowy może być skategoryzowany jako zbiór reguł dla konkretnego zadania. Zestaw wytycznych może pomóc w kierowaniu rozwojem artefaktów oprogramowania. Wytyczne dla tego typu artefaktów mogą się różnić w zależności od konkretnego celu, ale wszystkie muszą trzymać się spójnego standardu.


Podobne tematy

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *