W środę, 28 kwietnia odbędzie się pierwszy z cyklu wykład poświęcony Pythonowi. Tematem będą podstawy Pythona – jego składnia oraz zastosowania.
Już w najbliższą środę, 28 kwietnia, o godzinie 17:15, w sali 2.17 w budynku C-13 Politechniki Wrocławskiej, odbędzie się pierwszy z cyklu wykład poświęcony podstawom Pythona.
Dowiemy się na nim jak zacząć przygodę z tym językiem oraz poznamy jego składnię i nieograniczone możliwości, jakie dają liczne moduły rozszerzeń. Python to prosty, szybki i elastyczny język programowania. Ucząc się Pythona, poznajesz potężne narzędzie, dzięki któremu zrealizujesz dowolne projekty: skalowalne serwisy internetowe, wydajne pakiety obliczeniowe, gry komputerowe, aplikacje sieciowe etc. Wszystkich chętnych zapraszamy do zabrania ze sobą laptopów i sprawdzania prezentowanych przykładów na żywo.
Zapraszamy również na kolejne imprezy poświęcone Pythonowi we Wrocławiu – szczegółowe informacje pojawią się już wkrótce. Materiały z wszystkich wykładów (prezentacje, kody źródłowe) będą na bieżąco zamieszczane w Sieci.


Nagranie audio/video również będzie dostępne?
Ja poproszę teleport, własną korepetytorkę i +10 do inteligencji 😉
Świetna sprawa tylko, że daleko. Obecnie jestem na etapie poznawania perla lecz czytając opisy python ma swoje plusy.
Hmmm… Python jeszcze "żyje"? Nie tak dawno (jakiś rok-2 lata temu) słyszałem że Python padł śmiercią naturalną. Hmmm… Może warto się jeszcze zająć tym językiem, ale może jakieś argumenty za/przeciw temu językowi można by było usłyszeć?
@???
A gdzie to niby usłyszaleś ?! Może ktoś marudził z powodu Pythona 3.0 i niezrozumienia relacji między tym projektem a linią 2.x ? Ostatnio wyszedł też całkiem fajny PEP dt. wstrzymania rozbudowy linii 2.x o nowe możliwości, tak aby pozostałe implementacje (IronPython dla .NET i Jython dla JVM) miał czas na dogonienie implementacji referencyjnej…
Python is "alive and kicking".
Python martwy heh !. Ten język obecnie ma najlepszy okres w całym swoim istnieniu, w dużej mierze dzięki frameworkom webowym.
Oraz PyQt (dopiero rozkwita) i PyGTK (pełno tego w Gnome).
Gdzie Ty żyłeś przez ostatnie 2 lata, skoro nie słyszałeś o Pythonie?
Ja wszystko piszę w Pythonie, bo skaluje się i w górę i w dół. Można się na niego bez problemu przesiąść po przygodzie z C++, bo paradygmaty programowania w tych językach są podobne. Robi za ciebie wszystkie techniczne szczegóły, więc możesz skupić się na problemie. Są w nim biblioteki do wszystkiego. Dzięki włączeniu białych znaków do składni, programy są bardzo czytelne.
No i bardzo lubię pythonowe wyjątki. Są one tak dobrą metodą obsługi błędów, że zdebugowanie średniego programu zajmuje mi kilka minut.
Python jest miłym językiem i dość sprawnie się w nim pisze proste skrypty i podstawowe rzeczy, ale nazywanie go szybkim i wydajnym… hmmm, polemizowałbym (no chyba że dla programisty)…
Widziałem parę większych projektów napisanych w Python (gry i jakieś aplikacje) i wszystkie strasznie ociężale chodziły, obciążając sprzęt nieadekwatnie do ich możliwości. Pod względem wydajności znacznie ustępuje takim językom jak C/C++ czy C# (nie mówię oczywiście o aspekcie prostoty programowania, bo to inna kwestia), choć z Java moim zdaniem mógłby konkurować 😉
Jednak do szybkiego oskryptowania czegoś jest wyśmienity 😉
C i C++ sporo języków ustępuje pod względem wydajności. Python jest typowym językiem wysokiego poziomu, stworzonym po to by pisać szybko i łatwo i pod tym względem swoje cele realizuje 🙂 Mimo prostoty można w nim napisać sporo zaawansowanych aplikacji.
Python będzie szybszy jak JVM i CLR doczekają się wsparcia dla języków dynamicznych. Na razie to jest o rząd wielkości za Javą, Scalą, C# i F#.
BTW: W czym Python jest lepszy od Scali? (serio pytam, nie pisałem nic dużego w Pythonie, ale wiem, że Google używa).
A rower jest lepszy od hulajnogi? 😀 Dyskusja na temat "czy ten język jest lepszy od innego" jest zupełnie bezsensowna. Każdy język ma swoje pola zastosowań – do programisty należy wybór, które narzędzie zastosować. Czy drwal całe życie używa tylko siekiery albo tylko piły? Nie! A język programowania to, tak samo jak siekiera, tylko narzędzie. 😉
@Królik: Jest już Jython i IronPython. Szczególnie ten drugi jest całkiem dojrzałym projektem. ZTCW używają go na CodePlex-ie do hostowania repozytorów Mercuriala. Sun też się przymierza do poważnego wsparcia obok JRuby'ego.
@Królik: tak poza aspektami czysto subiektywnymi, Python jest starszy więc ma więcej zasobów programistycznych (manuale, biblioteki itp).
@maczetowy:
Nie pytałem, CZY jest ogólnie lepszy, tylko W CZYM jest lepszy.
To drobna różnica. Czyli właśnie pytałem o pola zastosowań. Wydaje mi się jednak, że pola zastosowań Pythona, Rubyego i Scali się mocno nakładają (z wyjątkiem dużych aplikacji biznesowych).
@reddie:
A wziąłeś pod uwagę, że Scala ma natywny dostęp do wszystkich bibliotek Javy i .NET? A co to dokumentacji, to pewnie masz rację. Scala pod tym względem na razie kuleje. Punkt dla Pythona.
@Królik: nie wziąłem, bo o tym nie wiedziałem 😉
Kilka pytań:
Jak długo to będzie trwało?
Macie jakąś mapkę dojazdu i trafienia do budynku C-13? 🙂
Wykład będzie trwał standardowo około 1,5 godziny. Mapkę można znaleźć w dziale "Kontakt" na stronie Akademickiego Stowarzyszenie Informatycznego. W razie problemów można pisać na mejl kontaktowy ASI.
@Królik: jeżeli przyzwyczaiłeś się do języków statycznie typowanych to python raczej Ci się nie spodoba. Jest prosty do opanowania, żadnej kompilacji (w locie kompiluje do bytecode), szybko się pisze. (W Scali 2.8 wprowadzają zmiany w parametrach domyślnych upodobniając ich działanie do pythona). Denerwuje tylko jeżeli w dokumentacji nie opisano dokładnie jaki typ przyjmuje metoda lub jaki typ zwraca.
PS. Python jest faktycznie sporo wolniejszy niż np. Java (dotyczy również Jython i IronPython), ale za to zużywa znacznie mniej pamięci niż Java (nie dotyczy Jython).
Obecnie twórca Pythona pracuje dla Google i ma przyspieszyć działanie Pythona (według planów ok. 5-krotnie), choć jak wiadomo szybkość w przypadku języków dynamicznych nie jest najważniejsza to miło będzie jak będzie szybciej działać.
Python dostępny jest w Google App Engine gdzie można za darmo postawić sobie portal. Robi się to całkiem szybko i przyjemnie.
Python nie powstał by robić skomplikowane gierki, do tego lepiej użyć C i C++ lub w przypadku mniej zasobożernych gier Javy lub C# (mówi się, że w tych dwóch ostatnich będzie się robić coraz więcej gier, ale z wykorzystaniem silników w C, a Pythona używa się w wielu grach jako języka skryptowego np. do AI ).
Co do wypowiedzi na temat Javy to niestety świadczy to o zupełnym braku wiedzy.
Obecnie Java jest szybsza niż C# (a na pewno dużo szybsza niż Mono). Raczej bym ustawiał C# na równi z Javą niż pisał w jednym ciągu z C i C++ co sugerowałoby zbliżoną szybkość. Java jest dużo szybsza niż Python, ale wolniej się pisze (już nie mówiąc o trudnych do ogarnięcia ZOO klas w Java 😛 ).
Patrząc na surowe mikro benchmarki, C++ jest nieco szybszy niż Java. W realnym kodzie różnice jednak mogą być znacznie mniejsze, a potrafi być wręcz na odwrót (znam parę przypadków przepisania kodu z C++ na Javę, który… przyspieszył). Chodzi o to, że przy ograniczonych zasobach programistycznych, na zoptymalizowanie aplikacji w C++ starczy mniej czasu/pieniędzy niż na zoptymalizowanie aplikacji w Javie. Optymalizacja algorytmów potrafi dać przyspieszenie 20x, a nie 2x wynikające z lepszego kompilatora.
BTW: Scala działająca na JVM jest tak samo szybka jak Java, a na razie nikt mi nie przedstawił powodów, dla których miałoby się w niej pisać wolniej niż w Pythonie.
Istnieją zastosowania wymagające użycia C++ i Java nie daje się tam zastosować, choć rzeczywiści czas pisania w C++ zazwyczaj jest sporo większy.
Scala działa prawie tak samo szybko jak Java, ale pod warunkiem korzystania bezpośrednio z klas Javy. Jeżeli jednak będziesz wykorzystywał np. kolekcje to szybkość działania będzie sporo mniejsza (ponoć w 2.8 mają być o 50% szybsze). A szybkość pisania u mnie jest dużo niższa bo w Scali nie umiem jeszcze szybko pisać 😉
Sama Scala jest dużo trudniejsza do nauczenia niż Python, a konieczność zaglądania do dokumentacji całkiem spowalnia pisanie. Choć sam Scala ma skrócić 3-krotnie ilość kodu względem Javy więc jest prawdopodobnie podobna pod tym względem do Javy. Ale sama ilość linii czy znaków do wstawienia nie decyduje w końcu o szybkości pisania. Mam nadzieję, że za niedługo będę mógł wyrobić sobie własną opinię na ten temat 🙂
z tymi grami i javą bym uważał. Raz że już java3d nie ma w jdk tylko trzeba sobie dociągać, dwa widziałem projekt(chyba na gamedev) który ktoś przepisywał z c++ na jave i było ok. 40% spadek wydajności(chodź może to podyktowane było mniejszą znajomością javy?), a z kolei jeśli idzie o c# to słyszałem że C# jest wolniejsze(mówimy o grach) od analogicznego kodu w c++ o ok. 10-20% więc prędzej c# do gier a java3d to raczej służy do jakiś wizualizacji. Z resztą i tak czy siach trzeba użyć ogl albo dx.
E… Ja tam nie wiem, o czym tam ględzicie. Sam Pythona używam, ze względu na to, że robię na BGE (Blender Game Engine). Całkiem fajny język i naprawdę łatwy.
Więcej o BGE znajdziecie na www.troman.pl (strona chwilowo nieczynna.)