Autore Topic: C# e Linq  (Letto 1770 volte)

Offline TheKaneB

  • Human Debugger
  • *****
  • Post: 5292
  • Karma: +20/-23
    • Mostra profilo
    • http://www.antoniobarba.org
C# e Linq
« il: 29 Gennaio 2012, 19:21:55 »
Premessa: sto studiando il C# partendo da una solida base di C++ e Java.

Ho dato un'occhiata a questo tutorial http://blogs.msdn.com/b/pietrobr/archiv ... rte-1.aspx e sono rimasto con la bava alla bocca di fronte a questo fatto osceno:



Fin'ora per estrarre dati da un XML mi sono lanciato in tediosi attraversamenti (a mano) dell'albero DOM, con ottomila check sulla consistenza della struttura, presenza o assenza dei children, validità dei dati, conversioni di formato, error handling a mano, ecc...

Ora, chiamatela come volete, ma questa storia di Linq è pornografia per nerd  :geek:
« Ultima modifica: 01 Gennaio 1970, 02:00:00 da Guest »

Offline cdimauro

  • Human Debugger
  • *****
  • Post: 4291
  • Karma: +7/-95
    • Mostra profilo
Re: C# e Linq
« Risposta #1 il: 30 Gennaio 2012, 09:42:54 »
Non mi vergogno a dirlo, ma dopo anni di indigesta avversione all'XML, roba come XAML e la classe Serialiazer (questa va oltre la pornografia, Antonio: è puro misticismo trantico) me l'hanno fatto rivalutare completamente (tant'è che per disegnare la GUI spendo la maggior parte del tempo editando XAML a manina).

LINQ? No comment. Non mi piace molto l'uso dei metodi e dei generic della libreria standard, ma con le query expression, che nascondo tutta quella robaccia "under the wood", è roba che ti fa diventare tossicodipendente.

Dopo C# & .NET tornare a Java o, peggio ancora, C++ mi fa venire la nausea al solo pensiero.

Offline rebraist

  • Nerd
  • *****
  • Post: 946
  • Karma: +13/-1
    • Mostra profilo
Re: C# e Linq
« Risposta #2 il: 30 Gennaio 2012, 13:13:19 »
tiè... :ugeek:  se volete xml per le gui eccovelo qua. e in versione amigosa.
http://www.feelin.fr/
« Ultima modifica: 01 Gennaio 1970, 02:00:00 da Guest »
Amigaos spacca.
Aros rulla.
Morphos corre di brutto.
Sinceramente, non vorrei che mio figlio facesse amicizia con uno di questi tre tipacci.
Dottore:lei é uno di quelli che si potrebbero definire nerd...
Io: dottò, lo so di mio. Sono pure iscritto a 'n'forum...
Dottore: su internet?
Io: no a rete 4

Offline TheKaneB

  • Human Debugger
  • *****
  • Post: 5292
  • Karma: +20/-23
    • Mostra profilo
    • http://www.antoniobarba.org
Re: C# e Linq
« Risposta #3 il: 30 Gennaio 2012, 14:49:58 »
Citazione da: "rebraist"
tiè... :ugeek:  se volete xml per le gui eccovelo qua. e in versione amigosa.
http://www.feelin.fr/

La descrizione XML per le GUI ce l'hanno cani e porci, Linq è semplicemente un paradigma diverso. Non si tratta di dire "io c'ho l'icsemmelle", ma l'eleganza e l'espressività della sua implementazione.

Quando dici tu, disimpara il C e regala alle tue sinapsi un po' di sano godimento intellettuale :-D
« Ultima modifica: 01 Gennaio 1970, 02:00:00 da Guest »

Offline cdimauro

  • Human Debugger
  • *****
  • Post: 4291
  • Karma: +7/-95
    • Mostra profilo
Re: C# e Linq
« Risposta #4 il: 30 Gennaio 2012, 15:17:35 »
Ma infatti, ho dato un'occhiata feelin, ed è una cacata galattica. Nulla di anche lontanamente paragonabile a XAML / Silverlight (se citassi WPF, poi, sarebbe ad anni luce di distanza).

Non è che se un framework per GUI diventa "fico" solo perché si poggia a XML per descrivere gli oggetti grafici e non.

Basta guardare XAML, appunto. E lo posso usare senza problemi anche con IronPython, con poche righe di codice e senza mostruosità come #include e definizioni di strutture a manetta.

Le mie Window, come pure il resto, non richiedono necessariamente la generazione di codice da "importare". Ad esempio posso estrarre un singolo child, anche complesso, serializzarlo in XAMl e recuperarlo a runtime quante volte voglio, senza "stub" da invocare (lo faccio quando creo un report: ho un XAML "di base" che è un elemento di una tabella, che deserializzo tante volte quante righe mi servono, modifico qualche attributo e faccio il binding del testo, senza includere codice precompilato, ma tutto a runtime).

Tags: