Article View: alt.pl.comp.lang.csharp
Article #22098Re: Makra -- maly test C# vs. C++
From: Maciej Pilichowski
Date: Tue, 22 Feb 2011 06:11
Date: Tue, 22 Feb 2011 06:11
66 lines
3916 bytes
3916 bytes
On Thu, 17 Feb 2011 09:47:42 +0100, "Wiktor Zychla" <wzychla@nospam.com> wrote: >absolutnie bowiem zgadzam sie z tym co piszesz powyzej jako z pewna regula >OGÓLNA. moje pytanie dotyczylo konkretnego przypadku, tych Twoich nazwanych >par z nazwanymi polami, a nie podwazania sensu istnienia "koncepcji wyzszego >rzedu" w ogólnosci. moze po prostu nie wyczulem, ze nie chodzi Ci konkretnie >o te pary, tylko o mechanizm ogólny, stad to pytanie. Oki. >to na co zwracam Twoja uwage, to to, ze nie dostrzegasz mozliwosci uzyskania >takiego samego efektu INNYMI srodkami. bardzo przywiazales sie do tego, ze >masz te makra "w jezyku". a czymze innym jest mechanizm szablonów generatora >kodu? szablony dokladnie tworzy sie w TYM samym jezyku programowania, Nie do konca sie z tym zgodze -- dlatego, ze w ten sposob oslabia sie jezyk. Chodzi o to, ze jesli to bylaby jedyna, absolutnie jedyna rzecz, ktora trzeba obejsc... OK. Niech bedzie. Ale tak nie jest -- w C# nie ma wielu rzeczy (zabawne, ale niektora sa w innych jezykach rodziny .net -- np. sygnowanie funkcji rekurencyjnych w F#, czy mozliwosc przekazywania properties via ref w VB) i wiele z nich jest utrzymywane w stanie nicosci, bo mozna je latwo obejsc (podejscie Erica Lipperta). Ale jednak ma to znaczenie -- nameof, ktory jest zrobiony naokolo jest duzo wolniejszy od swojego nieistniejacego analoga z jezyk, dluzsza skladnia wydluza czytanie. Oczywiscie trudno sie odniesc do czegos czego nie ma, ale uczciwie rozmawiajac mozna zrobic porownanie do jezykow, ktore nie maja pewnych cech C# i w ktorych tez da sie do obejsc. Np. skladnia lamdb w C# uwazam za maksymalnie elegancka, czyta sie ja fenomenalnie. Porownaj to np. do chociazby D. Baaardzo bliska skladnia, ale jednak juz rozwodniona. Pojdz dalej i wez na tapete PHP -- jeszcze dluzsza skladnia. W pewnym momencie wiecej konstrukcji tworzysz dla rozwiazania technicznego, niz dla merytorycznego wyrazenia mysli. >szablon ma czesc deklaratywna, która ewaluuje sie "jak jest" i czesc >imperatywna, napisana w C#/VB czy czymtam chcesz, która wykonuje sie podczas >generowania. mozesz miec swój szablon DefTuple i w jednym miejscu napisane >ile razy chcesz go wywolac. a to, ze pliki z tymi definicjami nie beda mialy >rozszerzenia *.cs i nie bedzie ich przetwarzal kompilator? czy to tak >naprawde ma znaczenie? W dluzszej perspektywie wg mnie ma. Na wszelki wypadek -- pewnie znasz: Jezyk ma znaczenie (sila ekspresji): http://www.joelonsoftware.com/items/2006/08/01.html Grosz do grosza (1000 papercuts): http://www.joelonsoftware.com/items/2007/09/11.html milego dnia, hej -- Moja wyprzedaz wszystkiego: ksiazki, plyty, filmy. http://www.garaz.pol.pl/
Technical Details
Message-ID:
<bck6m6t58qf3jqsuiprl36bbv4sjlnm4bh@4ax.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!feeder.news-service.com!feeder3.cambriumusenet.nl!feed.tweaknews.nl!209.197.12.242.MISMATCH!nx01.iad01.newshosting.com!newshosting.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mailReferences:
<g2fnl69fl84i7tas2b9pdtnnftip885qff@4ax.com> <4d5bdd53$0$2494$65785112@news.neostrada.pl> <0ofpl6pf8grlet4s6ivj5r9sdi07ibdoif@4ax.com> <4d5ce0ae$0$2444$65785112@news.neostrada.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!feeder.news-service.com!feeder3.cambriumusenet.nl!feed.tweaknews.nl!209.197.12.242.MISMATCH!nx01.iad01.newshosting.com!newshosting.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail From: Maciej Pilichowski <Pilichowski.MaciejSkasujTo@gmail.com> Newsgroups: alt.pl.comp.lang.csharp Subject: Re: Makra -- maly test C# vs. C++ Date: Tue, 22 Feb 2011 07:11:58 +0100 Message-ID: <bck6m6t58qf3jqsuiprl36bbv4sjlnm4bh@4ax.com> References: <g2fnl69fl84i7tas2b9pdtnnftip885qff@4ax.com> <4d5bdd53$0$2494$65785112@news.neostrada.pl> <0ofpl6pf8grlet4s6ivj5r9sdi07ibdoif@4ax.com> <4d5ce0ae$0$2444$65785112@news.neostrada.pl> X-Newsreader: Forte Agent 1.93/32.576 English (American) MIME-Version: 1.0 Lines: 66 Organization: Telekomunikacja Polska NNTP-Posting-Host: 79.187.252.98 X-Trace: 1298355123 unt-rea-a-02.news.neostrada.pl 2486 79.187.252.98:51009 X-Complaints-To: abuse@news.neostrada.pl Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit