Pokazywanie postów oznaczonych etykietą PyCOn 2008. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą PyCOn 2008. Pokaż wszystkie posty

22 października 2008

PyCon 2008 Rybnik - wśród przeróżnych Pythonów



Zapowiadana podróż do Rybnika, gdzie odbyła się konferencja PyCon2008 uwieńczona została sukcesem w postaci świeżego spojrzenia na kilka bieżących technologii skojarzonych z językiem programowania Python. Oto moje trofea :-)



Być może nieco szczupłe będą moje notatki w porównaniu do wielkości tematów poruszanych na konferencji. Tak się złożyło, że uczestniczyłem we wszystkich wykładach i udawało mi się zadawać konstruktywne pytania prelegentom, z których snuję sobie wnioski. Jest ich kilka i chcę się nimi podzielić:


  • nie jest prawdą, że Python to niszowy język programowania - wręcz przeciwne w porównaniu do znanego wszystkim gimnazjalistom (i nie tylko) PHP - jest tylko słabo wypromowany (nie pomijam oczywiście rekomendacji firmy google.com ) i dający duże możliwości prezentacji naszych pomysłów pod konsolą, na stronie www, w postaci aplikacji desktopowej, w urządzeniach wbudowanych, telefonach komórkowych i okazuje się, że również w laboratoriach badawczych/naukowych.

  • jest prawdą, że Python ma słabą społeczność w Polsce bo nie ważne wg. jakiej metryki byśmy to mierzyli ponad 100 osób chętnych na spotkanie w jednym miejscu i łaknący wymiany doświadczeń to skromnie ... ale to jest pierwsza impreza w Polsce pod dumnym hasłem PyCon, natomiast jest to druga tej skali obok poznańskiego RuPy i jest to dla mnie istotne, że temat jest godny konferencji. Są też takie języki programowania, w których programiści zabijają się o zlecenia i niechybnie zapominają o higienie pracy, konsekwencji w kodowaniu - bo tłumaczą się czasem, że np. język narzuca im niechlujstwo, zbyt wiele rozwiązań, brakuje dobrze napisanych bibliotek, etc ...

  • jest sprawą oczywistą, że skoro mowa o Python, to też mowa o sporych możliwościach, czyli przetestowanych zbiorach modułów, które wspiera społeczność na całym świecie, kilku liczących się frameworkach i sukcesywnych wdrożeniach różnych aplikacji, między innymi webowych. Mam na myśli Django, o którym wspomniał na tej konferencji Marcin Mierzejewski (polecam też podstawy Django, które przygotował Marcin Kaszyński na Django - EuroPython 2008) i do tego CMS z możliwością rozbudowy Plone

  • bo Python też trochę wyznaje filozofię Ubuntu, tzn. tej słynącej dystrybucji Linux jest niejako elementarną częścią, bo przejmuje rolę w Desktopach dość dopracowanej obsługi notyfikacji, obsługi komunikatów systemowych i uruchamiania jakże istotnych apletów ;)

  • traktuje obiektowość minimalistycznie - w kilku linijkach napiszemy dość konkretne funkcjonalności (np: serwer, który nasłuchuje, udostępnia usługi w sieci i wykonuje odpowiednie polecenia w wątkach, wyzwala procesy cykliczne, generuje raporty w PDF i wysyła na e-mail, ftp, ssh), ale specjalnie dla zaniepokojonych programistów Java będą niebawem typowe interfejsy, które już dziś można tworzyć w określony sposób. Dodatkowo Python 3000 to nie będzie akcja typu piszę w PHP4 a teraz w PHP5 - a za rok się przesiadam na PHP6, bo providerzy też już go mają :) - społeczność poszła krok dalej i przeprowadzona będzie formalna migracja pozwalająca przetestować, czy aplikacje w Python 2.4 i 2.5 będą działały w Python 3000 ... a to już mnie przekonuje do zabawy więcej w węże a mniej w słonie :-)

  • okazuje się, że spora jest liczba dopracowanych bibliotek standardowych do pisania skryptów oraz niezależnych projektów OpenSource t.j. Sourceforge.net, koders.com,

  • szybki start programowania i sprzyjająca kodowaniu w konwencjonalnym stylu napisana dokumentacja np: Python Docs WebOb. Wybór języka Python przez NASA też nie był przypadkowy.

  • możliwość pisana wirtualnych interpretatorów przy pomocy samego języka i osadzania go w innych to taki kosmos, jaki już oferuje Python. Chcąc dla przykładu napisać sobie dedykowaną funkcjonalność garbage collection nie będziemy osamotnieni, bo projekt omawiany na konferencji PyPy nam to z miejsca umożliwia

  • moje ulubione testy rozmyte i wszelakie inne pisze się w Pythonie po prostu konsekwentne i z dużym naciskiem na stosowanie framworków tzn. znajdziemy swój ulubiony sposób testowania jednostkowego, funkcyjnego, regresyjnego, jak również przeprowadzimy bardzo ważne fuzz testing, o których był dość konkretny i obiecujący wykład na konferencji

  • wyczytałem kiedyś, że PHP5 wygląda na zaprojektowany na kolanie i chciałbym od razu zaznaczyć, że Python nie posiada tej wady, bo autor języka bardzo restrykcyjnie dobiera moduły biblioteczne, nie dopuszczając doń szajsowatych, niewnoszących nic rozwiązań

  • pozwala mi na używanie gotowych i przetestowanych rozwiązań do obsługi GDATA w ramach aplikacji googla. Rozjaśniając mój telefon + kalendarz googla to jedna i ta sama baza danych, którą synchronizuje też z innym, egzotycznym systemem korporacyjnym ... do tego stopnia bezboleśnie, bo na telefonie i komputerze PC mam kod napisany w Python

  • okazuje się, że można napisać program bez użycia instrukcji i zmiennych, bo w Pythonie jest możliwe programowanie funkcyjne. Do tego jesteśmy formalnie w stanie dowieść, że program jest bezbłędny. Może Python to nie Ocaml, ale zawsze można inny język na nim osadzić :-) Podstawy języka funkcyjnego w Pythonie to: lambda, map, reduce, filter

  • w ramach metodyki TDD i BDD, przy założeniach, że chcemy mieć pełne pokrycie testowe jest też wiele frameworków do testowania np: PyUnit, unittest, doctest, nosetest

  • jest wiele powodów, dla których w Narodowym Archiwum Cyfrowym aplikacje są tworzone właśnie w Pythonie ... ponoć jeden z nich to problem obsłużenia 2.5 milionów rekordów w bazie danych archiwum. Na szczęście jest Python + niskopoziomowa obsługa zapytań z pominięciem wszelkiej maści ORMy oraz partycjonowanie tabel poprzez mechanizmy dziedziczenia w PostgreSQL i do tego język wbudowany PL/Python zamiast PL/SQL)






Zachęcam do zapoznania się z językiem programowania Python, bo warto wiedzieć więcej.

Oto kilka uzupełniających słów ze zdjęciami z konferencji PyCon 2008 ... ja nie zrobiłem żadnego, bo za bardzo byłem skupiony na treściach przekazu :-)

Ciekawe linki:
Zarejestrowane konferencje PyCon
http://www.gapminder.org/
http://video.google.com/videoplay?docid=7996617766640098677
http://www.ted.com/index.php/talks/hans_rosling_shows_the_best_stats_you_ve_ever_seen.html

5 września 2008

Kult węża - PyCon PL 2008

Od dziś poszukuje transportu na PyCon PL 2008 :-) Zapisałem się tutaj i mam nadzieję spędzić w dniach 18-19 października weekend w miejscowości Rybnik (na terenie Centrum Kształcenia Inżynierów Politechniki Śląskiej) wśród lubiących oraz wyznających kult węża ;) Zapowiada się kilka interesujących prelekcji i oczywiście jak na pamiętnych RuPy2008 kuluarowe dyskusje o kulcie wszelakich gatunków węży (Python, Zope, Grok, Django)i kolekcjach kamieni szlachetnych (Ruby, Ruby On Rails, metaframework, metalanguage). Tymczasem przygotowuje listę pytań dla bardziej doświadczonych ode mnie ...

Swoją drogą bardzo interesujące jest to, jak wielu jest ludzi o podobnych zainteresowaniach w naszym kraju w tematyce wirtualnych węzy :-)