title: Scusate la domanda forse banale

author: Carlo Milanesi

text:
Il 23/07/2011 11.02, amlo ha scritto:
> dato 100 gli applicativi visual studio per dot net
Nell'oggetto avresti dovuto scrivere "Percentuali di utilizzo tecnologie
.NET" o qualcosa di simile. L'oggetto è il titolo del messaggio.
Quello che hai scritto nell'oggetto se proprio volevi avresti potuto
scriverlo nel testo, ma non mi sembrava necessario, sia perche' non e'
una domanda per cui scusarsi, sia perche' la domanda non e' affatto
banale, ma parecchio interessante.
Passando alla questione, ho trovato che nel sito di forum StackOverflow,
frequentato soprattutto da programmatori esperti e fluenti in lingua
inglese, le domande si possono taggare con un argomento.
La pagina
http://stackoverflow.com/tags
 consente di contare quante
domande sono state poste per ogni argomento. Ecco che cosa ho trovato:
asp.net
: 84127
winforms: 16876
WPF: 31080
vb.net
: 19383
vb: 2781
vb6: 2755
c#: 198432
Penso pero' che non sia vero in generale che i programmatori C# siano
piu' del decuplo dei programmatori
VB.NET
. Piuttosto e' vero che i
programmatori avanzati in C# sono il decuplo dei programmatori avanzati
in
VB.NET
.
Da quest'altro sito
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
risulta che i programmatori C# sono solo il 22% in piu' dei
programmatori di qualche tipo di Basic (ci sono anche Basic non
Microsoft), e fino alla meta' del 2010 i programmatori Basic erano di
più dei programmatori C#.
Questa query su Google Trends
http://www.google.it/trends?q=c%23%2Cvb.net
mostra che adesso le ricerche riguardanti C# sono circa il quadruplo
quelle riguardanti
VB.NET
, mentre 5 anni fa erano solo il triplo.
Io penso che sia verosimile che adesso ci sia 1 programmatore
VB.NET

ogni 4 programmatori C#.
--
Carlo Milanesi
http://carlomilanesi.wordpress.com/


title: Scusate la domanda forse banale

text:
Il 24/07/2011 17:02, Carlo Milanesi ha scritto:
>
> Questa query su Google Trends
>
http://www.google.it/trends?q=c%23%2Cvb.net
> mostra che adesso le ricerche riguardanti C# sono circa il quadruplo
> quelle riguardanti
VB.NET
, mentre 5 anni fa erano solo il triplo.
>
> Io penso che sia verosimile che adesso ci sia 1 programmatore
VB.NET
> ogni 4 programmatori C#.
Sorprendente. Non so può valere anche per il nostro paese.
Tra C# e
VB.NET
 penso si possa scegliere autonomamente, tra
ASP.NET/Winform/WPF
 lo decide la situazione del committente, direi.
fe...@delenda.net
--
http://delendanet.blogspot.com


title: Primi passi su WCF

text:
Avete qualche testo/sito da consigliarmi per muovere i primi passi con
WCF?


title: Primi passi su WCF

author: Stefano Ferrari

text:
Il 29/11/2012 15:45, _merlinO_ ha scritto:
> Avete qualche testo/sito da consigliarmi per muovere i primi passi con WCF?
>
>
http://www.webprog.it/fileguida/windows_comunication_foundation.pdf

ciao
stefano


title: Primi passi su WCF

author: vbMizio

text:
Anche se non avevo iniziato io il thread, ti ringrazio Stefano per la
segnalazione.
Molto utile!

__________ Informazioni da ESET NOD32 Antivirus, versione del database delle firme digitali 7788 (20121211) __________

Il messaggio è stato controllato da ESET NOD32 Antivirus.

www.nod32.it


title: Primi passi su WCF

text:
vbMizio ha detto questo martedì :
> Anche se non avevo iniziato io il thread, ti ringrazio Stefano per la
> segnalazione.
> Molto utile!

ringrazio anche io :)


title: Primi passi su WCF

text:
Il 11/12/2012 16:09, vbMizio ha scritto:
> Anche se non avevo iniziato io il thread, ti ringrazio Stefano per la
> segnalazione.
> Molto utile!

prego.
:-)

ciao
stefano


title: Primi passi su WCF

text:
Il 11/12/2012 16:32, _merlinO_ ha scritto:
> vbMizio ha detto questo martedï¿œ :
>> Anche se non avevo iniziato io il thread, ti ringrazio Stefano per la
>> segnalazione.
>> Molto utile!
>
> ringrazio anche io :)

anche a te, prego
:-)

ciao
stefano


title: shortKey non funzionanti

author: ferradini

text:
Devo maldestramente aver disabilitato gli shortkey in visual studio. Ho
cercato di ripristinarli ma non trovo la voce. Grazie ferradini


title: shortKey non funzionanti

author: Alexx

text:
Credo tu debba seguire le voci seguenti:
Tools/Option/Environment/Keyboard

Alex


title: shortKey non funzionanti

text:
> Credo tu debba seguire le voci seguenti:
> Tools/Option/Environment/Keyboard

Esatto. Grazie


title: Ad ogni linguaggio il suo compito

author: Midnightmare

text:
Salve,
.NET supporta tanti linguaggi ma stando anche agli esempi di codice che si
trovano su MSDN, mi pare di capire che quelli "ufficialmente supportati" da
Microsoft siano:
C#, C++,
VB.NET
, F# e JScript.
C# � il linguaggio principale che consente di fare quasi tutto.
C++ consente di scendere pi� a basso ma in concreto, prestazioni a parte,
quando � necessario?
Mi pare che i driver (non i  firmware) adesso si possano scrivere anche in
C# com UMDF
VB.NET
 mi pare che invece possa essere pienamente sostituito da C#
F# dovrebbe servire nei casi in cui � preferibile un linguaggio funzionale.
E quali sarebbero questi casi?
Inoltre mi pare che anche C# stia iniziando a supportare tale paradigma
JScript oltre a sostituire JavaScript nella creazione di pagine web
dinamiche lato client, in cosa � usato?
Credo di averlo visto anche nella scrittura di gadget per la sidebar.
Insomma questi 5 linguaggi fornisco un set completo per il programmatore?
Saluti


title: Ad ogni linguaggio il suo compito

author: Raffaele Rialdi [MVP]

text:
Midnightmare wrote:
> C# è il linguaggio principale che consente di fare quasi tutto.
>
> C++ consente di scendere più a basso ma in concreto, prestazioni a parte,
> quando è necessario?
- Per ottenere massime performance
- Per semplificare l'interoperabilità con COM e altro codice nativo
(pinvoke può essere complesso ed è meno performante rispetto a
C++/CLI).
- Per sfruttare librerie native come DirectX
- Per scrivere estensioni del sistema operativo (plugin per la shell,
per IE, per il firewall, etc. etc.)
> Mi pare che i driver (non i  firmware) adesso si possano scrivere anche in C#
> com UMDF
UDMF è basato su COM e non ne vale la pena fare tutto in C#
I driver in kernel mode necessitano C e non C++
>
VB.NET
 mi pare che invece possa essere pienamente sostituito da C#
I linguaggi managed sono tutti equivalenti, tolte piccole eccezioni.
> F# dovrebbe servire nei casi in cui è preferibile un linguaggio funzionale.
> E quali sarebbero questi casi?
Per esempio per fare parsing, trovare ricorrenze, eseguire
trasformazioni ... il tutto secondo una logica a pipeline.
> Inoltre mi pare che anche C# stia iniziando a supportare tale paradigma
Puoi scrivere una UI anche usando l'assembler ... ne vale la pena?
Ogni linguaggio ti offre degli strumenti che permettono di affrontare
il problema da prospettive differenti.
Spesso accade che guardando un problema da una prospettiva differente
questo risulti più semplice da risolvere.
Puoi calcolare il volume di un cilindro con sopra un cono facendo la
somma dei due volumi. Oppure calcolare l'integrale triplo del trapezio
in rotazione. Questa seconda ipotesi è decisamente più complessa pur
facendo esattamente la stessa cosa. In altri casi l'integrale triplo è
la soluzione più adatta.
>
> JScript oltre a sostituire JavaScript nella creazione di pagine web dinamiche
> lato client, in cosa è usato?
> Credo di averlo visto anche nella scrittura di gadget per la sidebar.
Se non dimentico nulla, quelli sono gli ambiti tipici.
>
> Insomma questi 5 linguaggi fornisco un set completo per il programmatore?
A mio avviso la conoscenza dei linugaggi è la parte minimale.
Parlndo di developer (e non di architect), la cosa più importante e
complessa è quella di conoscere le tecnologie, e saperle amalgamare.
--
Raffaele Rialdi
http://www.iamraf.net
Weblog:
http://blogs.ugidotnet.org/raffaele
Microsoft MVP profile
https://mvp.support.microsoft.com/profile/raffaele
UGIdotNET -
http://www.ugidotnet.org/


title: Ad ogni linguaggio il suo compito

text:
"Raffaele Rialdi [MVP]" <
malta@n0spam_vevy.com
> ha scritto:
> - Per ottenere massime performance
> - Per semplificare l'interoperabilità con COM e altro codice nativo
> (pinvoke può essere complesso ed è meno performante rispetto a C++/CLI).
> - Per sfruttare librerie native come DirectX
> - Per scrivere estensioni del sistema operativo (plugin per la shell, per
> IE, per il firewall, etc. etc.)
Ok
> Per esempio per fare parsing, trovare ricorrenze, eseguire trasformazioni
> ... il tutto secondo una logica a pipeline.
Ma F# allo stato attuale può sostituire pienamente Lisp, Haskell, Erlang
(programmazione concorrente)?
> A mio avviso la conoscenza dei linugaggi è la parte minimale.
> Parlndo di developer (e non di architect), la cosa più importante e
> complessa è quella di conoscere le tecnologie, e saperle amalgamare.
Grazie per le risposte!


title: Ad ogni linguaggio il suo compito

author: LudovicoVan

text:
On Dec 19, 3:56 pm, Raffaele Rialdi [MVP] <
malta@n0spam_vevy.com
>
wrote:
> Midnightmare wrote:
>
> > Insomma questi 5 linguaggi fornisco un set completo per il programmatore?
Alle osservazioni di Raffaele Rialdi aggiungo che esiste una pletora
di linguaggi e corrispondenti paradigmi, fra cui da non dimenticare i
vari linguaggi dichiarativi nonche' quelli di scripting (e la
cosiddetta programmazione verticale): spesso neanche considerati
programmazione vera e propria, ma e', come si sa, appunto un errore da
principianti. Esempi a parte, e parafrasando cio' che e' stato gia'
detto, "the best just and alsways is: use the right tool for the rigth
job". Non ci sono ricette semplici, e non ci sono scorciatoie
soddisfacenti (cioe', a meno delle considerazioni che faccio sotto).
> A mio avviso la conoscenza dei linugaggi è la parte minimale.
> Parlndo di developer (e non di architect), la cosa più importante e
> complessa è quella di conoscere le tecnologie, e saperle amalgamare.
FWIW, su questa consentimi di dissentire: per me un developer deve
sapere appunto "sviluppare", il che vuol dire che gli occorre non solo
un base tecnica ma anche e ancora prima una base concettuale,
altrimenti *quali* problemi potra' mai risolvere? E' solo dopo aver
acquisito quel bagaglio fondamentale, cioe' quel minimo di
autoconsapevolezza professionale, che eventualmente ci si specializza:
per esempio sulla parte architetturale/tecnologica, o al contrario
sulla parte concettuale/di analisi.
(Oppure, caso molto piu' frequente, uno lascia perdere e si mette a
fare il development-/product-/team-manager, ruoli per i quali e'
richiesto *non* avere competenze tecniche, bensi' solo psico-socio-
markettare... ovvero il global sell-and-buy, ovvero la coperta psudo-
friendly del global kill-and-lie. Con buona pace per le prossime
generazioni.)
-LV


title: Ad ogni linguaggio il suo compito

text:
"LudovicoVan" <
ju...@diegidio.name
> ha scritto:
> Alle osservazioni di Raffaele Rialdi aggiungo che esiste una pletora
> di linguaggi e corrispondenti paradigmi, fra cui da non dimenticare i
> vari linguaggi dichiarativi nonche' quelli di scripting (e la
> cosiddetta programmazione verticale): spesso neanche considerati
> programmazione vera e propria, ma e', come si sa, appunto un errore da
> principianti.
Certo. Semplicemente focalizzavo l'attenzione soprattutto sui linguaggi
utilizzati nello sviluppo di software (niente web, ne scripting).
> Esempi a parte, e parafrasando cio' che e' stato gia'
> detto, "the best just and alsways is: use the right tool for the rigth
> job". Non ci sono ricette semplici, e non ci sono scorciatoie
> soddisfacenti (cioe', a meno delle considerazioni che faccio sotto).
La cosa sembrerà inutile/strana/impossibile ma vorrei riuscire ad inquadrare
l'insieme di linguaggi più piccolo possibile per poter sviluppare qualsiasi
software, con sufficiente comodità (ma anche qui ovviamente ognuno può avere
il suo concetto di comodità), e dato che .NET è multilinguaggio mi sembra
una buona piattaforma su cui fare delle valutazioni di questo tipo.
Tuttavia, ho idea che per mantenere basso il numero di linguaggi non bisogna
considerare linguaggi di livello troppo alto.
In tale insieme io inserirei:
Assembly e C, i quali sono insostituibili per certi compiti
C++, perché si tratta di un linguaggio veramente completo e si integra bene
con i precedenti
e forse anche SQL, data la frequente necessità di dover utilizzare database.
> FWIW, su questa consentimi di dissentire: per me un developer deve
> sapere appunto "sviluppare", il che vuol dire che gli occorre non solo
> un base tecnica ma anche e ancora prima una base concettuale,
> altrimenti *quali* problemi potra' mai risolvere? E' solo dopo aver
> acquisito quel bagaglio fondamentale, cioe' quel minimo di
> autoconsapevolezza professionale, che eventualmente ci si specializza:
> per esempio sulla parte architetturale/tecnologica, o al contrario
> sulla parte concettuale/di analisi.
Credo che Raffaele abbia affermato quanto detto prima, perché .NET fornisce
talmente tante tecnologie che la conoscenza del linguaggio passa in secondo
piano.


title: Ad ogni linguaggio il suo compito

text:
On Dec 19, 10:25 pm, "Midnightmare" <
midnightmareNOS...@live.it
>
wrote:
> "LudovicoVan" <
ju...@diegidio.name
> ha scritto:
>
> > Alle osservazioni di Raffaele Rialdi aggiungo che esiste una pletora
> > di linguaggi e corrispondenti paradigmi, fra cui da non dimenticare i
> > vari linguaggi dichiarativi nonche' quelli di scripting (e la
> > cosiddetta programmazione verticale): spesso neanche considerati
> > programmazione vera e propria, ma e', come si sa, appunto un errore da
> > principianti.
>
> Certo. Semplicemente focalizzavo l'attenzione soprattutto sui linguaggi
> utilizzati nello sviluppo di software (niente web, ne scripting).
Quello che intendevo e' che, per esempio, escludere dallo sviluppo
software cose tipo appunto il web, mi sembra davvero inappropriato.
> > Esempi a parte, e parafrasando cio' che e' stato gia'
> > detto, "the best just and alsways is: use the right tool for the rigth
> > job". Non ci sono ricette semplici, e non ci sono scorciatoie
> > soddisfacenti (cioe', a meno delle considerazioni che faccio sotto).
>
> La cosa sembrerà inutile/strana/impossibile ma vorrei riuscire ad inquadrare
> l'insieme di linguaggi più piccolo possibile per poter sviluppare qualsiasi
> software, con sufficiente comodità (ma anche qui ovviamente ognuno può avere
> il suo concetto di comodità), e dato che .NET è multilinguaggio mi sembra
> una buona piattaforma su cui fare delle valutazioni di questo tipo.
>
> Tuttavia, ho idea che per mantenere basso il numero di linguaggi non bisogna
> considerare linguaggi di livello troppo alto.
Anche io ormai sviluppo software prevalentemente con tecnologie
Microsoft e, al livello di software applicativo, con .Net in
particolare: cio' non toglie che nello sviluppo di una qualunque
applicazione non banale ci sono in realta' tante e tante altre
tecnologie che usiamo che e' piuttosto che tendiamo a dimenticarci di
menzionarle/considerarle. (E poi c'e' il bandwagon dell'OO uber alles,
ma non voglio appesantire ulteriormente...)
> In tale insieme io inserirei:
> Assembly e C, i quali sono insostituibili per certi compiti
> C++, perché si tratta di un linguaggio veramente completo e si integra bene
> con i precedenti
> e forse anche SQL, data la frequente necessità di dover utilizzare database.
Parafrasando di nuovo Raffaele: tu una GUI davvero la faresti in C++?
(Ed e' solo un esempio fra mille.)
> > FWIW, su questa consentimi di dissentire: per me un developer deve
> > sapere appunto "sviluppare", il che vuol dire che gli occorre non solo
> > un base tecnica ma anche e ancora prima una base concettuale,
> > altrimenti *quali* problemi potra' mai risolvere? E' solo dopo aver
> > acquisito quel bagaglio fondamentale, cioe' quel minimo di
> > autoconsapevolezza professionale, che eventualmente ci si specializza:
> > per esempio sulla parte architetturale/tecnologica, o al contrario
> > sulla parte concettuale/di analisi.
>
> Credo che Raffaele abbia affermato quanto detto prima, perché .NET fornisce
> talmente tante tecnologie che la conoscenza del linguaggio passa in secondo
> piano.
Di nuovo, e per quel che vale: dissento da quel punto di vista.
-LV


title: Ad ogni linguaggio il suo compito

text:
"LudovicoVan" <
ju...@diegidio.name
> ha scritto:
> Quello che intendevo e' che, per esempio, escludere dallo sviluppo
> software cose tipo appunto il web, mi sembra davvero inappropriato.
Parlavo di sviluppo non necessariamente legato a necessità
lavorative/commerciali.
> Parafrasando di nuovo Raffaele: tu una GUI davvero la faresti in C++?
> (Ed e' solo un esempio fra mille.)
Almeno un framework (ad esempio QT) è sottointeso.


title: Ad ogni linguaggio il suo compito

author: Giulio Petrucci

text:
Ciao Midnightmare,
On 12/19/2010 8:04 PM, Midnightmare wrote:
> Ma F# allo stato attuale può sostituire pienamente Lisp, Haskell, Erlang
> (programmazione concorrente)?
Diciamo che stanno nello stesso ambito. :-)
Cosa intendi per "sostituire"?
Ciao,
Giulio
--


title: Ad ogni linguaggio il suo compito

text:
Midnightmare wrote:
>> Per esempio per fare parsing, trovare ricorrenze, eseguire trasformazioni
>> ... il tutto secondo una logica a pipeline.
>
> Ma F# allo stato attuale può sostituire pienamente Lisp, Haskell, Erlang
> (programmazione concorrente)?
Si ma fa molto di più perché F# è stato pensato per essere "realistico"
cioè supporta anche la programmazione imperativa (C# like) che è
indispensabile per usare le classi di base.
Una applicazione reale+complessa difficilmente riuscirai ad esprimerla
con uno dei linguaggi di cui sopra.



title: Ad ogni linguaggio il suo compito

text:
LudovicoVan wrote:
> FWIW, su questa consentimi di dissentire: per me un developer deve
> sapere appunto "sviluppare", il che vuol dire che gli occorre non solo
> un base tecnica ma anche e ancora prima una base concettuale,
> altrimenti *quali* problemi potra' mai risolvere? E' solo dopo aver
> acquisito quel bagaglio fondamentale, cioe' quel minimo di
> autoconsapevolezza professionale, che eventualmente ci si specializza:
> per esempio sulla parte architetturale/tecnologica, o al contrario
> sulla parte concettuale/di analisi.
Dipende cosa intendi per linguaggio. Se lo intendi in senso stretto,
ritengo che un developer solo alfabetizzato (cioè che sappia solo il
linguaggio) sia incapace di sviluppare qualsiasi cosa.
In C++ avrebbe bisogno di conoscenze del runtime, del sistema
operativo, alle librerie specifiche al tipo di applicazioni da
sviluppare e ai relativi framework (com ad esempio).
In ambito .net, vale lo stesso discorso con clr, wcf, wf, wpf, etc.
etc.
Una volta acquisite queste conoscenze ... non bastano.
Se intendiamo il developer come produttore di sorgente, di schifezze se
ne leggono tante. La capacità di produrre codice manutenibile,
debuggabile, performante, etc. non è affatto da tutti e infatti
guardando molti progetti open source ci si accorge velocemente che sono
semplicemente da buttare.
Il sorgente (cioè il prodotto dello sviluppatore solo alfabetizzato) è
il valore minore del progetto.
> (Oppure, caso molto piu' frequente, uno lascia perdere e si mette a
> fare il development-/product-/team-manager, ruoli per i quali e'
> richiesto *non* avere competenze tecniche, bensi' solo psico-socio-
> markettare... ovvero il global sell-and-buy, ovvero la coperta psudo-
> friendly del global kill-and-lie. Con buona pace per le prossime
> generazioni.)
LOL, quoto, ma questo lo fa lo sviluppatore di fine carriera (che non
corrisponde necessariamente all'età che ha).



title: Ad ogni linguaggio il suo compito

author: Alessandro Riolo

text:
"Raffaele Rialdi [MVP]" <
malta@n0spam_vevy.com
> wrote:
> LOL, quoto, ma questo lo fa lo sviluppatore di fine carriera (che non
> corrisponde necessariamente all'etï¿œ che ha).
Io ho fatto quel lavoro lï¿œ quando avevo 26-27 anni. Non dico un anno passato
ad usare soltanto Microsoft Project (e Word, Excel, ..), ma quasi (buona
parte del resto lo passavo a cercare di sincronizzare, convincere e mettere
d'accordo le varie "risorse", umane o meno). Poi, prima che riuscissi ad
offuscare abbastanza quell'esperienza nel mio CV, me l'hanno offerto altre
volte (l'ultima volta una multinazionale, LOL).
Comunque un'esperienza, almeno so che se proprio non mi volesse piï¿œ nessuno
come sviluppatore, un altro lavoro lo so fare, ed anche abbastanza bene :))
--
ale
http://ale.riolo.co.uk


title: Ad ogni linguaggio il suo compito

text:
"Giulio Petrucci" <sis...@nonono.boh> ha scritto:

> Diciamo che stanno nello stesso ambito. :-)
> Cosa intendi per "sostituire"?
Se F# va bene per fare gli stessi compiti


title: Ad ogni linguaggio il suo compito

text:
"Raffaele Rialdi [MVP]" <
malta@n0spam_vevy.com
> ha scritto:
> Si ma fa molto di piï¿œ perchï¿œ F# ï¿œ stato pensato per essere "realistico"
> cioï¿œ supporta anche la programmazione imperativa (C# like) che ï¿œ
> indispensabile per usare le classi di base.
> Una applicazione reale+complessa difficilmente riuscirai ad esprimerla con
> uno dei linguaggi di cui sopra.
Infatti quelli mi sembrano piï¿œ "accademici".


title: Ad ogni linguaggio il suo compito

text:
"Raffaele Rialdi [MVP]" <
malta@n0spam_vevy.com
> ha scritto:
> Dipende cosa intendi per linguaggio. Se lo intendi in senso stretto,
> ritengo che un developer solo alfabetizzato (cioï¿œ che sappia solo il
> linguaggio) sia incapace di sviluppare qualsiasi cosa.
> In C++ avrebbe bisogno di conoscenze del runtime, del sistema operativo,
> alle librerie specifiche al tipo di applicazioni da sviluppare e ai
> relativi framework (com ad esempio).
> In ambito .net, vale lo stesso discorso con clr, wcf, wf, wpf, etc. etc.
Fissato un linguaggio, (sotto)intendevo anche il "corredo tecnologico"
necessario (conoscenza dell'OS su cui sviluppi, un certo livello di problem
solving algoritmico, etc..).


title: Ad ogni linguaggio il suo compito

text:
Alessandro Riolo wrote:
> Io ho fatto quel lavoro lì quando avevo 26-27 anni. Non dico un anno passato
> ad usare soltanto Microsoft Project (e Word, Excel, ..), ma quasi (buona
> parte del resto lo passavo a cercare di sincronizzare, convincere e mettere
> d'accordo le varie "risorse", umane o meno). Poi, prima che riuscissi ad
> offuscare abbastanza quell'esperienza nel mio CV, me l'hanno offerto altre
> volte (l'ultima volta una multinazionale, LOL).
>
> Comunque un'esperienza, almeno so che se proprio non mi volesse più nessuno
> come sviluppatore, un altro lavoro lo so fare, ed anche abbastanza bene :))
:) intendiamoci, non c'è nulla di male a fare un mestiere diverso ...
nello sviluppo software non bastano solo i dev.
L'unica figura che negli anni e in tutta solitudine si è costruita una
cattiva reputazione sono i markettari :)



title: Ad ogni linguaggio il suo compito

text:
Midnightmare wrote:
> Fissato un linguaggio, (sotto)intendevo anche il "corredo tecnologico"
> necessario (conoscenza dell'OS su cui sviluppi, un certo livello di problem
> solving algoritmico, etc..).
ok, ma tieni conto che tipicamente il developer cresciuto nelle
universitï¿œ non va oltre al linguaggio. Per questo ï¿œ una distinzione
importante di cui tenere conto.



title: Ad ogni linguaggio il suo compito

text:
"Raffaele Rialdi [MVP]" <
malta@n0spam_vevy.com
> ha scritto:
> :) intendiamoci, non c'è nulla di male a fare un mestiere diverso ...
> nello sviluppo software non bastano solo i dev.
Ma la differenza tra
software engineer e software architect quale sarebbe?
Tu sei qualcuna di queste ? :P


title: Ad ogni linguaggio il suo compito

text:
"Raffaele Rialdi [MVP]" <
malta@n0spam_vevy.com
> ha scritto:
> ok, ma tieni conto che tipicamente il developer cresciuto nelle università
> non va oltre al linguaggio. Per questo è una distinzione importante di cui
> tenere conto.
Io definisco programmatore solo chi è appassionato, non chi ha superato
esami perché necessari alla laurea e/o chi svolge tale lavoro solo perché
prima o poi vuole raggiungere qualche ruolo dirigenziale in cui non vedrà
più una riga di codice.


title: Ad ogni linguaggio il suo compito

text:
Midnightmare wrote:
> Ma la differenza tra
> software engineer e software architect quale sarebbe?
Queste domande scatenano di solito dei flame :)
Il software engineer è in pratica il developer. A questo titolo non ci
si riferisce generalmente solo all'esecutore/realizzatore materiale del
software ma anche colui che progetta una soluzione da una prospettiva
più che altro tecnologica.
Il software architect è colui che disegna le specifiche, determina la
struttura della soluzione, sceglie tecnologie, framework e librerie da
utilizzare. È una figura più recente rispetto al system engineer che si
è affermata al crescere della complessità delle soluzioni e con la
necessità di stratificare su più layer/tier i vari moduli.
Va da se che ci sono mille sfumature dettate sopratutto dall'esperienza
acquisita.
>
> Tu sei qualcuna di queste ? :P
Sei in vena di domande rischiose eh :D
Io di fatto svolgo entrambi i mestieri a seconda di quello che serve al
cliente. A gennaio sono trent'anni che scrivo codice (ero ragazzino
quando ho iniziato, giusto per non darmi del vecchio :D) e ancora mi
piace farlo, perciò mi sento molto vicino alla prima delle due.
Ovviamente con il passare del tempo acquisisci esperienza e ti trovi a
svolgere anche il secondo senza che qualcuno ti assegni il titolo di
lup.mann. sul biglietto da visita ;-)



title: Ad ogni linguaggio il suo compito

text:
Midnightmare wrote:
> Io definisco programmatore solo chi ï¿œ appassionato, non chi ha superato esami
> perchï¿œ necessari alla laurea e/o chi svolge tale lavoro solo perchï¿œ prima o
> poi vuole raggiungere qualche ruolo dirigenziale in cui non vedrï¿œ piï¿œ una
> riga di codice.
vero, ma anche chi ï¿œ appassionato ed ï¿œ appena uscito dall'universitï¿œ a
volte si lascia prendere dall'euforia ... ;)



title: Ad ogni linguaggio il suo compito

text:
"Raffaele Rialdi [MVP]" <
malta@n0spam_vevy.com
> ha scritto:
> vero, ma anche chi è appassionato ed è appena uscito dall'università a
> volte si lascia prendere dall'euforia ... ;)
Chi pensa che con le sole conoscenze acquisite all'università possa
sviluppare programmi è un po' come il neopatentato che pensa di poter
correre in F1.


title: Ad ogni linguaggio il suo compito

text:
"Raffaele Rialdi [MVP]" <
malta@n0spam_vevy.com
> ha scritto:
> In C++ avrebbe bisogno di conoscenze del runtime, del sistema operativo,
> alle librerie specifiche al tipo di applicazioni da sviluppare e ai
> relativi framework (com ad esempio).
> In ambito .net, vale lo stesso discorso con clr, wcf, wf, wpf, etc. etc.
>
> Una volta acquisite queste conoscenze ... non bastano.
Cosa manca ancora a parte conoscenze specifiche che riguardano l'ambito in
cui il software dovrà operare e che il programmatore non può conoscere a
priori ma sarà uno specialista a fornirle (tipo conoscenze contabili per un
programma di contabilità)?


title: Ad ogni linguaggio il suo compito

text:
Midnightmare wrote:
> Chi pensa che con le sole conoscenze acquisite all'universitï¿œ possa
> sviluppare programmi ï¿œ un po' come il neopatentato che pensa di poter correre
> in F1.
:)



title: Ad ogni linguaggio il suo compito

text:
Midnightmare wrote:
>
> Cosa manca ancora a parte conoscenze specifiche che riguardano l'ambito in
> cui il software dovrà operare e che il programmatore non può conoscere a
> priori ma sarà uno specialista a fornirle (tipo conoscenze contabili per un
> programma di contabilità)?
L'esperienza ti insegna tante cose che non si imparano diversamente.
Questo vale sia nella fase progettuale che nello scrivere codice.
Potremmo metterci a fare una lunga lista ma non sarebbe mai esaustiva.
Ogni mestiere ha le sue malizie, ricordiamoci che siamo artigiani e il
mondo industriale è ancora lontano.



title: Ad ogni linguaggio il suo compito

text:
"Raffaele Rialdi [MVP]" <
malta@n0spam_vevy.com
> ha scritto:
> L'esperienza ti insegna tante cose che non si imparano diversamente.
> Questo vale sia nella fase progettuale che nello scrivere codice.
Ovvio che molte cose si imparino solo col tempo e con l'esperienza.
> Potremmo metterci a fare una lunga lista ma non sarebbe mai esaustiva.
E limitatamente a ciò che si può trovare sui libri?
> Ogni mestiere ha le sue malizie, ricordiamoci che siamo artigiani
Meglio di artisti :-P
> e il  mondo industriale è ancora lontano.
E cosa farebbe il programmatore che lavora con un approccio industriale?
Scriverebbe programmi in serie? :D


title: Ad ogni linguaggio il suo compito

text:
On 12/20/2010 1:57 PM, Midnightmare wrote:
> Se F# va bene per fare gli stessi compiti
Non saprei.
Erlang e Lisp sono entrambi linguaggi funzionali ma... li useresti per
le stesse cose? ;-)
Ciao,
Giulio
--


title: Ad ogni linguaggio il suo compito

text:
"Giulio Petrucci" <sis...@nonono.boh> ha scritto:
> Non saprei.
> Erlang e Lisp sono entrambi linguaggi funzionali ma... li useresti per le
> stesse cose? ;-)
L'idea era sempre quella di individuare un numero di linguaggi piů basso
possibile per poter fare piů cose possibili.
Magari F# (e a quanto dice Raffaele sembra di si) consente di lavorare negli
ambiti tipici di quei linguaggi funzionali.


title: Ad ogni linguaggio il suo compito

text:
On 12/21/2010 8:52 AM, Midnightmare wrote:
> Cosa manca ancora a parte conoscenze specifiche che riguardano l'ambito in
> cui il software dovr� operare e che il programmatore non pu� conoscere a
> priori ma sar� uno specialista a fornirle (tipo conoscenze contabili per un
> programma di contabilit�)?
Lo sviluppo di un prodotto SW è qualcosa di più multidisciplinare di
quanto spesso si creda. IMVHO il successo di un prodotto dipende sia da
COME fa quello che deve fare (responsabilità di sviluppatori, tester,
solution architect e tutta la roba da nerdoni che ci piace tanto), ma
anche da COSA faccia. E l'analisi del dominio non è detto che richieda
competenze da sviluppatore (e affini). L'esempio della contabilità che
hai citato è lampante: mi reputo uno sviluppatore mediocre, ma non ho
idea di cosa sia una fattura. :-) Come la mettiamo?
Ciao,
Giulio
--


title: Ad ogni linguaggio il suo compito

text:
"Giulio Petrucci" <sis...@nonono.boh> ha scritto:
> L'esempio della contabilità che hai citato è lampante: mi reputo uno
> sviluppatore mediocre, ma non ho idea di cosa sia una fattura. :-) Come la
> mettiamo?
Stavo appunto escludendo lacune conoscitive di tale tipo :)


title: Ad ogni linguaggio il suo compito

text:
Xiao Raf,
On 12/20/2010 4:52 PM, Raffaele Rialdi [MVP] wrote:
> :) intendiamoci, non c'è nulla di male a fare un mestiere diverso ...
> nello sviluppo software non bastano solo i dev.
Verissimo.
E' però anche vero che in Italia è diffusa l'idea pèer cui se sviluppi
per un tot di anni senza poi diventare PM, product manager,
qualasiasicosa manager allora non sei bravo.
Questo ha portato a diverse conseguenz, prima fra tutte il fatto che lo
sviluppo viene lasciato sempre a "giovincelli". Di questo ne risente la
qualità del codice (soprattutto in termini di manutenibilità).
> L'unica figura che negli anni e in tutta solitudine si è costruita una
> cattiva reputazione sono i markettari :)
E i piemme? :-)
Ciao,
Giulio
--


title: Ad ogni linguaggio il suo compito

author: Andrea Saltarello

text:
Il 21/12/2010 10:18, Giulio Petrucci ha scritto:
> E' però anche vero che in Italia è diffusa l'idea pèer cui se sviluppi
> per un tot di anni senza poi diventare PM, product manager,
> qualasiasicosa manager allora non sei bravo.
>
> Questo ha portato a diverse conseguenz, prima fra tutte il fatto che lo
> sviluppo viene lasciato sempre a "giovincelli". Di questo ne risente la
> qualità del codice (soprattutto in termini di manutenibilità).
quoto
--
.A
GUISA -
http://www.guisa.org
UGIdotNET -
http://www.ugidotnet.org
Read my blog at:
http://blogs.ugidotnet.org/pape


title: Ad ogni linguaggio il suo compito

text:
Giulio Petrucci wrote:
> Verissimo.
> E' perï¿œ anche vero che in Italia ï¿œ diffusa l'idea pï¿œer cui se sviluppi per un
> tot di anni senza poi diventare PM, product manager, qualasiasicosa manager
> allora non sei bravo.
ï¿œ noto che la carriera tecnica in Italia difficilmente ti porta avanti.
ï¿œ un fatto comune di tutte le culture arretrate. L'Italia ha subito
un'involuzione rispetto ai "tempi gloriosi" del passato, bisogna
accettare il fatto e rimboccarsi le maniche.
> Questo ha portato a diverse conseguenz, prima fra tutte il fatto che lo
> sviluppo viene lasciato sempre a "giovincelli". Di questo ne risente la
> qualitï¿œ del codice (soprattutto in termini di manutenibilitï¿œ).
Senza dubbio. Deve aumentare sia la cultura di chi fa software ma anche
del cliente, che non sa neppure distinguere le cose buone da quelle
meno buone e guarda solo ad un risultato che spesso si rivela
inadeguato.
>> L'unica figura che negli anni e in tutta solitudine si ï¿œ costruita una
>> cattiva reputazione sono i markettari :)
>
> E i piemme? :-)
Quale dei due? :)
Il program manager ï¿œ quello buono :D
Il product manager ï¿œ il tecnico commerciale e si salva a pelo pelo ...
sempre che sappia mantenere un briciolo di credibilitï¿œ, cosa che in
questo periodo ï¿œ una dote moooolto rara :)
Ciao



title: Ad ogni linguaggio il suo compito

text:
Midnightmare wrote:
> E limitatamente a ciò che si può trovare sui libri?
un paio di esempi... e dubito che li trovi sui libri
- scrivere codice "ergonomico", che sia strutturato per essere usato
dall'utente a cui è destinato. Di solito il dev scrive interfacce che
vanno bene solo a se stessi.
- far si che la propria applicazione sia un "buon cittadino"
nell'ecosistema del sistema operativo. Tanto per capirci l'antitesi di
quelle applicazioni che prendono possesso del pc installando inutili
servizi (leggi adobe), richiedere reboot inutili, installare in modo
invasivo qualsiasi cosa.
>> e il  mondo industriale è ancora lontano.
>
> E cosa farebbe il programmatore che lavora con un approccio industriale?
> Scriverebbe programmi in serie? :D
Un assemblatore di moduli prefabbricati, con una limitata possibilità
di fare danni ... l'equivalente dell'operaio sulla catena di montaggio.
Oggi qualsiasi linguaggio GPL (General Programming Language) è
potenzialmente distruttivo.
I DSL (Domain Specific Language) invece vanno nella direzione
dell'industrializzazione.
E qui il discorso diventa superlungo ...



title: Ad ogni linguaggio il suo compito

text:
On Dec 21, 5:47 pm, Raffaele Rialdi [MVP] <
malta@n0spam_vevy.com
>
wrote:
> Giulio Petrucci wrote:
> > Verissimo.
> > E' per anche vero che in Italia diffusa l'idea p er cui se sviluppi per un
> > tot di anni senza poi diventare PM, product manager, qualasiasicosa manager
> > allora non sei bravo.
>
> noto che la carriera tecnica in Italia difficilmente ti porta avanti.
> un fatto comune di tutte le culture arretrate. L'Italia ha subito
> un'involuzione rispetto ai "tempi gloriosi" del passato, bisogna
> accettare il fatto e rimboccarsi le maniche.
Vivo e lavoro a Londra da quasi 4 anni, ed e' esattamente la stessa
cosa. L'unica differenza e' che qui sono tutti un po' piu' onesti e
tranquilli, ovvero non ti provano ad in**lare proprio ad ogni angolo
di strada come avviene regolarmente da noi, il che ovviamente e' gia'
sufficiente a fare *tutta un'altra qualita' della vita*. Ma per il
resto e' esattamente uguale: e d'altra parte non potrebbe essere
altrimenti, visto che questo e' proprio il centro di emanazione dello
schifo globale, altrimenti detto la capitale di questo impero di
babbuini idioti e mortali. Non c'e' produzione, non c'e' investimento,
non c'e' programma ne' futuro, non c'e' cultura, non c'e' arte ne'
spirito, ne' popoli o tradizioni, ne' niente di niente di niente di
niente, manco la musica c'e' rimasta: ormai e' solo il produciti-
fottiti-crepati di un pianeta di orfani senza passato ne' futuro.
-LV


title: Ad ogni linguaggio il suo compito

text:
On Dec 20, 8:40 am, Raffaele Rialdi [MVP] <
malta@n0spam_vevy.com
>
wrote:
> LudovicoVan wrote:
> > FWIW, su questa consentimi di dissentire: per me un developer deve
> > sapere appunto "sviluppare", il che vuol dire che gli occorre non solo
> > un base tecnica ma anche e ancora prima una base concettuale,
> > altrimenti *quali* problemi potra' mai risolvere? E' solo dopo aver
> > acquisito quel bagaglio fondamentale, cioe' quel minimo di
> > autoconsapevolezza professionale, che eventualmente ci si specializza:
> > per esempio sulla parte architetturale/tecnologica, o al contrario
> > sulla parte concettuale/di analisi.
>
> Dipende cosa intendi per linguaggio. Se lo intendi in senso stretto,
> ritengo che un developer solo alfabetizzato (cioè che sappia solo il
> linguaggio) sia incapace di sviluppare qualsiasi cosa.
> In C++ avrebbe bisogno di conoscenze del runtime, del sistema
> operativo, alle librerie specifiche al tipo di applicazioni da
> sviluppare e ai relativi framework (com ad esempio).
> In ambito .net, vale lo stesso discorso con clr, wcf, wf, wpf, etc.
> etc.
>
> Una volta acquisite queste conoscenze ... non bastano.
Tu continui a partire dal tecnico, per poi ammettere quasi di straforo
che anche altro e' necessario. E non potrei essere meno d'accordo: uno
sviluppatore e' uno che *in primis* deve saper risolvere (una certa
classe di) "problemi", non uno che in primis accozza tecnologie e
righe di codice e poi si vedra'. Ma cosi' era una volta, per cui tutto
sommato non hai neanche tutti i torti...
> > (Oppure, caso molto piu' frequente, uno lascia perdere e si mette a
> > fare il development-/product-/team-manager, ruoli per i quali e'
> > richiesto *non* avere competenze tecniche, bensi' solo psico-socio-
> > markettare... ovvero il global sell-and-buy, ovvero la coperta psudo-
> > friendly del global kill-and-lie. Con buona pace per le prossime
> > generazioni.)
>
> LOL, quoto, ma questo lo fa lo sviluppatore di fine carriera (che non
> corrisponde necessariamente all'età che ha).
Da queste parti (Londra e dintorni) ormai a dirigere gli uffici di
produzione software ci mettono gli sbarbatelli neo-laureati in
computer science. Ti lascio immaginare il delirio: permanent
emergency! Oltre al permanent asilo nido nonche' la nooooia, mortale
come tutto di questo impero. (Se poi sono multinazionali, ci mettono
proprio gente che meno ne sa e ne vuole sapere, piu' la mettono a
dirigere.)
D'altronde, saro' presuntuoso, ma e' anche grazie al sottoscritto se
il concetto di produzione software ancora conserva qualche barlume
della sua anima ingegneristica. D'altronde basta mezzo cervello per
svergognare questa banda di babbuini. E non ho nessuna intenzione di
tirare i remi in barca.
-LV


title: Ad ogni linguaggio il suo compito

text:
"LudovicoVan" <
ju...@diegidio.name
> ha scritto:
> Vivo e lavoro a Londra da quasi 4 anni, ed e' esattamente la stessa cosa.
In quali Paesi europei un programmatore se la passa meglio secondo voi?


title: Ad ogni linguaggio il suo compito

text:
"Raffaele Rialdi [MVP]" <
malta@n0spam_vevy.com
> ha scritto:
> Un assemblatore di moduli prefabbricati, con una limitata possibilità di
> fare danni ... l'equivalente dell'operaio sulla catena di montaggio.
> Oggi qualsiasi linguaggio GPL (General Programming Language) è
> potenzialmente distruttivo.
> I DSL (Domain Specific Language) invece vanno nella direzione
> dell'industrializzazione.
> E qui il discorso diventa superlungo ...
Sei a favore della super specializzazione?


title: Ad ogni linguaggio il suo compito

text:
"LudovicoVan" <
ju...@diegidio.name
> ha scritto:
> Tu continui a partire dal tecnico, per poi ammettere quasi di straforo
> che anche altro e' necessario. E non potrei essere meno d'accordo: uno
> sviluppatore e' uno che *in primis* deve saper risolvere (una certa
> classe di) "problemi", non uno che in primis accozza tecnologie e
> righe di codice e poi si vedra'. Ma cosi' era una volta, per cui tutto
> sommato non hai neanche tutti i torti...
Io sono convinto che la capacità di modellazione e problem solving
algoritmico sia la cosa più importante e anche quella che deve essere innata
nell'individuo, e che l'esperienza può solo potenziare, e non creare dal
nulla.


title: Ad ogni linguaggio il suo compito

author: dedalus

text:
On 21/12/2010 20:55, Midnightmare wrote:
> Io sono convinto che la capacità di modellazione e problem solving
> algoritmico sia la cosa più importante
+1
> e anche quella che deve essere
> innata nell'individuo, e che l'esperienza può solo potenziare, e non
> creare dal nulla.
-1
secondo me di innato non c'è proprio niente: è solo il duro studio a
fare la differenza (quindi, conta anche se e come si è fatta
l'università, ovviamente)... e poi mi pare che già uno sicuramente più
intelligente di me una volta ha detto che "Genius is 1% talent and 99%
percent hard work...".


title: Ad ogni linguaggio il suo compito

text:
"dedalus" <
uly...@email.it
> ha scritto:
> secondo me di innato non c'è proprio niente: è solo il duro studio a
> fare la differenza (quindi, conta anche se e come si è fatta
> l'università, ovviamente)...
No. E' come quando confronti in ambito matematico, due appassionati, di cui
però solo uno è veramente portato.
> e poi mi pare che già uno sicuramente più
> intelligente di me una volta ha detto che "Genius is 1% talent and 99%
> percent hard work...".
A parte che quei riferimenti in percentuale credo vadano considerati
diversamente.
E anche se effettivamente fosse l'1%, è una componente "illuminante" che ti
da la possibilità di sfruttare molto meglio il restante 99%.


title: Ad ogni linguaggio il suo compito

text:
LudovicoVan wrote:
> Vivo e lavoro a Londra da quasi 4 anni, ed e' esattamente la stessa
> cosa. L'unica differenza e' che qui sono tutti un po' piu' onesti e
> tranquilli, ovvero non ti provano ad in**lare proprio ad ogni angolo
> di strada come avviene regolarmente da noi, il che ovviamente e' gia'
> sufficiente a fare *tutta un'altra qualita' della vita*. Ma per il
> resto e' esattamente uguale: e d'altra parte non potrebbe essere
> altrimenti, visto che questo e' proprio il centro di emanazione dello
> schifo globale, altrimenti detto la capitale di questo impero di
> babbuini idioti e mortali. Non c'e' produzione, non c'e' investimento,
> non c'e' programma ne' futuro, non c'e' cultura, non c'e' arte ne'
> spirito, ne' popoli o tradizioni, ne' niente di niente di niente di
> niente, manco la musica c'e' rimasta: ormai e' solo il produciti-
> fottiti-crepati di un pianeta di orfani senza passato ne' futuro.
>
Personalmente ritengo tutta l'europa allo stesso livello.
Non che altrove esistano i paradisi ma per quello che ho visto qui
siamo al minimo.



title: Ad ogni linguaggio il suo compito

text:
Midnightmare wrote:
> Sei a favore della super specializzazione?
Sono due cose differenti che risolvono problemi diversi.
I linguaggi GPL sono orizzontali e più potenti
I linugaggi DSL sono verticali, immensamente meno potenti e risolvono
problemi molto specifici.
Il problema oggi è di capire quando diventa vantaggioso investire sullo
sviluppo di un DSL (ma è un argomento di cui si parla troppo poco e che
ha ovviamente dei costi)



title: Ad ogni linguaggio il suo compito

text:
LudovicoVan wrote:
> Tu continui a partire dal tecnico, per poi ammettere quasi di straforo
> che anche altro e' necessario. E non potrei essere meno d'accordo: uno
> sviluppatore e' uno che *in primis* deve saper risolvere (una certa
> classe di) "problemi", non uno che in primis accozza tecnologie e
> righe di codice e poi si vedra'. Ma cosi' era una volta, per cui tutto
> sommato non hai neanche tutti i torti...
Ho parlato di tecnico perchï¿œ si parlava delle competenze di un
developer e quali linguaggi dovesse conoscere. Come conseguenza ho
fatto una distinzione sul termine 'linguaggio'.



title: Ad ogni linguaggio il suo compito

text:
Ciao Raf,
On 12/21/2010 6:47 PM, Raffaele Rialdi [MVP] wrote:
> Quale dei due? :)
> Il program manager è quello buono :D
> Il product manager è il tecnico commerciale e si salva a pelo pelo ...
> sempre che sappia mantenere un briciolo di credibilità, cosa che in
> questo periodo è una dote moooolto rara :)
Onestamente non ho mai capito la differenza. :-)
Ciao,
Giulio
--


title: Ad ogni linguaggio il suo compito

text:
Ciao LudovicoVan,
On 12/21/2010 8:26 PM, LudovicoVan wrote:
> Vivo e lavoro a Londra da quasi 4 anni, ed e' esattamente la stessa
> cosa. L'unica differenza e' che qui sono tutti un po' piu' onesti e
> tranquilli, ovvero non ti provano ad in**lare proprio ad ogni angolo
> di strada come avviene regolarmente da noi, il che ovviamente e' gia'
> sufficiente a fare *tutta un'altra qualita' della vita*. Ma per il
> resto e' esattamente uguale: e d'altra parte non potrebbe essere
> altrimenti, visto che questo e' proprio il centro di emanazione dello
> schifo globale, altrimenti detto la capitale di questo impero di
> babbuini idioti e mortali. Non c'e' produzione, non c'e' investimento,
> non c'e' programma ne' futuro, non c'e' cultura, non c'e' arte ne'
> spirito, ne' popoli o tradizioni, ne' niente di niente di niente di
> niente, manco la musica c'e' rimasta: ormai e' solo il produciti-
> fottiti-crepati di un pianeta di orfani senza passato ne' futuro.
Quoto. La mentalità da "capitalismo terminale" è quella che ti forza a
ragionare solo sul breve termine. E questo - IMVHO, sia chiaro - si
riflette anche negli attori coinvolti nello sviluppo SW: non me ne frega
nulla di avere un sw manutenibile, leggibile, elegante, con un sorgente
*BELLO* da leggere, con una suite di test automatizzati da paura e ben
documentato *MA* mi interessa solo che funzioni. Che poi, 'sto
"funzioni" non significa nulla, preso così (e questo giusto per tornare
IT, anche se devo dire che condivido la tua analisi socio-economica su
tutta la linea).
Ciao,
Giulio
--


title: Ad ogni linguaggio il suo compito

text:
Giulio Petrucci wrote:
> Quoto. La mentalità da "capitalismo terminale" è quella che ti forza a
> ragionare solo sul breve termine. E questo - IMVHO, sia chiaro - si riflette
> anche negli attori coinvolti nello sviluppo SW: non me ne frega nulla di
> avere un sw manutenibile, leggibile, elegante, con un sorgente *BELLO* da
> leggere, con una suite di test automatizzati da paura e ben documentato *MA*
> mi interessa solo che funzioni. Che poi, 'sto "funzioni" non significa nulla,
> preso così (e questo giusto per tornare IT, anche se devo dire che condivido
> la tua analisi socio-economica su tutta la linea).
Ciao Giulio,
Mi preme una precisazione. Pur condividendo il fatto che il cliente
guarda solo al risultato, dissento dalle motivazioni che portano a
questo.
Eleganza, manutenibilità, documentazione sono tutti *valori* importanti
di un progetto. È semplicemente per ignoranza che non vengono
considerati.
Come conseguenza la mancanza di questi elementi si rivelano dei grossi
costi "nascosti" che ritornano come boomerang.
Qui la "La mentalità da 'capitalismo terminale'" secondo me non c'entra
proprio nulla, è solo pura ignoranza e da un punto di vista
imprenditoriale ci stanno pure perdendo.



title: Ad ogni linguaggio il suo compito

text:
Giulio Petrucci wrote:
> Onestamente non ho mai capito la differenza. :-)
http://stackoverflow.com/questions/1150982/program-manager-vs-product-manager
:)



title: Ad ogni linguaggio il suo compito

text:
On Dec 22, 2:06 pm, Raffaele Rialdi [MVP] <
malta@n0spam_vevy.com
>
wrote:
> Giulio Petrucci wrote:
>
> > Quoto. La mentalit da "capitalismo terminale" quella che ti forza a
> > ragionare solo sul breve termine. E questo - IMVHO, sia chiaro - si riflette
> > anche negli attori coinvolti nello sviluppo SW: non me ne frega nulla di
> > avere un sw manutenibile, leggibile, elegante, con un sorgente *BELLO* da
> > leggere, con una suite di test automatizzati da paura e ben documentato *MA*
> > mi interessa solo che funzioni. Che poi, 'sto "funzioni" non significa nulla,
> > preso cos (e questo giusto per tornare IT, anche se devo dire che condivido
> > la tua analisi socio-economica su tutta la linea).
+1
> Ciao Giulio,
> Mi preme una precisazione. Pur condividendo il fatto che il cliente
> guarda solo al risultato, dissento dalle motivazioni che portano a
> questo.
>
> Eleganza, manutenibilit , documentazione sono tutti *valori* importanti
> di un progetto. semplicemente per ignoranza che non vengono
> considerati.
> Come conseguenza la mancanza di questi elementi si rivelano dei grossi
> costi "nascosti" che ritornano come boomerang.
>
> Qui la "La mentalit da 'capitalismo terminale'" secondo me non c'entra
> proprio nulla, solo pura ignoranza e da un punto di vista
> imprenditoriale ci stanno pure perdendo.
Certi "costi" li vedi solo alla lunga, mentre i costi della qualita',
per quanto alla lunga sono guadagni, nell'immediato sono appunto
costi, ed e' *solo come tali* che vengono rubricati.
E' chiaro che sono piu' miopi di un branco di talpe orbe dalla
nascita, ma e' anche chiaro che non c'e' piu' spazio per fare
nient'altro, a meno di non fare prima una rivoluzione socio-politico-
economica per davvero (e spedire un bel pacco di gente nello spazio
siderale, alla conquista della polvere di stelle che gli si accumula
nel cranio vuoto).
D'altronde oggi gli unici affari che pagano sono appunto la truffa e
lo sfruttamento altrui (e chi pensa altrimenti e' un ingenuo nella
migliore delle ipotesi!). I prodotti *non devono* funzionare... che e'
gia' cosi' da quasi mezzo secolo per quanto riguarda la produzione
industriale di massa, ora l'unica non tanto sostanziale differenza e'
che si e' passati alla colonizzazione e allo sfruttamento
dell'immaginario... sempre e rigorosamente con prodotti, idee,
tecniche, teorie, storie e filosofie intrinsecamente false e fallate,
in modo che questo stupido uomo-mai-umano mai e poi mai potra'
risvegliarsi dal suo suoi sogni bagnati.
E la nostra economia uccide; e la nostra medicina uccide; e la nostra
politica uccide; e la nostra cultura uccide; e la nostra storia
uccide; e la nostra liberta' e' davvero l'ultima delle beffe in testa
a mezzo pianeta che muore di sete e fame e ad un altro mezzo che fa la
guerra a tutto cio' che si muove per un pezzo di fica in piu'.
E tu ancora mi stai a che il capitalismo terminale non c'entra e che
e' il cliente ad essere poco lungimirante... altro tema peraltro gia'
affrontato.
Vabbe', ciao!
-LV


title: Ad ogni linguaggio il suo compito

text:
LudovicoVan wrote:
> E tu ancora mi stai a che il capitalismo terminale non c'entra e che
> e' il cliente ad essere poco lungimirante... altro tema peraltro gia'
> affrontato.
Visto che i vantaggi economici a lavorare bene ci sono, il problema non
sta nel capitalismo.
Con la stessa logica c'è gente che non spende in unità di backup, e
questo è capitalismo o ignoranza ...
Mo' stacco e faccio a tutti i più sinceri auguri di buone feste.
Ciao



title: Ad ogni linguaggio il suo compito

text:
Ciao Raf,
On 12/22/2010 3:06 PM, Raffaele Rialdi [MVP] wrote:
> Ciao Giulio,
> Mi preme una precisazione. Pur condividendo il fatto che il cliente
> guarda solo al risultato, dissento dalle motivazioni che portano a questo.
>
> Eleganza, manutenibilità, documentazione sono tutti *valori* importanti
> di un progetto. È semplicemente per ignoranza che non vengono considerati.
> Come conseguenza la mancanza di questi elementi si rivelano dei grossi
> costi "nascosti" che ritornano come boomerang.
Era esattamente quello che volevo dire io. :-)
> Qui la "La mentalità da 'capitalismo terminale'" secondo me non c'entra
> proprio nulla, è solo pura ignoranza e da un punto di vista
> imprenditoriale ci stanno pure perdendo.
C'entra perché, dal punto di vista del fenomeno socio-economico, il
"breve periodo" è bello che passato. Ma all'orizzonte non si vedono
cambiamenti radicali.
Ciao,
Giulio
--


title: Ad ogni linguaggio il suo compito

text:
Ciao Raf,
On 12/22/2010 4:30 PM, Raffaele Rialdi [MVP] wrote:
> Visto che i vantaggi economici a lavorare bene ci sono, il problema non
> sta nel capitalismo.
Io e LV abbiamo parlato di capitalismo "terminale".
Ford aumentò gli stipendi dei suoi lavoratori perché così potessero
comprare le sue macchine -> investimento a lungo termine -> tutti vincono.
Ma oggi? E nel mondo del software?
> Con la stessa logica c'è gente che non spende in unità di backup, e
> questo è capitalismo o ignoranza ...
Tutte e due le cose: comprare una unità di backup *OGGI* mi costa
troppo. Peraltro non è edtto che domani la mia azienda ci sia ancora. :-/
Ciao,
Giulio
--


title: Ad ogni linguaggio il suo compito

text:
On Dec 22, 3:30 pm, Raffaele Rialdi [MVP] <
malta@n0spam_vevy.com
>
wrote:
> LudovicoVan wrote:
> > E tu ancora mi stai a che il capitalismo terminale non c'entra e che
> > e' il cliente ad essere poco lungimirante... altro tema peraltro gia'
> > affrontato.
>
> Visto che i vantaggi economici a lavorare bene ci sono,
Appunto no, non ci sono! Solo la truffa viene finanziata e vince. Cio'
di cui tu parli non esiste piu' e a rigore non e' mai esistito.
> il problema non sta nel capitalismo.
Come no, tutta colpa del... "cliente".
Ariciao: al candore.
-LV


title: Ad ogni linguaggio il suo compito

text:
"Raffaele Rialdi [MVP]" <
malta@n0spam_vevy.com
> ha scritto:
> Eleganza, manutenibilitą, documentazione sono tutti *valori* importanti di
> un progetto. Č semplicemente per ignoranza che non vengono considerati.
Ma l'azienda che sviluppa che si deve occupare di tutto questo.
Il cliente si fa guidare.


title: Ad ogni linguaggio il suo compito

text:
Giulio Petrucci wrote:
> Io e LV abbiamo parlato di capitalismo "terminale".
> Ford aumentò gli stipendi dei suoi lavoratori perché così potessero comprare
> le sue macchine -> investimento a lungo termine -> tutti vincono.
> Ma oggi? E nel mondo del software?
Io conosco molti imprenditori che sono degni del loro nome e che
spendono denaro e anima in quello che fanno.
Poi è ovvio che quelli che fanno schifezze sono gli unici che facciano
notizia.
> Tutte e due le cose: comprare una unità di backup *OGGI* mi costa troppo.
> Peraltro non è edtto che domani la mia azienda ci sia ancora. :-/
Esistono anche realtà diverse, toccate con mano.



title: Ad ogni linguaggio il suo compito

text:
LudovicoVan wrote:
> Appunto no, non ci sono! Solo la truffa viene finanziata e vince. Cio'
> di cui tu parli non esiste piu' e a rigore non e' mai esistito.
Io sono testimone che esiste ancora.



title: Ad ogni linguaggio il suo compito

text:
Midnightmare wrote:
> "Raffaele Rialdi [MVP]" <
malta@n0spam_vevy.com
> ha scritto:
>
>> Eleganza, manutenibilità, documentazione sono tutti *valori* importanti di
>> un progetto. È semplicemente per ignoranza che non vengono considerati.
>
> Ma l'azienda che sviluppa che si deve occupare di tutto questo.
> Il cliente si fa guidare.
Non sono daccordo. Il mercato è fatto di richiesta e offerta.
Se il cliente non vede il vantaggio (perché non ha la cultura per
capirlo) di una specifica, è altamente probabile che venga depennato
dai requisiti.
Finché la cultura informatica non si diffonde a tutti i livelli non ci
sarà futuro migliore di quanto vediamo oggi.



title: Ad ogni linguaggio il suo compito

text:
"Raffaele Rialdi [MVP]" <
malta@n0spam_vevy.com
> ha scritto:
> Non sono daccordo. Il mercato è fatto di richiesta e offerta.
> Se il cliente non vede il vantaggio (perché non ha la cultura per capirlo)
> di una specifica, è altamente probabile che venga depennato dai requisiti.
> Finché la cultura informatica non si diffonde a tutti i livelli non ci
> sarà futuro migliore di quanto vediamo oggi.
In effetti quando si acquista bisogna sapere quello che si compra, anche se
si tratta di soluzioni informatiche.
Però non credo si possa pretendere che il cliente chieda informazioni anche
su come il codice del suo programma sarà scritto, sulle ottimizzazioni
utilizzate, sul come sarà gestita la memoria, etc...
Penso che il massimo che gli si possa chiedere è una conoscenza sufficiente
per capire che una determinata tecnologia, anche se costa di più sul
momento, porterà dei vantaggi nel tempo.


title: Ad ogni linguaggio il suo compito

text:
Midnightmare wrote:
> In effetti quando si acquista bisogna sapere quello che si compra, anche se
> si tratta di soluzioni informatiche.
> Però non credo si possa pretendere che il cliente chieda informazioni anche
> su come il codice del suo programma sarà scritto, sulle ottimizzazioni
> utilizzate, sul come sarà gestita la memoria, etc...
> Penso che il massimo che gli si possa chiedere è una conoscenza sufficiente
> per capire che una determinata tecnologia, anche se costa di più sul momento,
> porterà dei vantaggi nel tempo.
Quando un imprenditore compra una nuova macchina tessile, stai sicuro
che sa bene quali parametri valutare.
Prima o poi accadrà anche nel nostro campo (in altri paesi già accade e
in alcuni ambiti già sta accadendo anche qui).



title: Ad ogni linguaggio il suo compito

text:
On Dec 22, 10:28 pm, "Midnightmare" <
midnightmareNOS...@live.it
>
wrote:
> [...] non credo si possa pretendere che il cliente chieda informazioni anche
> su come il codice del suo programma sarà scritto, sulle ottimizzazioni
> utilizzate, sul come sarà gestita la memoria, etc...
E hai ragione: in letteratura si distinguono i requisiti espliciti da
quelli impliciti.
A chi non lo ha, consiglio di procurarsi un buon manuale di ingegneria
del software: meglio se scritto entro e non oltre meta' degli anni
'90, altrimenti non c'e' garanzia...
-LV


title: Ad ogni linguaggio il suo compito

text:
On Dec 22, 11:11 pm, Raffaele Rialdi [MVP] <
malta@n0spam_vevy.com
>
wrote:
> Quando un imprenditore compra una nuova macchina tessile, stai sicuro
> che sa bene quali parametri valutare.
> Prima o poi accadrà anche nel nostro campo (in altri paesi già accade e
> in alcuni ambiti già sta accadendo anche qui).
Il nostro campo semplicemente *non* e' la produzione manifatturiera
(con buona pace fra l'altro del Lean e di tutte le altre amenita' del
genere), e semmai forse un giorno finalmente accadra' che gli
operatori del nostro settore (*noi*) ci risvegliamo dal nostro letargo
auto-indotto e ci *ricordiamo* che esistono parametri di complessita'
e virtualita' tali per cui certi paragoni sono semplicemente e del
tutto *sbagliati*.
Visto che siamo praticamente in tema, ne approfitto anche per
commentare l'ultimo post di luKa sul blog di UGI [*], che' se provo a
commentare li' mi censura. Il mio commento:
   "Ma tu guarda che team di sfigati: la classica situazione da tre
operai e quattro livelli dirigenziali..."
-LV
[*]
http://blogs.ugidotnet.org/luKa/archive/2010/12/19/the-managers-role-in-agile-again.aspx


title: Ad ogni linguaggio il suo compito

text:
LudovicoVan wrote:
> Il nostro campo semplicemente *non* e' la produzione manifatturiera
Non è questo che ho scritto.
L'imprenditore tessile è un esempio di un possibile cliente di un
software. Arriverà il giorno che comincerà a capire molto bene la
differenza tra due progetti sofware apparentemente uguali.
--
Raffaele Rialdi
Microsoft .NET MVP
http://mvp.support.microsoft.com
 -
http://italy.mvps.org
 UGIdotNET - User Group Italiano .NET
http://www.ugidotnet.org
 Weblog:
http://blogs.ugidotnet.org/raffaele


title: [C#] Problemi con Database Access

author: MadMax

text:
Ciao a tutti,
sto scrivendo un'applicazione che legge dei dati da un dispositivo esterno e deve memorizzarli in un DB.

Per avere una ridondanza ho pensato di salvare i dati in un file Access locale e in un database mysql remoto (dal quale verranno poi letti da una webapp in PHP).

Per adesso però non riesco a scrivere nel DB Access... studiandomi la documentazione di Visual Studio 2010 ho proceduto nel seguente modo:

1) creazione della connessione dati in "esplora server"
2) creazione del dataset da associare alla connessione dati
3) da codice, creo un'istanza del dataset e creo un table adapter che riempio con il dataset.
4) carico i dati nel dataset
5) aggiorno il table adapter

a questo punto dovrei ritrovarmi i dati nel database, giusto?

Allora perchè quando eseguo il seguente codice il database rimane vuoto?

(N.B. La tabella nel DB si chiama "Evento" e l'elemento Dataset creato in fase di progettazione "dsEvento").

//istanzio un oggetto dsEvento
dsEvento ds = new dsEvento();

//creo il Table Adapter relativo al dataset
dsEventoTableAdapters.EventoTableAdapter ta = new dsEventoTableAdapters.EventoTableAdapter();

// "riempio" il Table Adapter
ta.Fill(ds.Evento);

//Aggiungo una riga di prova
ds.Evento.AddEventoRow("1","1","Prova", "Prova");

//Aggiorno il Table Adapter con il dataset ds modificato
ta.Update(ds.Evento);

ciao e grazie a chiunque possa aiutarmi.

MMax


title: [C#] Problemi con Database Access

author: [Claudio] Vado al massimo ...

text:
Il 05/10/2011 12.13, MadMax ha scritto:
> ciao e grazie a chiunque possa aiutarmi.

Non ti posso essere di molto aiuto ma ci sono due cose che posso dirti:

1-Se già hai i dati su un DB perché per il backup non usi i tools di
questo? Mi sembrerebbe più performante e potente.

2-Per quanto riguarda i file access io in passato ne ho riusati con jet
in oledb, credo però che non esista porting di jet su 64bit (quindi devi
forzare la compilazione di .net). Tra 'altro per piccole applicazioni
erano anche piuttosto comodi, BTW tra l'altro non ho capito con che cosa
gli intenda sostituire MS in quelle applicazioni dove MSsql è eccessivo.


title: [C#] Problemi con Database Access

author: Gasogeno

text:
Il 05/10/2011 15.46, [Claudio] Vado al massimo ... ha scritto:

> 2-Per quanto riguarda i file access io in passato ne ho riusati con jet
> in oledb, credo però che non esista porting di jet su 64bit (quindi devi
> forzare la compilazione di .net). Tra 'altro per piccole applicazioni
> erano anche piuttosto comodi, BTW tra l'altro non ho capito con che cosa
> gli intenda sostituire MS in quelle applicazioni dove MSsql è eccessivo.

Ovviamente se qualcuno ha più esperienza in questo tipo di applicazioni
e intende commentare è gradito, perché nella vita futura può senza
dubbio ricapitarmi di dover operare in contesto simile :-)


title: [C#] Problemi con Database Access

text:
Il giorno mercoledì 5 ottobre 2011 15:46:47 UTC+2, [Claudio] Vado al massimo ... ha scritto:
> Il 05/10/2011 12.13, MadMax ha scritto:
> > ciao e grazie a chiunque possa aiutarmi.
>
> Non ti posso essere di molto aiuto ma ci sono due cose che posso dirti:
>
> 1-Se giï¿½ hai i dati su un DB perchï¿½ per il backup non usi i tools di
> questo? Mi sembrerebbe piï¿½ performante e potente.

non è un discorso sbagliato... il fatto è che il mio software si occupa di leggerli da un dispositivo esterno e quindi memorizzarli... siccome fisicamente il server dei dati (che devono essere accessibili dall'esterno attraverso una web app) e quello del software sono collegati da una rete, voglio fare in modo che una copia di ogni lettura rimanga comunque in locale, in modo che se la rete va giù posso comunque recuperare le letture passate.
Ecco quindi che fra le varie opzioni sul lato "locale", visto che il database è piccolo, mi è sembrato più performante usare un file access che metter su un DBMS vero e proprio... che ne pensate?

> 2-Per quanto riguarda i file access [...] Tra 'altro per piccole applicazioni
> erano anche piuttosto comodi,

ecco, appunto... ;)

MMax


title: [C#] Problemi con Database Access

author: Giovanni

text:
"Gasogeno"  wrote in message news:j6hn8g$lvm$1...@speranza.aioe.org...

Con SQL Server Express o meglio ancora con SQL Server Compact 4.0 che non ha
bisogno di server.
Ciao
giovanni


title: [C#] Problemi con Database Access

text:
"MadMax" <
manco....@gmail.com
> wrote in message
news:30842980.659.1317825407728.JavaMail.geo-discussion-forums@yqmn40...
> Il giorno mercoledě 5 ottobre 2011 15:46:47 UTC+2, [Claudio] Vado al
> massimo ... ha scritto:

> Ecco quindi che fra le varie opzioni sul lato "locale", visto che il
> database č piccolo, mi č sembrato piů performante usare un file access che
> metter su un DBMS vero e proprio... che ne pensate?

Sql Server Compact: anche solo quanto a performance penso che sia anni luce
meglio.

(Quanto all Express, se non ricordo male e' solo per uso non commerciale.)

>> 2-Per quanto riguarda i file access [...] Tra 'altro per piccole
>> applicazioni
>> erano anche piuttosto comodi,
>
> ecco, appunto... ;)

Con .Net bisogna prenderci la manetta: e' davvero sconfinato, ma con il
tempo e il consolidamento di qualche componente di base, consente altissimi
livelli di produttivita'...

-LV


title: [C#] Problemi con Database Access

text:
Il giorno mercoledì 5 ottobre 2011 21:53:44 UTC+2, LudovicoVan ha scritto:
> "MadMax" <
manco....@gmail.com
> wrote in message
> news:30842980.659.1317825407728.JavaMail.geo-discussion-forums@yqmn40...
> > Il giorno mercoledì 5 ottobre 2011 15:46:47 UTC+2, [Claudio] Vado al
> > massimo ... ha scritto:
>
> > Ecco quindi che fra le varie opzioni sul lato "locale", visto che il
> > database è piccolo, mi è sembrato più performante usare un file access che
> > metter su un DBMS vero e proprio... che ne pensate?
>
> Sql Server Compact: anche solo quanto a performance penso che sia anni luce
> meglio.
>
> (Quanto all Express, se non ricordo male e' solo per uso non commerciale.)

Grazie mille per i consigli, proverò senz'altro SQL Server Compact... però rimane il problema che il file access non riesco a scriverlo... il procedimento che ho descritto e il mio codice sono giusti?

MMax


title: [C#] Problemi con Database Access

text:
Appena fatta la prova con SQL Server CE, mi si ripresenta lo stesso problema.

Col debug vedo che la proprietà count del dataset aumenta, ma quando faccio l'Update() del Table Adapter e visualizzo il contenuto del database non c'è nulla...

MMax


title: [C#] Problemi con Database Access

text:

Alla fine della fiera ho bypassato dataset, tableadapter, ecc e ho usato direttamente gli oggetti SqlCeConnection e SqlCeCommand, ora va tutto!
MMax


title: EF code first, colonne multiple Primary Key

author: Andrea [Work]

text:
Ciao a tutti,
sto muovendo i primi passi con EF (
VB.NET
), partendo da una logica di
modellazione delle entità prima del DB.

Avrei delle tabelle con chiavi primarie multiple, visto che se posso evito
di usare i campi identity, vorrei sapere come fare.

Cercando su internet, non mi è parso molto chiaro immediato.
Premetto che utilizzo VS2010 SP1 liscio, senza altre aggiunte.

Grazie


title: [VB.NET] <StructLayout(LayoutKind.Explicit, etc etc)>

text:
<StructLayout(LayoutKind.Explicit, Pack:=0, Size:=16)> _
Public Class ClsImpacchettata
<FieldOffset(0)> dim M1 As Class1
<FieldOffset(0)> dim M2 As Class2
<FieldOffset(???))> dim L1 As Class3
End Class '' ClsImpacchettata

Dunque, dove avrei messo i ??? dovrei interrompere la
sovrascrittura, che mi serve per emulare una Union C-style,
ossia garantire che non possano coesistere valori su M1 e
M2, ma a partire da L1 deve proseguire occupando nuovo
spazio, quindi spostare offset avanti di quanto basta. Ma
QUANTO è ? Come lo ottengo ?
Ho tentato in vari modi di invocare Len e altre amenità, ma
mi chiede una costante.
Insomma dovrei interrompere in un punto interno della classe
il LayoutKind.Explicit e passare a LayoutKind.Sequential.

Mi piacerebbe poterlo fare enne volte a piacere, se possibile.
Suppongo che il problema possa essere diverso se Class1 e/o
Class2 sono value type o reference type (questi ultimi
occupano sempre 4 byte ??).

Grazie di ogni dritta.
Ah ... per gli esperti ed assidui, se state emigrando in
massa su qualche altro NG che si occupa di
VB.NET
, me lo
segnalereste mica ?
riciao
Soviet


text:
"Soviet_Mario"  wrote in message
news:4f12afa8$0$1383$4faf...@reader2.news.tin.it...

> serve per emulare una Union C-style

A parte che quegli attibuti ecc. sono pensati per COM interop, perche' mai
vuoi emulare una enum C-style?  Di nuovo 1 byte da recuperare ogni miliardo?
E la complessita' del codice e i byte e cicli di CPU che ti perdi con
quella?

Poi, piu' in generale: non si ottimizza mai alla cieca o a naso, ma solo a
fronte di un significativo benchmark e della relativa analisi dei colli (di
bottiglia).  Per il resto, il coedice deve essere *leggibiole*, che e'
davvero l'unica cosa che conta (ovvero almeno al 99.9%).

-LV


text:
Il 18/01/2012 19:24, LudovicoVan ha scritto:
> "Soviet_Mario"  wrote in message
> news:4f12afa8$0$1383$4faf...@reader2.news.tin.it...
>
>> serve per emulare una Union C-style
>
> A parte che quegli attibuti ecc. sono pensati per COM interop, perche'
> mai vuoi emulare una enum C-style? Di nuovo 1 byte da recuperare ogni
> miliardo?

no ... per uno scopo in effetti pensato male. Ossia, volevo
rinforzare il fatto che un oggetto potesse avere un unico
stato interno.
Ma ho fatto un errore marchiano, perché semanticamente i
campi esistono a prescindere dalla loro corretta valorizzazione.
Poi mi sono accorto che la presenza di un valore (tipo un
"long") non necessariamente produceva una condizione di
errore in un eventuale "single" con lo stesso indirizzo
fisico, tantomeno era vero il contrario, dato che non ci
sono condizioni di errore in un long (salvo forse un MSB a
1, segno negativo, e gli altri bit zero ... ma non sono
sicuro che dia un errore, mentre non tutti i long mappano su
single di senso compiuto (tipo hai i bit di mantissa zero e
di esponente nonzero, o viceversa, o per caso becchi pattern
specifici tipo +INF o NaN e così via).
Quindi a ben vedere la presenza FISICA di un solo dato alla
volta, non mi rafforzava per niente l'accessibilità logica,
e tutto si deve poggiare cmq sul bit field.

Il risparmio di spazio ci può stare lo stesso, perché ho
oggetti molto difformi da piazzare dentro (ma non ricordo se
dovevo copiarli o mi bastava linkarli con una reference).

> E la complessita' del codice e i byte e cicli di CPU che ti
> perdi con quella?
>
> Poi, piu' in generale: non si ottimizza mai alla cieca o a naso, ma solo

in realtà non sto ottimizzando, specie per la velocità (un
filino allo spazio ci guardo, ma non tanto).
Cerco solo di tenere le fila di una cosa che mi sta
sfuggendo di mano.

> a fronte di un significativo benchmark e della relativa analisi dei
> colli (di bottiglia). Per il resto, il coedice deve essere *leggibiole*,

concordo pienamente ! Effettivamente sto seguendo la prima
massima di Stroustrup : make it work, before you make it
faster (e sono lontano ancora dalla seconda : and KEEP it
work, while you make it faster)

> che e' davvero l'unica cosa che conta (ovvero almeno al 99.9%).

Sto faticandoci a capirmi, in effetti, seppure è davvero lo
sforzo maggiore.

ciao
Soviet

> -LV
>


text:
"Soviet_Mario"  wrote in message
news:4f173efa$0$1375$4faf...@reader2.news.tin.it...

> Poi mi sono accorto che la presenza di un valore (tipo un
"long") non necessariamente produceva una condizione di
errore in un eventuale "single" con lo stesso indirizzo
fisico, tantomeno era vero il contrario

Un long ha 64 bit e un single ne ha 32, per cui non mi rida' tanto, d'altra
parte e' vero che per entrambi vale la regola che tutte le combinazioni di
bit sono valide: ovviamente nel caso del single, ci sono combinazioni che
mappano a NaN o ad una delle infinities e, nel caso del long, per es.
0x8000000000000000 non e' altro che Int64.MinValue, visto che la
rappresentazione e' in complemento a due...

Senza stare ora a commentare punto per punto, in generale mi fai venire in
mente che se avessi una semplice reference a Object potresti appunto
metterci dentro qualunque cosa vuoi...  Ovvero, piu' seriamente, penso che
forse devi affinare un po' di piu' le tue asce riguardo ad un uso piu'
spinto appunto della tipizzazione stretta...

-LV


text:
Il 19/01/2012 12:33, LudovicoVan ha scritto:
> "Soviet_Mario"  wrote in message
> news:4f173efa$0$1375$4faf...@reader2.news.tin.it...
>
>> Poi mi sono accorto che la presenza di un valore (tipo un
> "long") non necessariamente produceva una condizione di
> errore in un eventuale "single" con lo stesso indirizzo
> fisico, tantomeno era vero il contrario
>
> Un long ha 64 bit e un single ne ha 32,

d'accordo ho scritto un refuso : intendevo long con double
(o integer con single)

>  per cui non mi rida' tanto,
> d'altra parte e' vero che per entrambi vale la regola che tutte le
> combinazioni di bit sono valide: ovviamente nel caso del single, ci sono
> combinazioni che mappano a NaN o ad una delle infinities e, nel caso del
> long, per es. 0x8000000000000000 non e' altro che Int64.MinValue, visto
> che la rappresentazione e' in complemento a due...
>
> Senza stare ora a commentare punto per punto, in generale mi fai venire
> in mente che se avessi una semplice reference a Object potresti appunto

quando ho "lasciato" il C++, ho dovuto giurare sulla tomba
della nonna bonanima che non avrei quantomeno mai dichiarato
nessuna variabile Object :) o usato il late binding.

> metterci dentro qualunque cosa vuoi... Ovvero, piu' seriamente, penso
> che forse devi affinare un po' di piu' le tue asce riguardo ad un uso
> piu' spinto appunto della tipizzazione stretta...

tra i miei tanti problemi con NET non penso che ci sia la
tipizzazione stretta in sé (tant'è vero che tra le cose che
più amavo di C++ c'erano proprio i template di template di
template etc). Semmai non riesco a usare ancora in modo
proficuo le informazioni di tipo dinamico recuperate
dall'introspezione per altri usi che non diagnostici.
Sto solo leggendo le procedure dinamiche di costruzione di
tipi, ma è incasinato e non mi ci oso ancora avventurare.
ciao
Soviet

>
> -LV
>


title: Mi consigliate una buona libreria di mocking?

text:
Ciao a tutti,
sto impazzendo con Rhino Mocks, progetto al quale va la palma d'oro di
peggior documentazione dell'universo. :-) Avete qualche libreria di
mocking alternativa da consigliarmi?
Grazie,
Giulio
--


author: Mauro Servienti [MVP]

text:
Ciao Giulio,
You wrote on 16/05/2011 :
> Ciao a tutti,
>
> sto impazzendo con Rhino Mocks, progetto al quale va la palma d'oro di
> peggior documentazione dell'universo. :-)
+1 :-)
> Avete qualche libreria di mocking
> alternativa da consigliarmi?
Moq
> Grazie,
> Giulio
.m
--
Mauro Servienti
{C67C0157-5D98-4733-A75E-93CAEE4BADC8}
Microsoft MVP - Visual C# / MCTS
http://mvp.support.microsoft.com/profile/mauro
blog @
http://milestone.topics.it
whynot [ at ] topics [ dot ] it


author: Alby

text:
"Giulio Petrucci"  wrote in message
news:4dd12661$0$18243$4faf...@reader2.news.tin.it...
> Avete qualche libreria di mocking alternativa da consigliarmi?
Concordo con Mauro: Moq tutta la vita.
> Grazie,
> Giulio
Ciao,
--
Alberto Dallagiacoma
My Blog:
http://blogs.ugidotnet.org/Alby
DotDotNet - User Group .Net Emilia Romagna:
http://www.dotdotnet.org


title: VB, ListBox e template

author: vbMizio

text:
Ciao a tutti,
sto muovendo i primi passi con Wpf, con un controllo hostato su una winform.
Questo controllo contiene solo una ListBox, che, tramite un template e
DataBinding, mostra il contenuto di alcuni oggetti di tipo "Scatola".
Ammettiamo quindi uno scenario del genere..
Ho un furgone che contiene una lista (List (of Scatola)), passo questa lista
al controllo che contiene la ListBox, trasformo la lista in una
System.Collections.ObjectModel.ObservableCollection (of Scatola), e assegno
questa nuova lista alla proprieta' ItemSource della mia ListBox.
Fin qui tutto ok :-)
Il problemino che ho e' quello di visualizzare le eventuali modifiche che
vengono effettuate all'interno del furgone (aggiunta o eliminazione di
scatole).
Attualmente ho il furgone che alza un evento per segnalare le modifiche,
quindi, vado ad eliminare tutti gli item della ListBox, riassegno la nuova
lista delle scatole al controllo con la ListBox e quindi tutto il processo
riparte.
Questa soluzione pero' rallenta un po' la visualizzazione della lista, con
un inevitabile refresh della lista stessa e con il primo item della lista
che viene visualizzato, indipendentemente dalla posizione precedente (mi
sono spiegato? ... boh).
C'e' un modo per aggiungere (o eliminare) un item in maniera dinamica senza
dover ricaricare la lista?
Naturalmente fermo restando che il nuovo item (in caso abbia aggiunto una
scatola nel furgone) dovra' rappresentare la scatola tramite il template
costruito.
Dovrei abbandonare del tutto il binding e gestire tutto a manina?
Spero di essere stato chiaro, grazie a chi avra' la pazienza di rispondermi.


title: VB, ListBox e template

author: marcosabba

text:
Il 23/06/2011 15:20, vbMizio ha scritto:
> C'e' un modo per aggiungere (o eliminare) un item in maniera dinamica
> senza dover ricaricare la lista?
> Naturalmente fermo restando che il nuovo item (in caso abbia aggiunto
> una scatola nel furgone) dovra' rappresentare la scatola tramite il
> template costruito.
> Dovrei abbandonare del tutto il binding e gestire tutto a manina?
Se non ho capito male, � proprio col binding che dovresti affrontare la
cosa, dipende cosa hai "bindato" all'itemssource della listbox:
se ci hai bindato una collection specifica, tipo ObservableCollection,
hai tutto quello che ti serve perch� gi� implementa la
INotifyCollectionChanged (che � l'interfaccia che serve a te visto che
fai aggiunte e rimozioni di scatole), dunque ti basta fare binding tra
l'ItemsSource della listbox e la collection suddetta e le modifiche alla
collection ti si riflettono automaticamente sul componente.
Se invece hai una collection pi� semplice, tipo List, devi implementare
la INotifyCollectionChanged da solo. Ecco un esempio pi� chiaro di
quello che ho scritto io, dove spiega che per fare binding a controlli
di tipo itemscontrol la collection, quale che sia, deve implementare
IEnumerable, IEnumerator, INotifyCollectionChanged (ObservableCollection
le implementa tutte):
http://social.msdn.microsoft.com/forums/en-US/wpf/thread/7b14a18f-2ed6-4713-b747-9defd05978dd/


title: VB, ListBox e template

text:
Ciao vbMizio,
You wrote on 23/06/2011 :
> Attualmente ho il furgone che alza un evento per segnalare le modifiche,
> quindi, vado ad eliminare tutti gli item della ListBox, riassegno la nuova
> lista delle scatole al controllo con la ListBox e quindi tutto il processo
> riparte.
> Questa soluzione pero' rallenta un po' la visualizzazione della lista, con un
> inevitabile refresh della lista stessa e con il primo item della lista che
> viene visualizzato, indipendentemente dalla posizione precedente (mi sono
> spiegato? ... boh).
in soldoni stai applicando un rudimentale m-v-vm. Il giro dell'evento ï¿œ
quello giusto ma devi essere un filo piï¿œ sofisticato e capire quali
sono le differenze tra le due collection in modo da sincronizzarle e
non brutalmente fare la clear+fill della ObservableCollection<>
ï¿œ abbastanza banale scriversi un metodo che faccia il sync tra due
liste, se non vuoi usare direttamente Radical, lo puoi scroccare qui:
http://radical.codeplex.com/SourceControl/changeset/view/66579#798757
.m
--
Mauro Servienti
{C67C0157-5D98-4733-A75E-93CAEE4BADC8}
Microsoft MVP - Visual C# / MCTS
http://mvp.support.microsoft.com/profile/mauro
blog @
http://milestone.topics.it
whynot [ at ] topics [ dot ] it


title: VB, ListBox e template

text:
Rispondo qui, ma vale anche come risposta a marcoasabba (risparmio bit :-)
:-) )
...
>in soldoni stai applicando un rudimentale m-v-vm.
...
Ah, bene, buono a sapersi!
...
>devi essere un filo piï¿œ sofisticato e capire quali
sono le differenze tra le due collection in modo da sincronizzarle e
non brutalmente fare la clear+fill della ObservableCollection<>
...
Ok, quindi se ho capito bene quello che mi suggerisce Mauro, quando ricevo
un evento dalla lista List(of Scatola), devo resincronizzare la
System.Collections.ObjectModel.ObservableCollection (of Scatola) generata
dalla lista List(of Scatola) con la generatrice stessa, in quanto le
modifiche fatte alla prima, non si riflettono sulla seconda, giusto?
A questo punto, le modifiche fatte sulla
System.Collections.ObjectModel.ObservableCollection (of Scatola) si
riflettono anche sulla mia ListBox.
Ho fatto un po' di prove anche con quello che ha suggerito marcosabba, ed
effettivamente utilizzando da subito una
System.Collections.ObjectModel.ObservableCollection (of Scatola), le
modifiche fatte vengono riportate anche sulla listitem, il problema e' che
mi sarebbe molto complicato andare a cambiare la mia lista List(of Scatola)
con una System.Collections.ObjectModel.ObservableCollection (of Scatola).


title: VB, ListBox e template

text:
Ciao vbMizio,
You wrote on 24/06/2011 :
> Ok, quindi se ho capito bene quello che mi suggerisce Mauro, quando ricevo un
> evento dalla lista List(of Scatola), devo resincronizzare la
> System.Collections.ObjectModel.ObservableCollection (of Scatola) generata
> dalla lista List(of Scatola) con la generatrice stessa, in quanto le
> modifiche fatte alla prima, non si riflettono sulla seconda, giusto?
ovviamente si, sono due collection diverse che non si conoscono.
> A questo punto, le modifiche fatte sulla
> System.Collections.ObjectModel.ObservableCollection (of Scatola) si
> riflettono anche sulla mia ListBox.
esatto.
> Ho fatto un po' di prove anche con quello che ha suggerito marcosabba, ed
> effettivamente utilizzando da subito una
> System.Collections.ObjectModel.ObservableCollection (of Scatola), le
> modifiche fatte vengono riportate anche sulla listitem, il problema e' che mi
> sarebbe molto complicato andare a cambiare la mia lista List(of Scatola) con
> una System.Collections.ObjectModel.ObservableCollection (of Scatola).
inoltre hai il problema "filosofico" che legheresti il tuo modello a
WPF perchï¿œ in soldoni il tuo modello non ha bisogno di una
ObservableCollection ï¿œ WPF che ne ha bisogno.
Una domanda perï¿œ: ï¿œ abbastanza curioso che il modello, direttamente il
modello, faccia push di variazioni verso la UI, puoi spiegare meglio i
dettagli del tuo scenario per capire se ci sono strade migliori oltre
alla sincronizzazione tra liste?



title: VB, ListBox e template

text:
Ciao Mauro,
...
>Una domanda perï¿œ: ï¿œ abbastanza curioso che il modello, direttamente il
modello, faccia push di variazioni verso la UI, puoi spiegare meglio i
dettagli del tuo scenario per capire se ci sono strade migliori oltre
alla sincronizzazione tra liste?
...
Non ho ben capito il dubbio, comunque faccio un piccolo riassuntino di cio'
che faccio.
Ho il mio oggetto di tipo "Furgone" che contiene degli oggetti di tipo
"Scatola", tramite la ListBox mostro all'utente la disposizione delle
scatole all'interno del furgone.
La mia UI ha vari menu, buttonbox e funzioni di Drag&Drop per poter
aggiungere, eliminare o spostare le scatole all'interno del furgone.
Naturalmente la UI "dice" all'oggetto furgone che tipo di operazioni
effettuare sulle scatole, ed e' la classe Furgone a sapere come muovere,
aggiungere o eliminare le scatole stesse.
Il furgone espone all'esterno la lista List (of Scatola), ma solo per far
conoscere alla UI il contenuto del furgone stesso, ed inoltre espone un
evento  che viene alzato quando il contenuto della lista di scatole cambia
(anche solo per l'ordine delle scatole stesse).
Quale altro approccio potrebbe esserci?
Ciao e grazie... Maurizio


title: VB, ListBox e template

text:
Ciao vbMizio,
You wrote on 27/06/2011 :
> Non ho ben capito il dubbio, comunque faccio un piccolo riassuntino di cio'
> che faccio.
> Ho il mio oggetto di tipo "Furgone" che contiene degli oggetti di tipo
> "Scatola", tramite la ListBox mostro all'utente la disposizione delle scatole
> all'interno del furgone.
> La mia UI ha vari menu, buttonbox e funzioni di Drag&Drop per poter
> aggiungere, eliminare o spostare le scatole all'interno del furgone.
> Naturalmente la UI "dice" all'oggetto furgone che tipo di operazioni
> effettuare sulle scatole, ed e' la classe Furgone a sapere come muovere,
> aggiungere o eliminare le scatole stesse.
> Il furgone espone all'esterno la lista List (of Scatola), ma solo per far
> conoscere alla UI il contenuto del furgone stesso, ed inoltre espone un
> evento  che viene alzato quando il contenuto della lista di scatole cambia
> (anche solo per l'ordine delle scatole stesse).
> Quale altro approccio potrebbe esserci?
detta così è chiara e va bene l'evento che cmunichi le variazioni e le
"differenze".



title: VB, ListBox e template

text:
Ciao,
...
>detta cosï¿œ ï¿œ chiara e va bene l'evento che cmunichi le variazioni e le
"differenze".
...
Oh, beh, allora ogni tanto ne "azzecco" qualcuna anche io :-)
Grazie di tutto!


title: notifyicon sempre visibile

author: dmaxime

text:
Ciao a tutti,
come da oggetto: cosa dovrei scrivere per far si che l'icona del mio
applicativo non venga nascosta dal sistema (win7) come se avessi
selezionato "Mostra icone e notifiche" nelle proprietà?


title: notifyicon sempre visibile

text:
Ciao dmaxime,

sembra che non sia possibile, o meglio dipende da cosa vuoi fare di
preciso, se la tua intenzione è quella di impedire all'utente di
cambiare la modalità di visualizzazione allora no, non si può fare,
altrimenti se vuoi cambiare il comportamento di default all'atto
dell'installazione probabilmente trovi qualcosa qui:
http://archive.msdn.microsoft.com/WindowsAPICodePack

.m

--
blog @ //
milestone.topics.it


title: notifyicon sempre visibile

text:
>
> sembra che non sia possibile, o meglio dipende da cosa vuoi fare di
> preciso, se la tua intenzione è quella di impedire all'utente di
> cambiare la modalità di visualizzazione allora no, non si può fare,
> altrimenti se vuoi cambiare il comportamento di default all'atto
> dell'installazione probabilmente trovi qualcosa qui:
>
http://archive.msdn.microsoft.com/WindowsAPICodePack

>
> .m
>

Ciao,
innanzitutto grazie per la risposta. In realtà mi basterebbe molto meno.
Il programmino è molto semplice: è scritto in c# (VS 2010 express), non
ha interfaccia utente ma solo una notifyicon; ad intervalli cerca un
file in rete e se esiste o se il testo ha subìto modifiche rispetto
all'ultima lettura lo visualizza nel fumetto. Se il programma riscontra
problemi di connessione (es: il pc non è in rete) cambia il colore
dell'icona (cambia l'icona). Il tutto funziona; peccato che l'icona
rimanga nascosta. Mi basterebbe che al cambiamento dell'icona, la stessa
rimanesse visibile, che so..., almeno una 20ina di secondi.


title: notifyicon sempre visibile

text:
Ciao dmaxime,

così a naso non mi vengono in mente soluzioni, anche perché tutte
andrebbero contro la volontà dell'utente. Non ti basta la
visualizzazione del "fumetto"?



title: notifyicon sempre visibile

text:
>
> così a naso non mi vengono in mente soluzioni, anche perché tutte
> andrebbero contro la volontà dell'utente. Non ti basta la
> visualizzazione del "fumetto"?
>
> .m
>
Ciao,
potrebbe bastarmi il fumetto ma ormai è più che inflazionato. Però la
prima risposta che mi hai dato è stata buona: al link che mi hai passato
e che ho, per ora, visionato in modo sommario, ho intravisto delle
proprietà estese, relative alle notifyicon, che potrebbero fare al caso
mio. Giusto il tempo di sbrogliare le urgenze e spenderò un po' ti tempo
ad acculturarmi in tal senso per poi, eventualmente, relazionare.
Intanto grazie.


title: Consiglio su corso C# e .Net Framework

author: Mario

text:
Buongiorno.
Sono programmatore C (molto poco C++), la mia azienda vuole farmi
seguire (a sue spese) un corso su C# e .Net Framework.
Considerando che sono nel Nord-Est, avete qualche corso da
consigliarmi?
Esperienze personali?
Saluti


title: Consiglio su corso C# e .Net Framework

author: Davide

text:
In article <0913e233-6f1b-49ae-9710-364949c127f4
@
h12g2000vbx.googlegroups.com
>, Mario,
tra...@googlemail.com
 ha
scritto...

Io sono di parte visto che i corsi li tengo a Milano, si deve anche
vedere cosa andrai a fare.
E' importante capire come sei messo e dove vuoi andare a parare, quante
giornate hai a disposizione e così via.
--
Cordiali saluti
Davide
Corso Microsoft net. C#
 a Monza e Brianza
www.cleosolutions.com
 (Sito in rifacimento, funziona veramente poco
adesso)


title: Consiglio su corso C# e .Net Framework

text:
Ciao Mario,

se vuoi posso metterti in contatto con Davide Vernole, ottimo
professionista e MVP, che è di venezia e haun giro di conoscenze
"locali" oltre fare lui direttamente formazione.
mauro [ at ] tpics [ dot ] it
.m
--
Mauro Servienti
{C67C0157-5D98-4733-A75E-93CAEE4BADC8}
Microsoft MVP - Visual C# / MCTS
http://mvp.support.microsoft.com/profile/mauro
blog @
http://milestone.topics.it
whynot [ at ] topics [ dot ] it


title: Consiglio su corso C# e .Net Framework

text:
On 14/07/2011 08:55, Mauro Servienti [MVP] wrote:
> Ciao Mario,
>
> You wrote on 12/07/2011 :
>> Buongiorno.
>> Sono programmatore C (molto poco C++), la mia azienda vuole farmi
>> seguire (a sue spese) un corso su C# e .Net Framework.
>> Considerando che sono nel Nord-Est, avete qualche corso da
>> consigliarmi?
>> Esperienze personali?
>> Saluti
>
> se vuoi posso metterti in contatto con Davide Vernole, ottimo
> professionista e MVP, che Ãš di venezia e haun giro di conoscenze
> "locali" oltre fare lui direttamente formazione.
>
> mauro [ at ] tpics [ dot ] it
>
> ..m
...e se uno volesse seguire (nel prossimo autunno\inverno)  corsi
cosiddetti avanzati basati su .NET Framework (linguaggio C#), magari su
AOP, IOC, patterns & best practice etc,... magari tenuti da Mauro
Servienti o anche Raffaele Rialdi? :-D
Ciao


title: Consiglio su corso C# e .Net Framework

author: Raffaele Rialdi [MVP]

text:
dedalus wrote:
> ...e se uno volesse seguire (nel prossimo autunno\inverno)  corsi cosiddetti
> avanzati basati su .NET Framework (linguaggio C#), magari su AOP, IOC,
> patterns & best practice etc,... magari tenuti da Mauro Servienti o anche
> Raffaele Rialdi? :-D
why not :) basta organizzarli e via ;-)
--
Raffaele Rialdi
http://www.iamraf.net
Weblog:
http://blogs.ugidotnet.org/raffaele
Microsoft MVP profile
https://mvp.support.microsoft.com/profile/raffaele
UGIdotNET -
http://www.ugidotnet.org/


title: Consiglio su corso C# e .Net Framework

text:
Ciao dedalus,
You wrote on 22/07/2011 :
> ...e se uno volesse seguire (nel prossimo autunno\inverno)  corsi cosiddetti
> avanzati basati su .NET Framework (linguaggio C#), magari su AOP, IOC,
> patterns & best practice etc,... magari tenuti da Mauro Servienti o anche
> Raffaele Rialdi? :-D
ï¿œ abbastanza facile...basta che vivi in una delle tante zone d'italia
in cui si mangia divinamente e ti sobbarchi il rischio che qualcuno ti
costi di piï¿œ in cibo che in giornate di formazione :-P
> Ciao



title: Consiglio su corso C# e .Net Framework

text:
On 23/07/2011 09:04, Mauro Servienti [MVP] wrote:
> è abbastanza facile...basta che vivi in una delle tante zone d'italia in
> cui si mangia divinamente e ti sobbarchi il rischio che qualcuno ti
> costi di più in cibo che in giornate di formazione :-P
ti ho mandato ieri una mail all'account whynot [ at ] topics [ dot ] it
Ciao,
Pasquale.


title: Consiglio su corso C# e .Net Framework

text:
Ciao dedalus,
You wrote on 28/07/2011 :
> ti ho mandato ieri una mail all'account whynot [ at ] topics [ dot ] it
vista stamattina :-), ti rispondo appena ho due minuti per respirare.
> Ciao,
> Pasquale.
.m
--
Mauro Servienti
{C67C0157-5D98-4733-A75E-93CAEE4BADC8}
Microsoft MVP - Visual C# / MCTS
http://mvp.support.microsoft.com/profile/mauro
blog @
http://milestone.topics.it



title: wpf evento new row sul datagrid

author: Sander

text:
Salve
ho questo quesito, forse semplice ma non ne esco.
Un datagrid è in binding con una ObservableCollection<MyType> e devo
permettere al cliente l'input dei dati direttamente nella griglia.
Al termine di ogni row, premendo enter il datagrid presenta ovviamente
una row vuota, ma in quel momento devo fare delle operazioni sulla row
appena inserita per ottenere un risultato che deve andare in una cella
della stessa row.
Non riesco ad intercettare correttamente questo evento.
Se provo col key_down/key_up del datagrid pari a key.enter, non trovo
ancora nella ObservableCollection l'ultimo item inserito (strano perche
il .count è corretto, ma l'ultimo item è vuoto).
Se provo con l'evento CollectionChanged della O.C. che gli fa da
datasource, non c'e evento all'Enter, ma solo quando si comincia a
digitare sulla nuova row.
Come fareste ?
Grazie Alessandro


title: wpf evento new row sul datagrid

text:
Ciao Sander,
You wrote on 23/02/2011 :
> Come fareste ?
così come sei non lo puoi sapere perchè non ti puoi mettere in mezzo
tra la creazione e l'aggiunta, il tutto è gestito da una roba che se
non ricordo male si chiama CollectionViewSource che sta tra la tua
DataSource (la ObservableCollection<T>) e l'ItemsControl.
Quello che puoi fare è cambiare la tua data source in qualcosa di più
complesso ed evoluto come la IEntityView<T> che trovi qui:
http://radical.codeplex.com
, è roba mia quindi se ti serve una mano per
iniziare chiedi pure qui.
.m
--
Mauro Servienti
{C67C0157-5D98-4733-A75E-93CAEE4BADC8}
Microsoft MVP - Visual C# / MCTS
http://mvp.support.microsoft.com
blog @
http://milestone.topics.it
whynot [ at ] topics [ dot ] it


title: wpf evento new row sul datagrid

text:
Il 23/02/2011 13:32, Mauro Servienti [MVP] ha scritto:
> Ciao Sander,
>
> You wrote on 23/02/2011 :
>> Come fareste ?
>
> così come sei non lo puoi sapere perchè non ti puoi mettere in mezzo tra
> la creazione e l'aggiunta, il tutto è gestito da una roba che se non
> ricordo male si chiama CollectionViewSource che sta tra la tua
> DataSource (la ObservableCollection<T>) e l'ItemsControl.
>
> Quello che puoi fare è cambiare la tua data source in qualcosa di più
> complesso ed evoluto come la IEntityView<T> che trovi qui:
>
>
http://radical.codeplex.com
, è roba mia quindi se ti serve una mano per
> iniziare chiedi pure qui.
>
> .m
>
Grazie Mauro, pero quello che devo fare è una operazione semplice e
basilare in una applicazione gestionale.  Permettimi di dire che non è
incoraggiante sapere che bisogna ricorrere a qualcosa di piu complesso
ed evoluto del framework 4.0 e Wpf per fare questa cosa, in cui non si
richiede nulla di particolare. Rimango personalmente dell'idea che wpf è
eccellente su alcuni aspetti, ma rimane discutibile su altri.
Grazie
Alessandro


title: wpf evento new row sul datagrid

text:
On 23 Feb, 15:25, Sander <
max...@yahoo.it
> wrote:
> Grazie Mauro, pero quello che devo fare una operazione semplice e
> basilare in una applicazione gestionale.  Permettimi di dire che non
> incoraggiante sapere che bisogna ricorrere a qualcosa di piu complesso
> ed evoluto del framework 4.0 e Wpf per fare questa cosa,
E ne troverai mille altre... io ci lavoro da pochissimi ma per ora è
uno sbattere la testa contro il muro per della cavolate allucinanti...
>in cui non si
> richiede nulla di particolare. Rimango personalmente dell'idea che wpf
> eccellente su alcuni aspetti, ma rimane discutibile su altri.
Non posso che quotarti in pienissimo!
Al3x


title: wpf evento new row sul datagrid

text:
Il 23/02/2011 10:41, Sander ha scritto:
> Salve
> ho questo quesito, forse semplice ma non ne esco.
> Un datagrid è in binding con una ObservableCollection<MyType> e devo
> permettere al cliente l'input dei dati direttamente nella griglia.
> Al termine di ogni row, premendo enter il datagrid presenta ovviamente
> una row vuota, ma in quel momento devo fare delle operazioni sulla row
> appena inserita per ottenere un risultato che deve andare in una cella
> della stessa row.
> Non riesco ad intercettare correttamente questo evento.
> Se provo col key_down/key_up del datagrid pari a key.enter, non trovo
> ancora nella ObservableCollection l'ultimo item inserito (strano perche
> il .count è corretto, ma l'ultimo item è vuoto).
In che senso vuoto? null?


title: wpf evento new row sul datagrid

text:
Ciao Sander,
You wrote on 23/02/2011 :
> Grazie Mauro, pero quello che devo fare è una operazione semplice e basilare
> in una applicazione gestionale.  Permettimi di dire che non è incoraggiante
> sapere che bisogna ricorrere a qualcosa di piu complesso ed evoluto del
> framework 4.0 e Wpf per fare questa cosa, in cui non si richiede nulla di
> particolare.
non ci siamo capiti, in Windows Forms era la stessa cosa, se volevi
gestire tutto dalla tua "collection" di dati senza toccare gli eventi
della griglia dovevi usare qualcosa di molto più sofisticato di una
List<T>, ObservableCollection<T> è come List<T> ma pensata per il
motore di data binding di Wpf, lei non sa nulla, in termini di
tracking, di aggiunte/rimozione/modifica. Allo stesso modo non è lei
che gestisce la creazione di nuovi "item".
Il tipo T che usi nella tua collection che cosa è? ha un costruttore
pubblico di default? puoi postare lo scheletro della classe del tipo T?
> Rimango personalmente dell'idea che wpf è eccellente su alcuni
> aspetti, ma rimane discutibile su altri.
si può sempre restare con Windows Forms oppure studiare e poi
eventualmente criticare :-) sarebbe un po' come mettersi a fare
applicazioni web senza sapere come funziona "http" :-)
Il passaggio da Windows Forms a Wpf è un bagno di sangue perchè sono
due mondi che non hanno nulla in comune, proprio nulla e aspettarsi che
funzioni allo stesso modo non fa altro che complicare le cose.
> Grazie
> Alessandro



title: wpf evento new row sul datagrid

text:
On 23 Feb, 17:16, Mauro Servienti [MVP] <mauroservie...@online.nospam>
wrote:
> Il passaggio da Windows Forms a Wpf un bagno di sangue perch sono
> due mondi che non hanno nulla in comune, proprio nulla e aspettarsi che
> funzioni allo stesso modo non fa altro che complicare le cose.
Mi permetto di rispondere io perchè sono un newbie come Sander. Sapevo
benissimo che sarebbe stato un disastro ma è uno dei motivi per cui ho
cambiato lavoro quello di imparare cose nuove.
Io penso che Sander sia sconcertato (come me) non tanto dalle
difficoltà/diverse cose ma da due cose sostanzialmente:
1. dal fatto che per fare molte cose occorre usare strumenti esterni
in maniera pesante cosa che di certo c'era anche nel vecchio mondo
(winform ma soprattutto per me winform in VB6) ma molto meno
"obbligatoria"...
2. per fare certe cose occorre fare dei giri che sembrano (anche
quando spiegati da chi "ne sa") incasinati all'inverosimile come giri
di codice/istruzioni...
Detto questo, proseguo con lo studio e con il lavoro di test per
partire tra non molto con un progettone-one-one...
Al3x


title: wpf evento new row sul datagrid

text:
Ciao Al3xI98O,
You wrote on 23/02/2011 :
> 1. dal fatto che per fare molte cose occorre usare strumenti esterni
> in maniera pesante cosa che di certo c'era anche nel vecchio mondo
> (winform ma soprattutto per me winform in VB6) ma molto meno
> "obbligatoria"...
Ho installato blend, ma non l'ho mai usato, il designer di Visxual
Studio lo uso pochissimo, conosco molto bene lo xaml e come funziona, b
basta e avanza per fare il 100% delle cose che deve fare un dev, per
tutto il resto ci sono i designer (le persone che disegnano) come in
tutte le altre discipline dell'informatica.
> 2. per fare certe cose occorre fare dei giri che sembrano (anche
> quando spiegati da chi "ne sa") incasinati all'inverosimile come giri
> di codice/istruzioni...
Il problema è che state cercando l'approccio simil windows forms e
questo vi frega in corner, Wpf ha una cosa potentissima che è il motore
di Data Binding (quello di Windows Forms a confronto è un giochetto da
sfigati) e con quello si può fare tutto, quindi è mandatory usare
Model-View-ViewModel altrimenti ci si fa male. E' poi fondamentale
capire come funzionano gli stili, i template e i trigger (o/e il
VisualStateManager) perchè se devi customizzare ad esempio le colonne
di una ListView e cerchi di farlo da codice piangi in cinese per capire
dietro le quinte come il motore di rendering di DirectX genera, per
inciso in maniera asincrona, gli elementi e peggio ancora come li
virtualizza e ricicla.
