Czego warto uczyć się poza RoR'em?

Dzięki wszystkim za odpowiedzi. Ciekawa dyskusja się wywiązała :wink:
Skorzystam z Waszych rad i nie będę zaczynał od Angulara tylko na pierwszy ogień pójdzie Backbone.

Mógłbyś podrzucić jakieś rady/linki? Właśnie tematyka około JS’owa ostatnio mnie bardzo zainteresowała, ale na razie jestem w tym świeżak i dopiero ogarniam sobie czystego JS, żeby mieć fundament. Sam język bardzo mi się podoba, choć na początku wiele rzeczy wydaje się dziwnych (szczególnie jak się ma background w C++)
Był już wprawdzie wątek na forum o materiałach do nauki JS, ale dobrych wskazówek i materiałów nigdy za wiele, szczególnie od ludzi mocno zorientowanych w temacie.

UPDATE: Naukę JS dobrze zacząć od http://javascript.crockford.com/ i książki JavaScript: Good Parts http://javascript.crockford.com/

Odradzam jednak Backbone, skończysz na JS hell, wynajdując na nowo koło. i pisząc masę kodu. Już lepiej pobawić się Durandalem http://durandaljs.com/. Angular nie jest też całkiem zły, ale do dużych projektów Ember się lepiej nadaje. Jak pisałem w tamtym wątku, mnie się najbardziej podoba Meteor ( http://meteor.com ), ale to inna bajka, real-time app. Jest bardzo prosty.

1 Like

Z tego, co mi wiadomo, to Meteor jest bardzo mocno zależny (coupling) od MongoDB.

Today most Meteor apps use MongoDB as their database because it is the best supported, though support for other databases is coming in the future.

Meteor używa domyślnie MongoDB po stronie serwera i minimongo po stronie browsera do live-data i latency compensation. Niezależnie od tego może komunikować się z czymkolwiek. Np. ja podpiąłem sobie dodatkowo Postgresa i Sphinxa (ale bez live data, tylko jako niezależne dane).

Implementacja live data z użyciem innych baz niż Mongo już jest, choć nie jest to jeszcze standardowo i oficjalnie dodane.

Ja za to jednak polecam Backbone. Dołóż do niego http://marionettejs.com/ i ewentualnie http://backbonerelational.org i masz kompletne środowisko do napisania składnej aplikacji w bardzo fajnej technologii.

Angular jest w porządku, fajnie się w tym pisze, podoba mi się jego podejście do frontendu (HTML, dyrektywy, usługi, DI, testowanie).

Spróbuj czegoś zupełnie innego. Zmierz się z Clojure. W pierwszych krokach na pewno pomoże Ci Clojure from the ground up i ćwiczenia na 4clojure. Dalej warto uzbroić się w Programming Clojure.

Zainwestowany czas nie zwróci Ci się natychmiast. Nauka Clojure nie przysporzy umiejętności bezpośrednio użytecznych w codziennej pracy z Rails. Gwarantuję natomiast, że czas, który poświęcisz na uzyskanie nowego punktu widzenia na istniejące problemy, nie będzie czasem straconym.

2 Likes

To ja w takim razie wymienie Go: http://golang.org. Bardzo latwo sie nauczyc i zyskuje bardzo mocno na popularnosci i nawet latwo da sie go zintegrowac z Railsami: http://www.goworker.org/

Bez przesady, chłopaki. Komuś kto chce być webdeveloperem Railsowym i nie umie javascript sugerujecie naukę Clojure i Go? Javascript to chyba jednak priorytet powinien być w tej sytuacji :slight_smile:

1 Like

Jasne, że sugerujemy. Nic się tu wzajemnie nie wyklucza.

Czasowo się wyklucza. Jeśli w ciągu dnia poświęcasz na naukę X godzin, chcesz być webdevem i nie umiesz JS, to lepiej poświęcić X na JS, a nie X/2 na JS i X/2 na Clojure.

No chyba że X >= 8 :smiley:

Lispa (w tym wypadku Clojure) dobrze liznąć, aby poszerzyć horyzonty. Także aby zobaczyć jak najpotężniejszy język świata jest zarazem najprostszym językiem świata (Lisp praktycznie nie ma składni) Do tego warto poczytać kultowe eseje Paula Grahama, np.

Co by nie czytać, to trzeba koniecznie obejrzeć, dla wielu będzie jak oświecenie :slight_smile: To nie tylko o Clojure ale o możliwych alternatywach w sposobie budowania kodu. Bardzo polecam:

Aby z kolei lepiej zrozumieć paradygmat programowania funkcyjnego (i to jak można żyć bez pętli i zmiennych :slight_smile: dobrze zapoznać się z Haskellem. Ten język ma duże walory edukacyjne:

2 Likes

Ja bym dorzucił jeszcze provisioning. Jak znasz rubiego to chef powinien łatwo pójść http://www.getchef.com/ . A jak chef, to i vagrant do ćwiczeń - http://www.vagrantup.com/

No i przy okazji rzeczy typu konfiguracja serwera.

A co powiecie o sensowności nauki assemblera? :smile:

Pewien pro- developer poradził mi żeby się wziąść właśnie za to.

Wiadomo, że początkującemu devowi nie przyda się w pracy, ale jak argumentował dzięki temu można dokładnie zrozumieć zasady działania procesora i nabrać właściwej perspektywy do kodzenia.

Any comments on that?

Jak masz nieskończoną ilość czasu, to oczywiście ma sens :wink: Zawsze lepiej coś umieć niż nie umieć.

Co za nonsens. Kogo obchodzi asembler? Jak ktoś chce iść w programowanie systemowe i niskopoziomowe, to mu się grupa pomyliła. To są zupełnie inne branże.

Żeby zrozumieć zasady działania procesora, należy zacząć od fizyki ciała stałego i pierwszej kwantyzacji. Potem tranzystory, potem bramki logiczne i kod zerojedynkowy, a potem dopiero jakieś tam asemblery.

Teraz rozumiesz? :wink:

1 Like

No ale po co to web developerowi?