dicembre 2004 Blog Posts
In questi due post consecutivi sta tutto il mondo.
Don Box nel suo libro (pp. 362-363) suggerisce il fatto che MSCOREE.DLL è un Facade al CLR:
"In fin dei conti il CLR è implementato come una famiglia di DLL Win32/COM. [...] MSCOREE.DLL è detta a volte "supporto" poiché è semplicemente una facciata che nasconde le reali DLL che comprendono il CLR. [...] MSCOREE.DLL si trova di fronte a una di due DLL: MSCORWKS.DLL e MSCORSVR.DLL. La DLL MSCORWKS.DLL è la build monoprocessore del CLR; MSCORSVR.DLL la build multiprocessore CLR. [...] E' compito di MSCOREE.DLL selezionare la build appropiata sulla base di un certo numero di fattori, incluso (ma non solo)...
A differenza di quanto mi aspettavo, scopro da A9.com che le percentuali di visite su ugidotnet.org sono divise così:
blogs.ugidotnet.org ~ 62%
ugidotnet.org ~ 31%
forum.ugidotnet.org ~ 6%
La cosa mi fa sicuramente piacere però mi aspettavo tra blogs e forum esattamente il contrario.
Nella vostra navigazione vi riconoscete in queste percentuali?
(Aggiornamento 26/12/04): Come segnalato da Simone,
le statistiche riguardano le navigazioni coll'Alexa
Toolbar installata, quindi devono essere prese con questa cautela.
Il problema ormai è chiuso, dopo la raffica di post di Paolo (qui, qui, qui e qui), Cristian (qui) e Raffaele (qui, qui e qui).
Con un ritardo di una settimana, non faccio adesso altro che aggiungere due ciliegine (2 cents?) sulla torta:
Richter nel suo libro (pp. 443-444) avvertiva:
"Ogni qualvolta si ottiene un'analisi dello stack, è possibile rilevare che alcuni metodi dello stack di chiamate non sono visualizzati nell'analisi dello stack. Il motivo di questa assenza è rappresentato dal fatto che il compilatore JIT può eseguire l'inlining dei metodi per evitare l'overhead generato dalla chiamata e dalla restituzione di un metodo...
Richter nel suo libro (p. 444) dice:
"Il compilatore JIT (Just-In-Time) esamina l'attributo personalizzato System.Diagnostics.DebuggableAttribute applicato all'assembly. In genere, il compilatore applica questo attributo automaticamente. Se nell'attributo è specificato true per il parametro isJITOptimizerDisabled del costruttore DebuggableAttribute, il compilatore JIT non eseguirà l'inlining dei metodi dell'assembly. Per impostare questo parametro su true è possibile utilizzare l'opzione /debug del compilatore C#."
E' un po' strano secondo me il fatto che isJITOptimizerDisabled sia collegato all'opzione /debug (che sta nella categoria Debugging/Error Checking e ha il significato di Emit Debugging Information) e non all'opzione /optimize (della categoria Optimizations e che ha il significato Enable/Disable Optimizations)....
L'avevo letto nel '93, in rumeno, due anni prima che uscisse presso Les Editions Gallimard da cui Tea Turolla ha fatto l'eccellente traduzione. Ma l'ho comprato lo stesso, appena uscito questi giorni in italiano presso Adelphi [1]. Cioran, forse più degli altri, è riuscito sempre a svegliarmi e in un certo senso a salvarmi.
Ho scelto qui sotto due sue risposte che le sento come mie. Sarei curioso di ricevere commenti sulle eventuali esperienze di abbandoni, anche temporanei, della vostra lingua.
Fernando Savater: Lei non ha abbandonato solo la sua patria ma anche, e questo è più importante, la sua lingua. ([1],...
questi sono gli auguri del mio papà:
Chi ha seguito la mia sessione al workshop del 2 dicembre già lo conosce. Per gli altri, qui sotto, una domandina:
Cosa producono i seguenti due pezzi di codice?
C#
Visual Basic .NET
[IndexerName("P")] public string this[int i] { get { return _p[i]; } set { _p[i] = value; } }
<IndexerName("P")> _ Public Property Item(ByVal i As Integer) As String Get Return _p(i) End Get Set(ByVal Value As Integer) _p(i) = Value End Set End Property