Nauka od zera

A ja żałuje i to bardzo bardzo bardzo mocno że ktoś w swoim czasie nie walnął mnie w łeb i nie kazał tak, a dlaczego? otóż dlatego że nie miałem zupełnie nikogo kto mógłby mnie wesprzeć, zupełnie nikogo, uczyłem się sam zaczęło się od basic’a, przez pascala na “programowaniu obliczeń” (ukłony Tomash zgadzam się z matematyką jedyna piątka na roku/2 oceny pozytywne na roku). A teraz jestem świadkiem panów magistrów i inżynierów, którzy nie są w stanie wymienić jednego wzorca programistycznego. Nie mówiąc już, że nagle odkrywają MVC po kilku latach po zakończeniu studiów…

I dlaczego mówisz, że to bzdury? To bardzo przemyślane słowa. Widzisz nie do końca zrozumiałeś co chciałem przekazać. Po pierwsze każdego zachęcam do zabawy w praktyce, ale konstruktywnej. Sam jestem w Rails nowy i wspieram się na kilku znajomych, ale nauczyłem się drążyć sam i rozwiązywać problemy sam, nauczyłem się też czytać i rozszerzać wiedzę poza przeskakiwaniem z tutków do notatnika. I dlatego, że nikt nie był w stanie wskazać mi drogi, a internetu nie było jeszcze powszechnie dostępnego, bardzo żałuję że nie mogłem tak.

I sam nie popieram akademickiego podejścia, ale jednak ludzie robiąc coś niech wiedzą co robią i skąd się co bierze.
Omijają wtedy nieprzespane noce, i poczucie niemocy. Mam obok siebie właśnie żywy przykład człowieka, który gdyby się przemógł i przeczytał podstawy nie formułował by tekstów “ja nigdy tego nie zrozumie”, a chłopak świetnie sobie radzi i ma duże chęci. Ile razy można komuś podsyłać linki do dokumentacji i wyjaśniać w kółko to samo? Nie przeczyta i nie zastanowi się to nie zrozumie.

Podsumowując właśnie wszystko co napisałem napisałem z rozmysłem biorąc pod uwagę własne początki.

Mam któryś raz wrażenie, że albo mnie nie lubisz z jakiegoś powodu, albo masz się za wyrocznie… Wyraziłem swoją opinię, nie bzdury jeśli nie umiesz tego uszanować to się wstrzymaj.

[quote=Tomash]PS. Niech podniesie rękę każdy, kogo wciągnął słynny screencast “Blog in Ruby On Rails in 15 minutes”.

Jak zachęcający byłby, gdyby zamiast pokazania tworzenia działającego (i wyglądającego) bloga składałby się z drobiazgowego czytania dokumentacji poszczególnych modułów, klas, metod i wstępu do technologii?

Już wiem… były jednym z tutoriali J2EE, gdzie “cokolwiek działającego” pojawia się dopiero po godzinie pisania konfiguracji ;)[/quote]
zupełnie mnie nie zrozumiałeś.

A jeśli komuś mogę coś poradzić, to niezależnie od języka który wybierze, zachęcam do spróbowania sił w http://projecteuler.net. Dla mnie to jedna z fajniejszych form nauki i ćwiczenia szarych.

Wojtek:

Z Twojego poprzedniego posta ja też bym odczytał: “Najpierw się naucz solidnych podstaw algorytmicznych i wzorców i jak to wszystko działa, a później pisz programy” :slight_smile:

Ja jestem podobnego zdania co Tomash - na początek jak najprostszy język (dlatego nie polecam C, chociaż sam od niego zaczynałem), żeby można było szybko coś stworzyć i nie skupiać się na rozwiązywaniu głupich problemów (“skąd się do cholery ten segfault bierze w tym odwołaniu do wskaźnika do wskaźnika do wskaźnika do inta?”).

To w takim razie może źle się wyraziłem. Może skróce:

Decydujesz się poznać programowanie obiektowe - dowiedz się co to jest. Decydujesz się programować np. w Rails - pisz i praktykuj, ale nie rób na ślepo i nie przepisuj tutoriali tylko przeczytaj co i dlaczego (co to jest kontroler, widok i model etc). Tworzysz coś, rozejrzyj się może już to ktoś wymyślił i jest lepsze, i czytaj, czytaj i jeszcze raz czytaj blogi, książki, artykuły, jest wiele rzeczy o których nie wiesz, a które istnieją.

Całkowicie jednak upieram się przy tym, że każdy język dobry, jedyne co on musi mieć to dawać Ci frajde. Idąc tym tokiem polecam AS 2.0 (celowo nie 3). Widzisz co robisz cały czas i efekty potrafią być niesamowite małym nakładem, jest w miarę prosty, materiałów jest zatrzęsienie. By zacząć może być bardzo fajny.

ps.
Dobra, mam kłopot z wyrażaniem się dziś (przepracowanie?).

Sorka za twardy ton. Chcę zwrócić uwagę i zachęcić zaczynających, by wybierając coś bawili się tym i przyjmowali wiedzę, metoda prób i błędów jest dobra, ale pominiecie wiele ważnych rzeczy i to wróci do was, w złych nawykach, w drodze na ślepo przetartymi - ale krętymi i niebezpiecznymi - szlakami. Wierzcie mi, że gdybym miał dostęp do informacji w swoim czasie, moja nauka wyglądała by całkiem inaczej. A nawyki z programowania liniowego długo zwalczałem. Mam wielu kolegów, po których widać że się gubią, to właśnie ten brak zrozumienia do końca i brak podstaw. I wierzcie mi nigdy nikogo bym z rozmowy kwalifikacyjnej nie wyrzucił dlatego, że nie zna któregoś wzorca - nie zdziwiłbym się gdyby sam sobie wypracował taki po długiej walce nie mając pojęcia, że już istnieje…

Wojtek, nic do Ciebie nie mam - naprawdę :slight_smile: Nie zżymam się na Ciebie, tylko na wybrane fragmenty spośród wybranych Twoich postów (jednego posta) z którymi się zupełnie nie zgadzam :stuck_out_tongue:

C jest słabym językiem na początek, owszem (a znam ten język na wskroś i rozwiązuję w pamięci zagadki do trzeciego wskaźnika włącznie :wink: ) . Swoje pierwsze kroki z programowaniem – poza LOGO w podstawówce (śmiejcie się, ale bardzo dobrze to wspominam jako wstęp do programowania!) – stawiałem w dosowym Basicu i to jest fajny język na wejście. Z bardziej współczesnych to Python albo Ruby są warte polecenia. No i wracamy do punktu wyjścia :wink:

Wzorce: nie jestem przekonany do wyczytywania ich z kolejnych książek – powinny być naturalną konsekwencją pewnego doświadczenia i praktyki w programowaniu i dążeniu do coraz “lepszej” abstrakcji. Kiedy czytałem o MVC, pomyślałem “kurde, przecież to jest dokładnie to co robię w php5 pisząc klasy do obsługi konkretnych tabel w bazie, generyczne pehapy do przetwarzania requestów i szablony w Smarty”. Przy Singletonie brzydko się skrzywiłem :wink: (nie lubię tego wzorca), Fabrykę po raz pierwszy poznałem “bojem”, korzystając z JFreeCharta… właściwie to bardzo rzadko zdarzyło mi się zastosować wzorce, do których sam nie doszedłem (a raczej “dojrzałem”) lub z którymi nie miałem praktycznej styczności. Stąd też moje cięcie na teoretyków i akademików :smiley:

Co śmieszniejsze, tyczy się to głównie dyscyplin, które uważam za “praktyczne”: programowania, grania na instrumencie, malowania (figurek) itd. Kochanej fizyki nie pozwoliłbym tykać naukowemu nuworyszowi bez podstaw :wink:
(no, ale to trochę inna dyscyplina… poza tym na pewno bym nie wprowadzał jej tak “sucho” jak w szkołach i na uczelniach)

Masz racje i ją podzielam od dawna, dlatego przerwałem studia, gdy profesor doktor multi nie umiał napisać działającego programu w języku który wykłada - czara się przelała. Jednak upieram się przy wypośrodkowaniu, wiedza jest ważna, kolega pozwolił mi się zacytować:

[quote=Mr.Cz]dlatego kupiłem se książkę bo te wszystkie tutoriale są o dupe rozbić
w tutorialach jest tak
no dokładnie
w tutorialach jest tak
w 5min zrobiona aplikacja
(20:35)
działa ?, działa o popatrzcie jak pięknie i wszystko w 5min
a co się z czego bierze tego (cenzura) nie ma
i z tym własnie mam problemy
bo to nie chodzi o to ze nie wiem co jak działa
a później pisze się na pałe
jak wiecej się pisze na pałe
to później się coś (cenzura)
i za (cenzura) nie wiadomo co
i tak to (cenzura) jest
(20:36)
+s jest taki ze w tej książce jest toche coś tam poopisywane[/quote]
:slight_smile:

http://processing.org/
Jestem kupiony.
Zacząłem się tym bawić dwie godziny temu i już mam świetną, animowaną (!) wizualizację danych doświadczalnych ze swojej pracy magisterskiej.

Rewelacyjny język* dla początkujących (oparty na JVM i w sumie zbliżony do Javy, ale na szczęście trochę bardziej tolerancyjny, zwinny i nie wciskający OOP w gardło na siłę) – właśnie podrzuciłem koledze, który jest psychologiem, fotografem, a w całym życiu programował co najwyżej wideo i też mu się podoba :smiley:

*oczywiście Processing to całe środowisko do wizualnych zabaw, ale nie bądźmy małostkowi :wink:

Jeżeli już jesteśmy przy językach dla początkujących, to why ( http://whytheluckystiff.net/ ) jest propagatorem tego typu opcji. Pewnie sporo osób zna hacketyhack, tutaj jest manifest napisany przez why: http://hacketyhack.net/manifesto/ oraz http://whytheluckystiff.net/articles/theLittleCodersPredicament.html

Warto się zapoznać :slight_smile: