Article View: pl.comp.lang.ruby
Article #1071Re: ruby - wrażenia i pytania
From: Wojciech Piekutowski
Date: Fri, 16 May 2008 10:16
Date: Fri, 16 May 2008 10:16
52 lines
4114 bytes
4114 bytes
On May 16, 1:14 am, Marcin Gryszkalis <m...@fork.pl> wrote: > 1. środowisko - dużo słyszałem, że NB6 jest wspaniale jeśli chodzi o > rubiego, sam używałem go do javy i byłem zadowolony a tutaj: > - podpowiedzi działają sensownie jedynie jeśli zmienna jest wcześniej > przypisana do stałej albo do Klasa.new - niby rozumiem, że język dynamiczny > i można zwracać co się chce, ale... jakoś tak jak jestem w NB to > przyzwyczajony jestem do tego, że w Javie podpowiedzi są 100%. Dla nowego > programisty, który nie zna jeszcze API są one nieco mało pomocne... > kiedy .add prezentuje mi listę 1000 klas, w których takowa meta się pojawia Kwestia gustu, dla wielu programistów podpowiadanie nie jest szczególnie istotne. > 2. sam ruby > - jeszcze się nie przyzwyczaiłem do "kontroli typów bez określania typów", > dotychczas pisałem albo w Javie, gdzie wszystko jest precyzynie z góry > określone, albo w perlu, gdzie właściwie nie ma typów... W Javie nie wszystko jest precyzyjnie określone. Weźmy na przykład taką klasę ArrayList, która zwraca elementy jako obiekty klasy Object nie ważne co do niej włożymy. Następnie trzeba rzutować.. brrrrr. Oczywiście mamy też typy generyczne, jednak nie jest możliwe umieszczenie w takiej kolekcji obiektów o różnych klasach bez potrzeby późniejszego rzutowania z klasy bazowej... > - niektórych rzeczy nie czuję - czy modyfikowanie istniejących klas (np. > String) przez dodawanie metod nie powoduje zbyt dużego zamętu? Czemu nie > zrobić tego "normalnie", czyli odziedziczyć, rozszerzyć i używać jawnie > zmodyfikowanej wersji? Przecież przekazując projekt komuś innemu wpędzimy > go w nerwicę zanim się zorientuje, że przedefiniowaliśmy metodę '+' w > bibliotecznej klasie String... Zwykle nie modyfikuje się metod 'wbudowanych', gdyż prawie na pewno dostaniemy wtedy nowy język. Zmiana '+' w klasie String lub Fixnum spowodowałaby totalną katastrofę, gdyż na 100% metody te są używane w bibliotece standardowej. Jednak dodawanie własnych metod jest bardzo pomocne i często spotykane. np. w niektórych projektach dodanie Array#shuffle (miesza losowo elementy) bywa bardzo pomocne. > - dlaczego w haszach czasem używa się po prostu stałych Stringów, a czasem > symboli (tj. 'a' => 'a' VS :a => 'a')? Dlaczego czasem użwany jest MySQL, a czasem PostgreSQL? :) Ogólnie klasa Symbol jest wydajniejsza, więc jest częsciej spotykana w tym zastosowaniu. W bibliotece ActiveSupport znajdziesz klasę HashWithIndefferentAccess która traktuje :a i 'a' jako identyczne klucze. > - ruby-mysql i mysql-ruby, jeden o statusie preview a drugi "test", obydwa > tego samego autora. Uroki Open Source... Niezła podpowiedzią co do jakości biblioteki jest ilość artukułów/postów/blogów o niej. Zwykle Google dobrze tutaj podpowiada. Pozdrawiam, Wojciech Piekutowski
Technical Details
Message-ID:
<42e53512-c494-49ff-a6e9-61030eafba97@p25g2000hsf.googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!newsfeed.straub-nv.de!proxad.net!feeder1-2.proxad.net!64.233.178.134.MISMATCH!postnews.google.com!p25g2000hsf.googlegroups.com!not-for-mailReferences:
<g0ia32$571$1@node1.news.atman.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!newsfeed.straub-nv.de!proxad.net!feeder1-2.proxad.net!64.233.178.134.MISMATCH!postnews.google.com!p25g2000hsf.googlegroups.com!not-for-mail From: Wojciech Piekutowski <w.piekutowski@gmail.com> Newsgroups: pl.comp.lang.ruby Subject: Re: ruby - wrażenia i pytania Date: Fri, 16 May 2008 03:16:19 -0700 (PDT) Organization: http://groups.google.com Lines: 70 Message-ID: <42e53512-c494-49ff-a6e9-61030eafba97@p25g2000hsf.googlegroups.com> References: <g0ia32$571$1@node1.news.atman.pl> NNTP-Posting-Host: 62.237.187.242 Mime-Version: 1.0 X-Trace: posting.google.com 1210932979 19714 127.0.0.1 (16 May 2008 10:16:19 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Fri, 16 May 2008 10:16:19 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: p25g2000hsf.googlegroups.com; posting-host=62.237.187.242; posting-account=Q2pglAoAAAAVAvWFei12zfeIQg8qCJNr User-Agent: G2/1.0 X-HTTP-UserAgent: Opera/9.27 (X11; Linux i686; U; en),gzip(gfe),gzip(gfe) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit