Java Script - Lekcja 1.1.   Wstęp: algorytm, programowanie, język


Zanim przystąpimy do omówienia języka JavaScript spróbujmy odpowiedzieć na kilka pytań:

- co to znaczy  programowanie ?
- co to jest  język programowania ?
- co to jest  algorytm ?

Potocznie ujmując sprawę, z programowaniem mamy do czynienia wtedy kiedy jakieś czynności mają być wykonywane według ustalonego sposobu (przepisu). Przepis powinien podawać informację co i w jakiej kolejności powinno być zrobione aby cel został osiągnięty.

Wykonanie programu wiąże się zatem z osiągnięciem jakiegoś ostatecznego celu, ale nie koniecznie, gdyż celem może być także samo utrzymanie określonej aktywności.

Wykonawcą programu może być człowiek lub maszyna. W każdym przypadku aby móc przekazać informacje o tym co i jak ma być wykonane do umożliwienia komunikacji potrzebny jest język.

Ustalony sposób wykonywania określonych czynności dla osiągnięcia jakiegoś celu to właśnie algorytm. Z algorytmami mamy
do czynienia na każdym kroku, jest nim zarówno recepta na ciasto, instrukcja ustawiania telefonu komórkowego i treść programu komputerowego.

Algorytm musi być zrozumiały dla wykonawcy oraz skuteczny. W tym celu powinien zostać przekazany (napisany) w zrozumiałym dla wykonawcy języku i skonstruowany tak aby osiągnięcie celu było możliwe w sensownie krótkim czasie.

W tym kontekstcie program to przepis wykonania czyli algorytm wyrażony (napisany) w języku programowania, natomiast programowanie to konstruowanie algorytmów i zapisywanie ich w języku programowania. JavaScript jest jednym z takich języków.

Co jest, może być, a co nie jest lub nie może być programowalne? - szukaniem odpowiedzi na takie pytania zajmuje się informatyka/matematyka choć wydaje się, że pytania mają charakter raczej filozoficzny niż naukowy. Biorąc bowiem pod uwagę fakt, że z naukowego punktu widzenia mogą istnieć prawdy, których nie da się udowodnić oraz, że zjawisko życia także jest przejawem wykonywania pewnych programów (genetycznych), na pytania takie wbrew pozorom odpowiedzieć jest bardzo trudno...

Komputer jest maszyną, która wykonuje przekazany jej w języku programowania algorytm. Aby komputer mógł wykonywać swoje zadania wyposażono gą w możliwość wykonywania obliczeń, umiejętność podejmowania decyzji w wyniku dokonywanych operacji logicznych, zdolność komunikowania się z otoczeniem (interface) oraz pamięć i inne urządzenia do zapisywania i odczytywania danych oraz wykonywania innych dowolnych operacji.

Wszystkie operacje komputera dokonują się na bazie wprowadzonych danych.
Dane mogą być wprowadzane wraz z programem, a także dostarczane mu w trakcie jego wykonywania przez urządzenia wejścia, klawiaturę, myszkę, a także rozmaite podłączone do komputera urządzenia pomiarowe, sensory i czujniki jeśli komputer pracuje w systemie nadzoru czy sterowania.

Charakter tych danych może być różny. Może to być obraz z kamery, tekst, elementy strony WWW, dane liczbowe o warunkach jakiegoś procesu, lub informacje o zaistnieniu zdarzeń zewnętrznych powodowanych przez operatora lub dostarczanych przez urządzenia zewnętrzne.

Wyniki operacji komputera są przekazywane do urządzeń wyjściowych w celu wykonania jakiegoś określonego działania. Działanie to może mieć charakter prezentacyjno- informacyjny, a także może prowadzić do wykonania określonych czynności.

W trakcie oglądania stron WWW komunikacja z komputerem odbywa się zazwyczaj jedynie za pośrednictwem myszki i klawiatury, a rezultaty są prezentowane na ekranie monitora.
Do komputera dołączona jest drukarka, głośniki, czasami kamera. Liczba urządzeń zewnęrznych będzie jednak wzrastać i znajdą się wśród nich zarówno nowe urządzenia dostarczające danych jak też urządzenia wykonawcze. Ma to już miejsce w systemach typu virtual reality, które prawdopodobnie już wkrótce będą dostępne powszechnie przez Internet. Wymagać to będzie tworzenia nowych programów.

Obecnie programy na stronach WWW dostarczają nam głównie informacji wizualnej i dźwiękowej. Informacje te są prezentowane na ekranie monitora w postaci tekstu i grafiki. Lista możliwości JavaScript jest imponująca, jednakże ogranicza się ona do przeglądarki i dokumentu WWW.

JavaScript nie ma w zasadzie dostępu do plików na komputerze, niewiele może zdziałać w sieci, nie ma bezpośredniego dostępu do ekranu, Nie posiada zatem cech samodzielnego języka programowania. Jej możliwości graficzne, w odróżnieniu od języka Java ograniczają się do dynamicznego generowania stron WWW i manipulowania elementami stron. Pomimo tego, korzystając z przygotowanych wcześniej elementów graficznych, można tworzyć animacje, prezentacje i gry.

Aby tworzyć algorytmy, dzięki którym komputer wykona określone zadanie co sprowadza się najczęściej do zaprezentowania wyniku na monitorze nauczymy Cię budowania modeli matematycznych mających się dokonać zdarzeń. To brzmi tajemniczo ale jest proste i znane nam od szkoły podstawowej. Robiliśmy to rozwiązując proste zadania matematyczne zastanawiając się czemu to jeszcze może służyć.

Umiejętności kombinowania przy rozwiązywaniu zadań przydadzą nam się teraz. Bazując na tym, że praktycznie każde zjawisko można opisać za pomocą liczb i formuł matematyki, będziemy układać zadania i eksperymentować na utworzonych w ten sposób modelach , obliczać, symulować itd.

W trakcie nauki JavaScript nauczysz się tworzyć programy na każdą okazję jaką może być rozrywka, nauka i komunikacja, wchodząc stopniowo w fascynujący świat programowania. Stanie się on być może Twoją pasją.

Wprowadzenie do JavaScript

Java Script jest językiem interpretowanym to znaczy poszczególne polecenia Twojego skryptu są odczytywane, zamieniane na język zrozumiały dla procesora w komputerze i wykonywane jedne po drugich. Interpreter to program, który nie tłumaczy całego Twojego skryptu na język procesora, ale robi to fragmentami. Napisany przez Ciebie program działa zatem wolniej niż w przypadku języków kompilowanych, gdzie cały program najpierw jest tłumaczony na język procesora, zapisywany w tym języku, a następnie może być znacznie szybciej wykonywany.

JavaScript jest językiem zorientowanym obiektowo. Jest to nowoczesna metoda pisania programów komputerowych. Pomimo pewnych uproszczeń dzięki JavieScript zapoznasz się z zasadami tej metody programowania.

Obiektowość polega nie tyle na zmianie samej techniki programowania co na nowym sposobie myślenia o programowaniu. Zamiast przekształcać zadanie w formę możliwą do przyswojenia przez komputer staramy się przystosować środowisko jakim jest komputer do wykonywania naszego zadania. Programowanie obiektowe jest zatem modelowaniem rzeczywistych bytów w postaci obiektów istniejących i działających w środowisku komputera.

Tradycyjne programowanie polegało na tworzeniu procedur i organizowaniu działania tych procedur na danych, zwracania wyników tworzeniu kolejnych procedur itd. Stworzony w programie obiekt jest niezależnym bytem posiadającym określone cechy (właściwości) oraz własne procedury zachowań (metody), może być zatem użyty w różnych sytuacjach. Sam potrafi zmienić swoje dane i zachowywać się stosownie do otrzymywanych komunikatów.

Obiekt może być prosty lub złożony. Znaczy to, że może składać się z innych obiektów mających swoje własne właściwości i metody.