IronPython Studio - Marian Mysior

Kup ebooka

24.00 zł
19.20 zł (19,20 zł najniższa cena z 30 dni)

-
Proszę czekać

1. Wprowadzenie

1.1. Język Python

Python jest obiektowym językiem programowania, używanym na różnych plat­formach (Win32, Unix, MacOS, Solaris, PalmOS i innych). Jest językiem interpreto­wanym, a więc łatwo może być przenoszony z jednych systemów do drugich. Jest też bezpłatny i powszechnie dostępny (np. przez Internet). Można w nim pisać zarówno niewielkie skrypty, jak i duże aplikacje i łączyć go z innymi językami (bibliotekami napisanymi w innych językach). Kod Pythona można zagnieżdżać w HTML i XML.

Python powstał w 1989 roku. Jego twórcą jest Holender Guido van Rossum. Nazwy nie należy kojarzyć z gatunkiem węża, lecz z serialem telewizyjnym Latający cyrk Monty Pythona, którego sympatykiem jest autor. Obecnie kod źródłowy Pythona  jest rozwijany, modyfikowany, poprawiany i testowany przez wiele osób. W 1998 roku powstało Python Consortium, którego celem jest wprowadzanie poprawek, modyfika­cji, normalizacja i publikowanie kolejnych wersji języka. 

Główną zaletą Pythona jest wieloplatformowość. Skrypt napisany pod kontrolą Microsoft Windows będzie działał zarówno z Linuksem, Mac OS, jak i wieloma innymi systemami operacyjnymi. Liczba dystrybucji interpretatora języka do różnych systemów ciągle się zwiększa. Python jest dołączany do różnych wersji Linuksa i Solarisa. W Windows (oprócz standardowego uruchamiania) może być również uży­wany przez systemowy interpretator Windows Script Host, obok JavaScriptu i Visual Basic Scriptu.

Dużym atutem Pythona jest prosta składnia i łatwość stosowania obiektowego stylu programowania.

1.2. Wersje

Z oficjalnej strony internetowej Pythona, www.python.org, można pobrać inter­preter języka (do różnych platform) wraz dokumentacją, bibliotekami, przykładami i rozszerzeniami. W czasie przygotowywania ćwiczeń dostępna była wersja finalna 2.5.2 i wersja testowa 3.0b2.

Najprostszym sposobem uruchamiania poleceń Pythona jest praca w trybie inte­r­akcyjnym. Wpisujemy wtedy w wierszu poleceń instrukcje, które są natychmiast interpretowane. Ewentualne wyniki również wyświetlane są w tym trybie. 

Alternatywą dla trybu natychmiastowego jest uruchamianie interpretacji wcze­śniej napisanych i zapisanych na dysku skryptów.

Pisanie interpretowanych skryptów jest wygodną formą programowania, ale nie zawsze wystarczającą. W związku z potrzebą unifikacji bibliotek programistycznych i graficznego wspomagania programowania opracowano wersję IronPython, wykorzy­stująca platformę Microsoft.NET Framework. Dalszą ewolucją IronPythona jest wykorzystanie zalet graficznego wspomagania projektowania, które zapewnia Micro­soft Visual Studio 2008. Tak powstało IronPython Studio. Obecnie dostępna jest jego wersja 1.0.

1.3. Visual Studio

Visual Studio integruje wiele środowisk programistycznych w postaci jednoli­tego interfejsu (IDE). Udostępnia środowisko, z którego korzystać mogą różne języki programowania. Microsoft dostosował do platformy.NET od lat znany i popularny Visual Basic, zmieniając go generalnie. VB.NET jest w pełni obiektowym językiem programowania. Dla użytkowników języków rodziny C opracowano na platformie.NET C# ("C sharp"). Jest to nowoczesny, obiektowy język programowania, korzy­stający z wielu konstrukcji C++, ale bez zbędnych naleciałości historycznych. Visual C++ jest również obecny na tej platformie. Teraz dołączył do nich Python.

Wybór języka jest rzeczą drugorzędną - to jedna z zalet środowiska.NET. Inte­gracja wielu języków w jednym środowisku powoduje, że nie musimy tracić czasu na uczenie się od początku nowych języków, aby tworzyć, uruchamiać i rozwijać aplika­cje. Visual C# , Visual Basic i IronPython na platformie.NET dają nam podobne możliwości. Użycie zmiennych, klas, ich właściwości i metod jest w nich prawie  identyczne. Środowisko.NET (tzw. framework) oferuje wspólne typy danych (Common Type System) i biblioteki klas (.NET Class Framework). 

Potrzeby obecnych użytkowników oprogramowania wymagają, aby aplikacje dysponowały graficznymi interfejsami (były okienkowe). To z kolei rodzi wymagania względem środowisk programistycznych, które muszą być efektywne. Archaicznym podejściem do nauki programowania jest wykorzystywanie narzędzi, które nie zapew­niają wspomagania graficznego w tworzeniu interfejsów, nie preferują programowania obsługującego zdarzenia i programowania obiektowego. Te pojęcia nie muszą ozna­czać wyższego wtajemniczenia w sztukę programowania. Nie należy klasyfikować ich jako zbyt zaawansowane. Od nich musimy zaczynać nie tylko programowanie, ale już analizę problemu i projektowanie rozwiązania. Języki platformy.NET umożliwiają jak nigdy dotąd tworzenie programów obiektowych, sterowanych zdarzeniami i silnie wspomaganych graficznie. Od samego początku wykorzystujemy tutaj (przynajmniej pasywnie) właściwości i metody obiektów, nawet nie wspominając o nich. W sytu­acjach, gdy interfejs graficzny jest zbędny lub przeszkadza w zgłębieniu istoty problemu, można zbudować aplikację konsolową.

Platforma.NET to nie tylko języki programowania. W wielu sytuacjach języki pełnią funkcję pomocniczą, służąc do zapisywania poleceń. W Visual Studio.NET znaj­dziemy Server Explorer, za pomocą którego możemy tworzyć tabele baz danych i łączyć je relacjami. Zbiór klas ADO.NET umożliwia z kolei zarządzanie bazami zarówno w tradycyjnym środowisku połączonym jak i w bardziej efektywnym i nowoczesnym środowisku rozłączonym. Do wykonania szeregu zadań, jak zapytania i modyfikacje relacyjnych baz danych wykorzystywać możemy popularny język SQL. Dane mo­żemy zapisywać w coraz bardziej popularnym, niezależnym od platformy formacie XML.

Platforma.NET oferuje również (a może przede wszystkim) narzędzia do budo­wania aplikacji internetowych i zarządzania zasobami rozproszonymi. Biblioteka ASP.NET umożliwia tworzenie formularzy WWW. Usługi Web Services umożliwiają tworzenie nowoczesnych aplikacji rozproszonych. 

Platforma.NET stanowi środowisko uruchomieniowe, bibliotekę klas, kompila­tory i narzędzia pomocnicze. 

Programy napisane do środowiska.NET Framework nie są kompilowane od razu do kodu maszynowego danego procesora, lecz do kodu pośredniego MSIL (Microsoft Intermediate Language ). Uruchomienie programu wymaga środowiska CLR  (Common Language Runtime), które jest częścią .NET Framework. Podczas pierwszego uruchomienia programu na maszynie docelowej kompilator Just In Time tworzy kod maszynowy specyficzny dla danego procesora. W uproszczeniu przedsta­wia to schemat na następnej stronie.

W systemach operacyjnych Windows niezbędne jest zainstalowanie pakietu .NET Framework, dostępnego bezpłatnie na stronach internetowych Microsoftu. Środowisko to wystarcza jako minimum, do pisania, kompilowania i uruchomiania programów w języku IronPython. Aby jednak efektywnie tworzyć kod źródłowy (korzystać z graficznego wspomagania i wielu innych narzędzi wspierających), kom­pilować go i wykrywać błędy, warto zaopatrzyć się w środowisko zintegrowane Visual Studio 2008 Shell Runtime i IronPython Studio.

Książka skierowana jest do Czytelników chcących poznać podstawy języka Py­thon i pracę w środowisku IronPython Studio. Nie wymaga znajomości wstępnej tego języka ani innych narzędzi programistycznych. Korzystna może być jednak znajomość innych języków programowania, np. C++, Pascala, Javy. Zamieszczone w niej ćwicze­nia, składnie poleceń i tabele mogą również służyć jako pomoc dla bardziej zaawan­sowanych programistów. 

Pliki do pobrania, zawierające ćwiczenia prezentowane w książce, umieszczone są na stronie Wydawnictwa Naukowego PWN. Wszystkie zostały uruchomione i spraw­dzone w systemie operacyjnym Microsoft Windows.

2. Środowisko programowania

2.1. IronPython Studio - instalacja

Środowisko zintegrowane, IDE (Integrated Development Environment) - IronPython Studio można pobrać bezpłatnie ze strony: www.codeplex.com/IronPythonStudio. Plik instalacyjny znajdziemy pod nazwą IronPythonStudioIsolatedSetup lub IronPythonStudioIntegratedSetup. Przed instalacją tego środowiska należy jeszcze pobrać (również bezpłatnie) i zainstalować tzw. po­włokę Visual Studio 2008 Shell Runtime, opartą na Visual Studio 2008 (również tutaj są dwa alternatywne pliki instalacyjne: Visual Studio 2008 Shell Isolated Mode Redi­stributable package i Visual Studio 2008 Shell Integrated Mode Redistributable pac­kage). 

Instalacja powłoki (Visual Studio 2008 Shell Runtime) może być trochę myląca. Po uruchomieniu jej z pliku instalacyjnego odpowiednia zawartość zostanie rozpako­wana do folderu C:\VS 2008 Shell Redist\Isolated Mode. Nie jest to jeszcze koniec instalacji. Dalej należy otworzyć powyższy folder i uruchomić właściwą instalację z pliku vsshellisolated_enu.exe.

Dysponując płatną wersją Visual Studio 2008, wystarczy zainstalować plik IronPythonStudioIntegratedSetup, bez wcześniejszego instalowania powłoki.

2.2. Tryby pracy

W środowisku zintegrowanym IronPython Studio możemy używać kilku trybów pracy lub inaczej wykorzystywać różne szablony. 

Podstawowym szablonem jest Windows Application, służący do tworzenia pro­gramów okienkowych. W tym trybie otrzymujemy dużą pomoc w postaci automa­tycznego utworzenia kodu wstępnego, narzędzi graficznych, w postaci kontrolek z przybornika Toolbox i podpowiedzi podczas pisania kodu (IntelliSense).

Rysunek 2.1.  Windows Application

Gdy zbędny jest interfejs graficzny, aplikacje możemy tworzyć, korzystając z szablonu konsolowego Console Application.

Rysunek 2.2.  Console Application

Python znany jest z możliwości pracy w trybie natychmiastowym - interpretacji kolejnych wierszy kodu bez tworzenia kompilatu. W środowisku IronPython Studio ten tryb odnajdziemy w oknie IronPython Console.

Rysunek 2.3.  Tryb natychmiastowy

Ćwiczenia będziemy realizować, korzystając przede wszystkim z szablonu Win­dows Application. Sporadycznie jednak zastosujemy Console Application. Drobne ćwiczenia, związane z poznawaniem gramatyki Pythona, wykonamy natomiast w trybie natychmiastowym.

W obecnej wersji IronPython Studio (1.0), w projektach typu Windows Applica­tion edytor niewłaściwie interpretuje znaki tabulacji, powodując powstawanie w miejscach wcięć błędów kompilacji. Można się ich pozbyć, zmieniając ustawienia Tab size w oknie Options - Text Editor | All Languages | Tabs. Znajdziemy je w menu Tools. Wprowadzimy tu maksymalną wartość, czyli 60 spacji. 

Rysunek 2.4.  Tu należy poprawić wartość Tab size