Ogólnie o programowaniu – cz.2
W pierwszej części mówiliśmy ogólnie o programowaniu. Przedstawiliśmy również różne rodzaje programowania. W tej drugiej części uwagę skupimy na językach programowania. Z dzisiejszego artykułu dowiecie się między innymi czym jest język programowania oraz poznacie najpopularniejsze języki stosowane przez programistów na całym świecie. Programując musimy wiedzieć co ma być celem naszego programu lub do czego ma on służyć. Najlepiej na samym początku postawić sobie jakąś koncepcję na to jak sam program ma wyglądać. Ważny jest język jaki wybierzemy do programowania. A dlaczego? Zobaczmy.
1. Czym jest język programowania i jakie wyróżniamy jego generacje?
Język programowania możemy zdefiniować na kilka sposobów. My zdefiniujemy go pod względem pewnych cech:
- moc – teoria obliczeń klasyfikuje języki według rodzajów obliczeń, które można za ich pomocą w określony sposób zrealizować. W każdym języku zupełnym w sensie Turinga można zaimplementować ten sam zbiór algorytmów. Jednym z przykładów języka niezupełnego jest SQL, który służy do komunikacji z bazą danych,
- przeznaczenie – języki naturalne służą nam do komunikacji, natomiast języki programowania umożliwiają np. wydawanie poleceń maszynom. Niektóre języki programowania można wykorzystać również do kontroli jednego urządzenia przez inne, np. program wykonywany na komputerze może wygenerować kod PostScript do sterowania pracą drukarki czy też wyświetlacza,
- funkcja – język programowania ma ustalona funkcję – służy do tworzenia programów komputerowych. Zadaniem tych programów jest przetwarzanie danych, wykonywanie obliczeń czy też algorytmów oraz sterowanie/obsługa zewnętrznymi urządzeniami,
- konstrukcje składniowe – każdy język programowania może zawierać konstrukcje składniowe do manipulowania strukturami danych oraz zarządzania przepływem sterowania.
Języki programowania możemy podzielić na różne generacje:
- Języki pierwszej generacji – należą do nich języki maszynowe, czyli języki procesorów. Kod maszynowy przeznaczony jest do wykonania na konkretnym typie procesora. Instrukcje są w nich zapisywane w postaci liczb binarnych: 11101010001110000100011111111000111111100010011101100111110010101110001.
- Języki drugiej generacji – tu znajdują się języki symboliczne. Są to języki niskiego poziomu. Zamiast liczb, jak w przypadku języka maszynowego, używa się tu łatwiejszych do zapamiętania mnemoników: jmp ffff:0| mov ax, bx| add ax, 1.
- Języki trzeciej generacji – są to już języki wysokiego poziomu. Tu program jest pojmowany jako ciąg wykonywanych odpowiednio po sobie instrukcji. W językach imperatywnych opisuje się sposób otrzymania rozwiązania. Pierwszym językiem tego typu był ALGOL. Do tej grupy należą między innymi: FORTH, BASIC – języki niestrukturalne, Pascal, C, FORTRAN – języki strukturalne, C++, Java – języki zorientowane obiektowo: if(!x) { printf(„Nie dzielimy przez zero\n”); return 1; }.
- Języki czwartej generacji – są to języki jeszcze wyższego poziomu niż języki trzeciej generacji. Programista, który korzysta z tego typu języków programowania, skupia się na problemie, a nie na sposobie jego rozwiązania. Są one często używane do dostępu do baz danych. Przykładem języka programowania z tej grupy jest: SQL: SELECT Dokument FROM „Faktura VAT.db” WHERE Cena < 100.
- Języki piątej generacji – są to języki sztucznej inteligencji czy też języki systemów ekspertowych. Języki te są najbardziej zbliżone do języka naturalnego. Przykładem języka programowania piątej generacji jest PROLOG.
2. Uniwersalne języki programowania.
Przechodząc do kolejnego punktu naszego artykułu powiemy jeszcze coś o poziomach: niskim i wysokim języków programowania. Otóż jak możemy wywnioskować z punktu 1, do grupy języków niskiego poziomu należą języki I i II generacji. Natomiast do języków wysokiego poziomu należą języki III generacji. Główne cechy języków niskiego poziomu to: szybki i relatywnie nieduży kod wynikowy, tj program w postaci kodu maszynowego, ręczne zarządzanie danymi, stosem, uciążliwe kodowanie, programowanie wymaga znajomość struktury i specyfiki działania danego procesora i jego otoczenia. Natomiast jeśli chodzi o cechy języków wysokiego poziomu wyróżniamy tu takie cechy jak: elastyczność i łatwość programowania, zależność od kompilatora, bibliotek i narzędzi wspomagających, wsparcie dla budowania dużych i złożonych programów.
A oto jakie są najpopularniejsze, uniwersalne języki programowania:
- PHP (Hypertext Preprocessor) – język interpretowany, stosowany głównie przy stronach internetowych.
- FORTAN – jest to język stosowany do obliczeń numerycznych.
- JAVA – należy do obiektowych języków programowania, jest językiem prekompilowanym.
- COBOL (Common Business Oriented Language) – język zastosowań gospodarczych.
- LISP – stosowany do nietypowych obliczeń nienumerycznych i rozwiązań teoretycznych – jeden typ instrukcji: wywołanie funkcji.
- ALGOL – język algorytmiczny, pełna nazwa to Algoorithmic Language.
- FORTH – powstał on z myślą o sterowaniu np. teleskopami astronomicznymi, posiada pewne cechy asemblerów.
- BASIC – najlepszy język uniwersalny dla początkujących programistów.
- ADA – wykorzystywany do sterowania procesami lub maszynami, np. samolotami wojskowymi.
- SIMULA – znalazł zastosowanie przy konstrukcji baz danych. SIMULA jest także językiem symulacji np. do tworzenia programów symulujących procesy ekonomiczne.
- C++ – jest rozszerzeniem języka C (obiektowe mechanizmy abstrakcji danych oraz statyczną kontrolę typów. Jest to język ogólnego przeznaczenia.
- PASCAL – zastosowanie: nauka programowania. Ulepszona wersja to MODULA 2: MODULA RX – programowanie baz danych, MODULA – PROLOG – programowanie logiczne. Dał on również początek popularnemu językowi DELPHI – najlepsze środowisko do budowania programów użytkowych.
Tak oto dobrnęliśmy do końca. Mamy nadzieję, że informacje, które przygotowaliśmy dla was w tych dwóch częściach przydadzą się wam i trochę szerzej pojmiecie pojęcie programowania. Być może komuś z was przypadnie do gustu któryś z powyższych języków programowania i stworzycie w nim coś naprawdę fajnego. Zachęcamy do zapoznawania się z programowaniem, bo choć wydaje się trudne, czasem może być naprawdę przyjemne.