Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Jak dlugo trwa nauka pythona???

3,083 views
Skip to first unread message

Ufiasty

unread,
Sep 9, 2003, 3:25:10 PM9/9/03
to
Mamogromne pragnienie dowiedzenia sie jak dlugo trwa nauka pythona do
poziomu w ktroym mozna juzjakis sensowny program napiac:)))
Wszystkim ktorzy zaspokoja moje pragnienie bardzo dziekuje:]

Ufiasty

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

Jarek Zgoda

unread,
Sep 9, 2003, 3:27:38 PM9/9/03
to
Ufiasty <ufi...@NOSPAM.gazeta.pl> pisze:

> Mamogromne pragnienie dowiedzenia sie jak dlugo trwa nauka pythona do
> poziomu w ktroym mozna juzjakis sensowny program napiac:)))
> Wszystkim ktorzy zaspokoja moje pragnienie bardzo dziekuje:]

2 dni.

--
Jarek Zgoda
Registered Linux User #-1
http://www.zgoda.biz/ JID:ja...@jabberpl.org http://zgoda.jogger.pl/

Wojtek Walczak

unread,
Sep 10, 2003, 2:45:31 AM9/10/03
to
Dnia Tue, 9 Sep 2003 19:25:10 +0000 (UTC), Ufiasty napisał(a):
> Mamogromne pragnienie dowiedzenia sie jak dlugo trwa nauka pythona do
> poziomu w ktroym mozna juzjakis sensowny program napiac:)))
> Wszystkim ktorzy zaspokoja moje pragnienie bardzo dziekuje:]
Proponuje sprawdzić empirycznie. Jarek Zgoda w kazdym razie ma racje,
bedzie tego z dwa dni.

--
[ Wojtek Walczak - gminick (at) underground.org.pl ]
[ <http://gminick.linuxsecurity.pl/> ]
[ "...rozmaite zwroty, matowe od patyny dawnosci." ]

Artur Płatek

unread,
Sep 10, 2003, 2:52:08 AM9/10/03
to
> Mamogromne pragnienie dowiedzenia sie jak dlugo trwa nauka pythona do
> poziomu w ktroym mozna juzjakis sensowny program napiac:)))

Witam,
Jeden z moich znajmych zwykł mawiać, że każda rzecz zajmuje
tyle czasu ile się na nią przeznaczy.

--
Pozdrawiam,
Artur Płatek


Przemysław Gawroński

unread,
Sep 10, 2003, 4:36:56 AM9/10/03
to
> Jeden z moich znajmych zwykł mawiać, że każda rzecz zajmuje
> tyle czasu ile się na nią przeznaczy.

Fajne :-)

--
Przemek Gawronski przemyslawgawronski<at>wp<dot>pl
Linux Registered User 239544 UIN:8358522
http://counter.li.org/

K507

unread,
Sep 10, 2003, 7:18:34 AM9/10/03
to
> > Mamogromne pragnienie dowiedzenia sie jak dlugo trwa nauka pythona do
> > poziomu w ktroym mozna juzjakis sensowny program napiac:)))
> > Wszystkim ktorzy zaspokoja moje pragnienie bardzo dziekuje:]
>
> 2 dni.
>
tak ale później z nauką wxWindows nie będzei tak szybko :)


Jarek Zgoda

unread,
Sep 10, 2003, 1:02:51 PM9/10/03
to
K507 <k5...@poczta.onet.pl> pisze:

Na pierwszy interfejs polecam raczej coś lżejszego -- np. cmd.

Krzysztof Kaczkowski

unread,
Sep 10, 2003, 3:28:35 PM9/10/03
to
Dwa dni? Wolne żarty ;)

> Mamogromne pragnienie dowiedzenia sie jak dlugo trwa nauka pythona do
> poziomu w ktroym mozna juzjakis sensowny program napiac:)))

Jak umiesz już programować to z parę tygodni musisz poczwiczyc żeby napisać
SENSOWNY PROJEKT, czyli taki który będzie wymagał czegoś więcej aniżeli
napisania:
for x in range(5,10):
print "Ala ma %s kotow" %x

Jezeli nie umiesz jeszcze programować to zajmie ci to najbliższych kilka
lat, nawet z użyciem Pythona.
Wszyscy zapominają ze umiejętność programowania to nie tylko znajomość
składni języka którym się posługujemy! Pytanie brzmiało o napisanie projektu
użytecznego, "marketingowego" jak domniemam a nie jakiegoś tam byle czego.
Nie ma co się oszukiwać, Python jest wspaniałym narzędziem które przyspiesza
developing projektu, ale nie jest panaceum na brak wiedzy i nie powoduje
nabycia jej tylko dlatego ze zaczniemy programować w Pythonie.


Jarek Zgoda

unread,
Sep 10, 2003, 3:57:03 PM9/10/03
to
Krzysztof Kaczkowski <krzy...@py142.wroclaw.sdi.tpnet.pl> pisze:

> Pytanie brzmiało o napisanie projektu
> użytecznego, "marketingowego" jak domniemam a nie jakiegoś tam byle czego.

Mój pierwszy program w Pythonie służy mi do dzisiaj -- co rano sprawdza,
czy jest nowa wersja tleenx, w razie czego ściąga ją, rozpakowuje i
wysyła mi maila, że mam coś do skompilowania. Użyteczny? Jak
najbardziej. Poznanie Pythona na tyle, żeby nauczyć się posługiwać
urllib, os.popen, os.system, shelve, md5 i paroma innymi drobiazgami
trwało krócej, niż 2 dni.

Oczywiście, każdy może zaczynać od napisania OpenOffice, Mozilli,
Scribusa czy SodiPodi. Nikt jeszcze nie zabronił.

Krzysztof Kaczkowski

unread,
Sep 10, 2003, 5:52:12 PM9/10/03
to

> Mój pierwszy program w Pythonie służy mi do dzisiaj -- co rano sprawdza,
> czy jest nowa wersja tleenx, w razie czego ściąga ją, rozpakowuje i
> wysyła mi maila, że mam coś do skompilowania. Użyteczny? Jak
> najbardziej. Poznanie Pythona na tyle, żeby nauczyć się posługiwać
> urllib, os.popen, os.system, shelve, md5 i paroma innymi drobiazgami
> trwało krócej, niż 2 dni.
To Tobie zajęło to 2 dni, powiedz to samo osobie która jest mało
doświadczona w programowaniu i właśnie wpadła na pomyśl zostania programistą
po obejrzeniu 2047 odcinka Moda na Hakera ;)

> Oczywiście, każdy może zaczynać od napisania OpenOffice, Mozilli,
> Scribusa czy SodiPodi. Nikt jeszcze nie zabronił.

Nie mowie żeby zaczynać od takich rzeczy, ale... ale nawet te moduły które
wymieniłeś będą zaporą dla większości chętnych zaczynających przygodę z
programowaniem i to dużym problemem.

Grzegorz Szyszlo

unread,
Sep 15, 2003, 7:56:15 AM9/15/03
to
Ufiasty wrote:
> Mamogromne pragnienie dowiedzenia sie jak dlugo trwa nauka pythona do
> poziomu w ktroym mozna juzjakis sensowny program napiac:)))
> Wszystkim ktorzy zaspokoja moje pragnienie bardzo dziekuje:]

to zalezy jak sie uczysz. mysle ze tak na oko z pol roku.
ja sie wlasnie ucze, ale wiem ze mi zejdzie dluzej, bo nie mam
zbyt wiele czasu na nauki. a w swoim otoczeniu tez nie mam
osob, ktore pythona uzywaja. zreszta w swoim otoczeniu jestem
jedynym uzytkownikiem perla. wiec widzisz jak to jest.

btw. ja sie pewnie bede uczyl z rok. najborszy jest poczatek
(cecha wspolna jakichkolwiek nauk), tzn. zeby napisac byle co,
trzeba w kolko ksiazki wertowac w te i we wte, dopoki podstawowe
triki i biblioteki sie nie przepisza z papieru do mozgu.

znik.

Grzegorz Szyszlo

unread,
Sep 15, 2003, 7:57:44 AM9/15/03
to
Jarek Zgoda wrote:
> 2 dni.

nie badz taki madry. w 2 dni to mozna co najwyzej opanowac
skladnie, i to w sposob bierny. a wez sie naucz biblioteki
standardowej w 2 dni. to zdaje sie odsyc gruba cegla.

znik.

Artur Platek

unread,
Sep 15, 2003, 9:18:32 AM9/15/03
to
> nie badz taki madry. w 2 dni to mozna co najwyzej opanowac
> skladnie, i to w sposob bierny. a wez sie naucz biblioteki
> standardowej w 2 dni. to zdaje sie odsyc gruba cegla.
Witam,
Ponoc najlepsza metoda nauki programowania jest programowanie.
Moim zdaniem (tak bylo w moim przypadku) nalezy najpierw dobrze
zrozumiec skladnie i podstawowe typy danych, co jest rzeczywiscie do
zrobienia w ciagu dwóch dni, po czym rozpoczecie pisania. Jesli
potrzebujemy jakiejs funkcji, to siegamy po dokumentacje. Po co uczyc
sie na pamiec rzeczy których i tak sie nie bedzie wykorzystywac?

--
Pozdrawiam,
Artur Platek


Jarek Zgoda

unread,
Sep 15, 2003, 1:35:07 PM9/15/03
to
Grzegorz Szyszlo <zn...@wbc.lublin.pl> pisze:

Jak nie masz nic lepszego do roboty, to się ucz biblioteki standardowej.
Ja mam od tego dokumentację w /usr/doc/python2.2 i Python Standard
Library na http://effbot.org

Grzegorz Szyszlo

unread,
Sep 16, 2003, 4:34:36 AM9/16/03
to
Artur Platek wrote:
>>nie badz taki madry. w 2 dni to mozna co najwyzej opanowac
>>skladnie, i to w sposob bierny. a wez sie naucz biblioteki
>>standardowej w 2 dni. to zdaje sie odsyc gruba cegla.
>
> Witam,
> Ponoc najlepsza metoda nauki programowania jest programowanie.
> Moim zdaniem (tak bylo w moim przypadku) nalezy najpierw dobrze
> zrozumiec skladnie i podstawowe typy danych, co jest rzeczywiscie do
> zrobienia w ciagu dwóch dni,

tyle to przerobilem w tydzien ..... czytajac ksiazki w autobusie :)
ale czy tyle wystarczy by efektywnie juz pisac programy? bardzo
szczerze watpie.

> po czym rozpoczecie pisania. Jesli
> potrzebujemy jakiejs funkcji, to siegamy po dokumentacje. Po co uczyc
> sie na pamiec rzeczy których i tak sie nie bedzie wykorzystywac?

uczenie sie wszystkiego na pamiec nie ma najmniejszego sensu.
ale jesli chcesz programowac efektywnie, to niestety duzo rzeczy
musisz znac na pamiec. w 2 dni tego sie nie nauczysz.
no chyba ze podlaczysz sie do takiej maszynki jak na kosiarzu umyslow :)

znik.

Krzysztof Kaczkowski

unread,
Sep 16, 2003, 8:37:56 AM9/16/03
to
> Jak nie masz nic lepszego do roboty, to się ucz biblioteki standardowej.
> Ja mam od tego dokumentację w /usr/doc/python2.2 i Python Standard
> Library na http://effbot.org

Wiesz jaka jest różnica pomiędzy programista efektywnym i nieefektywnym?
Ten pierwszy zna właśnie większość dokumentacji na pamięć, a ten drugi
zagłada do niej :)
Jeszcze nikt nie napisał dobrego programu łącząc uczenie się języka
programowania z programowaniem :(

Grzegorz Makarewicz

unread,
Sep 16, 2003, 9:22:38 AM9/16/03
to
Krzysztof Kaczkowski wrote:
>>Jak nie masz nic lepszego do roboty, to się ucz biblioteki standardowej.
>>Ja mam od tego dokumentację w /usr/doc/python2.2 i Python Standard
>>Library na http://effbot.org
>
>
> Wiesz jaka jest różnica pomiędzy programista efektywnym i nieefektywnym?
> Ten pierwszy zna właśnie większość dokumentacji na pamięć, a ten drugi
> zagłada do niej :)

No niezupełnie, poznanie całego MFC,ATL,WTL,STL,... do najmniejszego
szczególu może byc zakończone pobytem w szpitalu.
Już po kilku zmianach i przejściu na PocketPC cała wiedza staje sie
zbędnym balastem, choć posługujemy sie tymi samymi narzedziami.

Bez stałego czytania dokumentacji i uzupełniania wiedzy nic sie nie
zdziała - te do pythona czytam już kilka lat i nadal zdażają się
przypadki o ktorych nie doczytałem lub zapomniałem - a wcale nie czuję
sie programistą nieefektywnym.

Zawsze jak rozpoczynałem przygodę z następnym językiem programowania to
poznawałem jego słowa kluczowe i typowe konstrukcje, a także bibliotekę
standardową.
Reszta zmienia sie z wersji na wersję, znacznie lepiej jest zorientować
sie co mamy do dyspozycji (w miarę nauki) i w miarę potrzeb/możliwości
korzystać z usystematyzowanych i stabilnych narzędzi.

Lepiej uczyć się jak klasyfikować i rozwiązywać problemy - program to
tylko zakodowane rozwiązanie.

mak

Jarek Zgoda

unread,
Sep 16, 2003, 2:37:37 PM9/16/03
to
Krzysztof Kaczkowski <krzy...@py142.wroclaw.sdi.tpnet.pl> pisze:

>> Jak nie masz nic lepszego do roboty, to się ucz biblioteki standardowej.
>> Ja mam od tego dokumentację w /usr/doc/python2.2 i Python Standard
>> Library na http://effbot.org
>
> Wiesz jaka jest różnica pomiędzy programista efektywnym i nieefektywnym?
> Ten pierwszy zna właśnie większość dokumentacji na pamięć, a ten drugi
> zagłada do niej :)

Efektywny pisze programy. Nieefektywny uczy się biblioteki standardowej
zamiast pisać programy.

> Jeszcze nikt nie napisał dobrego programu łącząc uczenie się języka
> programowania z programowaniem :(

Nieuprawnione uogólnienie. Ty po prostu nikogo takiego nie znasz.

Krzysztof Kaczkowski

unread,
Sep 16, 2003, 4:49:42 PM9/16/03
to
> > Wiesz jaka jest różnica pomiędzy programista efektywnym i nieefektywnym?
> > Ten pierwszy zna właśnie większość dokumentacji na pamięć, a ten drugi
> > zagłada do niej :)
>
> Efektywny pisze programy. Nieefektywny uczy się biblioteki standardowej
> zamiast pisać programy.

I później te programy wyglądają jak, dla porównania domki 3 świnek:
Świnka Nafnaf
Domek: Słomiany
Funkcjonalność: W zasadzie spełnia potrzeby świnki, choć świnka długo się do
tego przekonywała.
Fundusz remontowy: Wysoki, ciągle podpieranie konstrukcji gałęziami,
optykanie mchem wszędzie pojawiających się dziur, ustawiczna wymiana starej
słomy na nową o takiej samej jakości.
Modernizacja: Niemożliwa bez zburzenia i wybudowania nowego domku wg nowego
projektu.
Uwagi: W domku pod żadnym pozorem nie wolno używać ognia (grozi całkowitym
spaleniem domku), drzwi nie ma, zamiast nich jest snopek siana.
Projektant: świnka Nafnaf przed zbudowaniem domku zobaczyła na zdjęciu inny
domek i przejrzała poradnik Małego Majsterkowicza. Wie co to sznurek i gałąź
nigdy jeszcze nie słyszała o młotku i gwoździach.

Świnka Nufnuf
Domek: Drewniany
Funkcjonalność: Spełnia wszystkie wymagania świnki.
Fundusz remontowy: Średni, dość często trzeba optykać dziury mchem, ale
zasadniczo główna konstrukcja nie wymaga częstych napraw, zdarza się że
domek po wizycie dużej liczby gości musimy trochę naprawić i posprzątać.
Modernizacja: Niewielkie zmiany w konstrukcji można zrobić od ręki, większe
wymagają rozebrania i poskładania na nowo sporej części konstrukcji domku.
Uwagi: w domku można używać ognia ale z zachowaniem dużej ostrożności, drzwi
są zamknięte na skobel.
Projektant: świnka NufNuf przed zbudowaniem domku przeczytała dokładnie
poradnik Małego Majsterkowicza, spróbowała nawet wcześniej wybudować kilka
szałasów, wie co to młotek i wie jak go używać, do łączenia elementów domku
używa gwoździ, nie wie co to cegła, cement.

Świnka Nifnif
Domek: Murowany
Funkcjonalność: Spełnia wszystkie wymagania świnki, nawet je przewyższa.
Fundusz remontowy: Niski, od czasu do czasu zdarzy się odpadnięcie tynku,
lub nieszczelność okna, ale nie wpływa to na ogólna funkcjonalność domku.
Modernizacja: Dzięki solidnej konstrukcji można na jego szkielecie oprzeć
dodatkowe części domku, można nawet dobudować basen połączony z siecią
wodociągowa domku. Konstrukcja bardzo przemyślana ułatwia rozbudowę w prawie
każdym kierunku.
Uwagi: W domku można używać ognia, w kranach jest woda a w kontaktach prąd.
Domek na noc sam wyłącza światła, ma dobre antywłamaniowe drzwi z solidnym
zamkiem.
Projektant: Świnka Ninif, przeczytała i dobrze zna kilka książek o budowie
domów, Dobrze zgłębiła wiedze konieczna do dobrego zaplanowania domku,
przeczytała również książki z dziedziny hydrauliki, energetyki oraz
elektromagnetyki, skończyła specjalny kurs projektowanie domków, wie co to
czasoprzestrzeń, wie również że można zakrzywić czasoprzestrzeń żeby
zwiększyć funkcjonalność domku, ale jeszcze nie wie jak to zrobić.

> > Jeszcze nikt nie napisał dobrego programu łącząc uczenie się języka
> > programowania z programowaniem :(
> Nieuprawnione uogólnienie. Ty po prostu nikogo takiego nie znasz.

Zgoda niesłuszne uogólnienie. Ale prawdopodobieństwo spotkania takiegoś
kogos równa się praktycznie zeru.


Krzysztof Kaczkowski

unread,
Sep 16, 2003, 5:03:10 PM9/16/03
to
>No niezupełnie, poznanie całego MFC,ATL,WTL,STL,... do najmniejszego
>szczególu może byc zakończone pobytem w szpitalu.
A czytałes kiedyś testy M$ dla kandydatów na inżyniera MFC?

>Już po kilku zmianach i przejściu na PocketPC cała wiedza staje sie
>zbędnym balastem, choć posługujemy sie tymi samymi narzedziami.

Niestety to jest wada całej informatyki, wiedza bardzo szybko się dewaluuje.

>Bez stałego czytania dokumentacji i uzupełniania wiedzy nic się nie


>zdziała - te do pythona czytam już kilka lat i nadal zdażają się
>przypadki o ktorych nie doczytałem lub zapomniałem - a wcale nie czuję
>sie programistą nieefektywnym.

Ale tylko potwierdzasz moją teorie, po prostu znasz większość bibliotek od
strony funkcjonalnej, żeby wykonać jakiś projekt nie zastanawiasz się jak to
zrobić tylko na ogół masz kilka gotowych rozwiązań, jeżeli ich nie masz
wiesz gdzie ich szukać :)

>Zawsze jak rozpoczynałem przygodę z następnym językiem programowania to
>poznawałem jego słowa kluczowe i typowe konstrukcje, a także bibliotekę
>standardową.

I właśnie o to chodzi


>Reszta zmienia sie z wersji na wersję, znacznie lepiej jest zorientować
>sie co mamy do dyspozycji (w miarę nauki) i w miarę potrzeb/możliwości
>korzystać z usystematyzowanych i stabilnych narzędzi.

Że zmienia się to się zgadzam, ale w poważnych projektach nie jest to nigdy
zmiana przekreślająca dotychczasowa wiedzę. Poznawanie funkcjonalności
czegokolwiek w czasie montowania tego do projektu jest moim zdaniem
kompletną pomyłką. Wolałbym niebyć użytkownikiem takiego programu.

>Lepiej uczyć się jak klasyfikować i rozwiązywać problemy - program to

Jeżeli chcesz być analitykiem lub projektantem oprogramowania to tak, ale
jeżeli programistą to przede wszystkim będzie cię interesowało optymalne
zakodowanie algorytmu (który notabene da ci projektant)
>tylko zakodowane rozwiązanie.
To AŻ ZAKODOWANE ROZWIĄZANIE, nigdy nie zdarzyło się tobie znać rozwiązanie
problemu od strony teoretycznej, ale mieć problem z implementacją tego
rozwiązania? widziałem też często na prawdę bardzo dobre algorytmy ale tak
zaimplementowane, że ich używanie mijało się z celem.


Piotr Zieliński

unread,
Sep 16, 2003, 5:23:56 PM9/16/03
to
Dnia wto, 16 wrz 2003 o 22:49 GMT, Krzysztof Kaczkowski napisał:
>> Efektywny pisze programy. Nieefektywny uczy się biblioteki standardowej
>> zamiast pisać programy.
> I później te programy wyglądają jak, dla porównania domki 3 świnek:
> Świnka Nafnaf
> Domek: Słomiany
> Projektant: świnka Nafnaf przed zbudowaniem domku zobaczyła na zdjęciu inny
> domek i przejrzała poradnik Małego Majsterkowicza. Wie co to sznurek i gałąź
> nigdy jeszcze nie słyszała o młotku i gwoździach.
> Świnka Nufnuf
> Domek: Drewniany
> Projektant: świnka NufNuf przed zbudowaniem domku przeczytała dokładnie
> poradnik Małego Majsterkowicza, spróbowała nawet wcześniej wybudować kilka
> szałasów, wie co to młotek i wie jak go używać, do łączenia elementów domku
> używa gwoździ, nie wie co to cegła, cement.
> Świnka Nifnif
> Domek: Murowany
> Projektant: Świnka Ninif, przeczytała i dobrze zna kilka książek o budowie
> domów, Dobrze zgłębiła wiedze konieczna do dobrego zaplanowania domku,
> przeczytała również książki z dziedziny hydrauliki, energetyki oraz
> elektromagnetyki, skończyła specjalny kurs projektowanie domków, wie co to
> czasoprzestrzeń, wie również że można zakrzywić czasoprzestrzeń żeby
> zwiększyć funkcjonalność domku, ale jeszcze nie wie jak to zrobić.

Bardzo ładne opowiadanie, tylko nie bardzo widzę jakieś przełożenie
na tezę o konieczności znajomości na pamięć całej biblioteki standardowej.

>> > Jeszcze nikt nie napisał dobrego programu łącząc uczenie się języka
>> > programowania z programowaniem :(
>> Nieuprawnione uogólnienie. Ty po prostu nikogo takiego nie znasz.
> Zgoda niesłuszne uogólnienie. Ale prawdopodobieństwo spotkania takiegoś
> kogos równa się praktycznie zeru.

Uważasz że *umiejąc programować* nie można napisać dobrego
programu w nowo poznanym języku?

piotr

--
Piotr Zieliński 'albert' <albert78 at poczta onet pl>

4.669201609...

Jarek Zgoda

unread,
Sep 16, 2003, 5:38:08 PM9/16/03
to
Krzysztof Kaczkowski <krzy...@py142.wroclaw.sdi.tpnet.pl> pisze:

>>Bez stałego czytania dokumentacji i uzupełniania wiedzy nic się nie
>>zdziała - te do pythona czytam już kilka lat i nadal zdażają się
>>przypadki o ktorych nie doczytałem lub zapomniałem - a wcale nie czuję
>>sie programistą nieefektywnym.
> Ale tylko potwierdzasz moją teorie, po prostu znasz większość bibliotek od
> strony funkcjonalnej, żeby wykonać jakiś projekt nie zastanawiasz się jak to
> zrobić tylko na ogół masz kilka gotowych rozwiązań, jeżeli ich nie masz
> wiesz gdzie ich szukać :)

A Ty z kolei potwierdzasz moją teorię, że uczenie się biblioteki
standardowej to strata czasu. Wiem, jak działa skrót MD5. Wiem, jak
działa zwykłe gniazdo (AF_INET + SOCK_STREAM). Dokumentacja jest
potrzebna tylko wtedy, gdy coś działa nie tak, jak możnaby się tego
spodziewać.

Dokładnie to napisał Guido w "Python Style Guide".

Krzysztof Kaczkowski

unread,
Sep 16, 2003, 5:36:57 PM9/16/03
to
>Bardzo ładne opowiadanie, tylko nie bardzo widzę jakieś przełożenie
Nie pisz programów :)

>na tezę o konieczności znajomości na pamięć całej biblioteki standardowej.
Czy ja powiedziałem na pamięć?

> Uważasz że *umiejąc programować* nie można napisać dobrego
> programu w nowo poznanym języku?

Uważam że *umiejąc programować* można napisać dobry program dość szybko, ale
nie po 2 dniach i nie po 10, zajmie to zdecydowanie wiecej czasu, ale nie
pół roku ;)


Krzysztof Kaczkowski

unread,
Sep 16, 2003, 5:39:09 PM9/16/03
to
> A Ty z kolei potwierdzasz moją teorię, że uczenie się biblioteki
> standardowej to strata czasu. Wiem, jak działa skrót MD5. Wiem, jak
> działa zwykłe gniazdo (AF_INET + SOCK_STREAM). Dokumentacja jest
> potrzebna tylko wtedy, gdy coś działa nie tak, jak możnaby się tego
> spodziewać.
>
> Dokładnie to napisał Guido w "Python Style Guide".

Po prostu najlepszy jest "złoty umiar" ;)

JZ

unread,
Sep 17, 2003, 1:11:38 AM9/17/03
to
On Tue, 16 Sep 2003 18:37:37 +0000 (UTC), Jarek Zgoda
<jzg...@gazeta.usun.pl> wrote:

>Efektywny pisze programy. Nieefektywny uczy się biblioteki standardowej
>zamiast pisać programy.

Dokładnie. :) Znam takiego co wpierw musiał przeczytać całą od deski
do deski cegłę kilkusetstronicową na dany temat aby potem zrobić coś z
tym praktycznie. Efekt był taki że prawie nigdy nie przebrnął do końca
tego co czytał i nigdy nie nauczył się niczego praktycznie.

Co do bibliotek standardowych to ważne aby mieć pojęcie JAKIE są i do
z czego służą aby wiedzieć GDZIE sięgać po szczegóły zamiast wkuwać je
wszystkie na pamięć.
BTW, Python ma ogromną przewagę nad innymi językami z powodu
czytelnej, łatwej do przyswojenia składni i spójnej terminologii
bibliotek (czego nie można powiedzieć o PHP). Łatwiej więc się również
zapamiętuje różne szczegóły konkretnego wywołania funkcji i mniej
trzeba sięgać do dokumentacji niż w wypadku np. języka Java. (to
ostatnie to zdanie Bruce Eckella, autora "Thinking in Java")

--
JZ

Grzegorz Makarewicz

unread,
Sep 17, 2003, 3:00:28 AM9/17/03
to
Krzysztof Kaczkowski wrote:
>>No niezupełnie, poznanie całego MFC,ATL,WTL,STL,... do najmniejszego
>>szczególu może byc zakończone pobytem w szpitalu.
>
> A czytałes kiedyś testy M$ dla kandydatów na inżyniera MFC?
>
oraz administrtaora netware, programisty netware, programisty btrieve,
administratora sieci, ..., administrtatora ms sql - nawet niektore z
nich zaliczylem :), ale czy wiedza nt. grubosci kabla skretki do czegos
sie przydaje (po za egzaminem) ?

>
>>Już po kilku zmianach i przejściu na PocketPC cała wiedza staje sie
>>zbędnym balastem, choć posługujemy sie tymi samymi narzedziami.
>
> Niestety to jest wada całej informatyki, wiedza bardzo szybko się dewaluuje.
>

wiec zamiast zapychac sie nikomu niepotrzebnymi informacjami lepiej
wiedziej co i gdzie mozna doczytac aby znalezc poprawne/przyblizone
rozwiazanie.

>
>>Bez stałego czytania dokumentacji i uzupełniania wiedzy nic się nie
>>zdziała - te do pythona czytam już kilka lat i nadal zdażają się
>>przypadki o ktorych nie doczytałem lub zapomniałem - a wcale nie czuję
>>sie programistą nieefektywnym.
>
> Ale tylko potwierdzasz moją teorie, po prostu znasz większość bibliotek od
> strony funkcjonalnej, żeby wykonać jakiś projekt nie zastanawiasz się jak to
> zrobić tylko na ogół masz kilka gotowych rozwiązań, jeżeli ich nie masz
> wiesz gdzie ich szukać :)
>

no jasne, ze znam - trudno jest jej nie znac jak sie pisze w pythonie od
X lat :).
Tylko komu to bedzie potrzebne za nastepnych X lat ?

>
>>Lepiej uczyć się jak klasyfikować i rozwiązywać problemy - program to
>
> Jeżeli chcesz być analitykiem lub projektantem oprogramowania to tak, ale
> jeżeli programistą to przede wszystkim będzie cię interesowało optymalne
> zakodowanie algorytmu (który notabene da ci projektant)
>

To odnosi sie takze do nauki programowania i rozwiazywania problemow
programistycznych - tej wiedzy nie da sie zdobyc w 2 dni, w 2 dni mozna
poznac skladnie jezyka i zawartosc tych podstawowych bibliotek i napisac
kilka testow.

Reszta to wiedza juz posiadana i gotowa do wykorzystania.

>>tylko zakodowane rozwiązanie.
>
> To AŻ ZAKODOWANE ROZWIĄZANIE, nigdy nie zdarzyło się tobie znać rozwiązanie
> problemu od strony teoretycznej, ale mieć problem z implementacją tego
> rozwiązania? widziałem też często na prawdę bardzo dobre algorytmy ale tak
> zaimplementowane, że ich używanie mijało się z celem.
>

Nobody is perfect - zawsze znajdziemy rozwiazanie lepsze od juz
istniejacego, a jezeli takowego brak to zawsze mozna to zrobic samemu.

Lepiej, gorzej ale dziala - teraz piszemy programy TYLKO w pythonie,
ktory jest wolniejszy srednio 10-20 krotnie od takich samych
zakodowanych w C.
Czy klienci maja w zwiazku z tym jakis obiekcje ?
Otoz nie, oni nie pragna super szybkich programow lecz dokladnych i
sprawdzonych algorytmow.

Po napisaniu tego w pythonie bez wiekszych problemow mozna przejsc na
jave,c#, ... - pomimo tego ze nie znam zadnego z tych jezykow to nie
sadze aby ich nauka zajela mi wiecej niz kilka dni, a przeniesienie
sprawdzonych algorytmow kilkudziesieciu dni.

TO TYLKO PRZEDSTAWIENIE posiadanej wiedzy w innym jezyku.

mak

Adam Przybyla

unread,
Sep 17, 2003, 3:07:24 AM9/17/03
to
Krzysztof Kaczkowski <krzy...@py142.wroclaw.sdi.tpnet.pl> wrote:
>> A Ty z kolei potwierdzasz moj? teori?, ?e uczenie si? biblioteki
>> standardowej to strata czasu. Wiem, jak dzia?a skr?t MD5. Wiem, jak
>> dzia?a zwyk?e gniazdo (AF_INET + SOCK_STREAM). Dokumentacja jest
>> potrzebna tylko wtedy, gdy co? dzia?a nie tak, jak mo?naby si? tego
>> spodziewa?.
>>
>> Dok?adnie to napisa? Guido w "Python Style Guide".

> Po prostu najlepszy jest "z?oty umiar" ;)
... Arystoteles się w grobie przewraca - jak juz to "zloty srodek";-)))
Wracajac do dystkusji, Pythona nauczylem się w dwa dni. Niektore konstrukcje
zaczalem uzywac jednka dopiero po kilku miesiacach a standardowa
dokumentacje do biblioteki przeczytalem w calosci, bez wglebiania się
jak juz troche popisalem w Pythonie. Zajelo mi to miesiac (czytalem z przerwami).
Z powazaniem
Adam Przybyla


Grzegorz Szyszlo

unread,
Sep 17, 2003, 5:15:13 AM9/17/03
to
Piotr Zieliński wrote:

> Bardzo ładne opowiadanie, tylko nie bardzo widzę jakieś przełożenie
> na tezę o konieczności znajomości na pamięć całej biblioteki standardowej.

zdaje sie ode mnie sie zaczelo "wkuwanie biblioteki", tyle ze zostalem
opacznie zrozumiany. byblioteke warto przekartkowac, wtedy czesciej
"cos swita" w umysle jak jest problem do rozwiazania, i przynajmniej
intuicyjnie wiadomo gdzie szukac wlasciwej informacji. ja nic nie
pisalem o nauczeniu sie CALEJ biblioteki na pamiec, bo to nie ma zadnego
sensu. ale jak sie tej biblioteki wogole nie zna, wiele rzeczy jest po
prostu niewykonalnych w rozsadnym czasie. to bylo sedno mojej
wypowiedzi, ze w 2 dni mozna sie nauczyc tylko skladni jezyka, i to w
sposob bierny. na przyszlosc prosze o nieprzekrecanie w tak kuriozalny
sposob moich przemyslen :)

znik.

btw. faktem jest, ze znajomoc konkretnego jezyka, oraz umiejetnosc
programowania to dwie calkowicie rozne rzeczy. pierwotne pytanie
brzmialo, jak dlugo trwa nauka tego jednego konkretnego jezyka:
pythona. tak sie sklada, ze jezyk to nie tylko jego skladnia,
wiec 2 dni nauki mozna miedzy bajki wlozyc.

Grzegorz Szyszlo

unread,
Sep 17, 2003, 5:17:42 AM9/17/03
to
Grzegorz Makarewicz wrote:

> oraz administrtaora netware, programisty netware, programisty btrieve,
> administratora sieci, ..., administrtatora ms sql - nawet niektore z
> nich zaliczylem :), ale czy wiedza nt. grubosci kabla skretki do czegos
> sie przydaje (po za egzaminem) ?

tak. wiadomo jakiego wiertla uzyc przy wierceniu dziury w scianie :)))))

znik.

Lukasz Pankowski

unread,
Sep 17, 2003, 5:17:02 AM9/17/03
to
Na pewno warto przeczytać o funkcjach wbudowanych i o metodach
obiektów łańcuchowych (str) no i spis treści modułów.

--

=*= Lukasz Pankowski =*=

Krzysztof Kaczkowski

unread,
Sep 17, 2003, 6:21:36 AM9/17/03
to
> wypowiedzi, ze w 2 dni mozna sie nauczyc tylko skladni jezyka, i to w
> sposob bierny. na przyszlosc prosze o nieprzekrecanie w tak kuriozalny
> sposob moich przemyslen :)
> pythona. tak sie sklada, ze jezyk to nie tylko jego skladnia,
> wiec 2 dni nauki mozna miedzy bajki wlozyc.

Właśnie cały czas o tym mówię :)
Gdyby było inaczej to ta grupa nie miałaby racji bytu, chyba ze
opowiadalibyśmy sobie kawały.


Krzysztof Kaczkowski

unread,
Sep 17, 2003, 6:17:17 AM9/17/03
to
>>no jasne, ze znam - trudno jest jej nie znac jak sie pisze w pythonie od
>>X lat :).
>>Tylko komu to bedzie potrzebne za nastepnych X lat ?
Za następne 10 lat ;) będzie tez potrzebne, python ma już naście lat i
wątpię żeby za X ;) lat zginął.

>>To odnosi sie takze do nauki programowania i rozwiazywania problemow
>>programistycznych - tej wiedzy nie da sie zdobyc w 2 dni, w 2 dni mozna
>>poznac skladnie jezyka i zawartosc tych podstawowych bibliotek i napisac
>>kilka testow.

Właśnie cały czas mi o to chodzi, nie można komuś odpowiedzieć na pytanie
ile trwa nauka programowania w pythonie słowami: dwa dni.

>>Reszta to wiedza juz posiadana i gotowa do wykorzystania.

Tylko trzeba wcześniej ją mieć a pytający, jak można wywnioskować z pytania,
właśnie jej nie ma.

>>Lepiej, gorzej ale dziala - teraz piszemy programy TYLKO w pythonie,
>>ktory jest wolniejszy srednio 10-20 krotnie od takich samych
>>zakodowanych w C.

Tutaj mam inne zdanie, pewne elementy w projekcie które musiały być
zakodowane w C właśnie ze wzgledu na wydajność, działają w C około 100 razy
szybciej np obsługa TeX'a.


>>Czy klienci maja w zwiazku z tym jakis obiekcje ?
>>Otoz nie, oni nie pragna super szybkich programow lecz dokladnych i
>>sprawdzonych algorytmow.

Żadna rewelacja, każdy kto napisał choć jeden komercyjny program zna te
prawdy.

>>Po napisaniu tego w pythonie bez wiekszych problemow mozna przejsc na
>>jave,c#, ... - pomimo tego ze nie znam zadnego z tych jezykow to nie
>>sadze aby ich nauka zajela mi wiecej niz kilka dni, a przeniesienie
>>sprawdzonych algorytmow kilkudziesieciu dni.

Moim zdaniem zgłębienie semantyki pythona i c++ ma się jak 1:10 może nawet
1:100 na niekorzyść c++.
Znam c++ i uwierz mi na słowo, że nie przeniesiesz programu napisanego w
Pythonie do c++ w kilkadziesiąt dni bez użycia API Pythona (nawet z API
Pythona nie dasz rady). Mam na myśli duży projekt Pythonowy a nie
kilkadziesiąt linijek. W odwrotną stronę się da i przeżyłem to. Właśnie
stabilność rozwiązań opartych na pythonie oraz łatwość kodowania w nim
algorytmów skłoniła mnie do tego (nad projektem nie pracuje sam, decyzja
była podjęta po burzliwej dyskusji). W projekcie wykorzystywany jest np
serwer, który został napisany specjalnie "pod projekt", posiada bardzo
rozbudowany ACL, mechanizm zdalnego wywoływania procedur, raporty, integruje
LDAP i Postgresql itp. Został napisany w 3 tygodnie (wersja alpha) to samo w
c++ zajęłoby duuuuuuużo więcej czasu mimo że wiedzieliśmy jak go zakodować w
c++.

>>TO TYLKO PRZEDSTAWIENIE posiadanej wiedzy w innym jezyku.

Cały czas twierdze że to AŻ PRZEDSTAWIENIE posiadanej wiedzy w innym języku,
to jak dobrze znasz dany język zaowocuje mniej lub bardziej stabilnym i
eleganckim rozwiązaniem. Klienta może nie obchodzić jak to działa w środku
(czasem obchodzi i to bardzo, jeżeli musisz zapewnić bezpieczeństwo danych),
klienta obchodzi głównie stabilność i funkcjonalność rozwiązania i dobrze,
za to ciebie jako twórcę rozwiązania powinno interesować to w jaki sposób
algorytm został zakodowany. Dla przykładu: załóżmy że jesteś pacjentem i
czeka cię skomplikowana operacja, ponieważ jesteś w dobrym szpitalu możesz
dokonać wyboru lekarza który przeprowadzi operację.
Lekarz nr 1:
Świetny teoretyk, profesor, ale rzadko przeprowadza operacje, ceniony na
świecie specjalista.
Lekarz nr 2:
Świetny praktyk, przeprowadził wiele udanych operacji, mało znany doktor na
świecie.
Kogo wybierzesz?
Zgodnie z twoją teorią powodzenie operacji będzie zależało tylko od
posiadanej wiedzy teoretycznej, czy aby na pewno?

PS
W zasadzie informatyka to tylko wiedza teoretyczna
hmmm takie stwierdzenie mogłoby być nowym tematem do dyskusji o tle
filozoficznym. ;)

Grzegorz Makarewicz

unread,
Sep 17, 2003, 7:39:16 AM9/17/03
to
Krzysztof Kaczkowski wrote:
>>>no jasne, ze znam - trudno jest jej nie znac jak sie pisze w pythonie od
>>>X lat :).
>>>Tylko komu to bedzie potrzebne za nastepnych X lat ?
>
> Za następne 10 lat ;) będzie tez potrzebne, python ma już naście lat i
> wątpię żeby za X ;) lat zginął.
>
>
:) jezeli przestaniesz korzystac z dokumentacji i ciagle pisac jakies
programy to po kilku latach wiedza sama sie ulotni.

> Właśnie cały czas mi o to chodzi, nie można komuś odpowiedzieć na pytanie
> ile trwa nauka programowania w pythonie słowami: dwa dni.
>

Tak naprawde to pytanie nie mialo sensu ;) - jest po prostu zle zadane.

> Znam c++ i uwierz mi na słowo, że nie przeniesiesz programu napisanego w
> Pythonie do c++ w kilkadziesiąt dni bez użycia API Pythona (nawet z API
> Pythona nie dasz rady).

:) - to zalezy kto to robi, czy zna problem, czy odpowiednio napisal go
w pythonie, czy jest uzalezniony od ..., i jak jest zmotywowany.

Program (MSZ) ktorego obrazki widac na naszej stronie poczatkowo byl
napisany w pythonie i przeznaczony do dzialania na PC.
Nastepna wersja powstala w pythonie z wykorzystaniem pippy na PalmOS 4.0
- taki mialem emulator, nastepna wersja powstala w C++ na PocketPC.
Za kazdym razem jak przepisywalem kod pythona na kolejna platforme to
mialem tylko jeden bol glowy GUI, brak wxpythona na te komputerki troche
zmiejaszal moja wydajnosc.

python/PC ~15s
python/Palm ~27s
python/Pocket ~17s
C/PC prawie 0
C/Pocket ~1s
Sprawdzalem na P3/600 i SA1100/400.

> Lekarz nr 1:
> Świetny teoretyk, profesor, ale rzadko przeprowadza operacje, ceniony na
> świecie specjalista.
> Lekarz nr 2:
> Świetny praktyk, przeprowadził wiele udanych operacji, mało znany doktor na
> świecie.

Kiedys Tim Peters to podsumowal mniej wiecej tak: Jest tylko jedno
rozwiazanie takiej sytuacji - poprawne.

Nie interesuje mnie czy to slawa swiatowa, czy lekaz z pipidowy - jezeli
przezyje ten zabieg to bede szczesliwy i to jest wlasnie poprawne
rozwiazanie, niepoprawne to ...

mak

Grzegorz Szyszlo

unread,
Sep 18, 2003, 5:32:50 AM9/18/03
to
Krzysztof Kaczkowski wrote:

z tymi lekarzami swietny przyklad :)

> PS
> W zasadzie informatyka to tylko wiedza teoretyczna
> hmmm takie stwierdzenie mogłoby być nowym tematem do dyskusji o tle
> filozoficznym. ;)

informatyka, to nauka o przetwarzaniu informacji. a to co sie teraz
dzieje, to jest komputerologia a nie informatyka :)
i chyba tylko tyle w tym filozofii.

znik.

ps: doszlo juz do takich absurdow, ze informatykiem jest ten,
ktory pokazuje jak w wordzie robi sie akapity :))))

Marek

unread,
Oct 5, 2003, 3:52:02 PM10/5/03
to
W artykule <bk7vse$ea5$1...@atlantis.news.tpi.pl> Krzysztof Kaczkowski napisał(a):

>> Uważasz że *umiejąc programować* nie można napisać dobrego
>> programu w nowo poznanym języku?
> Uważam że *umiejąc programować* można napisać dobry program dość szybko, ale
> nie po 2 dniach i nie po 10, zajmie to zdecydowanie wiecej czasu, ale nie
> pół roku ;)

Być może w C++ :P W Pythonie przy umiejętności programowania nabytej
wcześniej użyteczny program można napisać po kilku godzinach nauki, vide
Jacek. Popatrz, co ma na ten temat do powiedzenia dość znany gość:

http://www.linuxjournal.com/article.php?sid=3882

--
{ Marek Baczyński :: UIN 57114871 :: GG 161671 :: JID imba...@jabber.gda.pl }
{ http://www.vlo.ids.gda.pl/ | imbaczek at poczta fm | http://www.promode.org }
.. .. .. .. ... ... ...... evolve or face extinction ...... ... ... .. .. .. ..

Jarek Zgoda

unread,
Oct 5, 2003, 4:14:06 PM10/5/03
to
Marek Baczek Baczyński <imba...@poczta.onet.pl> pisze:

>>> Uważasz że *umiejąc programować* nie można napisać dobrego
>>> programu w nowo poznanym języku?
>> Uważam że *umiejąc programować* można napisać dobry program dość szybko, ale
>> nie po 2 dniach i nie po 10, zajmie to zdecydowanie wiecej czasu, ale nie
>> pół roku ;)
>
> Być może w C++ :P W Pythonie przy umiejętności programowania nabytej
> wcześniej użyteczny program można napisać po kilku godzinach nauki, vide
> Jacek. Popatrz, co ma na ten temat do powiedzenia dość znany gość:
>
> http://www.linuxjournal.com/article.php?sid=3882

Dziwne rzeczy ESR tam wypisuje. Wielu luminarzy Pythona na c.l.py
twierdzi, że jeżeli potrzebujesz użyć metaklas, to znaczy, że źle
przemyślałeś problem, który chcesz rozwiązać. W każdym razie ja bym
raczej spróbował wykorzystać tokenizer ze shlex (jak sobie popatrzyłem w
składnię fetchmailrc).

To, że szybko można zacząć pisać _użyteczne_ programy, to przede
wszystkim dobrze działa psychologicznie -- taki początkujący nie zraża
się, bo droga do "produktywności" nie jest szczególnie długa. Napisanie
programu, który coś tam aktualizuje, nie jest szczególnie skomplikowane.
Inny program, którego na co dzień używam do publikowania na Joggerze,
zajął mi o wiele więcej, niż 2 dni, chociaż również zdecydowanie mniej
niż 10 -- ten jednak również nie jest jakoś mocno skomplikowany. Ten
naprawdę skomplikowany leży i czeka na lepsze czasy -- jeżeli nikt się
na pomysł nie połaszczy, to zajmę się nim na emeryturze (za 30 lat).

0 new messages