Niekończąca się debata. Czym różni się kodowanie od programowania?

Share on facebook
Share on twitter
Share on linkedin
Czas czytania: 4 min.

W erze cyfrowej już wszystkie pokolenia natknęły się na dwa terminy: kodowanie i programowanie. Zwykle używane zamiennie. Panuje przekonanie, że koderzy i programiści to określenia właściwie bez różnicy. 

A wcale że nie. Uwaga: artykuł w przystępnym języku dla opornych.

Dzisiejszy tekst opieramy o jasne wyjaśnienie różnicy pomiędzy kodowaniem a programowaniem oraz o to, jak osiągnięcia z tych dziedzin współpracują przy tworzeniu aplikacji, stron i nie tylko. Przyjrzyjmy się razem temu, jak kodowanie odgrywa kluczową rolę w całym procesie programowania.

Co na ten temat PWN?

Zacznijmy od definicji słownikowych, a później spróbujemy dokonać rozgraniczenia poprzez wskazanie różnic. Za Wielkim słownikiem ortograficznym PWN programowanie to pisanie programów komputerowych; ustawianie, najczęściej automatycznie, parametrów pracy jakiegoś urządzenia; wreszcie: układanie programu jakiegoś działania, np. imprezy. Ta ostatnia część definicji wiążę się z czymś „programowym”, a więc posiadającym jakiś program, i jest raczej rozbieżna z naszym dzisiejszym tematem.

Kodowanie to natomiast przetwarzanie informacji na kod albo oznaczanie czegoś umownymi znakami zawierającymi określone informacje. Tu cytat niedokładny, ale definicja także pochodzi z PWN. Patrząc na kodowanie jako pierwszy krok wprowadzenia do programowania i jego początkowy etap można powiedzieć, że programowanie to bardziej zaawansowana wersja kodowania, ale to nie wyczerpuje tematu. Trzeba wniknąć w sprawę głębiej.

Co to jest kodowanie?

Kodowanie to właściwie akt, a według niektórych sztuka, tłumaczenia kodów z języka ludzkiego na język maszyny. Może być również nazywany podzbiorem programowania, ponieważ jest podstawą programowania. Koder powinien być wielojęzyczny, i nie mówimy tu o albańskim i suahili – musi pisać kody w różnych językach programowania, takich jak Java, C, Python, R w oparciu o ich wymogi i specyficzną składnię. Z pomocą kodów możemy dostarczyć instrukcję i informacji do komputera.

Trzy wspólne składniki większości języków programowania:

  • Składnia kodu – z angielskiego syntax, czyli zasady, których należy przestrzegać podczas pisania kodu. Trochę jak ortografia i inne zbiory zasad tradycyjnie włączane w zbiór gramatyki.
  • Kompilator do konwersji kodu na odpowiedni kod maszynowy, – z angielskiego compiler. To program-pomocnik, który automatycznie tłumaczy kod źródłowy napisany przez kodera na kod w innym języku, czyli kod wynikowy.
  • Wykonanie kodu – z angielskiego execution. 

Kodowanie polega zatem na pisaniu kodu w celu stworzenia programu. 

Każdy rodzaj aplikacji, strony internetowej lub gry jest programem.

Co to jest programowanie?

Programowanie to proces tworzenia wykonywalnego programu komputerowego, który powinien być zrealizowany bez żadnych błędów. Zadaniem programisty jest przeanalizowanie problemu w kodzie i dostarczenie rozwiązania. W celu opracowania takich wniosków, które będą w ogóle komukolwiek do czegoś przydatne, należy wykonać kilka kroków. Są to:

  • planowanie aplikacji,
  • zaprojektowanie jej,
  • testowanie jej funkcji,
  • wdrożenie ich,
  • utrzymanie prawidłowego działania po zakończeniu.

Można więc uczciwie powiedzieć, że programowanie to nie tylko samo kodowanie, ale także implementacja algorytmów i wiele więcej. Prościej: ustawiasz budzik w telefonie, aby obudził Cię o  szóstej siódmej ósmej dziesiątej rano, a dzieje się to dzięki realizacji właściwego kodu. Nie programujesz urządzenia od nowa, ale wybierasz napisany już program. Program już wcześniej napisano, a Ty masz wolność wyboru w zasięgu jego możliwości i funkcji. „Programujesz” funkcję telefonu albo pralki, owszem, ale nie programujesz samego programatora. Jasne?

Różnice między kodowaniem a programowaniem

Podstawowa różnica. Kodowanie jest częścią programowania, która zajmuje się pisaniem kodu, a który maszyna może przetłumaczyć. Programowanie to proces tworzenia programu, który jest zgodny z pewnymi standardami i wykonuje określone zadanie. Powtarzając tezę z początku artykułu: programowanie jest bardziej złożone i zwykle „zawiera w sobie” element codingu.

Narzędzia. Kodowanie nie wymaga tak wielu narzędzi, ponieważ jest to akt tłumaczenia kodu na formę czytelną dla maszyny. Wystarczy prosty edytor tekstu, taki jak Notepad lub bardziej złożony Sublime Text. Ale koder musi znać szczegóły składni swojego języka programowania. Programowanie wymaga natomiast wykonywania przeglądów i analiz dokumentów wraz z kodowaniem, a to wymaga dodatkowych narzędzi. Narzędzia obejmują analizę kodu, generatory kodu, bazy danych, frameworki testujące, kompilatory, projektowanie GUI, asemblery, debuggery i algorytmy modelujące. Potrzeba niemałego doświadczenia, aby posiąść umiejętności zręcznego operowania z nimi. Programista powinien też rozumieć i tworzyć złożone struktury danych. 

Wiedza specjalistyczna. Koderzy powinni posiadać podstawową wiedzę na temat języków programowania, ich składni i słów kluczowych. Programiści powinni mieć doświadczenie w tworzeniu algorytmów, modelowaniu problemów, przetwarzaniu danych i zarządzaniu projektami. To tylko niektóre z potrzebnych umiejętności praktycznych. Przyda się tu także wyobraźnia i umiejętności analityczne, które pomagają w rozwiązywaniu konkretnych problemów.

Rezultaty. Oczekiwany rezultat kodowanie to możliwie proste rozwiązanie lub udana niewielka część projektu. Kod działa jak zestaw instrukcji przekazywanych komputerowi. Udane programowanie powinno stworzyć całą aplikację, oprogramowanie lub stronę internetową, które będą gotowe do użycia.

Kodowanie i programowanie razem

Znamy już ramowe różnice pomiędzy tymi dwoma terminami. Dlaczego wciąż są takie mgliste? Cóż, według wielu debata jest wydumana. Równie wielu jest tych, którzy lubią w języku i w definicjach porządek, i biorą pod uwagę wszystkie aspekty semantyczne, czyli znaczenia, danego słowa. To tak jak z piłkami: nożna od nóg, które się w nią gra, tak samo jak ręczna, ale już: siatkowa i koszykowa, czyli od przyrządów.

 Czy zatem można pogodzić te dwie definicje, i czy kodowanie i programowanie współpracują ze sobą w celu wykonania różnych zadań? Jasne, że tak. Tworzymy aplikację do monitorowania czegoś rutynowego i codziennego. Na przykład ulepszamy działanie domowego ekspresu. Najpierw programista będzie musiał:

  • zaplanować strukturę aplikacji,
  • spisać jej aplikacje,
  • zaprojektować ją,
  • pomyśleć o innych funkcjach, które powinny lub mogłyby być zawarte w aplikacji.

Gdy już sobie poradzi, przekazuje sprawę koderowi. Przychodzi koder i przekształca te pomysły w kod, który komputer może zrozumieć. Po tym czarodziejskiej transformacji znów czas na programistę, który „przejdzie” ponownie przez kod, wykona  debugging (redukcja błędów) i przetestuje, czy całość po uruchomieniu nie wysadzi nam kuchni w powietrze. Dwie dziedziny, a właściwie dwie grupy fachowców, połączyli się we wspólnym celu stworzenia czegoś pożytecznego.

Książki dla programistów

Jak pokazuje doświadczenie, porządek musi być nie tylko w kodzie programu, ale też w języku. Z naszej strony na zakończenie możliwie ogólna zachęta: jeżeli interesuje Was zapamiętywanie i rozumienie rzeczy, to warto zwrócić swoje oczy i starania ku programowaniu i kodowaniu. Zawsze się przyda.

Podziel się:

Share on facebook
Share on linkedin
Share on twitter
Oskar Pacelt

Oskar Pacelt

Autor i redaktor ponad 200 wpisów na Botland Blog. Wierzy, że udany tekst jest jak list wysłany w przyszłość. W życiu najbardziej interesuje go prawda, pozostałych zainteresowań zliczyć nie sposób. Zajmuje się ciekawostkami ze świata technologii i nauki. Najlepszy pływak w Botland.

Zobacz więcej:

Dodaj komentarz

Twój adres email nie zostanie opublikowany.