Tema:
Svetla-Mod
Svetla-1024
Odabrane novosti za IT profesionalce.
POČETNA
ARHIVA
PODEŠAVANJA
INFO
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).
1. deo
2. deo
3. deo
4. deo
5. deo
6. deo
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.