Terminologia w branży IT może wydawać się skomplikowana, a od zrozumienia języka technicznego często zależy komfort współpracy z firmami zajmującymi się technologią. Prezentujemy  pierwszą część naszego subiektywnego słownika, w którym Adam Zubka – Microsoft Dynamics NAV Senior Programmer w EIP, przybliża kilka pojęć związanych z programowaniem.

Kompilacja – proces tłumaczenia kodu źródłowego programu na język maszynowy lub na język pośredni. Język maszynowy to język bezpośrednio rozumiany przez komputer konkretnego rodzaju. Składa się on z instrukcji zrozumiałych przez dany typ procesora, czyli przez daną architekturę procesora. Język pośredni składa się z prostych instrukcji, które  jednak, w odróżnieniu od języka maszynowego, nie są rozumiane przez konkretny procesor. Instrukcje te są wykorzystywane przez specjalne środowisko uruchomieniowe (tzw. framework), który jest w stanie przetłumaczyć w locie (w trakcie wykonywania programu) język pośredni na język maszynowy, tak aby program wykonał się prawidłowo na danym komputerze.

Programy skompilowane do języka maszynowego wybranego komputera, najczęściej nie mogą być uruchamiane na komputerze innego typu, często już nawet inny system operacyjny nie jest w stanie uruchomić takich programów. W technologii wykorzystującej język pośredni, raz skompilowany program może być uruchamiany na różnych komputerach, z różnymi systemami operacyjnymi. Jedynym wymaganiem jest konieczność istnienia na danym komputerze odpowiedniego środowiska uruchomieniowego (framework-u).

Wielowątkowość – jest to jednocześnie technologia sprzętowa, jak i sposób tworzenia oprogramowania, który umożliwia wykonywanie wielu zadań jednocześnie. Dzięki temu program potrafi jednocześnie  m.in. wykonywać obliczenia, zapisywać pliki czy wyświetlać okna aplikacji.

W większości przypadków wielowątkowość pozwala zwiększyć wydajność (szybkość) działania aplikacji. Pozwala również aplikacjom reagować na interakcje użytkowników, nawet gdy program jest zajęty wykonywaniem innych czynności. Aby wielowątkowość działała, wymagany jest odpowiednio przygotowany system operacyjny (wszystkie nowoczesne systemy takie są) oraz odpowiednio napisane oprogramowanie komputerowe.

Interfejs ? de facto ? interfejs użytkownika ? jest to ta część oprogramowania komputerowego, która odpowiedzialna jest za kontakt z użytkownikiem ? zarówno za prezentację danych użytkownikowi, jak i przyjmowanie tych danych od niego. Najczęściej pod pojęciem interfejsu użytkownika rozumiemy okienka aplikacji ? jest to tak zwany interfejs graficzny.

Istnieją również inne sposoby prezentacji danych użytkownikowi ? przy użyciu tekstu na monitorze, przy wykorzystaniu piktogramów/specjalnych ikon lub nawet po prostu wydruk na drukarce.

Pod pojęciem interfejs kryje się również sposób wprowadzania danych do programu ? interfejs wejściowy. Może to być myszka, klawiatura, mikrofon, kamera wideo. Dopiero zebranie metod prezentacji, jak i wprowadzania danych stanowi interfejs użytkownika i może być on rozpatrywany w ramach danej aplikacji, systemu operacyjnego, czy wręcz zwykłych urządzeń -przecież większość urządzeń domowego AGD w jakiś sposób się z nami komunikuje i oczekuje wprowadzenia danych ? poleceń 😉