🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.ruby
Article #1071

Re: ruby - wrażenia i pytania

#1071
From: Wojciech Piekutowski
Date: Fri, 16 May 2008 10:16
52 lines
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-mail
References: <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