Przejdź do głównej zawartości

Moving to Python

Mówi się, że prawdziwy informatyk powinien co roku poznawać nowy język programowania :-) Fajna sprawa, ale u mnie z tą częstotliwością bywało różnie. Zresztą między poznawaniem języka, a jego biegłym używaniem jest zasadnicza różnica. Poznałem na przestrzeni kilkunastu lat wiele języków programowania, jednak tak na prawdę programowałem i programuję tylko w trzech: C++ (w tym C++/CLI), C# i Java. Pozostałe, a było ich wiele - Forth, Lisp, wszelkie odmiany Basica, Perl, PHP (choć mocno go onegdaj używałem), Pascal, stary, dobry asembler i inne, których nazw już nawet nie pamiętam - gdzieś sobie zniknęły w czeluściach pamięci. Ostatnio nawet Ruby gdzieś mi zaczął umykać, ponieważ już dawno nie napisałem ani kawałka kodu... Jednak w tym przypadku sprawa jest ciągle otwarta - przymierzam się do pewnego projektu.


Ostatnio przeczytałem początek cyklu artykułów autorstwa Łukasza Langi opublikowanych w SDJ, a traktujących o programowaniu w Pythonie. I mnie ruszyło. O Pythonie słyszałem od dawna, ale jako oldschoolowiec nigdy nie miałem zaufania do języków interpretowanych (dopiero przy Ruby mi się trochę odmieniło). Jednak siedząc od pewnego czasu wyłącznie w systemie Linux (chwaliłem się tym parę miesięcy temu :-)) i widząc, jak doskonale sobie radzą języki interpretowane z Pythonem właśnie na czele, postanowiłem poznać ten język. Tym bardziej, że Python znajduje obecnie zastosowanie zarówno do tworzenia aplikacji Webowych (Django), z graficznym interfejsem użytkownika (np. PyGTK), klasycznych CLI, przeznaczonych na urządzenia przenośne itp... Słowem super sprawa!


Pewnie wielu moich znajomych (i nieznajomych) pomyśli, że rychło w czas, ale cóż, tak, jak pisałem wcześniej, zajmowałem się trochę innymi językami.


A w temacie języków programowania pozostając, problem z wyborem odpowiedniego języka do nauki programowania dla początkujących jest ciągle aktualny. Dramat ma miejsce głównie w polskiej oświacie (a jakże). Nie wiem, czy coś się zmieniło, ale dwa lata temu (i wcześniej również) miałem przyjemność uczyć programowania młodzież zdobywającą wykształcenie w zawodzie technik informatyk. Pomijając fakt, że zawód technik informatyk z takim programem nauczania, jaki obowiązuje (lub przynajmniej obowiązywał jakiś czas temu), to - delikatnie mówiąc - nieporozumienie, nauka programowania, jej założenia itp. są "zdziebko" przestarzałe. Programowanie jest w szkole podzielone na dwie części: programowanie strukturalne (Pascal...) i programowanie obiektowe (C++, potem ewentualnie Java). Można by powiedzieć: ale przecież nauczyciel mógłby uczyć innego języka, zamiast muzealnego Pascala. Owszem, też tak myślałem, a potem spojrzałem w standardy wymagań egzaminacyjnych i mnie zemdliło... Zadania z Pascala... Wyobraźcie sobie, jak potraktowaliby nauczyciela absolwenci, którzy znając C++ czy nawet C, dostaliby na egzaminie zadania z Pascala :-) Inna rzecz: znajdzcie mi w szkole nauczyciela przedmiotów informatycznych, który zna coś więcej niż Pascala/Basic/C... Przepraszam, nie "zna", tylko "programuje w". I potrafi tego prawidłowo nauczyć!


Swoją drogą, nieraz moi uczniowie byli zaskoczeni, że nie jestem tylko specjalistą od pocztówek w MS Paint :-)


Wracając do Pythona, polubiłem ten język, oczywiście jeżeli można tak powiedzieć po jednym dniu jegoż intensywnego poznawania i myślę, że dołączy on do mojej Wielkiej Trójki.


Życzę sobie powodzenia i wytrwałości!

Komentarze

Popularne posty z tego bloga

Niesamowicie prosty czujnik zmierzchowy.

Tym razem zero programowania, będzie natomiast nostalgiczno-wspomnieniowy układzik, lekko zmodyfikowany.
Otóż kilka dni temu rozmawialiśmy w gronie znajomych o różnego rodzaju czujnikach zmierzchowych i czujnikach ruchu. Ponieważ należę do tych wariatów, co to hołdują jeszcze owej przestarzałej i kompletnie odrealnionej dziś zasadzie: "po co kupować, gdy można zrobić", stwierdziłem, że poskładam takie coś (czujnik zmierzchowy; sensor ruchu faktycznie lepiej nabyć, choćby ze względu na rozmiary ;)) i być może podłączę do jakiegoś mikrokontrolera. Przypomniało mi się też przy okazji, że znalazłem ostatnio w elektronicznych śmieciach stary fotorezystor (dla niewtajemniczonych: element zmieniający rezystancję, czyli opór elektryczny, pod wpływem działania strumienia światła) RPP130, jeden z kilku pozostałych po montowanych wieki temu układach tranzystorowych do zdalnego sterowania pracą urządzeń za pomocą latarki... No OK, nie było to specjalnie rozbudowane zdalne sterowanie ;)

Android i zewnętrzny moduł GPS

Od kilku dni jestem w posiadaniu smyrfona z Androidem 4.1.1 na pokładzie. Kwestie związane z wyborem systemu roztrząsałem już na G+, a ten artykuł tutaj ma konkretny temat, więc nie będę wyjaśniał po raz n-ty. Po prostu zwyciężyły popularność i ekosystem oraz przywiązanie do produktów sieciowych Google. Mniejsza.

Zbliża się sezon urlopowy :-) Moi podopieczni już mają wakacje, a ja wyjeżdżam wkrótce. W każdym bądź razie wakacje to podróże - samochodem, rowerem, na piechotę, żaglówką, motorówką, samolotem... Zaawansowane urządzenia mobilne przyzwyczaiły nas już do usług lokalizacyjnych, z których najważniejszą jest GPS (na dalszym planie mamy A-GPS, lokalizacje w oparciu o sieci WiFi itp.). Często korzystamy z programów, które w coraz ciekawszy sposób wiążą naszą lokalizację, pobraną z np. GPS-a, z przeróżnymi danymi, nieraz ocierając się o AR.
Każdy współczesny smartfon, a przynajmniej znakomita ich większość, wyposażona jest we wbudowany odbiornik sygnału lokalizacyjnego (GPS, GLONASS…

Po co mi to całe Arduino?

Oczywiście tytuł ma być jedynie prowokacją. Chociaż nie do końca - artykuł jest właśnie poświęcony pracy w Arduino IDE z mikrokontrolerami, ale bez płytek Arduino.
Czym jest Arduino - wiemy wszyscy, zarówno początkujący fani programowania elektroniki, jak i zaawansowani mikrokontrolerowcy. Jeśli jednak nie do końca wiemy, zachęcam do odwiedzenia strony domowej projektu (link 5 na końcu artykułu) oraz zerknięcia np. w poradnik (link 4).

Jakiś czas temu, przełamując się i zmieniając zdanie ("o 180 stopni" ;-)) nabyłem sobie Arduino Leonardo, głównie w celu jego "obwąchania" i zapoznania się z bogatym zbiorem bibliotek dostępnych dla tej platformy. Zgoda, różne biblioteki są dostępne niezależnie od Arduino, ale i tak się zdecydowałem. Dlaczego Leonardo? Otóż miałem ochotę przyrządzić dwie pieczenie na jednym ogniu - mieć Arduino i przetestować ATmegę 32u4. Dziś doskonale zdaję sobie sprawę, że żeby pobawić się Arduino nie trzeba go w ogóle posiadać... Ale po kolei.

Pi…