07.08.2008. (DG) Ruby i C#: poređenje kroz praktične primere Ukoliko imate interesovanja za jedan od ova dva jezika, obavezno pogledajte ovu seriju tekstova, sa gomilom kratkih primera u jednom i drugom, za koju autor kaže da može da služi za učenje (Iron)Ruby-ja uz prethodno poznavanje C#, mada bih dodao da je stvar odlična i za upoznavanje sa C# 3.0 (a obratite pažnju i na komentare tekstova /za npr. 6. deo/, ljudi pokazuju kako uraditi nešto na još lakši način od predloženog).
Gledajući sve ovo redom, ne znam šta je toliko oduševilo Jablana vezano za Rubi? :)
LINK NA IZVOR


Dodajte novi komentar

Ime:  

Komentar:  


Koliko je 80 + 3 =    
 





 



Postojeći komentari

jablan (08.08.2008. 01:30) Pa ja koliko kapiram, i sam autor je fasciniran Rubijem (inače, čemu ceo feljton), a pored toga, čovek je ipak C#-ovac, pa mu i primeri za poređenje ne idu mnogo daleko od paradigmi vezanih za C#. Treba ipak rabiti neko vreme Rubi profesionalno da bi se stil kodiranja malo odvojio od konvencionalnog.

Moram takođe da kažem da je C# jako puno napredovao od prve verzije i da pola ovih primera ne bi ni moglo da se izvede bez pomoći genericsa itd. Nisam radio sa LINQ-om, ali imam osećaj da je u pitanju najstrašniji ripoff naprednih koncepata iz drugih jezika...

A što se tiče 6. dela, stavljati paralelu između simbola u Rubiju i enuma u C# može samo neko ko zaista ne zna šta su simboli. A da ne pričam o onom primeru iz komentara sa self.GetType().GetProperty(property); :) Sušta elegancija...

U svakom slučaju, lep tutorijal, šteta što nema više takvih tekstova koji porede različite tehnologije.
DG (08.08.2008. 08:41) Prvo, ne vidim ja ništa loše što si se ti zagrejao za Rubi, ja sam te samo tako dozivao da pogledaš tekst i komentarišeš, što si i uradio.

Inače:
1. svaki LINQ izraz može da se napiše i bez korišćenja SQL-like sintakse, već uobičajeno, pomoću lambda izraza.
2. Svaki lambda izraz može duže da se napiše koristeći delegate.
3. Delegati su praktično pokazivači na funkcije i na raspolaganju još od prve verzije C#

Da li je napredovao C#? Jeste i to mnogo, ali samim postojanjem delegata, sve osnovno je bilo tu, od samog početka. C#2 (anonimne metode, gen. tipovi) i C#3 (lambda izrazi, ext. metode, anon. tipovi i closures) samo su "prirodna" evolucija da bi se došlo gde jeste. Ali tu "funkcionalnu" funkcionalnost praktično nudi i C#1, jer, kako rekoh, ima delegate. Samo što nije elegantno, u pogledu sintakse.

Možda napišem i kraći primer.