No ale ogolnie pustka..
Nie wiem jak pisac..
Nie znam angielskiego wiec nie bardzo wiem jakie moduly do czego mozna
wykorzystac itd..
Wiec..
Blagam Was o Koderzy o Wasze proste kody (najchetniej z opisami
(#...)), ktore poczatkujacy moglby do nauki swej wykorzystac. :)
Z gory Wielkie - Dzieki :)
P.S. Ewentualnie po rosyjsku...
Bez angielskiego, nie bedziesz w stanie programowac w zadnym jezyku.
Chyba ze chcesz zatrzymac sie na poziomie nauczania informatyki w
podstawowce. Jest pare ksiazek dostepnych po polsku (w tym `Dive into
Pytho` na wikibooks), ale chociazby cale stdlib jest po angielsku, a
bez tego ani rusz.
Jesli chcesz programowac, nie znajac angielskiego to Python jest
bardzo kiepskim wyborem.
Jeśli przeczytałeś wprowadzenie to z czym konkretnie masz problem?
Programowanie nie polega na nauczeniu się na pamięć nazw z funkcji.
Musisz mieć jakieś zadanie i je zaprogramować.
1) Wiesz jak napisać kalkulator, więc napisz coś, co zlicza Ci koszty
czegoś, ewentualnie wagę czy objętość czegoś
2) Poszukaj czegoś na temat algorytmów sortowania i spróbuj napisać
program który sortuje listę w Pythonie
3) Napisz coś, co losuje kilka liczb i coś z nimi robi (wylicza statystyki)
To są chyba dobre zadania na początek.
> Nie wiem jak pisac..
> Nie znam angielskiego wiec nie bardzo wiem jakie moduly do czego mozna
> wykorzystac itd..
Bez angielskiego się tego nie dowiesz.
> Blagam Was o Koderzy o Wasze proste kody (najchetniej z opisami
> (#...)), ktore poczatkujacy moglby do nauki swej wykorzystac. :)
http://code.google.com/hosting/search?q=python
--
Jarek Zgoda
Skype: jzgoda | GTalk: zg...@jabber.aster.pl | voice: +48228430101
"We read Knuth so you don't have to." (Tim Peters)
--
Pozdro... Tupteq
> Jesli chcesz programowac, nie znajac angielskiego to Python jest
> bardzo kiepskim wyborem.
Wtedy kazdy jezyk jest kiepskim wyborem.
--
Wtedy język polski jest dobrym wyborem.
Może "Rozmówki.Python" z Heliona.
Mała książeczka (taki Harlequin ;-),
można nosić "na sercu".
Zaczyna się prosto.
Aha, przykłady dotyczą tylko konsoli.
pozdrawiam
mariusz
Michał
>> 2) Poszukaj czegoś na temat algorytmów sortowania i spróbuj napisać
>> program który sortuje listę w Pythonie
> Po co?
Dla ćwiczenia.
--
Adam "Prawda jest prosta - gdyby było inaczej
każdy głupiec mógłby ją zrozumieć".
>>> 2) Poszukaj czegoś na temat algorytmów sortowania i spróbuj napisać
>>> program który sortuje listę w Pythonie
>> Po co?
>
> Dla ćwiczenia.
Dla ćwiczenia to lepiej sobie coś praktycznego wymodzić. Np. harvester
adresów mailowych z usenetu - przyjemne z pożytecznym można połączyć.
Zależy od poziomu. Dla początkującego sortowanie to b. dobre ćwiczenie:
pętle + różne warunki.
m.
--
LaTeX + Vim = http://vim-latex.sourceforge.net/
Vim Universal Templates: http://vim.sf.net/script.php?script_id=1078
vim.pl - http://skawina.eu.org/mikolaj
CLEWN - http://clewn.sf.net
>>> Po co?
>> Dla ćwiczenia.
> Dla ćwiczenia to lepiej sobie coś praktycznego wymodzić. Np. harvester
> adresów mailowych z usenetu - przyjemne z pożytecznym można połączyć.
Rzeczywiście o praktyczniejsze zastosowanie trudno. Sortowanie ma ten
plus że nie trzeba znać żadnych protokołów, zewnętrznych bibliotek itd.
Pewnie można pisać coś ciekawszego, ale sortowanie wcale nie jest takim
głupim ćwiczeniem na zaznajomienie się z językiem.
Michał
PS:Serio, skoro w standardzie sortowanie jest, to po co go wynajdywać?
Pozdrawiam
Michał
>>>> Po co?
>>> Dla ćwiczenia.
>> Dla ćwiczenia to lepiej sobie coś praktycznego wymodzić. Np. harvester
>> adresów mailowych z usenetu - przyjemne z pożytecznym można połączyć.
>
> Rzeczywiście o praktyczniejsze zastosowanie trudno. Sortowanie ma ten
> plus że nie trzeba znać żadnych protokołów, zewnętrznych bibliotek itd.
> Pewnie można pisać coś ciekawszego, ale sortowanie wcale nie jest takim
> głupim ćwiczeniem na zaznajomienie się z językiem.
Sztuka dla sztuki czy sztuka dla pieniędzy? Ja wybieram to drugie.
--
Jarek Zgoda
http://zgodowie.org/
"We read Knuth so you don't have to" - Tim Peters
>>>>> 2) Poszukaj czegoś na temat algorytmów sortowania i spróbuj napisać
>>>>> program który sortuje listę w Pythonie
>>>> Po co?
>>> Dla ćwiczenia.
>> Dla ćwiczenia to lepiej sobie coś praktycznego wymodzić. Np. harvester
>> adresów mailowych z usenetu - przyjemne z pożytecznym można połączyć.
>
> Zależy od poziomu. Dla początkującego sortowanie to b. dobre ćwiczenie:
> pętle + różne warunki.
Ale na h* to komu ćwiczyć, jak to jest już opisane w książce?
Sam kilkanaście lat temu byłem początkujący i pamiętam, że kuszące są
tylko praktyczne tematy.
Więc nie lubisz Free Software.
>> Sztuka dla sztuki czy sztuka dla pieniędzy? Ja wybieram to drugie.
>
> Więc nie lubisz Free Software.
Gdzie widzisz związek między sztuką dla sztuki i wolnym oprogramowaniem?
--
Jarek Zgoda
Skype: jzgoda | GTalk: zg...@jabber.aster.pl | voice: +48228430101
"We read Knuth so you don't have to." (Tim Peters)
W obliczu Twojej alternatywy widzę.
Dlaczego? To przecież wspaniały sposób crowdsourcingu kosztów.
--
JID: al...@hell.pl
PGP: 0x46399138
od zwracania uwagi na detale są lekarze, adwokaci, programiści i zegarmistrze
-- Czerski
A dlaczego tego nie ćwiczyć? To, że już to ktoś napisał, wcale nie
znaczy, że nie można tego *samodzielnie* napisać z czystej ciekawości
lub chęci nauki.
--
Oionpion
http;//hauru.eu
>> Ale na h* to komu ćwiczyć, jak to jest już opisane w książce?
>
> A dlaczego tego nie ćwiczyć? To, że już to ktoś napisał, wcale nie
> znaczy, że nie można tego *samodzielnie* napisać z czystej ciekawości
> lub chęci nauki.
Dobra, nie rozumiem tego, ale możecie to zrzucić na karb stetryczenia.
--
Jarek Zgoda
Skype: jzgoda | GTalk: zg...@jabber.aster.pl | voice: +48228430101
"We read Knuth so you don't have to." (Tim Peters)
>> Dla ćwiczenia.
> W zen pythona nie widziałem "wyłamuj otwarte drzwi" :)
> PS:Serio, skoro w standardzie sortowanie jest, to po co go wynajdywać?
To ja też serio. Widzisz jakieś ćwiczenie dla początkującego programisty
którego wcześniej ktoś nie zaimplementował?
Sortowanie jest podstawową, dość prostą do zrozumienia operacją na
kolekcji, a właśnie żonglowanie elementami różnych kolekcji jest jednym
z głównych zadań w praktycznym programowaniu.
--
Oinopion
http://hauru.eu
Michał
>> To ja też serio. Widzisz jakieś ćwiczenie dla początkującego programisty
>> którego wcześniej ktoś nie zaimplementował?
> Owszem.
Jakie?
> Widzę, że wynajdywanie _w pythonie_ czegoś co ma z natury każda
> lista, i to zapewne dobrze zrobione, to chyba nie jest rewelacyjny
> pomysł...
Mimo wszystko pozostanę przy swoim. Chodzi o samo zrozumienie algorytmu
i przełożenie go na kod. To dobre ćwiczenie dla początkującego.
> Można też do C++ pisać wstawkę assemblerową zastępującą cout,
> ale po co.
Dla ćwiczenia. Wszystko co napisałeś ucząc się programować było
użyteczne?
Pythona nauczyłem się jako pierwszego, bo od razu mogłem napisać coś,
co nadawało się do użytku. Byłem już po podstawach basha, ale ktoś
powiedział mi, że bash w porównaniu z Pythonem to zabawka. Żadne
kalkulatory, stosy i nieciekawe przykłady którymi straszą w szkole.
Masz problem, szukasz narzędzia i rozwiązujesz. Podejście typu masz
narzędzie i szukasz problemu może trochę zniechęcić.
>> Widzę, że wynajdywanie _w pythonie_ czegoś co ma z natury każda
>> lista, i to zapewne dobrze zrobione, to chyba nie jest rewelacyjny
>> pomysł...
>
> Mimo wszystko pozostanę przy swoim. Chodzi o samo zrozumienie algorytmu
> i przełożenie go na kod. To dobre ćwiczenie dla początkującego.
>
Na zniechęcenie. Na zachętę to swoje :)
>> Można też do C++ pisać wstawkę assemblerową zastępującą cout,
>> ale po co.
>
> Dla ćwiczenia. Wszystko co napisałeś ucząc się programować było
> użyteczne?
Nie jestem programistą. Może dlatego właśnie mogę odpowiedzieć "tak".
Michał
>>>> To ja też serio. Widzisz jakieś ćwiczenie dla początkującego programisty
>>>> którego wcześniej ktoś nie zaimplementował?
>>> Owszem.
>> Jakie?
> Takie jakie potrzebuje.
A możesz konkretniej? Jakoś bez sensownego przykładu nie uwierze.
> Jakoś w okolicy ludzie zabierający się do pythona zwykle zaczynają już
> od czegoś praktycznego...
Co nie znaczy że kiedyś kiedy zaczynali nie implementowali sobie
sortowania dla ćwiczeń.
> Może dlatego że to ludzie którzy potrzebują coś zrobić, a nie działać w
> imię idei "że się nauczę".
A w jaki sposób został rozpoczęty ten wątek?
>> Mimo wszystko pozostanę przy swoim. Chodzi o samo zrozumienie algorytmu
>> i przełożenie go na kod. To dobre ćwiczenie dla początkującego.
> Na zniechęcenie. Na zachętę to swoje :)
Czyli powinien też Twoim zdaniem pominąć czytanie dokumentacji, uczenie
się jakiejkolwiek teorii i innych zniechęcających rzeczy?
>>> Można też do C++ pisać wstawkę assemblerową zastępującą cout,
>>> ale po co.
>> Dla ćwiczenia. Wszystko co napisałeś ucząc się programować było
>> użyteczne?
> Nie jestem programistą. Może dlatego właśnie mogę odpowiedzieć "tak".
Mam wrażenie że mamy inną definicję użyteczności. Chyba jednak czas
kończyć ten do niczego nie prowadzący wątek.
Pewien jesteś, że Ci ludzie są programistami/kiedykolwiek uczyli
się(byli uczeni) programowania?
>> Może dlatego że to ludzie którzy potrzebują coś zrobić, a nie działać w
>> imię idei "że się nauczę".
>
> A w jaki sposób został rozpoczęty ten wątek?
>
Zaproponowano początkującemu wyważanie otwartych drzwi, bez pytania do
czego będzie pythona używał itd.. Dlatego zapytałem po co ma
implementować akurat sortowanie.
>>> Mimo wszystko pozostanę przy swoim. Chodzi o samo zrozumienie algorytmu
>>> i przełożenie go na kod. To dobre ćwiczenie dla początkującego.
>> Na zniechęcenie. Na zachętę to swoje :)
>
> Czyli powinien też Twoim zdaniem pominąć czytanie dokumentacji, uczenie
> się jakiejkolwiek teorii i innych zniechęcających rzeczy?
>
Rozwiązywanie _praktycznego_ problemu ma znacznie większe szanse na
nauczenie czegoś danego człowieka. Przypomnę jeszcze raz, mówię o
ludziach którzy, bywa, programują, ale programistami _nie_są_.
>>>> Można też do C++ pisać wstawkę assemblerową zastępującą cout,
>>>> ale po co.
>>> Dla ćwiczenia. Wszystko co napisałeś ucząc się programować było
>>> użyteczne?
>> Nie jestem programistą. Może dlatego właśnie mogę odpowiedzieć "tak".
>
> Mam wrażenie że mamy inną definicję użyteczności. Chyba jednak czas
> kończyć ten do niczego nie prowadzący wątek.
>
A możesz w międzyczasie powiedzieć, czego konkretnie uczy człowieka
pisanie wstawki asemblerowej zastępującej cout w C++. Pytam z
autetnycznej ciekawości, bo odpytałem kilku ludzi w okolicy i jakoś nie
wykazywali entuzjazmu że to świetne ćwiczenie...
Michał
PS:Serio, nawet to co pisywałem na zaliczenia było do czegoś potrzebne,
a nie było sobie a muzom wyłamywaniem otwartych drzwi. Może dlatego nie
mam ja ani koledzy syndromu "sam zrobię najlepiej"...
>>>>>> To ja też serio. Widzisz jakieś ćwiczenie dla początkującego programisty
>>>>>> którego wcześniej ktoś nie zaimplementował?
>>>>> Owszem.
>>>> Jakie?
>>> Takie jakie potrzebuje.
>> A możesz konkretniej? Jakoś bez sensownego przykładu nie uwierze.
Tak jak myślałem. Nie doczekam się.
>>> Jakoś w okolicy ludzie zabierający się do pythona zwykle zaczynają już
>>> od czegoś praktycznego...
>> Co nie znaczy że kiedyś kiedy zaczynali nie implementowali sobie
>> sortowania dla ćwiczeń.
> Pewien jesteś, że Ci ludzie są programistami/kiedykolwiek uczyli
> się(byli uczeni) programowania?
Obstawiam że znaczna część z tych aktywniejszych na grupie tak.
>>> Może dlatego że to ludzie którzy potrzebują coś zrobić, a nie działać w
>>> imię idei "że się nauczę".
>> A w jaki sposób został rozpoczęty ten wątek?
> Zaproponowano początkującemu wyważanie otwartych drzwi, bez pytania do
> czego będzie pythona używał itd..
Nie. Początkujący powiedział że właśnie sprawił sobie parę nowych
wytrychów i nie bardzo wie od czego z nimi zacząć. Wskazano mu drzwi z
mechanizmem w który może sobie zajrzeć i popatrzyć jak zapadki się
układają, w czasie testowania tych swoich pierwszych wytrychów.
Zamek był prosty a znanych sposobów otworzenia wiele, tak żeby mógł
swoje wyniki porównać z innymi sprytnymi rozwiązaniami.
> Rozwiązywanie _praktycznego_ problemu ma znacznie większe szanse na
> nauczenie czegoś danego człowieka.
Oczywiście. Ale OP nie ma takiego praktycznego zadania dlatego zapytał.
> Przypomnę jeszcze raz, mówię o
> ludziach którzy, bywa, programują, ale programistami _nie_są_.
Ale chyba nie powinniśmy zakładać że OP nie chce programistą zostać, czy
chociaż bardziej rozwinąć się w tej dziedzinie.
> A możesz w międzyczasie powiedzieć, czego konkretnie uczy człowieka
> pisanie wstawki asemblerowej zastępującej cout w C++. Pytam z
> autetnycznej ciekawości, bo odpytałem kilku ludzi w okolicy i jakoś nie
> wykazywali entuzjazmu że to świetne ćwiczenie...
Nie wiem, nigdy nie pisałem. Gdybym wpadł na ten pomysł na pewno bym
wiedział co wtedy ćwiczę. Nie jedną bezużyteczną linię kodu napisałem w
celu ćwiczenia, sprawdzenia czegoś, zobaczenia czy takie rozwiązanie
będzie "fajne" z różnych względów.
> PS:Serio, nawet to co pisywałem na zaliczenia było do czegoś potrzebne,
> a nie było sobie a muzom wyłamywaniem otwartych drzwi. Może dlatego nie
> mam ja ani koledzy syndromu "sam zrobię najlepiej"...
Patrz sam początek tego posta i pytanie na które ciągle unikasz
odpowiedzi.
Z mojej strony EOT.
>>>> Może dlatego że to ludzie którzy potrzebują coś zrobić, a nie działać w
>>>> imię idei "że się nauczę".
>>> A w jaki sposób został rozpoczęty ten wątek?
>> Zaproponowano początkującemu wyważanie otwartych drzwi, bez pytania do
>> czego będzie pythona używał itd..
>
> Nie. Początkujący powiedział że właśnie sprawił sobie parę nowych
> wytrychów i nie bardzo wie od czego z nimi zacząć. Wskazano mu drzwi z
> mechanizmem w który może sobie zajrzeć i popatrzyć jak zapadki się
> układają, w czasie testowania tych swoich pierwszych wytrychów.
>
> Zamek był prosty a znanych sposobów otworzenia wiele, tak żeby mógł
> swoje wyniki porównać z innymi sprytnymi rozwiązaniami.
>
Wiesz, poradzono mu te drzwi nawet nie pytając czy czasem nie mieszka w
namiocie...
>> Rozwiązywanie _praktycznego_ problemu ma znacznie większe szanse na
>> nauczenie czegoś danego człowieka.
>
> Oczywiście. Ale OP nie ma takiego praktycznego zadania dlatego zapytał.
>
>> Przypomnę jeszcze raz, mówię o
>> ludziach którzy, bywa, programują, ale programistami _nie_są_.
>
> Ale chyba nie powinniśmy zakładać że OP nie chce programistą zostać, czy
> chociaż bardziej rozwinąć się w tej dziedzinie.
>
Owszem, uważam że mam prawo zakładać że nie każdy człowiek potrzebujący
coś napisać ma ambicję być programistą. Zupełnie z tego samego powodu z
którego nie mam ochoty być Picassem a w czasie nudnego zebrania coś
narysowałem abstrakcyjnego, ani nie mam zamiaru być specem od rysunków
technicznych bo na tym samym zebraniu bazgraliśmy którędy wyprowadzić
kable z aparatury żeby było wygodnie.
> Patrz sam początek tego posta i pytanie na które ciągle unikasz
> odpowiedzi.
>
Koniecznie chcesz listingów rzeczy porządkujących dane z detektora,
którego już nie ma, przerabiających listy obiektów, które nie wiesz czym
są itd.? Specyficzne hobby. Akurat dzisiaj w pythonie robię wrapper do
aplikacji wyświetlającej w 3D wizualizację 4687x2 trapezoidów. Nawet nie
śmiem podejrzewać że może to być ciekawe/pouczające dla kogoś kto nie
wie dlaczego akurat tych, akurat tak itd.. Ale cóż, potrzebne jest to
trzeba zrobić. A potrzebne jest mniej więcej 15 osobom. Na świecie.
Michał
W C jest qsort, a mimo to pisanie sortowania, to jedno z podstawowych ćwiczeń.
Łatwy do zdefiniowania problem, łatwo weryfikowalne wyniki.
bart
--
"PLEASE DO *NOT* EDIT or poldek will hate you." - packages.dir (PLD)
http://candajon.azorragarse.info/ http://azorragarse.candajon.info/
Michał
Przy założeniu, że ktoś chce się nauczyć programować, a nie być tylko
bezmyślnym koderem.
> Jak się nie chce, to
> założenie że ktoś zrobił to lepiej jest dość mocne.
Przy takim założeniu to tylko usiaść i płakać.
bart
--
"Jak będziesz niegrzeczny to przyjdzie Wojtek Orliński i coś napisze." (c) eloy
http://candajon.azorragarse.info/ http://azorragarse.candajon.info/
>> Przy założeniu, że się chce zostać programistą.
>
> Przy założeniu, że ktoś chce się nauczyć programować, a nie być tylko
> bezmyślnym koderem.
>
>> Jak się nie chce, to
>> założenie że ktoś zrobił to lepiej jest dość mocne.
>
> Przy takim założeniu to tylko usiaść i płakać.
>
Jakie, wiara że istnieją rzeczy zaimplementowane dobrze?
Michał
PS:Tak, Bart, istnieją ludzie którzy programują, a nie są zawodowymi
programistami.
PS2:Naprawdę, implementacja sortowania to dla mnie wyłamywanie otwartych
drzwi. Problemy wymagające załapania co się dzieje w środku żeby sobie
nogi nie odstrzelić to się znacznie głębiej w numeryce zaczynają.
Nie robienie niczego, co ktoś już kiedyś zaimplementował i to lepiej.
To co niby ma zrobić osoba, która dopiero zaczyna naukę?
> PS:Tak, Bart, istnieją ludzie którzy programują, a nie są zawodowymi
> programistami.
Od razu programuja rzeczy, których nikt nigdy nie zrobił lepiej. Jasne...
> PS2:Naprawdę, implementacja sortowania to dla mnie wyłamywanie otwartych
> drzwi.
No popatrz, zupełnie jak pisanie "Ala ma kota" w zerówce. Przecież ktoś
to już kiedyś napisał ;-P
> Problemy wymagające załapania co się dzieje w środku żeby sobie
> nogi nie odstrzelić to się znacznie głębiej w numeryce zaczynają.
Akurat sortowanie to służy do tego, żeby poznać pętle, dostęp do list,
rekurencję itd.
bart
--
"Big Duke Six to Eagle Thrust, put on heading 270, assume attack formation"
http://candajon.azorragarse.info/ http://azorragarse.candajon.info/
>> PS:Tak, Bart, istnieją ludzie którzy programują, a nie są zawodowymi
>> programistami.
>
> Od razu programuja rzeczy, których nikt nigdy nie zrobił lepiej. Jasne...
>
A wyobraź sobie, że pisanie aplikacji do akwizycji danych ze
specyficznego hardwaru częstokroć tak wygląda - wcześniej tego hardwaru
nie było, więc wcześniej, niesamowite, nikt tego nie zaimplementował :)
>> PS2:Naprawdę, implementacja sortowania to dla mnie wyłamywanie otwartych
>> drzwi.
>
> No popatrz, zupełnie jak pisanie "Ala ma kota" w zerówce. Przecież ktoś
> to już kiedyś napisał ;-P
>
Jestem niemal pewien że nigdy nie napisałem 'Ala ma kota' ucząc się pisania.
>> Problemy wymagające załapania co się dzieje w środku żeby sobie
>> nogi nie odstrzelić to się znacznie głębiej w numeryce zaczynają.
>
> Akurat sortowanie to służy do tego, żeby poznać pętle, dostęp do list,
> rekurencję itd.
>
Sugerujesz że nie można bez implementacji sortowania zrozumieć jak
działa pętla, dostęp do list i rekurencja?
Michał
Ludzie, którzy nie mają pojęcia o programowaniu, ani o języku w którym
mają programować, rozwiązują konkretne problemy w tymże...
Jasne, w Centrum Rozwoju i Innowacji w Klewkach.
>>> PS:Tak, Bart, istnieją ludzie którzy programują, a nie są zawodowymi
>>> programistami.
>>
>> Od razu programuja rzeczy, których nikt nigdy nie zrobił lepiej. Jasne...
>>
> A wyobraź sobie, że pisanie aplikacji do akwizycji danych ze
> specyficznego hardwaru częstokroć tak wygląda - wcześniej tego hardwaru
> nie było, więc wcześniej, niesamowite, nikt tego nie zaimplementował :)
Oczywiście robi to osoba, która żadnego doświadczenia w programowaniu nie ma...
>>> PS2:Naprawdę, implementacja sortowania to dla mnie wyłamywanie otwartych
>>> drzwi.
>>
>> No popatrz, zupełnie jak pisanie "Ala ma kota" w zerówce. Przecież ktoś
>> to już kiedyś napisał ;-P
>
> Jestem niemal pewien że nigdy nie napisałem 'Ala ma kota' ucząc się pisania.
Nigdy, nigdy? ;-)
>>> Problemy wymagające załapania co się dzieje w środku żeby sobie
>>> nogi nie odstrzelić to się znacznie głębiej w numeryce zaczynają.
>>
>> Akurat sortowanie to służy do tego, żeby poznać pętle, dostęp do list,
>> rekurencję itd.
>
> Sugerujesz że nie można bez implementacji sortowania zrozumieć jak
> działa pętla, dostęp do list i rekurencja?
Sugeruję, że jest to proste do zdefinowania i łatwe do weryfikacji.
Niewątpliwie można próbować od razu bardziej "realnych" problemów.
Choć wątpię, aby taka nauka była równie efektywan.
bart
--
Hi! I'm a .signature virus! Copy me into your ~/.signature to help me spread!
http://candajon.azorragarse.info/ http://azorragarse.candajon.info/
>>>> Przy założeniu, że się chce zostać programistą.
>>>
>>> Przy założeniu, że ktoś chce się nauczyć programować, a nie być tylko
>>> bezmyślnym koderem.
>>>
>>>> Jak się nie chce, to
>>>> założenie że ktoś zrobił to lepiej jest dość mocne.
>>>
>>> Przy takim założeniu to tylko usiaść i płakać.
>>>
>> Jakie, wiara że istnieją rzeczy zaimplementowane dobrze?
>
> Nie robienie niczego, co ktoś już kiedyś zaimplementował i to lepiej.
> To co niby ma zrobić osoba, która dopiero zaczyna naukę?
Rzeczy na wyższym poziomie abstrakcji, zgodnie z charakterem języka
o którym mowa. Programiście zaczynającemu C też będziesz polecał jako
ćwiczenie własne implementacje biblioteki standardowej?
>> PS:Tak, Bart, istnieją ludzie którzy programują, a nie są zawodowymi
>> programistami.
>
> Od razu programuja rzeczy, których nikt nigdy nie zrobił lepiej. Jasne...
Od razu programują rzeczy, które załatwiają ich konkretne potrzeby.
GS
--
Grzegorz Staniak <gstaniak _at_ wp [dot] pl>
>> Nie uczę programistów, nie wiem. Natomiast ludzie którzy stają przed
>> konkretnym problemem zwykle lepiej lub gorzej zajmują się rozwiązaniem
>> tego problemu, nie innego.
>
> Ludzie, którzy nie mają pojęcia o programowaniu, ani o języku w którym
> mają programować, rozwiązują konkretne problemy w tymże...
> Jasne, w Centrum Rozwoju i Innowacji w Klewkach.
Bart, znowu przesadzasz. Dlaczego np. admin zaczynający pracę z Pythonem
miałby ćwiczyć abstrakcyjne pętle, skoro może iterować po adresach IP
albo nazwach plików? Przy okazji _od razu_ załatwiając, choćby prymitywnie
i nieoptymalnie, swoje konkretne sprawy?
Owsze może, tylko że w ten sposób to się Pythona przez lata nie nauczy.
O ile dobrze rozumiem, osoba rozpoczynająca ten wątek jednak chce się
nauczyć.
bart
--
"Przeciez nie ma internetu bez przegladarki" - (c)Dariusz Kaminski
http://candajon.azorragarse.info/ http://azorragarse.candajon.info/
> Rzeczy na wyższym poziomie abstrakcji, zgodnie z charakterem języka
> o którym mowa. Programiście zaczynającemu C też będziesz polecał jako
> ćwiczenie własne implementacje biblioteki standardowej?
Tak.
Vide przykład który na pewno znasz:
http://www.lideria.pl/sklep/opis?nr=2711
--
bluszcz
"Don't criticise yourself, it's my privilige." - Bitter Moon
http://web-dev.pl - Dynamiczny świat internetowych aplikacji od środka
>>>> Nie uczę programistów, nie wiem. Natomiast ludzie którzy stają przed
>>>> konkretnym problemem zwykle lepiej lub gorzej zajmują się rozwiązaniem
>>>> tego problemu, nie innego.
>>>
>>> Ludzie, którzy nie mają pojęcia o programowaniu, ani o języku w którym
>>> mają programować, rozwiązują konkretne problemy w tymże...
>>> Jasne, w Centrum Rozwoju i Innowacji w Klewkach.
>>
>> Bart, znowu przesadzasz. Dlaczego np. admin zaczynający pracę z Pythonem
>> miałby ćwiczyć abstrakcyjne pętle, skoro może iterować po adresach IP
>> albo nazwach plików? Przy okazji _od razu_ załatwiając, choćby prymitywnie
>> i nieoptymalnie, swoje konkretne sprawy?
>
> Owsze może, tylko że w ten sposób to się Pythona przez lata nie nauczy.
Dlaczego? Dlatego, że iteruje po czymś innym niż testowe abstrakcje?
> O ile dobrze rozumiem, osoba rozpoczynająca ten wątek jednak chce się
> nauczyć.
I w czym ma jej pomóc implementowanie sortowania? W ogromnej większości
przypadków nie będzie tego już później robić. Na pewno mówisz o nauce Pythona,
nie o kształceniu programistów?
Dlatego, że zrobi byle jak, byle działało. W dodatku robiąc kalkę z jakiegoś
innego języka, który zna.
>> O ile dobrze rozumiem, osoba rozpoczynająca ten wątek jednak chce się
>> nauczyć.
>
> I w czym ma jej pomóc implementowanie sortowania? W ogromnej większości
> przypadków nie będzie tego już później robić. Na pewno mówisz o nauce Pythona,
> nie o kształceniu programistów?
Jak można umieć programować w Pythonie nie umiejąc programować w ogóle?
bart
--
"Panowie, żarty się skończyły!" (c) JMD
http://candajon.azorragarse.info/ http://azorragarse.candajon.info/
>>>> Bart, znowu przesadzasz. Dlaczego np. admin zaczynający pracę z Pythonem
>>>> miałby ćwiczyć abstrakcyjne pętle, skoro może iterować po adresach IP
>>>> albo nazwach plików? Przy okazji _od razu_ załatwiając, choćby prymitywnie
>>>> i nieoptymalnie, swoje konkretne sprawy?
>>>
>>> Owsze może, tylko że w ten sposób to się Pythona przez lata nie nauczy.
>>
>> Dlaczego? Dlatego, że iteruje po czymś innym niż testowe abstrakcje?
>
> Dlatego, że zrobi byle jak, byle działało.
Przepraszam - to ma być jakiś zarzut?
> W dodatku robiąc kalkę z jakiegoś innego języka, który zna.
Rili? A może np. kalkując receptę znalezioną w sieci? Dlaczego zakładasz, że
nie przeczyta książki, nie zrozumie 'import this', nie sprawdzi przykładów
z dokumentacji, nie zapisze się na pl.comp.lang.python i nie zapyta, nie
zasubskrybuje ASPN Python Cookbook?
>>> O ile dobrze rozumiem, osoba rozpoczynająca ten wątek jednak chce się
>>> nauczyć.
>>
>> I w czym ma jej pomóc implementowanie sortowania? W ogromnej większości
>> przypadków nie będzie tego już później robić. Na pewno mówisz o nauce Pythona,
>> nie o kształceniu programistów?
>
> Jak można umieć programować w Pythonie nie umiejąc programować w ogóle?
I odwrotnie - jak można nie umieć programować, umiejąc programować w Pythonie?
>>>> PS:Tak, Bart, istnieją ludzie którzy programują, a nie są zawodowymi
>>>> programistami.
>>> Od razu programuja rzeczy, których nikt nigdy nie zrobił lepiej. Jasne...
>>>
>> A wyobraź sobie, że pisanie aplikacji do akwizycji danych ze
>> specyficznego hardwaru częstokroć tak wygląda - wcześniej tego hardwaru
>> nie było, więc wcześniej, niesamowite, nikt tego nie zaimplementował :)
>
> Oczywiście robi to osoba, która żadnego doświadczenia w programowaniu nie ma...
>
Zwykle pierwszy prototyp robią studenci, którzy, owszem, doświadczenia
nie mają :) Jakieś guidelines są, ale żadnego _zawodowego_ programisty w
okolicy nie ma. Ba, zwykle nie ma nawet nikogo kto ukończył
"informatykę" w jakimkolwiek tego słowa znaczeniu.
>>>> PS2:Naprawdę, implementacja sortowania to dla mnie wyłamywanie otwartych
>>>> drzwi.
>>> No popatrz, zupełnie jak pisanie "Ala ma kota" w zerówce. Przecież ktoś
>>> to już kiedyś napisał ;-P
>> Jestem niemal pewien że nigdy nie napisałem 'Ala ma kota' ucząc się pisania.
>
> Nigdy, nigdy? ;-)
>
Owszem, nigdy nigdy. Pierwsze słowo napisane to było o ile rodzice mnie
nie okłamują "tromwaj" (tak, z błędem). Tramwaje mi się tak spodobały,
że to była pierwsza rzecz którą zachciałem napisać. A pierwsze fragmenty
czytane to też nie był elementarz. A w szkole nikt mnie Alą ani Asem nie
katował, bo juz jakoś pisałem. Akcent przesunął się na głupawe wymaganie
"pisania ładnie".
>>>> Problemy wymagające załapania co się dzieje w środku żeby sobie
>>>> nogi nie odstrzelić to się znacznie głębiej w numeryce zaczynają.
>>> Akurat sortowanie to służy do tego, żeby poznać pętle, dostęp do list,
>>> rekurencję itd.
>> Sugerujesz że nie można bez implementacji sortowania zrozumieć jak
>> działa pętla, dostęp do list i rekurencja?
>
> Sugeruję, że jest to proste do zdefinowania i łatwe do weryfikacji.
Owszem.
> Niewątpliwie można próbować od razu bardziej "realnych" problemów.
> Choć wątpię, aby taka nauka była równie efektywan.
>
Nie wiem jak u ambitnych koderów hardkorowców, ale stawiam na to że
satysfakcja z rozwiązania problemu bywa większa niż z zaimplementowania
ćwiczenia numer 7 z rozdziału pierwszego czegośtam.
Pozdrawiam
Michał
>>> O ile dobrze rozumiem, osoba rozpoczynająca ten wątek jednak chce się
>>> nauczyć.
>> I w czym ma jej pomóc implementowanie sortowania? W ogromnej większości
>> przypadków nie będzie tego już później robić. Na pewno mówisz o nauce Pythona,
>> nie o kształceniu programistów?
>
> Jak można umieć programować w Pythonie nie umiejąc programować w ogóle?
>
A można zacząć od Pythona?
Michał
PS:Jedyny język o którym mogę powiedzieć że go znam dobrze to Labview. I
owszem, nie implementowałem nigdy sortowania :)
Programują..
>>>>> PS:Tak, Bart, istnieją ludzie którzy programują, a nie są zawodowymi
>>>>> programistami.
>>>> Od razu programuja rzeczy, których nikt nigdy nie zrobił lepiej. Jasne...
>>>>
>>> A wyobraź sobie, że pisanie aplikacji do akwizycji danych ze
>>> specyficznego hardwaru częstokroć tak wygląda - wcześniej tego hardwaru
>>> nie było, więc wcześniej, niesamowite, nikt tego nie zaimplementował :)
>>
>> Oczywiście robi to osoba, która żadnego doświadczenia w programowaniu nie ma...
>>
> Zwykle pierwszy prototyp robią studenci, którzy, owszem, doświadczenia
> nie mają :) Jakieś guidelines są, ale żadnego _zawodowego_ programisty w
> okolicy nie ma. Ba, zwykle nie ma nawet nikogo kto ukończył
> "informatykę" w jakimkolwiek tego słowa znaczeniu.
No tak, a potem tacy piszą, że zrobili implementację rozwiązujacą problem,
dla testowych danych działa, a dla rzeczywistych "się wiesza". Po czym
okazuje się, że problem jest NP-zupełny, a rozwiązanie brute-force.
>>>>> Problemy wymagające załapania co się dzieje w środku żeby sobie
>>>>> nogi nie odstrzelić to się znacznie głębiej w numeryce zaczynają.
>>>> Akurat sortowanie to służy do tego, żeby poznać pętle, dostęp do list,
>>>> rekurencję itd.
>>> Sugerujesz że nie można bez implementacji sortowania zrozumieć jak
>>> działa pętla, dostęp do list i rekurencja?
>>
>> Sugeruję, że jest to proste do zdefinowania i łatwe do weryfikacji.
> Owszem.
>> Niewątpliwie można próbować od razu bardziej "realnych" problemów.
>> Choć wątpię, aby taka nauka była równie efektywan.
>>
> Nie wiem jak u ambitnych koderów hardkorowców, ale stawiam na to że
> satysfakcja z rozwiązania problemu bywa większa niż z zaimplementowania
> ćwiczenia numer 7 z rozdziału pierwszego czegośtam.
Nie wiem jak u koderów, ale u algorytmików[1] to większość "problemów"
jest dosyć prosta do zdefiniowania i bardzo prosta do zrobienia
"naiwnej" implementacji.
[1] i co za tym idzie w konkursach ACM czy Olimpiadzie Informatycznej.
bart
--
`long long long' is too long for GCC
http://candajon.azorragarse.info/ http://azorragarse.candajon.info/
Owszem. Złych nawyków się nie pozbędzie.
>> W dodatku robiąc kalkę z jakiegoś innego języka, który zna.
>
> Rili? A może np. kalkując receptę znalezioną w sieci? Dlaczego zakładasz, że
> nie przeczyta książki, nie zrozumie 'import this', nie sprawdzi przykładów
> z dokumentacji, nie zapisze się na pl.comp.lang.python i nie zapyta, nie
> zasubskrybuje ASPN Python Cookbook?
Ponieważ ludzie są leniwi ;-P
>>>> O ile dobrze rozumiem, osoba rozpoczynająca ten wątek jednak chce się
>>>> nauczyć.
>>>
>>> I w czym ma jej pomóc implementowanie sortowania? W ogromnej większości
>>> przypadków nie będzie tego już później robić. Na pewno mówisz o nauce Pythona,
>>> nie o kształceniu programistów?
>>
>> Jak można umieć programować w Pythonie nie umiejąc programować w ogóle?
>
> I odwrotnie - jak można nie umieć programować, umiejąc programować w Pythonie?
Jeśli ktoś problem, który się da rozwiązać w O(log n) rozwiązuje w O(n**5)
to umie programować czy nie?
Jeśli ktoś pisze kod typu (autentyki):
if a == True:
b = True
if a == False:
b = False
albo:
if a:
if b:
if c:
costam
to umie programować czy nie?
bart
--
cvs server: file `middle.east' had a conflict and has not been modified
http://candajon.azorragarse.info/ http://azorragarse.candajon.info/
Tacy ludzie nie istnieją ;-)
bart
--
"Nie ma czegoś takiego jak brak snu, najwyżej brak kawy." (c) D. Simmons
http://candajon.azorragarse.info/ http://azorragarse.candajon.info/
>>>>>> Bart, znowu przesadzasz. Dlaczego np. admin zaczynający pracę z Pythonem
>>>>>> miałby ćwiczyć abstrakcyjne pętle, skoro może iterować po adresach IP
>>>>>> albo nazwach plików? Przy okazji _od razu_ załatwiając, choćby prymitywnie
>>>>>> i nieoptymalnie, swoje konkretne sprawy?
>>>>>
>>>>> Owsze może, tylko że w ten sposób to się Pythona przez lata nie nauczy.
>>>>
>>>> Dlaczego? Dlatego, że iteruje po czymś innym niż testowe abstrakcje?
>>>
>>> Dlatego, że zrobi byle jak, byle działało.
>>
>> Przepraszam - to ma być jakiś zarzut?
>
> Owszem. Złych nawyków się nie pozbędzie.
Ponieważ? Ty naprawdę zakładasz, że jak ktoś nie kończy informatyki to nie
jest zdolny do rozwoju?
>>> W dodatku robiąc kalkę z jakiegoś innego języka, który zna.
>>
>> Rili? A może np. kalkując receptę znalezioną w sieci? Dlaczego zakładasz, że
>> nie przeczyta książki, nie zrozumie 'import this', nie sprawdzi przykładów
>> z dokumentacji, nie zapisze się na pl.comp.lang.python i nie zapyta, nie
>> zasubskrybuje ASPN Python Cookbook?
>
> Ponieważ ludzie są leniwi ;-P
Hej, odrobinę konsekwencji proszę. Jeśli nie są zbyt leniwi żeby w ramach
ćwiczeń implementować sortowanie w Pythonie, dlaczego mają być zbyt leniwi
żeby poczytać o rozwiązaniach ich konkretnych problemów?
>>>>> O ile dobrze rozumiem, osoba rozpoczynająca ten wątek jednak chce się
>>>>> nauczyć.
>>>>
>>>> I w czym ma jej pomóc implementowanie sortowania? W ogromnej większości
>>>> przypadków nie będzie tego już później robić. Na pewno mówisz o nauce Pythona,
>>>> nie o kształceniu programistów?
>>>
>>> Jak można umieć programować w Pythonie nie umiejąc programować w ogóle?
>>
>> I odwrotnie - jak można nie umieć programować, umiejąc programować w Pythonie?
>
> Jeśli ktoś problem, który się da rozwiązać w O(log n) rozwiązuje w O(n**5)
> to umie programować czy nie?
Tak, umie. Co nie znaczy, że nie braków w algorytmice, czy że jest dobrym
programistą.
> Jeśli ktoś pisze kod typu (autentyki):
>
> if a == True:
> b = True
> if a == False:
> b = False
>
> albo:
>
> if a:
> if b:
> if c:
> costam
>
> to umie programować czy nie?
A możesz mi wyjaśnić w kilku prostych, żołnierskich słowach jaki to ma związek
z tematem? Dlaczego zdajesz się zakładać, że ktoś kto nie przećwiczył tego
Twojego sortowania będzie za głupi, żeby nauczyć się z książek, receptur,
newsów, dokumentacji jakie są pythonowe rozwiązania typowych zadań?
Nie. Zakładam, że jak ktoś jest zbyt leniwy, coby troche swojego czasu poświęcić
na naukę języka, to jest niezdolny do rozwoju.
>>>> W dodatku robiąc kalkę z jakiegoś innego języka, który zna.
>>>
>>> Rili? A może np. kalkując receptę znalezioną w sieci? Dlaczego zakładasz, że
>>> nie przeczyta książki, nie zrozumie 'import this', nie sprawdzi przykładów
>>> z dokumentacji, nie zapisze się na pl.comp.lang.python i nie zapyta, nie
>>> zasubskrybuje ASPN Python Cookbook?
>>
>> Ponieważ ludzie są leniwi ;-P
>
> Hej, odrobinę konsekwencji proszę. Jeśli nie są zbyt leniwi żeby w ramach
> ćwiczeń implementować sortowanie w Pythonie, dlaczego mają być zbyt leniwi
> żeby poczytać o rozwiązaniach ich konkretnych problemów?
Przecież napisałeś, że nie będą nic w ramach ćwiczeń implementować, tylko
od razu się wezmą za "realne problemy".
>>>> Jak można umieć programować w Pythonie nie umiejąc programować w ogóle?
>>>
>>> I odwrotnie - jak można nie umieć programować, umiejąc programować w Pythonie?
>>
>> Jeśli ktoś problem, który się da rozwiązać w O(log n) rozwiązuje w O(n**5)
>> to umie programować czy nie?
>
> Tak, umie. Co nie znaczy, że nie braków w algorytmice, czy że jest dobrym
> programistą.
To jaka jest definicja programisty? Bo zdaje się, zakładasz, że programista
to mniej więcej to samo co koder.
>> Jeśli ktoś pisze kod typu (autentyki):
>>
>> if a == True:
>> b = True
>> if a == False:
>> b = False
>>
>> albo:
>>
>> if a:
>> if b:
>> if c:
>> costam
>>
>> to umie programować czy nie?
>
> A możesz mi wyjaśnić w kilku prostych, żołnierskich słowach jaki to ma związek
> z tematem? Dlaczego zdajesz się zakładać, że ktoś kto nie przećwiczył tego
> Twojego sortowania będzie za głupi, żeby nauczyć się z książek, receptur,
> newsów, dokumentacji jakie są pythonowe rozwiązania typowych zadań?
Jeśli nie przećwiczył tego sortowania, to znaczy że nie miał w rękach żadnej
książki typu "Wstęp do programowania". Innymi słowy, umie troche kodować,
ale programować nie. Jeśli pisze takie kwiatki jak powyżej, to znaczy, że
nawet kodować nie bardzo umie.
>>>>> Dlatego, że zrobi byle jak, byle działało.
>>>>
>>>> Przepraszam - to ma być jakiś zarzut?
>>>
>>> Owszem. Złych nawyków się nie pozbędzie.
>>
>> Ponieważ? Ty naprawdę zakładasz, że jak ktoś nie kończy informatyki to nie
>> jest zdolny do rozwoju?
>
> Nie. Zakładam, że jak ktoś jest zbyt leniwy, coby troche swojego czasu poświęcić
> na naukę języka, to jest niezdolny do rozwoju.
Ale nie ma mowy o niechęci do poświęcania czasu na _naukę języka_, jest mowa
o niechęci do ćwiczeń typu implementacja sortowania w Pythonie. Pozostaje do
pokazania w jaki sposób tego typu ćwiczenia miałyby pomóc w nauce tego języka.
>>>>> W dodatku robiąc kalkę z jakiegoś innego języka, który zna.
>>>>
>>>> Rili? A może np. kalkując receptę znalezioną w sieci? Dlaczego zakładasz, że
>>>> nie przeczyta książki, nie zrozumie 'import this', nie sprawdzi przykładów
>>>> z dokumentacji, nie zapisze się na pl.comp.lang.python i nie zapyta, nie
>>>> zasubskrybuje ASPN Python Cookbook?
>>>
>>> Ponieważ ludzie są leniwi ;-P
>>
>> Hej, odrobinę konsekwencji proszę. Jeśli nie są zbyt leniwi żeby w ramach
>> ćwiczeń implementować sortowanie w Pythonie, dlaczego mają być zbyt leniwi
>> żeby poczytać o rozwiązaniach ich konkretnych problemów?
>
> Przecież napisałeś, że nie będą nic w ramach ćwiczeń implementować, tylko
> od razu się wezmą za "realne problemy".
Ćwiczyć też można na realnych problemach, zamiast marnować czas na wyważanie
otwartych drzwi.
>>>>> Jak można umieć programować w Pythonie nie umiejąc programować w ogóle?
>>>>
>>>> I odwrotnie - jak można nie umieć programować, umiejąc programować w Pythonie?
>>>
>>> Jeśli ktoś problem, który się da rozwiązać w O(log n) rozwiązuje w O(n**5)
>>> to umie programować czy nie?
>>
>> Tak, umie. Co nie znaczy, że nie braków w algorytmice, czy że jest dobrym
>> programistą.
>
> To jaka jest definicja programisty? Bo zdaje się, zakładasz, że programista
> to mniej więcej to samo co koder.
Wiesz, ja naprawdę mam w nosie takie rozróżnienia. Od początku jest mowa
o ludziach _nie będących_ programistami.
>>> Jeśli ktoś pisze kod typu (autentyki):
>>>
>>> if a == True:
>>> b = True
>>> if a == False:
>>> b = False
>>>
>>> albo:
>>>
>>> if a:
>>> if b:
>>> if c:
>>> costam
>>>
>>> to umie programować czy nie?
>>
>> A możesz mi wyjaśnić w kilku prostych, żołnierskich słowach jaki to ma związek
>> z tematem? Dlaczego zdajesz się zakładać, że ktoś kto nie przećwiczył tego
>> Twojego sortowania będzie za głupi, żeby nauczyć się z książek, receptur,
>> newsów, dokumentacji jakie są pythonowe rozwiązania typowych zadań?
>
> Jeśli nie przećwiczył tego sortowania, to znaczy że nie miał w rękach żadnej
> książki typu "Wstęp do programowania". Innymi słowy, umie troche kodować,
> ale programować nie.
Jej. No chyba powinni za to odbierać licencję na używanie Pythona.
> Jeśli pisze takie kwiatki jak powyżej, to znaczy, że
> nawet kodować nie bardzo umie.
Przy czym związek "kwiatków" z nie przećwiczeniem sortowania w Pythonie jest
co najmniej wątpliwy.
>>>>>
>>>> A wyobraź sobie, że pisanie aplikacji do akwizycji danych ze
>>>> specyficznego hardwaru częstokroć tak wygląda - wcześniej tego hardwaru
>>>> nie było, więc wcześniej, niesamowite, nikt tego nie zaimplementował :)
>>> Oczywiście robi to osoba, która żadnego doświadczenia w programowaniu nie ma...
>>>
>> Zwykle pierwszy prototyp robią studenci, którzy, owszem, doświadczenia
>> nie mają :) Jakieś guidelines są, ale żadnego _zawodowego_ programisty w
>> okolicy nie ma. Ba, zwykle nie ma nawet nikogo kto ukończył
>> "informatykę" w jakimkolwiek tego słowa znaczeniu.
>
> No tak, a potem tacy piszą, że zrobili implementację rozwiązujacą problem,
> dla testowych danych działa, a dla rzeczywistych "się wiesza". Po czym
> okazuje się, że problem jest NP-zupełny, a rozwiązanie brute-force.
>
Tak, tak, Bart. Hint _akwizycja_ danych.
>>> Niewątpliwie można próbować od razu bardziej "realnych" problemów.
>>> Choć wątpię, aby taka nauka była równie efektywan.
>>>
>> Nie wiem jak u ambitnych koderów hardkorowców, ale stawiam na to że
>> satysfakcja z rozwiązania problemu bywa większa niż z zaimplementowania
>> ćwiczenia numer 7 z rozdziału pierwszego czegośtam.
>
> Nie wiem jak u koderów, ale u algorytmików[1] to większość "problemów"
> jest dosyć prosta do zdefiniowania i bardzo prosta do zrobienia
> "naiwnej" implementacji.
>
> [1] i co za tym idzie w konkursach ACM czy Olimpiadzie Informatycznej.
>
Widzisz, tyle że świat programowania nie kończy się na problemach na
które pomaga algorytmik...
Michał
Sortowanie czy implementacja listy po swojemu akurat w pythonie to jest
cholernie daleko od wspominanego przez Ciebie (kupuję, podoba mi się)
'ducha języka'.
Michał
Michał
> Jakoś nie pasuje mi podejście "wkręciłem żarówkę, jestem elektrykiem"...
No widzisz, mnie też nie pasuje podejście, które lansujesz.
"nauczę się robić instalacje elektryczne... wkręce 20 żarówek i będę specjalistą.
Wkręce jeszcze 100, to powinni mi dać uprawnienia do 10KV".
>>> Zwykle pierwszy prototyp robią studenci, którzy, owszem, doświadczenia
>>> nie mają :) Jakieś guidelines są, ale żadnego _zawodowego_ programisty w
>>> okolicy nie ma. Ba, zwykle nie ma nawet nikogo kto ukończył
>>> "informatykę" w jakimkolwiek tego słowa znaczeniu.
>>
>> No tak, a potem tacy piszą, że zrobili implementację rozwiązujacą problem,
>> dla testowych danych działa, a dla rzeczywistych "się wiesza". Po czym
>> okazuje się, że problem jest NP-zupełny, a rozwiązanie brute-force.
>>
> Tak, tak, Bart. Hint _akwizycja_ danych.
0 przetwarzania tychże?
>>>> Niewątpliwie można próbować od razu bardziej "realnych" problemów.
>>>> Choć wątpię, aby taka nauka była równie efektywan.
>>>>
>>> Nie wiem jak u ambitnych koderów hardkorowców, ale stawiam na to że
>>> satysfakcja z rozwiązania problemu bywa większa niż z zaimplementowania
>>> ćwiczenia numer 7 z rozdziału pierwszego czegośtam.
>>
>> Nie wiem jak u koderów, ale u algorytmików[1] to większość "problemów"
>> jest dosyć prosta do zdefiniowania i bardzo prosta do zrobienia
>> "naiwnej" implementacji.
>>
>> [1] i co za tym idzie w konkursach ACM czy Olimpiadzie Informatycznej.
>>
> Widzisz, tyle że świat programowania nie kończy się na problemach na
> które pomaga algorytmik...
Owszem, daleko nie. Np. większość "programistów Java" klepie formatki.
bart
--
Ten się śmieje ostatni, kto myśli najwolniej.
http://candajon.azorragarse.info/ http://azorragarse.candajon.info/
>>>>> Ludzie, którzy nie mają pojęcia o programowaniu, ani o języku w którym
>>>>> mają programować, rozwiązują konkretne problemy w tymże...
>>>>> Jasne, w Centrum Rozwoju i Innowacji w Klewkach.
>>>>>
>>>> _Ludzie którzy nie są programistami_.
>>>
>>> Programują..
>
>> Jakoś nie pasuje mi podejście "wkręciłem żarówkę, jestem elektrykiem"...
>
> No widzisz, mnie też nie pasuje podejście, które lansujesz.
> "nauczę się robić instalacje elektryczne... wkręce 20 żarówek i będę specjalistą.
> Wkręce jeszcze 100, to powinni mi dać uprawnienia do 10KV".
Ale czy możesz przytoczyć takie wypowiedzi? Bo ja to widzę raczej jako
"- chciałbym nauczyć się wkręcać żarówki", "- no cóż, a ćwiczenia z kursu
do 10 KV już zrobiłeś?". Człowiek chce się nauczyć Pythona, a to się
niekoniecznie musi wiązać z zostaniem programistą.
Jak ktoś pisze "chciałbym się nauczyć robić instalacje elektryczne", to znaczy,
że chciałby się nauczyć wkręcać żarówki?
bart
--
"Security issues are not discussed in this memo, but then again, no
other issues of any importance are discussed in this memo either." [RFC1438]
http://candajon.azorragarse.info/ http://azorragarse.candajon.info/
>>>> Jakoś nie pasuje mi podejście "wkręciłem żarówkę, jestem elektrykiem"...
>>>
>>> No widzisz, mnie też nie pasuje podejście, które lansujesz.
>>> "nauczę się robić instalacje elektryczne... wkręce 20 żarówek i będę specjalistą.
>>> Wkręce jeszcze 100, to powinni mi dać uprawnienia do 10KV".
>>
>> Ale czy możesz przytoczyć takie wypowiedzi? Bo ja to widzę raczej jako
>> "- chciałbym nauczyć się wkręcać żarówki", "- no cóż, a ćwiczenia z kursu
>> do 10 KV już zrobiłeś?". Człowiek chce się nauczyć Pythona, a to się
>> niekoniecznie musi wiązać z zostaniem programistą.
>
> Jak ktoś pisze "chciałbym się nauczyć robić instalacje elektryczne", to znaczy,
> że chciałby się nauczyć wkręcać żarówki?
Jak sam wiesz, analogie są nośne tylko do pewnego momentu. Ale jeśli już,
to "chciałbym się nauczyć robić instalacje elektryczne" nie musi implikować
ani uprawnień do 10KV, ani uniwersyuteckiego kursu fizyki.
>>>> Zwykle pierwszy prototyp robią studenci, którzy, owszem, doświadczenia
>>>> nie mają :) Jakieś guidelines są, ale żadnego _zawodowego_ programisty w
>>>> okolicy nie ma. Ba, zwykle nie ma nawet nikogo kto ukończył
>>>> "informatykę" w jakimkolwiek tego słowa znaczeniu.
>>> No tak, a potem tacy piszą, że zrobili implementację rozwiązujacą problem,
>>> dla testowych danych działa, a dla rzeczywistych "się wiesza". Po czym
>>> okazuje się, że problem jest NP-zupełny, a rozwiązanie brute-force.
>>>
>> Tak, tak, Bart. Hint _akwizycja_ danych.
>
> 0 przetwarzania tychże?
>
Przetwarzanie robi kto inny, przetwarzanie jest czasowo zaniedbywalne
przy dzisiejszych pecetach, kilka procesorów to zaniedbywalny koszt itd.
itp... Imaginuj sobie, wiem dlaczego podałem taki przykład:)
>>>> Nie wiem jak u ambitnych koderów hardkorowców, ale stawiam na to że
>>>> satysfakcja z rozwiązania problemu bywa większa niż z zaimplementowania
>>>> ćwiczenia numer 7 z rozdziału pierwszego czegośtam.
>>> Nie wiem jak u koderów, ale u algorytmików[1] to większość "problemów"
>>> jest dosyć prosta do zdefiniowania i bardzo prosta do zrobienia
>>> "naiwnej" implementacji.
>>>
>>> [1] i co za tym idzie w konkursach ACM czy Olimpiadzie Informatycznej.
>>>
>> Widzisz, tyle że świat programowania nie kończy się na problemach na
>> które pomaga algorytmik...
>
> Owszem, daleko nie. Np. większość "programistów Java" klepie formatki.
>
Hint - nadal mowa o ludziach którzy _nie są_/_nie mówią na
siebie_/jakieś inne przeczenie, nie chce mi się wymyślać programistami.
Michał
Michał
Masz racje, ale czlowiek ma jednak naturalna niechec do wywazania
otwartych drzwi...
Po prostu troche szkoda, jak marnuja sie wlasciwosci jezyka.
O, jestem za. To jak z nauką gry -- po co zaczynać od podstaw, skoro
można się rzucić od razu na kompozycję i nauczyć się wszystkiego po drodze.
-mk, który czasem miewa okazję poprawiać kod po takich, którzy nigdy nie
napisali sortowania
A na poważnie: nauka na przykładach starych i dobrze znanych algorytmów
jest o tyle istotna, że łatwo zweryfikować czy kod, który powstał, jest
sensowny, a jeśli nie -- dowiedzieć się, na co należy zwrócić uwagę.
"To działa" to żadna weryfikacja.
--
http://code.google.com/p/django-multilingual/ -- multilingual Django
http://marcinkaszynski.com/
http://elksoft.pl/
>> Jej. No chyba powinni za to odbierać licencję na używanie Pythona.
>
> Po prostu troche szkoda, jak marnuja sie wlasciwosci jezyka.
Przecież się nie zmarnują, jeśli ktoś tego sortowanie sam nie zaimplementuje.
Nadal uważam, że nie ma żadnego powodu, żeby ktoś uczący się Pythona zaczynał
od ćwiczenia rzeczy, których na 99.9% nigdy w nim robił nie będzie.
> "To działa" to żadna weryfikacja.
Po warunkiem, że kształcisz programistów. Dla mnie to jedyna weryfikacja
której potrzebuję.
Zmienisz zdanie, jeśli przyjdzie Ci poprawkć po kimś jakiś fragment
większego projektu. No chyba że stosujesz metodę "napiszmy to od nowa
zamiast poprawiać, będzie szybciej" - ale ona nie zawsze się sprawdza.
--
Daniel Podlejski
>> > "To działa" to żadna weryfikacja.
>>
>> Po warunkiem, że kształcisz programistów. Dla mnie to jedyna weryfikacja
>> której potrzebuję.
>
> Zmienisz zdanie, jeśli przyjdzie Ci poprawkć po kimś jakiś fragment
> większego projektu. No chyba że stosujesz metodę "napiszmy to od nowa
> zamiast poprawiać, będzie szybciej" - ale ona nie zawsze się sprawdza.
Wszyscy milcząco zakładacie, że ktoś kto nie przećwiczy tego przykładowego
sortowania w Pythonie, mimo jego całkowitej nieprzydatności, jest za głupi,
leniwy, itp. itd. żeby dowiedzieć się co w jaki sposób należy w Pythonie
robić. Nie zobaczyłem jeszcze żadnego argumentu na poparcie tego założenia
który by do mnie przemawiał.
> >> > "To działa" to żadna weryfikacja.
> >>
> >> Po warunkiem, że kształcisz programistów. Dla mnie to jedyna weryfikacja
> >> której potrzebuję.
> >
> > Zmienisz zdanie, jeśli przyjdzie Ci poprawkć po kimś jakiś fragment
> > większego projektu. No chyba że stosujesz metodę "napiszmy to od nowa
> > zamiast poprawiać, będzie szybciej" - ale ona nie zawsze się sprawdza.
>
> Wszyscy milcząco zakładacie, że ktoś kto nie przećwiczy tego przykładowego
> sortowania w Pythonie, mimo jego całkowitej nieprzydatności, jest za głupi,
> leniwy, itp. itd. żeby dowiedzieć się co w jaki sposób należy w Pythonie
> robić. Nie zobaczyłem jeszcze żadnego argumentu na poparcie tego założenia
> który by do mnie przemawiał.
Ja tylko wyprowadzam Cię z błędu, nie odnosząc się do tego co było wcześniej
w wątku - "to działa" to żadna weryfikacja kodu i kodera - bo czasem nawet
lepiej żeby nie działało.
--
Daniel Podlejski
>> >> > "To działa" to żadna weryfikacja.
Wierzę Ci na słowo. Niemniej bardzo często jest to dla mnie jedyne kryterium.
Może dlatego, że pracuję jako admin, a nie programista. Coś co teraz wykona
zadanie jest dla mnie znacznie bardziej cenne od czegoś, co zrobi to samo
optymalnie i elegancko za dwa tygodnie.
Wręcz przeciwnie, według mnie ktoś taki, jeśli faktycznie chce się
nauczyć (a tak zrozumiałem człowieka, który rozpoczął ten wątek),
wybiera dłuższą drogę. Taki skrót mocno naokoło.
Przydatność ćwiczenia qsorta nie polega na tym, że będziesz miał własną
funkcję sortującą, ale na tym że pomaga zrozumieć rekurencję i
rozwiązanie problemu przez podział na mniejsze. Podobnie jest z innymi
klasycznymi algorytmami -- duża część z nich to świetne ćwiczenia na
różne umiejętności programistyczne, a istniejące implementacje pomagają
w wychwyceniu błędów (w myśleniu, niekoniecznie w wynikach).
Pewnie można i bez tego nauczyć się pisać kod sensownie (sprawnie,
czytelnie, w taki sposób żeby w razie potrzeby modyfikacje były tańsze
niż przepisanie od zera), z tym nie dyskutuję. Ale według mnie potrwa
to wyraźnie dłużej.
-mk
> Wręcz przeciwnie, według mnie ktoś taki, jeśli faktycznie chce się
> nauczyć (a tak zrozumiałem człowieka, który rozpoczął ten wątek),
> wybiera dłuższą drogę. Taki skrót mocno naokoło.
>
> Przydatność ćwiczenia qsorta nie polega na tym, że będziesz miał własną
> funkcję sortującą, ale na tym że pomaga zrozumieć rekurencję i
> rozwiązanie problemu przez podział na mniejsze. Podobnie jest z innymi
> klasycznymi algorytmami -- duża część z nich to świetne ćwiczenia na
> różne umiejętności programistyczne, a istniejące implementacje pomagają
> w wychwyceniu błędów (w myśleniu, niekoniecznie w wynikach).
>
> Pewnie można i bez tego nauczyć się pisać kod sensownie (sprawnie,
> czytelnie, w taki sposób żeby w razie potrzeby modyfikacje były tańsze
> niż przepisanie od zera), z tym nie dyskutuję. Ale według mnie potrwa
> to wyraźnie dłużej.
A ja nie kwestionuję przydatności ćwiczeń, ale nie rozumiem dlaczego ma
to być czysta abstrakcja. Prezentację D. Beazleya nt. generatorów czyta
się doskonale m.in. dlatego, że doskonale widać zastosowanie. Śmiem wątpić,
czy to samo pokazane na abstrakcyjnych danych jako po prostu algorytm
miałoby taką samą siłę oddziaływania.
nie zna praw deMorgana i tyle :)
mak
Bo to jest różnica między uniwerkiem a polibudą. Na polibudzie
"to działa" jest weryfikacją, a w kod nikt nie zagląda ;-)
bart
--
"Ja nawet umiem zgrepować gzipa." (c) W. Orliński
http://candajon.azorragarse.info/ http://azorragarse.candajon.info/