Pojęcia podstawowe
Technikum » PAI » Podstawy programowania » Pojęcia podstawowe
Program jest to zbiór poleceń zapisanych w określonym języku programowania zgodnie z obowiązującymi w tym języku regułami. Programy są tworzone przez programistów podczas procesu programowania.
Programowanie to proces tworzenia i testowania programu. Kod źródłowy programu jest napisany w języku programowania z użyciem określonych reguł.
Język programowania musi posiadać ściśle zdefiniowane reguły syntaktyczne i semantyczne, które opisują, jak należy budować poprawne wyrażenia.
Słowa kluczowe to zarezerwowane słowa, które w danym języku programowania maja ściśle określone znaczenie i mogą zostać użyte tylko zgodnie z ich przeznaczeniem. Słowami kluczowymi są między innymi nazwy poleceń.
Kod źródłowy to ciąg instrukcji i deklaracji zapisany w języku programowania. Opisuje operacje, jakie powinien wykonać komputer. Kod źródłowy programu jest zapisywany w postaci tekstu. Najczęściej składa się z jednego lub kilku plików tekstowych. Kod źródłowy jest przetwarzany za pomocą kompilatora na kod maszynowy lub kod pośredni. Możliwe jest również wykonywanie kodu źródłowego w locie za pomocą programu zwanego interpreterem.
Translator to program służący do tłumaczenia programu zapisanego w języku programowania z postaci źródłowej do postaci wynikowej. Translatory dzielimy na:
- kompilatory tłumaczące programy zapisane w językach wysokiego poziomu
- asemblery tłumaczące programy zapisane w językach symbolicznych.
Kompilator to program służący do tłumaczenia kodu napisanego w języku źródłowym na odpowiadający mu kod w języku wynikowym. Najczęściej jest to program do tłumaczenia kodu źródłowego napisanego w wybranym języku programowania na kod maszynowy.
Interpreter to program, który analizuje kod źródłowy instrukcja po instrukcji i każdy przeanalizowany fragment kodu wykonuje na bieżąco.
Moduł to wydzielony fragment programu komputerowego. Podzielenie dużych programów na moduły ułatwia pracę z programem, szczególnie gdy każdą część programu opracowuje inny programista. Każdy moduł jest kompilowany osobno.
Linker (konsolidator) to narzędzie służące do łączenia przekompilowanych modułów w jeden plik wykonywalny. Odpowiada on za poprawne połączenie modułów ze sobą. Dobry linker powinien umożliwiać tworzenie plików wykonywalnych o różnych formatach i dla różnych systemów.
Konsolidacja to proces polegający na połączeniu skompilowanych modułów i utworzeniu pliku wynikowego. Podczas konsolidacji do pliku wynikowego mogą być dołączone biblioteki i inne informacje, dotyczące na przykład formatu pliku wykonywalnego.
Aplikacja to program użytkowy, wykonujący konkretne zadania i oferujący interfejs użytkownika. Określenie program komputerowy jest często stosowane zamiennie z określeniem aplikacja. Podstawową różnicą między tymi pojęciami jest to, że program komputerowy nie musi oferować żadnego interfejsu użytkownika.
Aplikacja internetowa (ang. web application) lub aplikacja webowa to program komputerowy, który pracuje na serwerze i komunikuje się z użytkownikiem poprzez sieć komputerową z wykorzystaniem przeglądarki internetowej. Niektóre aplikacje webowe mogą również działać offline. Na przykład aplikacja gromadzi pewne dane na lokalnym komputerze, a gdy jest możliwy dostęp do internetu, wysyła zgromadzone informacje do serwera i zapisuje je w bazie danych. Funkcję serwera internetowego może pełnić każdy komputer podłączony do internetu, a więc także komputer osobisty. Najczęściej odgrywa on rolę serwera testowego. Zainstalowana na tym samym komputerze aplikacja pracuje offline, wykorzystując wszystkie zalety aplikacji webowych.
Aplet jest to niewielki program komputerowy, którego wykonanie jest możliwe tylko z poziomu innej aplikacji. Aplety najczęściej są pisane w języku Java lub jako komponenty Active-X i są wykorzystywane na stronach internetowych. Ich zadaniem może być wykonywanie prostych czynności, np. uruchomienie animacji, przeprowadzanie obliczeń. W zaawansowanych zastosowaniach mogą być stosowane, np. jako przeglądarkowe wersje demo w przypadku gier pisanych w Javie lub do podpisywania przelewów w bankowości internetowej.
Języki programowania
Język programowania służy do tworzenia programów komputerowych, których zadaniem jest przetwarzanie danych, wykonywanie obliczeń i algorytmów. Może zawierać konstrukcje składniowe do manipulowania strukturami danych oraz zarządzania przepływem sterowania. Niektóre języki programowania posiadają specyfikację swojej składni i semantyki, inne zdefiniowane są jedynie przez oficjalne implementacje.
Elementy języka
- Składnia — zbiór reguł opisujących sposób definiowania struktur danych, rodzaje dostępnych słów kluczowych i symboli oraz zasady, według których symbole mogą być łączone w większe struktury.
- Semantyka — zbiór reguł definiujących znaczenie słów kluczowych i symboli oraz ich funkcji w programie.
- Typy danych — określają dostępne typy danych, ich właściwości oraz operacie, które mogą być wykonane na wartościach danego typu.
Przykładami używanych obecnie języków programowania są: C, C++, Objective C, C#, Java, Delphi, PHP, Perl, Python, Ruby.
Wybór języka programowania może zależeć od przeznaczenia końcowej aplikacji, indywidualnych upodobań lub strategii firmy tworzącej oprogramowanie. Najlepszym rozwiązaniem jest wybór języka programowania najbardziej dostosowanego do rozwiązywanego zadania i istniejącej infrastruktury.
Programy są tworzone i zapisywane w formacie tekstowym. Rozszerzenie pliku zależy od wybranego języka programowania.
Kompilatory
Proces automatycznego tłumaczenia kodu źródłowego zapisanego w języku programowania na kod maszynowy nazywamy kompilacją. Jeżeli w wyniku kompilacji zastaną wykryte niezgodności z regułami języka programowania, to kompilacja zostanie przerwana, a użytkownik będzie poinformowany o rodzaju błędu.
W trakcie pracy kompilatory wykonują większość podanych niżej operacji (lub wszystkie):
- wstępne przetwarzanie kodu,
- analiza leksykalna,
- analiza składniowa,
- analiza semantyczna,
- optymalizacja kodu wynikowego,
- generowanie kodu.
Języki skryptowe
Skrypt to program napisany w języku skryptowym, który jest wykonywany wewnątrz aplikacji.
Język skryptowy to język programowania służący do wykonywania wyspecjalizowanych czynności. Języki skryptowe są tworzone z myślą o interakcji z użytkownikiem. Często są wykorzystywane do zadań administracyjnych. Języki skryptowe bywają również osadzane w programach w celu zautomatyzowania powtarzających się czynności. Są wykorzystywane do tworzenia dynamicznych stron internetowych. Osadzane w grach komputerowych służą do sterowania przebiegiem gry.
Języki skryptowe mogą służyć do pisania zaawansowanych aplikacji, ale najczęściej są wykorzystywane do szybkiego tworzenia niewielkich skryptów, pozwalających na dynamiczne wyświetlanie stron internetowych lub zapamiętywanie i przetwarzanie wprowadzonych danych. Do popularnych języków skryptowych należą:
- JavaScript,
- PHP,
- ASP,
- Perl.