Newsgroup: it.comp.lang.c++
Titolo: C#, impressioni?

Qualcuno ne ha sentito parlare? Opinioni in merito? Pare una cosa curiosa...
Andrea

 wrote in message
news:8p8v58$ecq$1...@fe2.cs.interbusiness.it...


 --
Diretto concorrente di Java, aggiungerei.
Martino Serri.

Salve a tutti sono nuovo di qui.
Io ho scaricato il language reference e un editor. Mi manca ancora il
compilatore, ma sono 86M!
Aspetto di riuscire a scaricarlo dall'università.
Comunque dalle specifiche promette molto bene, a differenza di J++.
Il linguaggio è un misto tra Java e C++, molto elegante, ma all'occorrenza
anche molto "granulare" come il C++.
Penso che se la Microsoft lo spingerà a sufficienza, diventeremo tutti
programmatori C#. Delphi è già spacciato, Java sopravviverà sul web, visto
che C# non è multipiattaforma.
Ciao.


Probabilmente non e' il tuo caso, ma su un altro newsgroup si notava
come intorno a C#, .NET, WinForms si e' generato un curioso traffico di
messaggi il cui tenore e' simile al tuo (anzi, anche piu' decisi, per la
verita').
L'impressione e' che sia in corso una campagna di FUD
(Fear,Uncertainty,Doubt), che e' una tecnica di marketing sotteraneo
alla quale Microsoft ha ricorso piu' volte in passato.
Delphi e' un prodotto maturo, con un suo mercato di riferimento. A
differenza di C# e' un vero compilato, per cui ci vorra' un bel po'
perche' C# possa diventare competitivo in termini di prestazioni. 
Intorno a Java esiste gia' un giro di affari enorme, soprattutto a
livello corporate. Bisognera' vedere se C# non ha perso il treno in
partenza.
Resta il C++, che con papa' C, e' "solo" il linguaggio di programmazione
piu' usato al mondo. Ne ha di strada da fare il tuo C#...
Ciao,
Nicola


Non fossiliziamoci! Ci vuole la mente aperta per poter dare un
giudizio tecnicamente valido. Bisogna provarlo e vedere se questo
linguaggio semplifica (o meglio velocizza) la scrittura del
software... come quando si passò da C a C++, ricordi?
Poi, che non sia supportato da Linux non è un grosso problema per chi
sviluppa su PC, bisogna farsene una ragione 8-)
PS: Comunque è sempre meglio avere a disposizione più 'strumenti' che
uno solo... o pochi.
Luc.





Dato che voglio imparare a programmare, mi 
piacerebbe sapere dove posso scaricare il compilatore C# e un buon 
editor.


 


grazie!
 




Il C# non č MIO. Io sono un accanito fan di Java (programmo quasi
esclusivamentecon il gioiello di Goslin), quanto a Delphi, ho lavorato nel
tempio della prorammazione Delphi a Roma: l'Alphalogic. Forse tu che sei di
objectWay (cosi' sembra dall'indirizzo e-mail) la conosci essendo un
competitor per il mercato Borland a Roma (se lavori a Roma). Comunque se
Bill Gates ha deciso che diventeremo tutti programmatori di C# e STRANAMENTE
tira fuori anche un buon prodotto, be' mettiti l'animo in pace... prima o
poi ti dovrai convertire. Con buona pace degli utenti Linux a cui va tutta
la mia stima, ma a cui la Microsoft stara' sicuramente pensando per trovare
una contro mossa. Lungi da me l'idea di portare qui come al solito una
polemica pro/contro Bill Gates, ma chiunque ha avuto a che fare con il
colosso di Redmond, ne e' uscito con le ossa rotte e per poter sopravvivere
si e' dovuto alleare con il nemico (vedi Apple).
 Ciao,
    Raf

 uno solo... o pochi.
Certamente.
Ciao,
Nicola

Premessa: e' buona norma inviare ai newsgroup messaggi in puro testo e
non HTML, perche' non tutti usano strumenti che interpretano tale
linguaggio.
In secondo luogo, ti sconsiglio vivamente di imparare a programmare in
un linguaggio che nessuno ancora conosce e che non si sa se avra'
successo o meno.
Ciao,
Nicola

 wrote in message
news:8p94cs$mj6$1...@nslave2.tin.it...


 wrote in message
news:8p9st0$n0t$1...@pegasus.tiscalinet.it...


Grazie di tutto .... :) Spero di aver impostato correttamente outlook
express !
Kappa
--
Posted from 
mail.alfacon.it
 [147.123.32.126] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 si e' dovuto alleare con il nemico (vedi Apple).
Per tua fortuna :-) la Sun con Java ha gia' dato due bastonate a
Microsoft: la prima e' la battaglia legale che ha portato alla fine di
fatto di Visual J++ e dei tentativi di MS di appropriarsi di Java,
l'altra, piu' indiretta e' la sostanziale fine che sta facendo Windows
CE, in un settore dove Java e' molto attivo.
A questo punto C# arriva con circa cinque anni di ritardo rispetto a
Java, dietro al quale si muovono non solo Sun ma IBM ed altri grossi
nomi dell'informatica. La battaglia si preannuncia decisamente dura, e
difficilmente bastera' distribuire una beta gratuitamente per vincerla.
Dopo di che se ci saranno vantaggi ad adottare C#/.NET li si adottera'.
Per il momento preferisco dedicare il mio tempo ad argomenti che mi
paiono piu' interessanti sia dal punto di vista tecnico che da quello
del mercato.
Ciao,
Nicola

Intendi forse dire che Java è un agglomerato di C++ con Visual Basic?

Delphi è già spacciato
Che cazzata ! :)
--
Andrea Laforgia (ICQ 87230455)

piu' usato al mondo. Ne ha di strada da fare il tuo C#...
NOOOO !!! Il linguaggio piu' usato al mondo e' il COBOL ! 
vuoi mettere ? :))


una contro mossa.
Si', ma temo che avra' pane per i suoi denti...


Concordo pienamente...non esageriamo!!
Come si fa a dire che Delphi è già spacciato?
Trovami almeno 3 buoni motivi x cui dovrebbe esserlo
Lawrence Oluyede
rhy...@tiscalinet.it


 se vuoi farti "assimilare" fallo pure, a quanto pare sei dell'idea che


compilatore, ma sono 86M!
Scusate, qualcuno potrebbe darmi l'url esatta dove poter scaricare il
compilatore C#?  Grazie mille.
Riccardo

Intendi forse dire che Java è un agglomerato di C++ con Visual Basic?
Piu` semplicemente... MS lo ha tirato fuori (anche?) per rispondere a
sun!
In merito abbastanza eloquenti sono state le mancate domande
che coinvolgevano java e le frecciatine di MS a sun, alla
presentazione di C# (mia opinione sulla base di quello che ho
saputo).
Paolo
-------------------------------------------
  Paolo Marotta
 
http://web.tiscalinet.it/paolo_marotta/
-------------------------------------------

software... come quando si passò da C a C++, ricordi?
Ho avuto modo di seguire un breve seminario su tale nuova
tecnologia, mi e` sembrato ci fosse qualcosa di interessante,
mi e` pero` sembrato strana l'idea di un common run time
support per linguaggi molto diversi come il VB ed il C++
e che comprendesse un garbage collector.
Inutile dire che MS conta di introdurre estensioni al C++...
MS dice che tali estensioni saranno minime nello
spirito del comitato ANSI, peccato che (se non erro) lo
standard C++ sia ISO!
Conto di poter vagliare tali "minime estensioni"!


che C# non è multipiattaforma.
Mi pare una affermazione quanto meno azzardata...
Aspettiamo prima di vedere qualcosa di piu` concreto...


>Si', ma temo che avra' pane per i suoi denti...
         ^^^^
Volevi dire *spero* , vero ? :)
Paolo ( felice utente Linux da 3 mesi )
-- 
La mia chiave pubblica per PGP e GPG la trovi qua:
http://web.tiscalinet.it/paolo_bernardi/pbkey.asc

Volevi dire *spero* , vero ? :)
temo per loro, spero per noi ;)
--
-- Andrea Laforgia (UIN 87230455) ------------------------
Non scrivetemi in privato, se non richiesto espressamente.
No replies in private e-mail, unless explicitly requested.
----------------------------------------------------------


Ho letto l'articolo di PCProfessionale di settembre. Sembra indirizzato piu'
contro Java, che a sostituire linguaggi come C/C++. Al limite puo' entrare
in concorrenza con Delphi, ma se se quest'ultimo e' sopravvisuto al C++, un
motivo ci sara' !
Mi preoccupa che una casa come la M$ produca un linguaggio : ogni 6 mesi
bisognera' aggiornare le librerie con la nuova versione vista la tendenza di
moltiplicarsi delle API in casa M$.
Comunque non mi sembra di vedere nulla di nuovo rispetto a C++/Java/Delphi :
se hanno introdotto un nuovo linguaggio e' solo per eliminare qualche
concorrente ( che puo' essere Sun ( Java ) o Imprise ( Delphi ) ).
Non so se avra successo, la M$ e' certamente capace di imporre ( vista la
sua quota di mercato ) un linguaggio, ma mi sembra che abbia collezzionato
anche degli insuccessi : vedi gli script sotto windows, anche perche un
ottima porta d'accesso per i virus; e vedi anche vbscript per quando
riguarda alternativa a javascript nella guerra dei browser....
<POLEMIC MODE> finche' non ci sara un implementazione sotto linux ( e
spero che non ce ne sia ) rimane solo un problema di Window$ </POLEMIC MODE>
Goffredo Baroncelli


Proprio quello stavo dicendo. Il fatto che la Microsoft abbia fatto prodotti
criticabili come J++ (per non dire peggio), non significa che non possa
imporre il suo C#, soprattutto se STRANAMENTE (ripeto) e' un buon prodotto.
Tra l'altro in Italia il J++ ha avuto quasi piu' successo di Java (c'e' chi,
giuro, e' convinto il prodotto Sun sia una "sottomarca" di quello
Microsoft).
Ciao,
   Raffaello

Microsoft).
Ehmm... questo e' lontano dal dire che un prodotto ha avuto piu'
successo di un altro. Io conoscevo una ragazza che pensava che "How
deep is your love" fosse una canzone dei Take That !!! :)
--
Andrea Laforgia (UIN 87230455)
----------------------------------------------------------
Non scrivetemi per e-mail, se non richiesto espressamente.


Microsoft).
Off topic. Pero' non resisto.
Un mio amico e' arrivato a dire (cito testualmente)
  "J++ e' un po' come Java, solo che pero' e' a oggetti."
No comment. Mi domando a quale rivista si possa addossare la colpa
di una simile disinformazione.
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff

"Goffredo Baroncelli" <gh...@sphera.bhome> ha scritto nel messaggio
news:slrn8rl0ik...@sphera.bhome...

Personalmente credo che la Microsoft dovrebbe pensare a migliorare
il suo Visual C++ (principalmente riguardo l'ANSI/ISO C++) invece di
uscirsene con un nuovo linguaggio.
Manlio Perillo

 deep is your love" fosse una canzone dei Take That !!! :)
Beh, lo sanno tutti che č dei Boyzone!;)
No davvero, di chi č? Mai sentita.
é grave?


spero che non ce ne sia ) rimane solo un problema di Window$ </POLEMIC MODE>
Un motivo di piu` per continuare ad utilizzare C++ standard + java!


"Raffaello Salvucci":
| Delphi è già spacciato
a proposito di spacciare,
mi daresti il numero del tuo spacciatore? :-)

Vorrei solo aggiungere tre dati.
Sun ha fallito il processo di standardizzazione di Java in maniera misera, prima negli USA e poi anche con l'ente Europeo. 
Questo ha un significato strategico/commerciale e rappresenta un grosso fallimento di Java. 
Invece C# ha superato il processo di standardizzazione con l'ente Europeo, quindi chiunque, senza bisogno di versare somme a MS potrà farne un'implementazione su qualunque piattaforma. E chiunque potrà proporre estensioni/evoluzioni del linguaggio che verrano vagliate dall'ente di standardizzazione.
C# non è destinato nemmeno lontanamente a sostituire il C++, è semplicemente un linguaggio sufficentemente espressivo per poter sviluppare velocemente progetti di una certa complessità (come i Business Object dell'Application Layer in una applicazione 3-Tier) seguendo i paradigmi OO. Senza bisogno di pagare il prezzo (e la competenza) di un programmatore C++!!!
_______________________________________
 Luca Minudel   Consulente Informatico
 
luca.m...@nline.it
 Conegliano (TV)
 WWW    
http://www.nline.it/consulting

 Invece C# ha superato il processo di standardizzazione con l'ente Europeo, quindi chiunque, senza bisogno di versare somme a MS potrà farne un'implementazione su qualunque piattaforma. E chiunque potrà proporre estensioni/evoluzioni del linguaggio che verrano vagliate dall'ente di standardizzazione.
Posto che effettivamente a qualcuno interessi farlo...
 
Ciao,
Nicola

 Posto che effettivamente a qualcuno interessi farlo...
Speriamo ... 
 
Fausto

C++!!!
Da quando in qua i programmatori si pagano in base al linguaggio ?

  
Su questo concordo. 
Ma visto che è la prima cosa tecnicamente ineccepibile (il successo del processo di standardizzazione, NON il linguaggio) fatta da MS, bisogna riconoscerla :)))
Ciao


 Da quando in qua i programmatori si pagano in base al linguaggio ?
Da sempre, che io sappia.
EMG

A me risulta che vengano pagati in base alle capacità, non tanto in
relazione al linguaggio in se stesso..
rhymes
rhy...@forevergames.net
*************************************
Redattore di Forevergames.net
www.forevergames.net
*************************************


 relazione al linguaggio in se stesso..
Si, dovrebbe essere così ma purtroppo alcune categorie di programmatori
vengono considerati di seconda scelta indipendentemente dalla loro
preparazione.
EMG

preparazione.
che differenza fai tra preparazione e linguaggio ?

 Speriamo ...
Francamente penso che Microsoft avrebbe fatto meglio a lavorare su Java
seriamente, invece che inventarsi un'imitazione.
Ciao,
Nicola

 Ma visto che è la prima cosa tecnicamente ineccepibile (il successo del processo di standardizzazione, NON il linguaggio) fatta da MS, bisogna riconoscerla :)))
Piu' o meno come la prima volta che un piromane riesce a prendere in
mano una scatola di cerini senza scatenare un incendio.
Ciao,
Nicola

 seriamente, invece che inventarsi un'imitazione.
Perche'?   
Perche' lavorare su di un linguaggio ove l'integrazione con componenti
sviluppati con altri linguaggi e' impossibile (o quasi)???
Fausto

 sviluppati con altri linguaggi e' impossibile (o quasi)???
Solo perche' nessuno ha ritenuto di portare altri linguaggi sulla Java
Virtual Machine? Sara' mica colpa di Sun questo (per quanto ne so almeno
Eiffel e' stato portato).
Nel frattempo Java esiste e da' da mangiare gia' ad un bel numero di
persone (e non solo dipendenti di Sun, IBM e consimili). Microsoft
invece mi pare ancora piuttosto indietro con la sua nuova piattaforma.
Ciao,
Nicola

 che differenza fai tra preparazione e linguaggio ?
Intendiamoci: io non faccio nessuna differenza. Ma purtroppo è il
mercato che la fa... :-(
EMG
PS. Comunque un programmatore esperto in C++ (intendo veramente esperto)
in generale sarà più preparato di uno esperto in Visual Basic, o no?

in generale sarà più preparato di uno esperto in Visual Basic, o no?
Quello che si puo` dire e` che il programmatore C++ ha dovuto studiare
parecchio piu` di quello VB a parita` di padronanza dei rispettivi
linguaggi.


specifici per Windows.
Con il risultato che la standardizzazione di VC++ e` ancora
molto indietro. Proprio oggi mi sono scontrato con le
eccezioni standard (std::logic_error) che apparentemente ci sono, ma
che in pratica
non ho capito come utilizzarle. Naturalmente su MSDN si parla solo
delle eccezioni MFC!!!!!


sviluppati con altri linguaggi e' impossibile (o quasi)???
Non intendo polemizzare, ma e` prassi di MS imporre i suoi standard
invece di cooperare. Lo ha fatto in tante occasioni e continua a
farlo.
Fin quando esisteranno piu` standard (di fatto e non) l'integrazione
non sara` mai completa.


in generale sarà più preparato di uno esperto in Visual Basic, o no?
Premessa: non sono esperto di C++. Pero' ho ficcato il naso in molti
linguaggi e cio' mi permette di avere una visione di "ampio respiro". Per
certi programmi il C++ e' uno spreco:
-se devo fare un programma piccolo ed efficente utilizzo il C ( un modulo
per il kernel di linux ? )
-se devo fare un programma stupido con finestre sotto Win utilizzo il VB
-se devo fare un programma piu' impegnativo utilizzo delphi
-se devo fare un programma semplice e piccolo vanno bene gli script perl ( e
questo perche' la M$ non ha portato il quickbasic a 32 bit !!! IMHO :)))
Posso essere anche molto bravo in C++ ma se il problema lo risolvo con 10
righe di perl .. a che serve ?
E comunque non va sottovalutata la velocita di produzione dei linguaggi
visuali ( ovvero VB e delphi ).
Per ogni cosa il suo strumento. Poi il costo/guadagno e' una logica
conseguenza.

delle eccezioni MFC!!!!!
Esiste da qualche parte un specie di test per verificare l'aderenza
allo standard di un compilatore? Qualcosa tipo una serie di sorgenti
che lo mettono alla prova sulle questioni più "ardue" (ad esempio i
template) ? Se il codice prodotto fa quello che dice lo standard
allora il compilatore è aderente altrimenti no. Potrebbe essere una
bella idea, no?

 wrote in message
39c8fe34...@news.tiscalinet.it...


 bella idea, no?
Condivido. Se non ci fossero bisognerebbe proprio scriverli. Se io ne
fossi in grado me li farei da solo. Se qualcun'altro qui del gruppo
fosse interessato che ne dite di farli insieme, sempre che non esistano
già?
EMG

 gią?

combina una nuova :)). mi aggrego quindi alla richiesta!
Potremmo provare a fare qualcosa, nelle faq c'e` un pezzo di codice
che ad esempio testa la deduzione implicita dei parametri.
Si potrebbe pensare di scrivere dei frammenti di codice che testino
almeno gli aspetti piu` importanti... non e` pero` facile ci sono
troppe cose da testare.
Vogliamo provare? Io posso cercare di contribuire nel pochissimo tempo
libero che mi rimane.


 libero che mi rimane.
Io propongo di iniziare stilando una lista, il più possibile completa,
degli aspetti che sarebbe necessario controllare. Poi lascieremo
all'iniziativa e buona volontà dei singoli scrivere programmini completi
per ogni punto. E man mano aggiorneremo la lista con quelli già
realizzati fino al suo completamento.
EMG

Esistono, ma per quanto ne so non sono di pubblico dominio. Li vendono
ad esempio Plum Hall e probabilmente Dinkumware.
Mi pare di ricordare pero' che quelli di Boost, 
www.boost.org
, stessero
pensando a qualcosa del genere.
Ciao,
Nicola

libero che mi rimane.
Visto che sono io ad avere tirato fuori la questione mi sento in
dovere di darvi almeno un appoggio morale. Purtroppo non credo di
essere ancora in grado di scrivere codice del genere :-(


ok, questa è una breve lista (e' presa dalla documentazione del compilatore
KAI). Queste sono le feature:
Partial Specialization of templates
Partial Ordering of function templates
Member templates
Default arguments for templates
Covariant Return Types
Explicit instantiation of templates
ANSI keywords -- mutable, typename
ANSI types -- bool and wchar_t
ANSI casts -- const cast, static cast, dynamic cast, and reinterpret cast
RTTI (runtime type identification)
Namespaces
Exceptions
Scope of variable declared in for-init statement is the loop
NCEG extension -- restrict
e queste sono le deviation conosciute:
Reinterpret_cast does not allow casting a pointer to member of one class to
a pointer to member of another class if the classes are unrelated
Two-phase name binding in templates, as described in [temp.res] and
[temp.dep] of the standard
Putting a try/catch around the initializers and body of a constructor
Template template parameters
Universal character set escapes (e.g., \uabcd)
The export keyword for templates
mi sembra un buon punto di partenza. Purtroppo personalmente non le conosco
nemmeno tutte (sono fermo alla 2 edizione del libro di BS sul C++).

 libero che mi rimane.
ci sto :))

 sua nuova piattaforma.
Mah!! Staremo a vedere se sara' valida o meno. 
Fausto

 Mah!! Staremo a vedere se sara' valida o meno.
Perche' lo sia veramente deve cambiare la testa di Microsoft, e non
necessariamente dal punto di vista tecnico.
Ciao,
Nicola

Member templates
[...]
Aggiungerei:
a) supporto alla deduzione implicita dei parametri di un template (il
codice c'e` gia` nelle faq)
b) Supporto delle eccezioni standard e delle eccezioni in generale
     (VC++ ad esempio non supporta la dichiarazione delle eccezioni
nei prototipi delle funzioni).
c) supporto del namespace std (almeno per le cose
     piu` comuni).
d) supporto agli header standard (spesso i nomi non corrispondono)....
     pero` questa non e` cosi` semplice.
Si tratta di aspetti abbastanza semplici ma che alcuni compilatori
ancora non supportano (immaginiamoci le cose piu` astruse).


 wrote in message
sp92ts8l5pcllg3mt...@4ax.com...



In questo caso sei tu a sbagliare non il compilatore.
Hai dimenticato di fare:
    file.clear();
(che va usato ogni volta che lo stato dello stream non è più
good)
Tieni conto, inoltre, che se tenti di leggere oltre la fine del file
viene settato anche failbit.
Di conseguenza ogni successiva operazione sullo stream
(incluso seekg) fallirà.
Quindi ad esempio:
// lettura oltre la fine del file:
// ...
file.seekg(0);
file.clear();
std::cout << "posizione: " << file.tellg() << '\n';
Sullo schermo non apparirà "posizione: 0
Manlio Perillo

     file.clear();
esatto, quella era la soluzione. Ma davvero questo è un comportamento
normale?
... qui urge assolutamente l'acquisto di qualche nuovo libro (povero
portafogli :()


Dipende da che libri possiedi già.
Il libro dello Stroustrup "The C++ Programming Language"
third edition, resta comunque una guida 'completa' sul C++.
Manlio Perillo

 third edition, resta comunque una guida 'completa' sul C++.
ho dato un'occhiata alla terza edizione e, in confronto alla mia seconda, ha
un _mucchio_ di roba in più, e penso proprio che appena posso me lo compro

Direi che un buon punto di partenza per individuare le aree da
verificare e' dato dai sorgenti della libreria standard (ad esempio la
Rogue Wave distribuita con il compilatore Borland).
Molto spesso infatti vengono usate delle macro dai nomi abbastanza
espliciti per circoscrivere workaround a problemi specifici di una
piattaforma.
Ciao,
Nicola