Programowanie proceduralne to programowanie, które odzwierciedla tło architektury Neumanna komputera. Wszystkie programy napisane w tym języku to pewna sekwencja poleceń, które ustanawiają określony algorytm rozwiązywania określonego zestawu problemów. Najważniejszym poleceniem jest operacja przypisania, która ma na celu ustalenie i poprawienie zawartości w pamięci komputera.
Jaka jest główna idea tego języka?
Główną cechą proceduralnych języków programowania jest wykorzystanie pamięci komputera do przechowywania informacji. Funkcjonowanie programu sprowadza się do ciągłego i naprzemiennego wykonywania różnych poleceń w celu przekształcenia zawartości pamięci, zmiany jej stanu początkowego i uzyskania pożądanych rezultatów.
Jak to się wszystko zaczęło
Programowanie proceduralne rozpoczęło się od stworzenia języka wysokiego poziomu o nazwie Fortran. Został stworzony na początku lat pięćdziesiątych w USA przez IBM. Pierwsze publikacje o nim pojawiły się dopiero w 1954 roku. Zorientowany proceduralnie język programowania Fortran został opracowany do wykonywania zadań naukowych i technicznych. Głównymi obiektami języka są zmienne numeryczne, liczby rzeczywiste i całkowite. Wszystkie wyrażenia są zbudowane na czterech głównych obliczeniach arytmetycznych: potęgowanie, operacje na stosunkach, nawiasy, manipulacje logiczne AND, NOT, OR.
Głównymi operatorami języka są wyjście, wejście, przejście (warunkowe, bezwarunkowe), wywoływanie podprogramów, pętle, przypisanie. Programowanie proceduralne w języku Fortran od bardzo dawna jest najpopularniejszym na świecie. Podczas istnienia języka zgromadzono ogromną bazę danych różnych bibliotek i programów, które zostały napisane specjalnie w Fortranie. Obecnie wciąż trwają prace nad wprowadzeniem kolejnego standardu Fortran. W 2000 roku opracowano wersję Fortran F2k, której standardowa wersja nosi nazwę HPF. Został stworzony dla superkomputerów równoległych. Nawiasem mówiąc, języki PL-1 i BASIC wykorzystują wiele standardów z Fortran.
Język Cobol
Cobol to proceduralny język programowania. Jest to język programowania mający na celu rozwiązanie wielu problemów przetwarzania informacji. Jest aktywnie wykorzystywany do rozwiązywania różnych problemów zarządczych, księgowych i ekonomicznych. Programowanie proceduralne w Cobolu zostało opracowane w Stanach Zjednoczonych w latach 1958-1960. Sam program, stworzony w Cobolu, posiada kilka typów zdań w języku angielskim, przypominając z wyglądu najzwyklejszy tekst. Chodzi o to, że grupa…operatory pisane sekwencyjnie są łączone w całe zdania, same zdania są łączone w akapity, a akapity są łączone w sekcje. Sam programista przypisuje nazwy lub etykiety do akapitów i wyznaczonych sekcji, aby ułatwić odwoływanie się do określonej sekcji kodu. W Związku Radzieckim opracowano rosyjską wersję programu, która została z powodzeniem zastosowana w praktyce.
Programowanie zorientowane proceduralnie w języku Cobol jest realizowane dzięki potężnym narzędziom roboczym, które są w stanie przetwarzać ogromne strumienie danych przechowywane na różnych dyskach zewnętrznych. Istnieje wiele aplikacji napisanych w tym języku, które są aktywnie używane nawet teraz.
Interesujący fakt: najlepiej opłacani programiści w USA piszą programy w języku Cobol.
Język algorytmu
Ten proceduralny język programowania został stworzony przez całą grupę specjalistów w 1960 roku. Był to efekt rozpoczęcia współpracy na poziomie międzynarodowym. Algol został opracowany w celu utrzymania algorytmów, które zostały zbudowane w postaci sekwencji określonych procedur, które zostały użyte do rozwiązania zadań. Początkowo język był postrzegany nieco niejednoznacznie, ale został dostrzeżony na poziomie międzynarodowym, odegrał ogromną rolę w rozwoju podstawowych pojęć programowania i nauczania nowej generacji programistów. Programowanie proceduralne w języku Algol jako pierwsze wprowadziło takie pojęcia jak „struktura bloków programu”, „dynamiczna alokacja pamięci”.
Jest jeszcze jedna cecha języka -jest to możliwość wprowadzenia w bloku znaków lokalnych, które nie mają zastosowania do reszty kodu programu. Tak, Algol-60, pomimo swojego międzynarodowego pochodzenia, nie był tak popularny jak Fortran.
Nie wszystkie obce komputery miały tłumaczy z Algol-60, więc to programowanie proceduralne zostało zmienione i pojawił się ulepszony język Algol-68.
Algol-68
Był to już wszechstronny i wielofunkcyjny zaawansowany język programowania. Jego główną cechą było to, że za pomocą tego samego programu można było tłumaczyć z różnych wersji języka bez żadnych kosztów związanych z dostosowaniem tego języka do różnych kategorii programistów, którzy mogą mieć specyficzne dla domeny dialekty języka.
Jeśli oceniać możliwości tego języka, Algol-68 już teraz wyprzedza wiele języków programowania pod względem swoich możliwości, jednak ze względu na fakt, że nie ma wydajnych komputerów dla tego proceduralnego języka programowania, nie było jeszcze możliwe stworzenie wysokiej jakości i szybkiego kompilatora.
Jak powstał słynny BASIC?
Proceduralne języki programowania obejmują również znany na całym świecie BASIC. W połowie lat sześćdziesiątych pracownicy Dartmouth College, Thomas Kurtz i John Kemeny, opracowali unikalny język programowania, który wywrócił wszystko do góry nogami na świecie. Składał się z najprostszych angielskich słów, a nowy język został uznany za uniwersalny kod dla początkujących, czyli BASIC. Rok urodzeniaUważa się, że ten język to 1964. BASIC stał się szeroko rozpowszechniony na PC w interaktywnym trybie dialogowym. Dlaczego BASIC stał się tak popularny? Wszystko dzięki temu, że opanowanie było jak najłatwiejsze, dodatkowo język pomagał rozwiązywać wiele różnych zadań naukowych, ekonomicznych, technicznych, związanych z grami, a nawet codziennych. BASIC miał inne domyślne reguły, co jest obecnie uważane za oznakę złego gustu w programowaniu. Potem na świecie pojawiło się wiele wersji tego języka, które często są niekompatybilne, jednak rozumiejąc jedną z wersji, można łatwo opanować drugą. Oryginalna wersja miała tylko interpreter, ale teraz jest też kompilator.
We wczesnych latach sześćdziesiątych wszystkie istniejące wówczas języki koncentrowały się na rozwiązywaniu różnych problemów, ale były również związane z konkretną architekturą komputerową. Uznano to za wadę, dlatego postanowiono opracować uniwersalny język programowania.
PL/1
Jest to pierwszy uniwersalny język uniwersalny, który został stworzony w USA przez IBM. Lata powstania 1963-1966. Uważa się, że jest to jeden z najpopularniejszych języków, jest przystosowany do rozwiązywania wielu problemów z zakresu technologii komputerowych: planowanie, badanie różnych procesów obliczeniowych, modelowanie i rozwiązywanie problemów logicznych, badanie obwodów logicznych, rozwój systemów oprogramowania matematycznego.
Kiedy powstawał PL/1, w praktyce wykorzystywano różne koncepcje i narzędzia z Algol-60, Fortran, Cobol. PL/1 jest uważany za najbardziej elastyczny i najbogatszy język, na to pozwalatworzyć wstawki, poprawiać gotowy tekst programu nawet podczas debugowania. Język jest szeroko rozpowszechniony, a tłumacze z niego są wykorzystywani w wielu typach komputerów. IBM nawet teraz nadal wspiera ten język.
Pascal
Pascal to bardzo popularny język proceduralny, używany zwłaszcza na komputerach osobistych. Ten proceduralny język programowania został stworzony jako język edukacyjny, lata jego powstania to 1968-1971. Opracowany przez Niklausa Wirtha w ETH w Zurychu. Ten język programowania został nazwany na cześć wielkiego francuskiego matematyka i filozofa Blaise'a Pascala. Głównym zadaniem Wirtha było stworzenie języka, który byłby oparty na najprostszej składni, niewielkiej liczbie podstawowych struktur, które są przekształcane w kod maszynowy za pomocą konwencjonalnego kompilatora. Warto dodać, że mu się udało.
Proceduralny paradygmat programowania Pascal opiera się na następujących zasadach:
- Programowanie strukturalne. W tym przypadku stosuje się podprogramy, niezależne struktury danych. Programiście udaje się stworzyć czytelny kod, zrozumiałą strukturę programu, upraszcza testowanie i debugowanie.
- Programowanie zbudowane od góry do dołu. Zadanie podzielone jest na proste zadania do rozwiązania, a na podstawie skonstruowanych podzadań budowane jest już ostateczne rozwiązanie zadania ogólnego.
Język C
Programowanie proceduralne w języku C opracowane przez Bell Labs w celu wdrożenia systemu operacyjnego UNIX, pierwotnie nie uważane zamasa. Twórcy mieli w planach po prostu zastąpienie Assemblera, ale pojawił się tylko osobny język C. Jest wyjątkowy, ponieważ ma możliwości języków programowania wysokiego poziomu, a jednocześnie ma środki na dostęp do relacji funkcjonalnych. Język C nie ma koncepcji procedury, składnia jest dość prosta, nie ma ścisłego typowania danych, uwzględniono możliwość wyrażenia kilku działań naraz. Język ten od razu przyciągnął uwagę programistów, dając im dodatkowe możliwości tworzenia ciekawych programów. Do tej pory język C jest dość popularny, jest szeroko stosowany przez profesjonalistów w programowaniu. Teraz jest zaimplementowany na wielu platformach komputerowych.
Co jest specjalnego w językach proceduralnych?
Jest ich tylko kilka, więc warto o każdym z nich porozmawiać. To jest:
- Moduł. Fragment programu, który jest zapisany w osobnym pliku. Moduł implementuje zestaw opcji, które są powiązane z określonymi zmiennymi, stałymi lub obiektami.
- Funkcja. Jest to kompletny, niezależny fragment kodu, który rozwiązuje konkretny problem.
- Typ danych. Ta koncepcja mówi o pewnej tablicy informacji, która jest zdefiniowana dla jednego typu.
Różnice między programowaniem proceduralnym a obiektowym
Wielu programistów wie, że proceduralne i obiektowe języki programowania są wykorzystywane w praktyce podczas tworzenia oprogramowania lub aplikacji internetowych. Jaka jest różnica? Wszystko jest proste, proceduralne i przedmiotoweprogramowanie zorientowane jest stosowane wszędzie w praktyce, ale istnieją pewne charakterystyczne punkty. W trakcie pracy programista, stawiając sobie konkretne zadanie, rozkłada je na drobne, wybiera do realizacji określone konstrukcje językowe (pętle, funkcje, gałęzie, operatory strukturalne). Oznacza to, że specjalista kieruje się programowaniem proceduralnym.
OOP zawiera pojęcie "obiektu", w przeciwnym razie są one również nazywane instancjami klas, ponieważ wiele jest dziedziczonych z klasy. Dziedziczenie to kolejna z wyróżniających zasad OOP.
Języki proceduralne i funkcjonalne
Programowanie proceduralne i funkcjonalne są takie same, czy nie? Programowanie funkcjonalne nastawione jest na rozwiązywanie problemów w matematyce dyskretnej, podczas gdy programowanie proceduralne jest pojęciem nieco szerszym i obejmuje wiele języków programowania do rozwiązywania określonych typów problemów.
Co wybrać dla siebie?
Wiele proceduralnych języków programowania jest przestarzałych. Owszem, część z nich wciąż jest ulepszana, ale i tak warto zwrócić uwagę tylko na część z nich. Np. język C. Jest dziś na świecie powszechny, wiele nowoczesnych platform zbudowanych jest specjalnie w języku C, więc jeśli chcesz rozwijać się w dziedzinie programowania, to powinieneś lepiej poznać język C. Jednak, możesz wybrać dla siebie coś innego, niekoniecznie związanego z proceduralnymi językami programowania.