Magazyn Dragonia
Total Page:16
File Type:pdf, Size:1020Kb
Numer 27 – 2008 Bash Prompt HOWTO, czyli czarowanie znaku zachęty Artykuł przedstawia sposoby na two- rzenie ciekawych znaków zachęty w konsoli oraz xtermach wykorzystu- jących powłokę Bash. Ciekawych to mało, ale również kolorowych! Całość na stronie7 Z YouTube na dysk Serwisy typu YouTube miały zawsze jedną wadę – przy słabym łączu oglą- danie czegokolwiek staje się koszma- rem. Próżno szukać opcji umożliwiają- cych zapisanie filmów na dysku, takie działanie jest bowiem sprzeczne z in- teresami właścicieli serwisu. Artykuł przedstawia kilka sposobów na ścią- gnięcie naszych ulubionych filmów. Całość na stronie 35 Pdftk – PDF Toolkit O tym jak łączyć i dzielić pliki PDF; jak je zaszyfrować, odszyfrować; jak do- dać znak wodny lub załącznik do pli- ku PDF za pomocą narzędzia Pdftk. Całość na stronie 23 Wstępniak Spis treści Drodzy Czytelnicy System Przekazujemy do Waszych rąk świąteczny Cyfrowa farma, czyli co wybrać?............................3 numer Dragonii. To już trzeci taki numer Bash Prompt HOWTO, czyli czarowanie znaku zachęty.....................7 w naszej historii. Dzięki Wam chcemy wciąż Wstęp do Debiana................................. 14 pisać dla Was, z Was rekrutuje się nasza re- Zarządzanie pakietami w Debianie............................ 16 dakcja. Dziękuję Wam, że jesteście. W numerze dwa artykuły o Debianie, Konkurs czyli jak dobrze zacząć, by nie móc z nim Software skończyć. Dla pewności będziemy w tym LATEXowanie w GTK+ – krótki przegląd edytorów....................... 20 utwierdzani w kolejnych numerach. Pdftk – PDF Toolkit................................. 23 Obok innych artykułów polecam prze- System dla początkujących użytkowników Olá! Dom 6.06 A gląd edytorów do LTEX-a, tak byście mogli – odtwarzanie muzyki i filmów............................. 25 wybrać któryś dla siebie. Niebawem wracają JPC – Java PC (x86) Emulator............................. 33 artykuły o nim, a wiosną pora na oddawanie Z YouTube na dysk................................. 35 prac czy przygotowywanie prezentacji. Z okazji nadchodzących Świąt Boże- Felieton go Narodzenia oraz Nowego Roku, wraz Wikipedia – encyklopedia czy wybór haseł?........................ 39 z całym zespołem redakcyjnym życzę Wam, Sprzęt Drodzy Czytelnicy, wszystkiego najlepszego, Drukarka HP DeskJet 5740 w Linuksie.......................... 40 spełnienia marzeń, miłości oraz chwili wy- tchnienia, byście mieli siły zaszaleć w sylwe- Literatura strową noc. Książki wydawnictwa PWN.............................. 41 Do Siego Roku! Książki wydawnictwa HELION............................. 44 Tomasz Łuczak zastępca redaktora naczelnego Piotr Krakowiak – redaktor naczelny, założyciel, koordynacja, skład, www: http://www.dragonia.pl Tomasz Łuczak – zastępca redaktora naczelnego, skład, forum: http://forum.dragonia.pl Paulina Budzoń – korekta, skład, e-mail: [email protected] Rafał Domeracki – sekretarz redakcji, opieka nad hostingiem, Wszystkie publikowane materiały są objęte pra- Karol Kozioł – redaktor oraz koordynator redaktorów i artykułów, wem autorskim na zasadach licencji Creative Piotr Szewczuk – opieka nad hostingiem, Commons CC-BY. Nie ponosimy odpowiedzial- Krzysztof Biskup – opieka nad www, redaktor, ności za treść ogłoszeń. Nazwy firm, nazwy han- Krzysztof Ołowski – korekta, dlowe i znaki towarowe, użyte w publikacji jedy- Keyto, Łukasz Ciesielski, Łukasz Wojno, Andrzej Warzyński. nie w celach informacyjnych i są własnością po- Współpracujący: Krzysztof Lichota, Przemek Kalicki, Radek Krakowiak A szczególnych podmiotów. Skład za pomocą systemu LTEX fontami TeX Gyre i Latin Modern Pierwowzór layoutu Dragonia Magazine przygotował m4c numer 27 – 2008 2 System Cyfrowa farma, czyli co wybrać? Łukasz Ciesielski Każdego dnia wykorzystujemy dziesiątki najróżniejszych progra- programowania funkcyjnego. Pewnie zastanawiacie się – co z tego wynika? mów komputerowych, bibliotek i plików nagłówkowych. Miliardy Otóż, właśnie dzięki swojej elastyczności jest on dosyć intensywnie wykorzy- elektrycznych ładunków przepływają co sekundę przez poszcze- stywany w pracach dotyczących przede wszystkim sztucznej inteligencji. Wadą gólne podzespoły komputera tworząc coś, co nazywamy syste- Lispa jest zajmowanie większej ilości pamięci podczas działania programów, mem operacyjnym. Zapewne nikt podczas standardowych czyn- niż ma to miejsce w przypadku oprogramowania napisanego w innych języ- ności nie zastanawia się, jak to jest zrobione, na bazie czego po- kach. Po latach, w których pracowano nad rozwojem Lispa, jego popularność wstała dana aplikacja, w jakim języku została napisana i dlaczego niestety nieodwracalnie spadła. nie w innym? W niniejszym tekście spróbujemy przebrnąć przez Większość współczesnych języków programowania, np. Pascal, wywodzi się gąszcz dostępnych dla programistów środków, czyli języków pro- od języka Algol. Powstał on na bazie Fortana w 1958 roku. Jeśli chodzi o skład- gramowania. Nasze rozważania obejmą zarówno te u schyłku nię, należy przyznać twórcom, że dokładnie przemyśleli krok po kroku formę, swojego żywota, jak i te, które dopiero co „wykluły się” i ujrzały która będzie najwygodniejsza dla programistów. Nie był to jednak język prosty światło dzienne. do opanowania, a trudności wynikające z braku raportowania błędów przez kompilatory stały się dodatkowym utrapieniem przyszłych twórców oprogra- Jak to się zaczęło? mowania. W dalszej kolejności powstawały Algol 60, Algol 68 oraz nowe języki Jednym z najstarszych języków programowania jest Fortan, występujący w swo- – np. Simula czy Ada. Nie należy także zapominać o mocarzach, takich jak C jej burzliwej karierze w kilku wersjach, np. Fortan II, Fortan IV, Fortan 77 i C++. Jest to jednak trochę inna historia, więc opowiem o tym w dalszej części i współczesna wersja Fortan 90. Następnie powstały takie języki, jak Basic (który tekstu. Prześledźmy zatem historię oraz specyfikację dziesięciu najpopularniej- miał służyć do nauki programowania) czy Algol. szych w ostatnich latach języków programowania. Choć trudno w to uwierzyć, przez długie lata królował Fortan i jego odmia- ny, ponieważ udostępniał doświadczonym programistom mnóstwo procedur. Początek prawdziwego programowania Jednak twórcy Basica (John G. Kemeny i Thomas E. Kurtz) nie poddawali się Dopiero gdy powstał język C, programista miał szerokie pole manewru i mógł i w roku 1963 w Darmouth College ogłoszono powstanie pierwszego języ- stworzyć niemalże dowolną aplikację. Wcześniejsze języki wysokiego poziomu ka programowania skierowanego dla początkujących. Pomimo że język Basic zawsze stwarzały problem, który był trudny do przeskoczenia, a niekiedy nawet zastosowano na komputerach domowych (np. Commodore), co umożliwiało niemożliwy. Już samo założenie twórcy – Dennisa Ritchiego – było imponujące. bezproblemową komunikację z maszyną, tak naprawdę język ten nigdy nie Chciał on bowiem stworzyć taki język, aby można było programować w nim wyszedł poza sferę edukacyjną. Uniemożliwiała to ubogość procedur i funkcji systemy operacyjne. Jak wiemy, to właśnie w C powstało pierwsze jądro Unixa oraz (a może przede wszystkim) brak strukturalności, przez co rozwiązanie (1973 rok). Od lat siedemdziesiątych jest to podstawowy język programowania niektórych problemów stało się prawie niemożliwe. w systemach Unix. Również pierwsze wersje systemu Windows oraz program Drugim, obok Fortana, najstarszym językiem programowania był oczywi- antywirusowy Norton powstawały w C. ście Lisp. Został stworzony w 1958 roku przez Johna McCarthy’ego. Co ciekawe, Każdy program napisany w języku C składa się z funkcji, które odpowiadają Lisp jest tak naprawdę wykorzystywany do dzisiaj. Jego forma została zmie- za wykonywanie poszczególnych czynności programu. Tłumaczenie gotowego niona (albo raczej odświeżona), w konsekwencji czego powstało coś, co można kodu na język maszynowy odbywa się w kilku fazach. Pierwszą jest tzw. pre- by nazwać rodziną języka Lisp. Dlaczego programiści i naukowcy nadal wyko- processing, podczas którego kompilator wycina z kodu źródłowego komenta- rzystują ten pozornie przestarzały środek komunikacji z maszynami? Najpraw- rze, a następnie przystępuje do analizy dyrektyw preprocesora. Kolejną fazą jest dopodobniej dlatego, że jest to jedyny język zorientowany tak bardzo w stronę już kompilacja, czyli przetłumaczenie kodu do tzw. kodu obiektowego, będą- numer 27 – 2008 3 System cego czymś pośrednim pomiędzy kodem źródłowym a gotowym programem Po wielu latach prób i błędów – przy czym tych drugich było znacznie wykonywalnym. Ostatnią fazą jest konsolidacja, czyli łączenie plików z kodem więcej – udało się osiągnąć cel. Tak powstała Java. Doskonały język, stworzony obiektowym, bibliotek standardowych itp. w jedną całość, czyli nasz program. przez grupę programistów z firmy Sun Microsystems, kierowaną przez Jamesa W latach osiemdziesiątych Bjarne Stroustrup stworzył język C++, który Goslinga. W rzeczywistości, jest to połączenie tego, co najlepsze w Smalltalk wprowadzał możliwość programowania obiektowego. Ponieważ C++ (po nie- (maszyna wirtualna) oraz C++ (składnia). wielkich modyfikacjach kodu) pozwala na adaptowanie programów napisa- Jest kilka cech, które doskonale oddają charakter Javy, jej zalety i wady. Na nych pierwotnie w językach Fortan, Algol czy Pascal, stał się on podstawowym początek, warto wspomnieć o problemie związanym z tzw. silną typizacją, która narzędziem wykorzystywanym w pracowniach fizycznych. Zaczęto rezygno- jest nierozerwalnie związana właśnie z tym językiem. Problem polega na tym, wać z przestarzałego już Fortana właśnie na rzecz C++ i –