Jezyki_skryptowe.pdf
(
361 KB
)
Pobierz
112797371 UNPDF
Opis i zestawienie popularnych,
multiplatformowych,
skryptowych języków
programowania
K.Dzwinel, P.Figiel, W.Jakubowski
1/15
1. Spis rzeczy
1 Spis rzeczy
2 Wstęp
3 Opisy poszczególnych języków
3.1 Bash
3.1.1 Ogólnie
3.1.2 Historia
3.1.3 Składnia
3.1.4 Zastosowania
3.1.5 Przykład
3.1.6 Linki
3.2 JavaScript
3.2.1 Ogólnie
3.2.2 Historia
3.2.3 Zastosowania
3.2.4 Składnia
3.2.5 Przykład
3.2.6 Linki
3.3 Perl
3.3.1 Ogólnie
3.3.2 Historia
3.3.3 Zastosowania
3.3.4 Składnia
3.3.5 Przykład
3.3.6 Linki
3.4 PHP
3.4.1 Ogólnie
3.4.2 Historia
3.4.3 Zastosowania
3.4.4 Składnia
3.4.5 Przykład
3.4.6 Linki
3.5 Python
3.5.1 Ogólnie
3.5.2 Historia
3.5.3 Zastosowania
3.5.4 Składnia
3.5.5 Przykład
3.5.6 Linki
4 Zestawienie opisywanych języków
5 Indeks alfabetyczny
2/15
2. Wstęp
Tytułem wstępu chcielibyśmy zaznaczyć, że nie jesteśmy ekspertami w programowaniu w
jakimkolwiek z opisywanych przez nas języków. Co więcej nasza znajomość z Pythonem i Perlem
rozpoczęła się właśnie od prac nad tym artykułem. Tym niemniej w naszym tekście opieraliśmy się
jedynie na potwierdzonych danych z pewnych źródeł. Mamy nadzieję, że forma w jakiej
przedstawiamy zebrane przez nas wyniki będzie klarowna dla każdego czytelnika który posiada
przynajmniej podstawowe umiejętności programistyczne.
Zadaniem naszego artykułu nie jest nakłonienie czytelnika do korzystania z któregokolwiek z
opisywanych języków, nie jest też jego celem opisanie całej składni czy też wnikanie w szczegóły
semantyki języka. Nasza praca ma zaprezentować popularne, multiplatformowe języki programowania
i porównać je pod względem praktycznego zastosowania.
Układając koncept pracy postanowiliśmy podzielić opis każdego języka na kilka zagadnień. Pod
hasłem “Ogólnie” staraliśmy się zawrzeć jednolinijkowy, formalny opis właściwości języka. W
“Historii” czytelnik znajdzie podstawowe fakty dotyczące powstawania i rozwoju języka, jest to
przeważnie ściśle związane z jego zastosowaniem i popularnością. “Zastosowania” to próba
odpowiedzi na pytanie “Po co powstał dany język?”. Można tutaj znaleźć informacje na temat
sposobów wykorzystania języka i jego popularności w danej dziedzinie. W “Składni” staraliśmy się
przybliżyć budowę i podkreślić specyficzne własności języka na tym polu, często odwołujemy się tutaj
do porównań z ANSI C. “Przykład” jest prostym programem z dokładnym opisem linijka po linijce, w
ten sposób chcemy zaprezentować czytelnikowi “żywy” kod, który jest faktycznie wykorzystywany.
Na końcu każdego opisu w “Linkach” zainteresowany czytelnik może znaleźć odnośniki do miejsc z
których dowie się więcej na temat danego języka.
Podsumowaniem artykułu jest tabela z rozdziału 4 w której dokonaliśmy obiektywnego
zestawienia opisanych języków. W rozdziale 5 znajduje się praktyczny indeks alfabetyczny terminów i
nazw użytych w całym artykule.
życzymy miłej lektury,
Autorzy
3/15
3.1 Bash
3.1.1 OGÓLNIE
Język skryptowy powłoki Bash.
3.1.2 HISTORIA
Bash to najpopularniejsza powłoka systemowa, systemów uniksowych. Wywodzi się od starszej o 10
lat powłoki Bourne'a sh. Bash został napisany w 1987 roku przez
Briana Foxa
a od roku 1990
opiekuje się nim
Chet Ramey
. Bash jest udostępniany na licencji
GPL
.
3.1.3 ZASTOSOWANIA
Bash przede wszystkim został stworzony i jest wykorzystywany do efektywnego zarządzania
systemem. Pozwala on tworzyć np. administratorom skrypty zawierające ciągi poleceń, wykonanie
takiego skryptu oszczędza czas który byłby potrzebny do “ręcznego” wywołania każdego z poleceń. Co
więcej skrypt taki może być wywoływany co jakiś określony czas np. w celu dostosowania zegara
systemowego do czasu na serwerach np czy też w celu sprawdzenia poprawności dysku. Programy
napisane w bashu są również często wykonywane automatycznie w odpowiedzi na jakąś akcję np.
wywołanie zamknięcia systemu uruchomi skrypt zabijający managera okien.
Bash jest podstawową powłoką nie tylko w większości dystrybucji systemu
Linux
, ale również we
wszystkich systemach
Mac OS X
od wersji 10.3. Pod windowsem Bash jest dostępny poprzez program
Cygwin
.
3.1.4 SKŁADNIA
Składnia Basha jest dosyć specyficzna ponieważ opiera się w większości na wykonywaniu poleceń
systemowych. W bashu bloki są wydzielane poprzez słowa kluczowe np. pętle zaczyna słowo do a
kończy słowo done. Końcem polecenia jest koniec linii, nie stosuje się średnika. Dostępne pętle to: for,
while, until i select. Na uwagę zasługuje tutaj funkcja select z którą nieczęsto spotykamy się w
językach programowania, pozwala ona w pętli wybierać kolejne elementy z podanej listy i wstawiać je
pod zmienną iteracji, co schematycznie wygląda tak:
select zmienna in lista
do
polecenie
done
Dostępne instrukcje warunkowe to if i case.W tym miejscu muszę napisać kilka słów o sprawdzaniu
warunków, jednak wcześniej słowo o zmiennych. Zmienne deklarujemy poprzez przypisanie x=10 albo
x='tekst' w dowolnym miejscu programu bez określania typu zmiennej, do zmiennych odwołujemy się
poprzez znak '$' np. echo $x. Chcąc sprawdzić np czy zmienna $a jest nie większa od $b musimy
zapisać [$a -le $b], nazwa polecenia oczywiście nie jest przypadkowa, pochodzi od 'less or equal',
jednak wymaga pamiętania. Plusem takiego sposobu sprawdzania warunku jest różnorodność opcji:
możemy sprawdzić za pomocą jednego polecenia czy plik o ścieżce określonej w zmiennej istnieje, czy
jest przeznaczony do zapisu, czy jest niezerowy itd.Bash nie jest przeznaczony do prowadzenia
obliczeń algebraicznych, działania odbywają się na liczbach całkowitych i nie jest prowadzona
kontrola przepełnienia. Tym niemniej da się coś policzyć:
wynik=$[4*5/2]
numer=$((numer+1))
4/15
W bashu możemy również analizować i przekierowywać informacje z wywoływanych programów np.
poprzez zapisywanie wyników ich działania do zmiennych (przykład) czy też przekierowania na np.
standardowe wyjście błędów (stderr).
3.1.5 PRZYKŁAD
1:
#!/bin/bash
2:
RED
=
'\e[1;31m'
3:
GREEN
=
'\e[1;32m'
4:
NORM
=
'\e[0m'
5:
i
=102;
6:
while
[
$i
!= 108 ];
do
7:
echo
-ne
"Connection to the 192.168.1.
${i}
\t\t"
8:
CHECK
=`
ping
-c 1 192.168.1.
$i
|
grep
'bytes from'
`
9:
if
[
"
$CHECK
"
!=
""
];
then
10:
echo
-e
"
${GREEN}
OK
${NORM}
"
11:
else
12:
echo
-e
"
${RED}
FAILED
${NORM}
"
13:
fi
14:
i
=
$[i+1];
15:
done
Ten skrypt napisałem, żeby mieć możliwość szybkiego sprawdzenia domowej sieci lokalnej. Pozwala
on określić nie tylko które komputery są podłączone (a więc kto jest w domu), ale również jakie
zostało im przydzielone IP.
I tak w linii
1
deklarujemy, że nasz skrypt jest skryptem bash. W liniach
2-4
tworzymy zmienne w
których zapisujemy interesujące nas kolory (czerwony, zielony i 'normalny' czyli biały) – dzięki temu
będziemy mogli wygodnie wypisać na konsolę kolorowy tekst. W linii
5
tworzymy zmienną 'i' która
będzie nam potrzebna do pętli. Zmiennej '
i
' przypisuję wartość 102 a w warunku pętli (linia
6
) ustalam,
że '
i
' musi być różne od 108. W ten sposób uzyskam w pętli liczby z zakresu <102,108>. W linii
7
za
pomocą
echo
(z parametrami n – brak znaku następnej linii i e – możliwość kolorowania i używania
tabulatorów) wypisuję tekst “Connection to 192.168.1.” a następnie nasze '
i
' i dwa tabulatory.
W linii
8
jest wykonywany program ping który wysyła pakiet kontrolny pod zadany IP (zadeklarowany
“na sztywno” jego początek “192.168.1.”oraz nasze '
i'
z <102,108>). Z wyniku są wybierane linie
zawierające ciąg 'bytes from' (zajmuje sie tym program
grep
) a następnie zwracane są do nowej
zmiennej
CHECK
. Jeżeli
CHECK
jest pusty (linia
9
) to znaczy, że nie otrzymano odpowiedzi spod
danego IP – wypisujemy więc czerwone
FAILED
. Jeżeli było by inaczej (linia
11
) to wypisujemy
zielone
OK
. Następnie zwiększamy o 1 nasze '
i
'(linia
14
) i powtarzamy procedurę dla kolejnych
numerów IP.
3.1.6 Linki
Główna strona języka Bash
http://www.gnu.org/software/bash/bash.html
Kurs Basha po polsku
http://www.republika.pl/dief/main.html
5/15
Plik z chomika:
deskowy
Inne pliki z tego folderu:
Jakub Swacha- Kurs Programowania W Języku Python.rar
(100 KB)
Python 3. Kompletne wprowadzenie do programowania. Wydanie II.pdf
(12509 KB)
slug-09-python-cz-2-[miner].avi
(701524 KB)
slug-09-python-cz-1-[miner].avi
(717088 KB)
ActivePython-2.6.2.2-win32-x86.msi
(31964 KB)
Inne foldery tego chomika:
C++
FILMY HACKING
hacking i infa
Programowanie2
Sieci
Zgłoś jeśli
naruszono regulamin