Programowanie w Ruby od podstaw - kurs wideo PL

Super język - wygląda prosto, a w przypadku niejasności ma solidnie wyglądające pozycje książkowe:

Prace Zakładu Aparatów Matematycznych PAN, “System Automatycznego Kodowania SAKO – opis języka”, PAN – Warszawa 1961,

Temat do rozważenia dla autorów kursów programowania po polsku !

Kiedy wydacie railsy dla początkujacych ?

LOL, najbardziej rozbawiła mnie ta dyskusja dotyczący “z wielkiej” czy “od dużej”. Okazuje się, że nikt z Was nie ma racji :))) Poprawne sformułowanie to “wielką literą” - “z wielkiej” to rusycyzm :smiley: http://poradnia.pwn.pl/lista.php?id=443

7 Likes

Pokoloruj mnie zaskoczonym :wink:

Wychodzę z założenia, że materiałów do nauki nigdy za wiele i pomysł ciekawy, ale zgadzam się z pierwszą opinią @konole w tym wątku i następnymi.

Jako, że jest mi to bliski język to nie mogę przejść obok bez skomentowania. Poniżej nie odnoszę się do treści samego kursu, ale do twierdzeń osób za nim stojących, którzy z dobrymi praktykami mają chyba na bakier. Każdy może popełniać błędy, ale powinien je poprawiać gdy ktoś alarmuje go o błędzie.

Nazywanie metod i klas w języku polskim jest chybionym pomysłem. A co ze znakami diakrytycznymi w takich klasach? Dlaczego autorzy kursu używają nazw polskich niepoprawnych?
Co to jest class Samochod? Raczej chodzi o class Samochód? Ruby przecież pozwala nazwać klasę z użyciem znaków diakrytycznych ‘Samochód’.

W kodzie programu zawsze powinno chodzić o czytelność.

Czy
User.new.name
Uzytkownik.new.imie
Użytkownik.new.imię
Użytkownik.nowy.imię

Czy
Team.members.each do |member| puts member.name.capitalize end
Zespół.członkowie.each do |członek| puts członek.imię.capitalize end
Zespół.członkowie.każdy zrób |członek| wypisz członek.imię.wielką_literą koniec

ma jakikolwiek sens? I czy byłby czytelny?

Wklejenie takiego kodu z zapytaniem się kogoś o pomoc w ogólnoświatowej społeczności może rodzić konsternację i mniejszą chęć do pomocy.

Tak samo nieczytelny jest fragment z użyciem bloku 5.times {powitanie}. Powinno być 5.times { powitanie }.

Nazwy metod standardowych i klas są po angielsku!

Ja jako dziecko grałem na komputerze w gry po angielsku, bo innych nie było i dało radę, nie znając żadnego słowa po angielsku, ale dzięki temu uczyłem się angielskiego podczas zabawy. Gdyby były po polsku zapewne miałbym o wiele większe trudności z nauką tego języka później.

Twierdzenie ze nauka podstaw powinna być po polsku może być prawdą, ale tylko dla całkowitych laików w języku angielskim, ale przy tej okazji kursant powinien się właśnie uczyć jak najwięcej angielskiego, bo bez tego ani rusz później.

Kurs taki nie powinien uczyć nietrafionych praktyk programistycznych, którymi są nazywanie klas i metod po nie do końca polsku (rzeczony Samochod), w języku który ma semantykę angielską, stosowanie 4 lub więcej spacji gdy ogólnie jest przyjęte, że spacje mają być 2 (wystarczy zajrzeć chociażby na stronę główną dotyczącą Rubiego i zobaczyć, że we fragmentach kodu są 2 spacje. Cztery spacje wcale nie poprawiają czytelności, a wręcz ją zaburzają). Gdybym osobiście miał pracować na takim kodzie z nazwami pseudo polskimi i 4 spacjami to by mi się robiło niedobrze.

Linia kodu by być czytelna powinna mieć maksymalnie 80 znaków (tak da się tak pisać kod by się mieścił w liniach w 80 znakach - jest to dobry kod), a w uzasadnionych przypadkach dla pewnych języków do 120 (np. Java). Ruby należy do języków gdzie 80 znaków wystarcza dzięki temu, że są wcięcia na 2 spacje i relatywnie krótkie, znaczące nazwy metod i klas. Używanie tabulatorów do wcięć jest karygodne.

Osoby, które nabierają przez takie kursy złych praktyk programistycznych, potem jest ciężko takowych praktyk oduczyć. A ja potem jako programista muszę z takim bełkotem w kodzie się mierzyć.

Autorom płatnych kursów dotyczących Rubiego radziłbym konsultacje lub weryfikację takiego kursu przed jego opublikowaniem z kimś dobrze obeznanym w tematyce, żeby na przyszłość uniknąć takich wpadek. Bo jeśli już płacić to za jakość, a nie za jakoś.

2 Likes

Suma sumarum wygląda na to, że kursy tego typu rozbijają sie o ‘jakość’ ich twórców.

Bardzo mi się podobał ten temat, więc go wskrzeszam ciekawostką. Nie wiem czy Matz to taki kiepski programista, ale on chyba wprowadził taki wzorzec:

Array('dupa') #=> ["dupa"]

Gdzieś coś kiedyś, że powinno się tworzyć takie metody jako skróty dla YourObject.new.

@sharnik Generalnie idea jest taka, że poprzez metodę, która nazywa się tak samo jak klasa dostarczasz jakąś sensowną faktorkę na tworzenie danego obiektu, ale niekoniecznie to musi być dokładnie YourObject.new. Przykładem jest choćby Integer:

[1] pry(main)> Integer("1")
=> 1
[2] pry(main)> Integer.new("1")
NoMethodError: undefined method `new' for Integer:Class

Tutaj metoda Integer służy bardziej jako taki konwerter z typu String na Integer.

Z innych przykładów jakie pamiętam to nokogiri:

doc = Nokogiri::HTML(open('http://www.google.com/search?q=sparklemotion'))

Nie powiedziałbym, że powinno się tworzyć takie metody dla zasady. Raczej zostawiłbym to dla przypadków “corowych” (np. max 1 tego typu metoda per biblioteka, tak jak w przypadku nokogiri) albo DSL.

Ten Array jest nieco bardziej ‘skomplikowany’:

 Array('one')
 => ["one"] 

Array(['one'])
 => ["one"]

Uzywam tego czasem, gdy jakas metoda chce/musi skonwertowac swoj argument do (jednoelementowej) tablicy przed jej przetworzeniem, o ile argument ten juz nia nie jest. Ale wyglada to dziwnie.

W takich przypadkach można tez użyć splat operator w literale tablicy:

[19] pry(main)> [*nil]
=> []
[20] pry(main)> [*[1, 2, 3]]
=> [1, 2, 3]
[21] pry(main)> [*4]
=> [4]
3 Likes

Wcześniej kupiłem kurs Pythona, ale ten język nie zachwycił mnie ani trochę. Kilka dni temu napaliłem się na ten kurs Rubiego, ale czytając powyższą dyskusję widzę że ten kurs chyba jest niewypałem. Poza tym w spisie treści nie ma niczego o obsłudze błędów. Nic nie wiem o Rubim, ale czy on jest takim fajnym i wciągającym językiem, jak wstępny, zachęcający klip T.Kubisztala? Czy jest szansa że spodoba mi się (Ruby a nie pan Kubisztal) w sytuacji gdy Python wogóle mi nie podszedł?

Ciężko doradzić czy Ruby jest lepszy od Pythona. Tutaj dużo zależy od własnych preferencji i oczywiście warto próbować różnych języków, aby wybrać ten najlepszy. Z pewnością obiektowość Rubiego jest na plus, zwłaszcza kiedy stawiamy pierwsze kroki w programowaniu. Dodatkowym atutem jest Ruby on Rails (kurs RoR już niedługo dostępny na naszej stronie).

Jeśli chodzi o to czy kurs jest “niewypałem”, jak stwierdziłeś, to również nie jest to takie proste. Ten temat założyliśmy, aby pochwalić się kursem nad którym bardzo długo pracowaliśmy i z którego jesteśmy dumni (zaskoczeniem dla wielu osób byłoby ile czasu trzeba spędzić nad opracowaniem kursu). Zarzucono nam kilka rzeczy (np. stosowanie polskiego nazewnictwa), które są naszym wyborem. Uważamy, że nie ma monopolu na przekazywanie wiedzy i każdy ma wolny wybór z jakich źródeł chce się uczyć. My staramy się robić swoje jak najlepiej. Wsparcie i sugestie osób, które korzystają z naszych kursów pozwalają nam ciągle udoskonalać nasz produkt, tak, aby nauka była szybka i przyjemna.
Nie mniej jednak, nigdy nie odwracamy się od problemów i nie twierdzimy, że wiemy wszystko bo oczywiście tak nie jest. Również z każdym dniem się uczymy, dlatego zawsze mamy możliwość aktualizacji kursu jeżeli pojawią się jakieś błędy lub jeśli zmiany w omawianym temacie są na tyle duże, że jest to niezbędne (patrz kurs SEO).

Czy nasz kurs Ruby jest dla Ciebie? To zależy czego szukasz. Nasz kurs to szkolenie od zupełnych podstaw, przygotowane z myślą o osobach, które nigdy nie programowały lub mają bardzo niewielką wiedzę na ten temat. Głosy jakie otrzymujemy od osób, które już zapoznały się z kursem są bardzo pozytywne (zachęcam do przeczytania opinii na temat kursu na naszej stronie). Kurs ma uczyć logiki programowania, dać solidną podstawę do dalszego rozwoju. Jeśli znasz już nieco Pythona to część z omawianych tematów będzie dla Ciebie oczywista, ale z pewnością znajdziesz również coś co być może przekona Cię do tego języka.

I wreszcie na koniec. Nigdy nikogo nie chcemy wprowadzać w błąd dlatego na naszej stronie znajdziesz opis kursu, dokładny spis poruszanych zagadnień oraz darmowe fragmenty. Jeśli jednak zdecydujesz się na zakup i po zapoznaniu z kursem nie będziesz zadowolony to nie ma problemu ze zwrotem pieniędzy.

Nie, nie, ja nie twierdzę że ten kurs jest niewypałem. Odniosłem tylko takie wrażenie po przeczytaniu tutejszej dyskusji. Jestem daleki od wydawania takich wyroków. Kupiłem u Was kilka różnych kursów i jestem z nich zadowolony. Natomiast tu natknąłem się na polemikę, dlatego nabrałem (może niepotrzebnego) dystansu.
Nie jestem programistą, dlatego nie czuję różnic pomiędzy językami. Dla mnie Python różni się od Rubiego tym, że ma wcięcia, a rodzina C od poprzednich tym, że ma nawiasy klamrowe.
To bardzo miłe że oferujecie zwrot pieniędzy, ale to może być pułapka dla Was. Ludzie kupią kursy, i tak będą się z nich uczyć, a Wam będą wmawiać że zawiedli się na nich, i będą żądać zwrotu pieniędzy. Po prostu będą Was naciągać.
Moim zdaniem zwrot pieniędzy powinien być możliwy tylko wtedy, gdyby po kupieniu wersji pudełkowej okazało się, że płyta CD jest źle wypalona, albo jej nie ma, albo pliki które ściąga się po zakupieniu wersji elektronicznej, są uszkodzone i nieczytelne. Czyli zwrot pieniędzy tylko w przypadku defektów fizycznych, a nie w przypadku tym, że komuś tematyka kursu się nie podoba. Nie dajcie się naciągnąć wyłudzaczom.

Ponieważ przy okazji mojego postu o edytorze SciTE zostało wykryte że uczę się z niniejszego kursu wideo, dlatego dopiszę tu kilka słów. Oczywiście nie mogę wypowiadać się w kwestii merytorycznej, bo nie jestem programistą. Uczę się Rubiego bo może przyda mi się w przyszłej pracy. Ale z ciekawością przeczytałem powyższą dyskusję. Osobiście (subiektywna opinia) nie mam nic przeciwko, aby lektor mówił do mnie z ekranu że czegoś nie wolno, czegoś nie robi się, itp., a dopiero w trakcie zaawansowanej nauki okaże się że jednak można, ale z pewnymi zastrzeżeniami. Na etapie początkowym powinienem wiedzieć to co muszę wiedzieć, a niekoniecznie więcej. To tak jak z pierwiastkiem z liczby ujemnej. W szkole uczniom tłumaczy się że nie można wyliczyć takiego pierwiastka, potem np. w trakcie studiów mówi się im, że jednak można. I prawdę mówiąc nie spotkałem się z tym, aby jakikolwiek uczeń był zły, że od razu nie powiedziano mu prawdy. Mam za sobą wiele lat nauczania (ale nie w dziedzinie informatyki) i pewnego rodzaju szkoleń, o ile mogę tak je nazwać, i podczas mojej pracy też stosowałem zasadę, że podaje się do wiadomości pewne rzeczy jako takie pseudo-pewniki, które weryfikuje się po pewnym czasie, na bardziej zaawansowanych stopniach wtajemniczenia.

Niedopowiedzenie/nieścisłość. W szkole poruszamy się w dziedzinie liczb rzeczywistych i posługujemy się pierwiastkiem rzeczywistym (funkcją pierwiastkową) - dla takiego faktycznie argumenty ujemne nie mają sensu, bo są poza dziedziną. Natomiast pierwiastek zespolony, którym posługujemy się na studiach, nie jest tożsamy z rzeczywistym (nie jest nawet funkcją, bo daje liczbę wartości równą jego stopniowi), tylko jest jego uogólnieniem/rozszerzeniem.
Tak, wiem, czepialstwo straszne. :slight_smile:

Przykład z pierwiastkiem z liczby ujemnej był wzięty tak na szybko. Chodziło mi o jakiś “pierwszy-lepszy” przykład. Można też dać przykład tłumaczenia budowy atomu za pomocą modelu Bohra. W szkole on wystarcza, dopiero później okazuje się że jest kompletną nieprawdą. A co do samego kursu wideo, to podoba mi się sposób tłumaczenia Rubiego w wykonaniu pana Tomasza Kubisztala. Pan TK byłby dobrym dydaktykiem, bo ma dar przekazywania wiedzy w zrozumiały sposób.

Jestem początkujący w programowaniu. Od pewnego czasu szukam jakiś materiałów do nauki ale coś nic nie mogę znaleźć ciekawego i darmowego. Wyszukałem taki kurs i zastanawiam się nad zakupem http://strefakursow.pl/kursy/programowanie.html czy ktoś może korzystał wcześniej z takich kursów? może coś więcej napisać o nich? Z tego co widzę mają do kursu dodane filmy z objaśnieniami co bardzo by mi się przydało :slight_smile:

Tak, ja skorzystałem z tamtejszych wideo-kursów Rubiego i Pythona, nie licząc innych z MSOffice. Jeżeli chodzi o Rubiego, to ten kurs dużo mi dał, a raczej bardzo dużo. Lektor ma dar tłumaczenia i robi to jasno i zrozumiale. Znalazłem kilka drobnych błędów wynikających z przejęzyczenia się, ale można je łatwo wychwycić. Co do wspomnianego w tym topicu nieprawidłowego użycia wcięć, to faktycznie, trzeba przestawić tabulator w edytorze na głębokość 2 spacji i będzie ok. Jak dla mnie użycie w kursie polskich nazw dla klas, funkcji i zmiennych było o tyle dobre, że nie myliło się z angielskimi nazwami metod, poleceń, itd.

I moved 4 posts to a new topic: Reklama kursu RoR dla początkujących

Jasne, że są darmowe źródła, ale wciąż jest ich mało. A ja na przykład wolę sobie zrobić kilka różnych kursów, nawet gdy są o tym samym. Żeby przyswoić nowe rzeczy trzeba je i tak sobie powtarzać parę razy, a inny kurs to jakieś urozmaicenie i jak coś jest wytłumaczone innymi słowami, to można dowiedzieć się nawet czegoś nowego. I czasem fajnie sobie poczytać przed snem ebooka na czytniku, czasem ma się ochotę obejrzeć filmik, a innym razem zrobić kurs interaktywny.