Python w natarciu!

Parę dni temu rozpoczęła się rejestracja uczestników na pierwszą polską edycję konferencji PyCon. Ta wyjątkowa impreza, podobnie jak w innych krajach, ma na celu integrację środowisk programistów, projektantów aplikacji, administratorów systemów oraz osób z kręgów biznesowych wykorzystujących język Python.

PyCon PL odbędzie się w dniach 18-19 października, na terenie Centrum Kształcenia Inżynierów Politechniki Śląskiej. Dla uczestników przygotowano szereg zróżnicowanych wykładów, wśród których spora część dotyczy bardziej i mniej znanych frameworków do tworzenia aplikacji webowych takich jak Django, Pylons, Zope i Grok. Na konferencji będzie można też zgłębić tematykę tworzenia i przeprowadzania testów programów pisanych w Pythonie, poznać elementy programowania funkcyjnego czy zaznajomić się z zaawansowanym CMSem Plone stosowanym m.in. przez amerykańską CIA. Natomiast na prawdziwy szlagier imprezy zapowiada się prelekcja zagranicznego gościa – Lennarta Regebro, który przyjeżdża aż z Paryża by przedstawić problematykę kompatybilności kodu Pythona pomiędzy linią 2.x i 3.x.

Na samych wykładach świat się jednak z pewnością nie kończy, dlatego w programie konferencji przewidziano też miejsce na wieczorną imprezę integracyjną, panel dyskusyjny dotyczący rynku pracy programistów Pythona w Polsce oraz losowanie cennych nagród książkowych i rocznych subskrypcji miesięcznika Python Magazine.

Warto dodać, że wydarzenia to odbędzie się dzięki wspólnym wysiłkom Oddziału Śląsk Polskiej Grupy Użytkowników Linuksa, Polskiej Grupie Programistów Pythona oraz Studenckiemu Kołu Linuksa i Wolnego Oprogramowania z Politechniki Śląskiej.

Dalsze informacje na temat imprezy można znaleźć pod adresem
liwo.polsl.pl/pycon-pl

żadnych reklam, sama wiedza.

Zarejestruj się na BEZPŁATNY NEWSLETTER i raz w tygodniu otrzymuj najważniejsze wiadmości
ze świata IT, nowych technologii i kryptowalut.

Bez reklam.

  1. Awatar abcman
    abcman

    "aż z Paryża" – dzisiaj to tylko dwie godziny jazdy… A tak poza tym, to chyba fajnie, że takie imprezy u nas organizują.

    1. Awatar pilot1123
      pilot1123

      oo, uruchomili już tą najnowszą kolej magnetyczną?

    2. Awatar abcman
      abcman

      @pilot1123 – wczoraj. To miał być żart. Chodziło mi oczywiście o jazdę samolotem.

  2. Awatar yo
    yo

    Hej ile się płaci za wstęp?

  3. Awatar boorack
    boorack

    Przydałoby się żeby zaczęli pokazywać że Python to nie tylko język skryptowy do aplikacji webowych/administratorskich (mniej więcej tyle wnioskuję z powyższego tekstu). Python nadaje się do wszystkiego – i skrzyżowany z kawałkami C/C++ jest w stanie zastąpić właściwie każde inne środowisko programistyczne – można w tym pisać duże aplikacje, również te mocno specjalizowane, algorytmiczne, numeryczne, "gadające" z niskopoziomowymi kawałkami systemu/sprzętu, wymagające dużej wydajności (tutaj możemy poradzić sobie wstawkami C lub wiedzą jak to optymalizować). Wiedząc szczegółowo jak działa interpreter Pythona można wycisnąć z niego dużo, dużo więcej.

    Niestety wiedza na temat optymalizacji i rozszerzania Pythona o natywne kawałki kodu jest mocno "rozproszona" – jest trochę na ten temat w manualu – ale to raczej zajawka niż kompletny materiał. Resztę trzeba szukać googlem lub grzebać w kodzie Pythona.

    Jeżeli na którymś z tych spotkań będzie wykład o internalsach pythona, ciekawych modułach (np. ctypes), tworzeniu i debugowaniu natywnych rozszerzeń to chętnie się na takowy wybiorę.

  4. Awatar ludwik
    ludwik

    Przeczysz sam sobie juz w pierwszym zdaniu: "Python to nie tylko język skryptowy do aplikacji webowych/administratorskich (mniej więcej tyle wnioskuję z powyższego tekstu). Python nadaje się do wszystkiego – i skrzyżowany z kawałkami C/C++ jest w stanie zastąpić".

    Jesli trzeba go "krzyzowac" z C/C++ to nie nadaje sie do wszystkiego.

    Dla mnie to obrzydliwa proteza jezyka programowania pelzajaca jak slimak i zzerajaca zasoby komputera. Paskudnie nieoptymalne narzedzie czego dowodem niech bedzie wymaganie 512MB RAM przez instalator RHCE …

    1. Awatar Budyń
      Budyń

      Prawie wszystko nadaje się do wszystkiego, pytanie – w jakim stopniu.

      A że akurat referencyjna implementacja Pythona jest, jaka jest…

      Krzyżować go z niczym nie trzeba.

      1. Awatar ludwik
        ludwik

        Niestety nie. Ale za dlugi wywod tutaj.

        W uproszczeniu: nie wkreca sie srub mlotkiem anie nie wbija sie gwozdzi srubokretem.

        Okreslone narzedzia istnieja do okreslonych zastosowan.

        Jesli nadal chcesz sie upierac przy "wszystko nadaje sie do wszystkiego" sprobuj gasic plonace urzadzenie elektryczne woda …

        1. Awatar Budyń
          Budyń

          Zaginęło jedno z dwóch "prawie". Miało być "Prawie wszystko nadaje się do prawie wszystkiego, pytanie – w jakim stopniu".

          Widzę że jednak nawet jednego z "prawie" nie zauważyłeś, bo wtedy uznałbyś że się nawet zgadzamy.

        2. Awatar ludwik
          ludwik

          Prawie wszystko MOZNA ZROBIC prawie kazdym narzedziem.

          Niewiele jest narzedzi przy uzyciu ktorych mozna zrobic prawie wszystko a jednoczesnie uzyskac satysfakcjonujace rezultaty.

          Pyton dla mnie to taki rodzaj cybernetycznej "wielkiej plyty".

          Buduje sie szybko, tanio ale czy uzytkownik jest z tego zadowolony ? Czy jest to zdrowe ? Ciche ?

          Z wielkiej plyty mozna zrobic prawie wszystko czasem trzeba gdzies zrobic wstawki z cegiel, czasem z jakiegos zelbetonu. Efekt jednak daleki jest od piekna i zadowolenia klienta.

          Z drugiej strony – z betonu mozna zrobic kazdy rodzaj budynku i uzyskac calkiem zadowalajace estetycznie rezultaty. Przyklad betonowej budowli: Colosseum i wiele innych budynkow w czasow rzymskich.

          Ahh, zeby bylo jasne – ja nie atakuje pytona jako pytona, raczej jestem przeciwnikiem takiej "wielkiej plyty" i ukrywania przy ich uzyciu kosztow oprogramowania. Zmniejsza sie koszt produkcji ale zwieksza koszt uzytkowania.

          Pozdro,

          L.

    2. Awatar boorack
      boorack

      Ta "obrzydliwa proteza" jak to określiłeś ma taką właściwość że programuje się w tym 3-5x szybciej niż np. w Javie czy C# (używałem wszystkich trzech narzędzi w różnych kontestach). Przede wszystkim dlatego że python udostępnia narzędzia bardzo wysokiego poziomu w bardzo prosty sposób. Porównaj sobie np. delegates w Javie, C# i Pythonie – w tym ostatnim są one trywialne. Podobnie ma się sprawa np. z annotacjami. AOP w pythonie jest bardzo proste do zaimplementowania. Programowanie funkcjonalne w Pythonie dostajesz 'prosto z pudełka', w Javie/C# – jak się uprzesz to może użyjesz jakieś protezy w postaci biblioteki z dziwacznym API.

      Krótka historyjka odnośnie wydajności. Mieliśmy kiedyś "na warsztacie" niewielkie (i powolne) urządzenie z embedded linuxem na pokładzie. Programiści mieli napisać na to niewielką aplikację wbudowaną która miała wystawić prosty web service, coś tam przez niego odebrać, zweryfikować, podpisać, przesłać dalej. Zabrali się za to w Javie. Na ich notebookach działało rewelacyjnie. Na urządzonku – w zasadzie nie działało. Nawet proste uruchomienie JVM zajmowało 15-20 sekund. Skompilowanie do natywnych binarek przy pomocy GCJ też nie pomogło – aplikacja startowała minutę, obsłużenie jednego requestu trwało 15-20s, zaś aplikacja zjadała prawie całą pamięć urządzenia (a tu druga aplikacja musi się zmieścić – urządzenie nie ma swapa). Programiści zaczęli buczeć że "urządzenie jest do d.. – na lepszym nasz software zadziała". Przepisaliśmy to w pythonie (z kilkoma kawałkami C). Aplikacja obsługuje jeden request w 3-4s, startuje poniżej 10s, zajmuje mniej niż 1/4 pamięci urządzenia. Interpreter pythona działa co prawda wolniej niż java ale za to nie ma takich przerośniętych bibliotek składających się z setek niepotrzebnych klas i w przypadku małych i średnich apliakcji narzut jest dużo mniejszy.

      1. Awatar ludwik
        ludwik

        Gdybum umiescil tu planowany komentarz wiele osob mogloby poczuc sie dotknietych wyrazonymi przeze mnie pogladami.

        Ogranicze sie wiec do streszczenia:

        "male zasoby = duzo wysilku + jezyk C"

  5. Awatar alex
    alex

    A czy jest jakis sposob, zeby programy w Pythonie sprawdzic pod wzgledem poprawnosci skladniowej juz w momencie "edycji/kompilacji" a nie dopiero podczas uruchomienia?

    W C++, Java, C# itd program skompilowany poprawnie ma na pewno poprawna skladnie i na ogol nie powinno byc kwiatkow w rodzaju wywolywania dla obiektu metod, ktorych obiekt nie posiada.

    Czy w Pythonie tez mozna miec taka pewnosc?

    Jesli nie, to mozna pythonowi podziekowac.

    1. Awatar Elf
      Elf

      Unitetesty to załatwiają. A przy okazji sprawdzają poprawność semantyczną 🙂

    2. Awatar Filon
      Filon

      Oczywiście, Python Ci niczego nie wykona dopóki nie sprawdzi poprawności składni w całym pliku (module). To nie Bash, żeby Ci się program wywalił w połowie, bo nagle okazało się, że miałeś błąd składniowy.

  6. Awatar Student
    Student

    @Alex: W takim wypadku można podziękować wszystkim językom skryptowym.

    Równie dobrze mogę napisać:

    Jeśli C++, Java, lub C# nie mają interaktywnego trybu pracy, żebym mógł sobie przetestować małą funkcję i nie musieć pisać specjalnie dla niej całej otoczki obiektowej czy funkcyjnej to można im podziękować 🙂

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *