TI/TIiK: Informacje wstępne

Z Brain-wiki

Narzędzia

Python

Python

Programowania nie da się nauczyć — nawet z najlepszych materiałów — na dzień przed egzaminem czy kolokwium. Programowanie to nie tylko wiedza o składni i regułach języka, ale przede wszystkim umiejętność ich stosowania w praktyce, którą można posiąść tylko pisząc programy.

Dlatego właśnie zachęcamy Was do zainstalowania Pythona na Waszych komputerach — abyście mieli możliwość ćwiczenia nie tylko w czasie zajęć.

W odróżnieniu od niektórych pakietów stosowanych w obliczniach naukowych, jak np. Matlab(R) czy Mathematica(R), interpretery języka Python dostępne są na otwartych licencjach — czyli również za darmo — dla wszystkich ważniejszych systemów operacyjnych. O tym jak to możliwe, że najwyższej jakości Wolne Oprogramowanie (ang. Free Software) dostępne jest dla wszystkich za darmo i z kodem źródłowym, i dlaczego podkreślamy wolne jak w słowie 'wolność' ("free as in "freedom", not "free as in free beer") możecie się dowiedzieć się z rozdziału Otwarte Źródła, GNU i wolność oprogramowania. Na razie wystarczy wiedza, że Pythona dla Windows, macOS czy GNU/Linuksa możemy ściągnąć z Internetu legalnie i za darmo. Warto tylko pamiętać, że używać będziemy wersji 3.xx Pythona. Nieważne, co stoi po "3" — może być 3.2, 3.4 czyli 3.x. Ważne, że w poprzednich wersjach różniących się głównym numerem, czyli 2.xx (ostatnią stabilną wersją była 2.7) różni się trochę składnia języka, więc nie wszystkie polecenia których uczycie się na ćwiczeniach będą działać tak samo.

Te informacje powinny Wam wystarczyć do zainstalowania Pythona na swoim komputerze domowym, w Waszym ulubionym systemie operacyjnym. Na ćwiczeniach będziemy używać Pythona w systemie GNU/Linux. Linux to również Wolne Oprogramowanie, które możecie ściągnąć i legalnie za darmo zainstalować na swoim komputerze.


Mathematica

Mathematica to komercyjny pakiet, zaprojektowany oryginalnie do obliczeń symbolicznych. Wydział Fizyki UW wykupuje regularnie licencję, informacje dostępne są pod adresem https://www.fuw.edu.pl/oprogramowanie-licencje.html#mathematica

LaTeX

Nie za krótkie wprowadzenie do systemu LaTeX

System operacyjny

ENIAC: Electronic Numerical Integrator And Computer: szukanie "buga", zdjęcie z 1947

Komputer, klawiatura i monitor to sprzęt (hardware). System operacyjny to pierwszy i najważniejszy program (software), który startuje po uruchomieniu komputera i służy głównie do uruchamiania wszystkich innych programów oraz zarządzania plikami i procesami. Inne programy, np. edytor tekstów czy przeglądarka Internetu, są tworzone dla konkretnego systemu, tak jak system operacyjny dla konkretnego komputera.

W czasach pierwszych komputerów, działających na lampach i zajmujących wielkie pomieszczenia, tak drogim i ważnym sprzętem opiekował się non-stop operator. Do jego obowiązków należało m.in. przyjmowanie od użytkowników zadań, czyli programów, które miały być na komputerze wykonane/przeliczone (wejście) i oddawanie odpowiednim użytkownikom wyników — najczęściej w formie wydruków. Dzisiaj operatora zastępuje system operacyjny.

Terminal

Terminal (klawiatura i monitor tekstowy) komputera K-202

...to okienko, w którym wpisujemy komendy intepretowane przez system operacyjny, a konkretnie powłokę systemową (shell). Te okienka to formalnie emulatory terminali, bo historycznie terminal to było urządzenie (najczęściej monitor i klawiatura), za pomocą którego można się było komunikować z komputerem wyłącznie w trybie tekstowym. Pomimo tego, że współczesne komputery oferują w pełni graficzny interfejs, wiersz poleceń to wciąż w wielu przypadkach najefektywniejszy i najnaturalniejszy sposób komunikacji z systemem operacyjnym i uruchamiania programów.

Emulator terminala (urxvt) do którego użytkownik wpisał komendy uname (podaje wersję systemu), uptime (podaje czas jaki upłynął od startu komputera) i fortune (emuluje ciasteczko w chińskiej knajpie). Po wykonaniu każdej komendy wyświetlany jest (w tym przypadku) czerwono-niebieski znak gotowości (ang. prompt).

W przypadku systemów Uniksowych — do których należy GNU/Linux — podstawowe polecenia pozostają niezmienione od zarania dziejów (tzn. od zarania dziejów Uniksa), czyli od roku 1969. I wszystko wskazuje na to, że pozostaną z nami jeszcze przez wiele lat, więc wiedza na ich temat nie zdeaktualizuje się za szybko. Jest to ciekawe samo w sobie w świecie, w którym interfejs programów (nie tylko systemów operacyjnych) zmienia się czasami znacząco nawet z wersji na wersję.

Co to za zaklęcia?

Listę ważniejszych poleceń Uniksa znajdziesz np. w Wikipedii. Ogólnie:

  • Na początku zawsze musimy wpisać nazwę programu albo polecenia systemowego. Po wciśnięciu Enter program — jeśli takowy jest w systemie zainstalowany, a dostęp do katalogu w którym się znajduje jest uwzględniony w tzw. ścieżce (PATH) — powinien się uruchomić.
  • Po spacji — przed wciśnięciem Enter — możemy też wpisać:
    • argment(y), czyli np. nazwę pliku którą ma od razu otworzyć wywołany program, oraz
    • opcje, czyli przełączniki dla programu (np. wpisanie ls -l wywołuje polecenie systemowe ls, wypisujące zawartość bieżącego katalogu, z opcją -l, dającą dokładniejszy (czyli długi, ang long) listing.
  • W większości powłok Uniksowych możemy w trakcie wpisywania polecenia wcisnąć klawisz tabulatora Tab, wtedy system inteligentnie dopełni wpisany tekst do pełnej nazwy zainstalowanego programu lub polecenia systemowego, lub, jeśli dopełnienie nie jest jednoznaczne, wyświetli listę opcji.

Prawa dostępu do plików


durka@MacBook-Air pokaz% pwd
/Users/durka/pokaz
durka@MacBook-Air pokaz% ls
silnia.py	witajcie	witka.py
durka@MacBook-Air pokaz% ls -l
total 24
-rw-------@ 1 durka  staff  62  2 paź 20:32 silnia.py
-rwxr-xr-x@ 1 durka  staff  51  3 paź 09:11 witajcie
-rw-r--r--@ 1 durka  staff  60  2 paź 20:35 witka.py
durka@MacBook-Air pokaz % ls -lh
total 24
-rw-------@ 1 durka  staff    62B  2 paź 20:32 silnia.py
-rwxr-xr-x@ 1 durka  staff    51B  3 paź 09:11 witajcie
-rw-r--r--@ 1 durka  staff    60B  2 paź 20:35 witka.py
durka@MacBook-Air pokaz % ls -la
total 32
drwxr-xr-x   6 durka  staff   192  3 paź 09:16 .
drwxr-xr-x+ 56 durka  staff  1792  3 paź 09:09 ..
-rw-r--r--   1 durka  staff     4  3 paź 09:16 .ukryty_plik
-rw-------@  1 durka  staff    62  2 paź 20:32 silnia.py
-rwxr-xr-x@  1 durka  staff    51  3 paź 09:11 witajcie
-rw-r--r--@  1 durka  staff    60  2 paź 20:35 witka.py
durka@MacBook-Air pokaz % 

Nie tylko GNU/Linux

  • W MS Windows konsolę można uruchomić poleceniem "Wykonaj program", wpisując jako program cmd — zapewne skrót od command line. Polecenia powłoki Windows różnią się od poleceń Uniksa, wywodzą się z systemu MS DOS.
  • MacOS od wersji X jest, wbrew pozorom, pełnokrwistym systemem Uniksowym, i "Terminal" jest jego częścią.