Rails - czy naprawdę jest łatwy, czy Polska jest na niego gotowa?

0

Od kilku dni ślęczę nad Ruby on Rails. Zmordowałem się już w tryruby.org, teraz w bólach przedzieram się przez rails for zombies. I ogarnia mnie coraz większa irytacja. Biorę poprawkę na to, że wcześniej w ogóle nie miałem do czynienia z bazami danych, nie bawiłem się w Javie i tym podobnych, no i angielski, który znam i angielski z tych tutoriali to dwa różne języki. Zaciskam zęby i powoli idę do przodu. Zaczynam zastanawiać się jednak, czy zabrałem się za właściwy język.

Ogólnie w kodowaniu jestem lama, przyznaję się, ale o ile np. nauka c++ sprawia mi frajdę (przynajmniej na razie), nawet jeśli korzystam z kuźni talentów, która najwyraźniej za cel obrała sobie sięgnięcie dna (błędy na stronie, zero kontaktu z twórcami poradników, nie działająca kontrola poprawności kodu), to kontakt z Railsem jest traumatyczny. Nic nie jest jasne, z intuicją ma to niewiele wspólnego. Czy wszystkie języki bazodanowe (nie wiem jak nazwać języki typu Rails, Java) są tak pogrzane? Przykład:

1.Tablice i ich nazwy. Mam tablicę o nazwie psijutas - musi być z małej i z "s" na końcu, tak? Kiedy chcę wyciągnąć coś z tej tablicy to muszę napisać Psijuta - z dużej litery i bez "s" na końcu, np. Psijuta.find(1), a za chwilę w kodzie, kiedy odwołuję się do pojedynczego wpisu w tablicy piszę już psijuta - z małej i bez "s". Nie wiem, czy to zamieszanie ma pomagać, czy utrudniać życie? Czy nie byłoby wygodniej po prostu trzymać się jednej zdefiniowanej na początku nazwy?

2.Te same polecenia można zapisać czasami na trzy różne sposoby!!!

Wybrałem Railsa, ponieważ ludzie rozpływają się w zachwytach nad prostotą i szczęściem płynącym z używania Rubyego, więc pomyślałem, że to coś dla mnie. Nie uczyłem się wcześniej innych języków tego typu, więc nie mam złych nawyków. Ale kiedy zasiadam do railsa, to daleko mi do nirvany.

Ponieważ mam kilka pomysłów na serwisy WWW i aby je zrealizować, potrzebuję poznać jakiś język (albo mieć górę kasy), dlatego też postawiłem na Railsa - szybko nauczyć się języka. Zastanawiam się jednak, czy nasze serwery przystosowane są do Railsa (mam serwer na home.pl na którym mam stronę na wordpressie, ale chciałbym ją rozbudować o takie funkcje jak np. dodawanie zdjęć przez użytkowników - coś na kształt kwejka i nie widzę, aby chwalili się opanowaniem technologii ROR).

Mam teraz trochę wolnego czasu i postanowiłem wykorzystać to na naukę programowania (z zamiarem przekwalifikowania się na programistę), ale zajadę się jak będę próbował uczyć się jednocześnie C++, C#, Railsa, Javy. I stoję przed dylematem. C++ traktuję hobbistycznie, zamierzam skończyć kuźnię i zająć się wtedy na poważnie C#, ale nie wiem, co zrobić z Railsem. Jak dla mnie w tej chwili to porażka, a byłem niesamowicie na niego napalony. Czy jest tu ktoś, kto stanie w obronie Railsa?

0

To co opisujesz (z nazwami tabel w bazie) nazywa się konwencja. Nie znam Rubiego ani Railsów, ale widocznie polecieli z konwencją dość ekstremalnie :P

0

Konwencja jest dokładnie wytłumaczona w rails for zombies.

To o czym mówisz to język backendowy.

0

Aha. I jeszcze jedno. Do tej pory spotykałem się z opiniami, że Javę można stosować zamiennie z Rubym do tworzenia stron, natomiast na code school sugerują, że Java Script przeznaczona jest do tworzenia interaktywnych stron z wbudowanymi zachowaniami tworzącymi lepsze doświadczenia użytkowników - cokolwiek to znaczy, tłumaczone na szybko - podczas gdy Rails przydaje się raczej do dynamicznego tworzenia i dostarczania stron z serwera (odpowiadają za fukcję back-endową). Jest to tak zagmatwane, że najlepiej podam linka

1

Pomijając wszystkie twory w twojej głowie:
Musisz być świadom podziału na backend i frontend, tj, część server-side i client-side.

0

JavaScript nie ma nic wspólnego z Javą.

1
ninja_koder napisał(a):

1.Tablice i ich nazwy. Mam tablicę o nazwie psijutas - musi być z małej i z "s" na końcu, tak? Kiedy chcę wyciągnąć coś z tej tablicy to muszę napisać Psijuta - z dużej litery i bez "s" na końcu, np. Psijuta.find(1), a za chwilę w kodzie, kiedy odwołuję się do pojedynczego wpisu w tablicy piszę już psijuta - z małej i bez "s". Nie wiem, czy to zamieszanie ma pomagać, czy utrudniać życie? Czy nie byłoby wygodniej po prostu trzymać się jednej zdefiniowanej na początku nazwy?

Zastanawiając się "dlaczego" widać że nie zadałeś sobie trudu żeby chociaż railsach poczytać - w sumie to z railsami nie ma za wiele wspólnego bo activerecord to nie railsy, ale czego ja się mam spodziewać...

@Wibowit nie sądzę żeby ta konwencja była jakaś ekstremalna - chociaż bywa upierdliwa podczas większej customizacji - bardzo podobnie działają konwencje np: w JPA, też stworzy nazwę z pola, tyle że activerecord jest na tyle "bystry" z z nazwy encji Człowiek zrobić tabele Ludzie.

Zresztą - irytujesz się bo nie korzystałeś z baz danych, po to jest właśnie ta konwencja i active record tak maskuje backend(baze) żeby na takim poziomie jakim będziesz robił te twoje serwisy - bo pewnie będzie to coś niewiele bardziej skomplikowanego niż hello world - nie interesował się w ogóle bazą danych, i pracował wyłącznie na obiektach.

0
ninja_koder napisał(a):

1.Tablice i ich nazwy. Mam tablicę o nazwie psijutas - musi być z małej i z "s" na końcu, tak? Kiedy chcę wyciągnąć coś z tej tablicy to muszę napisać Psijuta - z dużej litery i bez "s" na końcu, np. Psijuta.find(1), a za chwilę w kodzie, kiedy odwołuję się do pojedynczego wpisu w tablicy piszę już psijuta - z małej i bez "s". Nie wiem, czy to zamieszanie ma pomagać, czy utrudniać życie? Czy nie byłoby wygodniej po prostu trzymać się jednej zdefiniowanej na początku nazwy?

To jest tylko po to żeby był jakiś porządek. Ma pomagać. Poczytaj sobie trochę na temat ORM (mapowanie obiektowo relacyjne). W DJANGO (na pythonie) jest też podobne podejście, jak się definiuje jakieś modele to to ma odpowiednie skutki w nazwach tabel w bazie danych.

Wybrałem Railsa, ponieważ ludzie rozpływają się w zachwytach nad prostotą i szczęściem płynącym z używania Rubyego, więc pomyślałem, że to coś dla mnie. Nie uczyłem się wcześniej innych języków tego typu, więc nie mam złych nawyków. Ale kiedy zasiadam do railsa, to daleko mi do nirvany.

To nie jesteś sam :-) RoR nie jest wcale takim prostym frameworkiem do nauki dla kogoś kto nie miał styczności z web, MVC, ORM itp, podobnie zresztą pythonowy DJANGO. Po prostu podejrzewam że będziesz potrzebował odpowiednio dużo czasu żeby załapać to wszystko.

0
ninja_koder napisał(a):

Od kilku dni ślęczę nad Ruby on Rails. Zmordowałem się już w tryruby.org, teraz w bólach przedzieram się przez rails for zombies. I ogarnia mnie coraz większa irytacja. Biorę poprawkę na to, że wcześniej w ogóle nie miałem do czynienia z bazami danych, nie bawiłem się w Javie i tym podobnych, no i angielski, który znam i angielski z tych tutoriali to dwa różne języki. Zaciskam zęby i powoli idę do przodu. Zaczynam zastanawiać się jednak, czy zabrałem się za właściwy język.

Ruby to jeden z najłatwiejszych języków do nauki. Problemem jest tu Rails for Zombies. Ja zacząłem od tego kursu i na początku fajnie, łatwo, a potem nagle ściana i koniec, nic nie rozumiałem dalej. Są lepsze kursy, choćby darmowy (w wersji online) ebook Michaela Hartla (tylko tu znowu początek może zniechęcić, bo autor najpierw upiera się, by na szybko zrobić 2 aplikacje typu hello world i je jeszcze postawić na serwisie Heroku).

ninja_koder napisał(a):

1.Tablice i ich nazwy. Mam tablicę o nazwie psijutas - musi być z małej i z "s" na końcu, tak? Kiedy chcę wyciągnąć coś z tej tablicy to muszę napisać Psijuta - z dużej litery i bez "s" na końcu, np. Psijuta.find(1), a za chwilę w kodzie, kiedy odwołuję się do pojedynczego wpisu w tablicy piszę już psijuta - z małej i bez "s". Nie wiem, czy to zamieszanie ma pomagać, czy utrudniać życie? Czy nie byłoby wygodniej po prostu trzymać się jednej zdefiniowanej na początku nazwy?

Liczba mnoga pomaga, przynajmniej mnie wydaje się to fajne, że można powiązać ze sobą tablice przez metodę has_many :things. a potemu żywać tego things jak metody. W każdym chyba języku jest taka konwencja, by tablice nazywać liczbą mnogą od rzeczownika.
Co do wielkiej i małej litery, to w railsach nie tworzy się przynajmniej jawnie instancji modeli, stąd metody wywołuje się jakby na klasie, więc z dużej.
Przyznam, że na początku miałem mętlik, bo nie byłem przyzwyczajony do beznawiasowej składni Rubiego, a trzeba mieć jakąś tam wiedzę o Ruby, żeby się kapnąć, że tam są metody, a nie jakieś zmienne dziwnych typów, chociaż pewnie bez tej świadomości można żyć.
Trzeba się też przyzwyczaić do symboli, nie spotkałem sie z tym w innych językach.

ninja_koder napisał(a):

2.Te same polecenia można zapisać czasami na trzy różne sposoby!!!

Jak wszędzie.

ninja_koder napisał(a):

Wybrałem Railsa, ponieważ ludzie rozpływają się w zachwytach nad prostotą i szczęściem płynącym z używania Rubyego, więc pomyślałem, że to coś dla mnie. Nie uczyłem się wcześniej innych języków tego typu, więc nie mam złych nawyków. Ale kiedy zasiadam do railsa, to daleko mi do nirvany.

A uczyłeś się lub opanowałeś jakiś inny framework? Nauka samego języka zawsze jest prostrza niż późniejsza nauka konkretnych narzędzi do niego. Sam skakałem po językach, ale nigdy nic konkretnego nie zrobiłem właśnie dlatego, że nie opanowałem nigdy dobrze żadnego frameworka czy biblioteki do któregoś z nich (najlepiej mi poszło z PyGame do Pythona, ale bez wsparcia sprzętowego, więc dałem sobie spokój jak zobaczyłem ile gra 2d na fullscreenie musi zeżreć procesora, żeby chodzić płynnie).

1 użytkowników online, w tym zalogowanych: 0, gości: 1