Start dla "kompletnie" zielonego :)

Dzięki wielkie za szybką odpowiedź :wink: Uważasz, że najlepiej od razu zaczynać od Railsów tak? Nie zajmować sobie czasu jakimiś zwykłymi kursami/tut/ksiązkami z Ruby?

Ta książka ma jeden rozdział poświęcony Ruby, żebyś miał pojęcie co się dzieje i według mnie to co tam jest wyjaśniane wystarcza na początek.

Dzięki :wink: Zabieram się do czytania :wink: Liczę również na komentarze innych użytkowników forum :slight_smile:

Zacznij z PHP tak jak planowałeś. Dzięki temu poznasz sporo podstaw i fundamentów programowania webowego (składniki HTTP), które Railsy wygodnie przed tobą chowają… do momentu kiedy trzeba się do nich dobrać i wtedy przydaje się znajomość owych fundamentów.

Równocześnie możesz uczyć się Ruby, może z jakimś prostym frameworkiem webowym (Sinatra). Po prostu zostaw Railsy na czas kiedy już będziesz wiedział w czym i jak (i dlaczego) cię wyręczają.

Również dziękuję za odpowiedź, mógłbyś podać jakieś kursy/książki/tut do nauki PHP/Ruby? Z góry dzięki :wink:

Nie wprowadzaj początkujących developerów od razu w błąd przytaczając w jednym zdaniu PHP i Railsy. Przytoczenie w jednym zdaniu języka i frameworka z innego języka może być mylące.

Fakt rozpoczęcia nauki od Rubiego nie oznacza, że ktoś odrazu wejdzie w Rails, chociaż w większości wypadków tak to wygląda i nie drąży się tematu głębiej.

Mogę w jednym zdaniu przytoczyć język, framework, grupę danego języka programowania czy bazę danych. Błędem byłoby porównywanie tych rzeczy między sobą. A tutaj forumowicz @kamlot wyraźnie pyta o naukę początkową, dlatego odradzam rozbudowany framework i polecam na początek język pozwalający na webdev bez żadnego frameworka.

Chodzi mi o to, że napisałeś “Railsy wygodnie przed tobą chowają” i dlatego przekonujesz żeby @kamlot zaczął od PHP. Jak zacznie od Rubiego to nadal będzie to miał pochowane, no raczej nie, a przynajmniej nie w tak dużym stopniu.

@Tomasz, ale php to bym wrogowi nie polecił, a już na pewno nie do nauki. Już dawno takiej głupoty nie czytałem. Czyli wychodzi na to, że nowa osoba nie ma co siadać do railsów bo za dużo ukrywają przed programistą :D. Zaraz zaraz… Assembler ukrywał kod maszynowy, C ukrywał assembler, Ruby ukrywa alokacje i zwalnianie pamięci, RoR ukrywa http… W takim razie kolega musi zacząć od assemblera albo kodu maszynowego bo ukryto przed nim tak dużo fantastycznych rzeczy…

1 Like

@radarek chyba @Tomash bardziej chodziło o naukę HTML, zrozumienia jak działają strony internetowe na podstawowym poziomie, z zapytaniami HTTP.

PHP nie jest takie beznadziejne, jeśli się w nim dobrze pisze programy. Ma taką renomę, bo najwięcej osób o niskich kwalifikacjach programuje w PHP i piszą beznadziejny kod, dlatego nie radziłbym nikomu próbować zarabiać w PHP, ale nauczyć się podstaw nie zaszkodzi na pewno.

No to prawdę mówiąc już sam nie wiem od czego zacząć :smiley: Piszecie, że Railsy ukrywają sporo przed programistą a w PHP uczę się wszystkiego… A gdyby zaczął od samego Ruby? Bez zajmowania się Railsami, tylko czysta nauka Ruby domyślam się ze Ruby to nie tylko Railsy?

Oraz ponawiam pytanie… bo kursów i książek o PHP bardzo dużo, polecacie któreś szczególnie dobre? Przy okazji możecie podać coś z materiałów do samego Ruby bez Rails?

@kamlot

Czy trzeba tu coś dodawać? Nie pytaj się co wybrać bo każdy i tak Ci powie co innego. Masz energię i chęć do nauki Rubiego to nie zastanawiaj się tylko ucz się tego języka.

4 Likes

Railsy na sam początek to moim zdaniem średni pomysł bo nie wiesz co jest Rubim, a co Railsami.

Polecam:

  1. Ruby na Codeacademy
  2. Ruby + Sinatra - spróbuj z aplikacją która na przykład pobierze adres z Google Maps na podstawie współrzędnych w URLu i go wyświetlą i zapiszą w logu/bazie danych - dzięki temu zrozumiesz jak działa internet - HTTP, GET/POST, nagłówki, JSON itp. | wyślij sobie maila przez Mandrilla - przy pomocy gema jest łatwo
  3. Getting Started with Rails

Po drodze możesz zahaczyć o Ruby Koans (chociaż dla mnie nudne), a jednocześnie w wolnym czasie obowiązkowe książki:
Practical Object-Oriented Design in Ruby
Eloquent Ruby

Bardzo fajne jest też exercism.io do nauki Rubiego, polecam

1 Like

Radarek, kaman, jest rok 2015, redukcja do absurdu jest już nie tylko bucerska ale i niemodna.

To była zwykła hiperbola obrazująca niedorzeczność Twojej rady. Kolega chce się nauczyć programować aplikacje webowe. Jak przyjdzie taki dzień, że będzie musiał pogrzebać na poziomie http to doczyta i tyle. A w php to na dzień dobry rozwiązywałby nie te problemy co powinien. Twoja rada wynika albo z kompletnego nieprzemyślenia, albo ogromnej naiwności.

Na początkowym etapie nie. Później, w miarę wzrostu złożoności aplikacji – jasne. Wtedy trzeba PHP porzucić jak kapcie przy wyjściu z domu.

Grzebanie na poziomie http przyjdzie prędzej niż później w roku 2015, kiedy budujemy api i zajmujemy się żonglowaniem requestami z javascriptu. Dlatego lepiej wiedzieć na co można natrafić w nagłówku zanim się napisze pierwszy serializer do JSONa.

Nie jestem ekspertem od aplikacji webowyach, ale właśnie zielonym człowiekiem, który dołączył do Was rok temu i dokładnie z tej perspektywy chcę przedstawić problem.

Nigdy wcześniej nie pisałem aplikacji WWW. Nie miałem pojęcia o GET, POST, PATCH, JSON, AJAX, ani kompletnie o “tym” świecie. Gniłem sobie przez wiele lat w SQL-u i dopiero zderzenie z ogromem “nowości” uświadamia zielonemu człowiekowi, ilu rzeczy nie wie. Sądzę, że rozumiem autora tematu dosyć dobrze :smile:

Railsy na start?
Hmm…
Są świetne, gdyż pozwalają napisać “świeżakowi” naprawdę sporą i rozbudowaną funkcjonalnie aplikację, ale … ale taki zielony człowiek czuje się niepewnie.
Stworzył coś, co funkcjonuje ale nie zawsze wie, jak się to dzieje. :wink:

Więcej!
Czyta dokumentację i jej nie rozumie!

Najprostszym przykładem niech będzie meta-język do komunikacji z bazą danych.
Czy doprawdy ktoś, kto nie zna SQL, zrozumie konsekwencje wpisu::

@coverages = FamilyCoverage.joins({family_rotation: [:family]}).includes(:insured, :payer).by_insured(options[:only_for_insured_id]).references(:family_rotation, :insured, :payer).all

?
Zrozumie, gdzie ma złączenie INNER JOIN, a gdzie ma LEFT OUTER?
Jaki to będzie miało wpływ na listę wybranych pozycji? Które będzie widział, a które nie?
I po co takie zawiłości pisze?

Dlatego uważam, że Railsy są świetne, gdyż ukrywają przed nami wiele rzeczy i pozwalają nam zbudować cokolwiek funkcjonującego!
To zachęca. To pobudza. To mobilizuje!
…Ale wymaga pracy “równoległej” nad wieloma innymi tematami, by pisać aplikacje wydajniejsze, bezpieczniejsze i zwyczajnie lepsze.

Nie wiem, czy do końca szczęśliwe to będzie porównanie, ale z RoR jest trochę podobnie jak z montowaniem modelu samochodu sterowanego radiem z tzw zestawu z paczki.
Kupujesz kartonik i montujesz silnik w kadłubie, łączysz z modułem radia, wkładasz bateryjki do urządzenia sterującego i …jeździ!
… OK! OK, ale jeżeli nie chcemy naszego życia programisty ograniczyć tylko do montowania zestawów z paczek, to musimy zacząć się uczyć trochę i o budowie tego silnika i o sterowaniu coś liznąć.

A czy na start brać PHP, czy Railsy, to moim zdaniem sprawa drugorzędna.
Ważne, by chcieć się zagłębić w to, jak to się dzieje, że “ten samochodzik” jeździ ;-), a RoR daje szanse, by Twój “samochodzik” dosyć szybko ruszył w ogóle.

Pozdrawiam

1 Like

A jak byś określił swój poziom po roku bytu z technologia RoR? napisz proszę jak wyglądałą twoja nauka i czego można się spodziewać po późniejszym zetknięciu z rzeczywistością. Ja obecnie stoję na rozdrożu i zastanawiam się, w którym kierunku iść, jedna z tych dróg to RoR :), ale zastanawia mnie ile zielony człowiek potrzeubje czasu, aby jego umiejętności były użyteczne na rynku pracy,
pozdrawiam

Jako osoba, która z przyczyn rynkowych musiała przesiąść się z Python’a i Django na RoR oceniam zmianę na gorsze(pracuje z RoR rok). Brak dobrego wsparcia dla kluczy złożonych bardzo często powoduje, że nie zawsze baza wygląda tak jak życzył sobie tego projektant/klient. Nie ma takich problemów ASP.NET czy Django. Sam język również jest dość liberalny przez co trzeba nauczyć się dużej ilości schematów i posiadać zainstalowane zawsze jakieś narzędzie, które pomoże w utrzymaniu porządku np. RuboCop. Jeśli chodzi o samo tworzenie aplikacji szybkość tworzenia jest identyczna jak w każdym dojrzałym frameworku. Ostatecznie można w tym tworzyć dobre aplikacje i żyć z programowania w RoR za całkiem fajne pieniądze jednak zanim podejmiesz decyzję proponuję zapoznać się choć w minimalnym stopniu również z innymi technologiami i frameworkami.

Ostatecznie decyzja należy do ciebie a powyższe to moje subiektywne zdanie :slight_smile:

Pozdrawiam.

Startując od zera, pracując zawodowo i nie wiedząc wcześniej nic o świecie RoR, udało mi się przenieść kilka aplikacji napisanych w architekturze client-serwer do świata WWW.

Obecnie nadal jeszcze tylko składam “samochodziki z paczki”, ale te paczki już są coraz większe i “tuningowane” :wink: DEVISE (logowanie po nr, a nie po email), PUNDIT (możliwość przydzielania wielu ról), jQuery DataTabe, Select2, Google-maps, Geocoder…
W ciągu 14 miesięcy ogarnąłem jako tako konfigurowanie środowiska (na www.ssllabs.com dostaję A+). Coraz łatwiej radzę sobie z tworzeniem nietypowych metod i nietypowych formularzy, choć uważam, że w prostocie urok :smile:

Jak się uczę?
Pisząc programy, gdyż ciągle trafiam na jakieś nieznane mi problemy.
Wtedy dokumentacje, fora (m.in to forum) i szukam przykładów. W wolnych chwilach czytam coś o CSS, JS i różne best_practics.

Jeżeli chcesz zobaczyć, czego ja się nauczyłem w ciągu roku (wiem, że inni potrafiliby więcej), mając naprawdę wiele innych zajęć i rzeczywiście zaczynając od zera, to :
zarejestruj się (a dopiero później zaloguj!) na
http://polisa.artexsoft.com.pl
wymyśl sobie jakiś 5 cyfrowy nr (to Twój przyszły “login”), podaj prawdziwy email (program nie rozsyła spamu!!! :D) i …pobaw się :smile:

P.S.
Zgadzam się z przedmówcą, że pewne rzeczy irytują w RoR (które już nawet po roku zauważa “zielony człowiek”) ale mnie urzeka w nim właśnie ta elastyczność. Wiele funkcji może być napisanych na wiele sposobów i wystarczy, że znasz chociażby jedną z tych dróg, a efekt osiągniesz.

Pozdrawiam

PS.II
Tutaj Wyzwanie - Od zera do rails developera jest ciekawy wątek dotyczący nauki RoR, ale autor coś ostatnio mało pisze.