Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

C#

Linguaggi e sistemi

Moderatori: Foto UtenteMassimoB, Foto UtentePaolino, Foto Utentefairyvilje

4
voti

[1] C#

Messaggioda Foto UtentePietroBaima » 12 apr 2013, 14:50

Ciao a tutti,

Essendo ignorante in merito, ero curioso di avere qualche parere sul C#.
Alcuni me ne hanno parlato benissimo, altri malissimo.
Una rapida occhiata sul web... ha confermato questa tendenza alla divisione in due pattern densi!

:-M

Inoltre, quali sono le sue applicazioni più consone?
E portabile con facilità?
"Pros and cons" da sapere?

Grazie 1k per l'aiuto! ^_^

Ciao,
Pietro.
Generatore codice per articoli:
nomi
Sul forum:
[pigreco]=π
[ohm]=Ω
[quadrato]=²
[cubo]=³
Avatar utente
Foto UtentePietroBaima
87,1k 7 12 13
G.Master EY
G.Master EY
 
Messaggi: 11739
Iscritto il: 12 ago 2012, 1:20
Località: Londra

2
voti

[2] Re: C#

Messaggioda Foto Utenteeimiar » 12 apr 2013, 15:47

Il C# viene applicato ovunque ci sia un framework .net nei sistemi windows o mono nei sistemi linux.
Le applicazioni sono infinite non ha neanche senso elencarle, essendo successore del C++ ci puoi fare praticamente ogni cosa, tempo fa alcuni ricercatori microsoft stavano addirittura sviluppando un sistema operativo con parte del codice in C# e framework .net

Di features aggiuntive rispetto al C++ ce ne sono tantissime, il linguaggio è orientato a oggetti e per quasi tutte le operazioni da fare hai bisogno di istanziare una classe.

Alcune feature che mi vengono in mente:
. Interfaces
. Codice safe/unsafe
. Codice managed/unmanaged
. LINQ e PLINQ

Pros: più semplice del C++
Cons: necessita il framework .net e se nel tuo sistema non hai molte applicazioni che lo utilizzano, il programma ci mette qualche secondo in più ad avviarsi


P.S.
Io prima codavo tutto in C/C++
Adesso non faccio più niente senza C#
Avatar utente
Foto Utenteeimiar
264 5
Frequentatore
Frequentatore
 
Messaggi: 112
Iscritto il: 3 feb 2011, 16:41

2
voti

[3] Re: C#

Messaggioda Foto UtenteFrancescoFP » 12 apr 2013, 15:49

Ciao Pietro,

Ti parlo della mia personalissima esperienza con il C#. Circa due anni fa ho iniziato ad avvicinarmi al framework Microsoft .NET, e tra i tanti linguaggi che esso mette a disposizione ho "scelto" il C#. perché? perché avendo già studiato il C ed il C++ mi sembrava una buona scelta la mia, anche perché poi Visual Basic non mi ha mai attirato tanto come linguaggio.

Io con questo linguaggio sviluppo piccoli progetti domestici/scolastici, sia di tipo "interfaccia a caratteri", sia di tipo "interfaccia grafica". Devo dire che è un linguaggio di alto livello davvero semplice, nel senso che se utilizzi Visual Studio, o comunque l'equivalente SharpDevelop che è open source, molto del codice di base te lo scrive il compilatore. Non ho dovuto studiare troppo per riuscire a fare i miei piccoli progetti, anche costruendo una GUI. Ovviamente la mia è un'esperienza personale, e comunque io non ho dovuto sviluppare programmi difficilissimi, per quelli uso il C o il C++ :D

E' chiaro che dipende da cosa vuoi farci, un po' come tutte le cose. SE sei interessato a costruire programmi che abbiano requisiti real-time o comunque programmi in cui il tempo di esecuzione è critico, personalmente ti sconsiglio il C# in quanto è abbastanza "lento", dato il fatto che si appoggia a vari strati intermedi prima di essere eseguito. Per questo tipo di applicazioni bisogna utilizzare o il C o il C++.

Con questo non intendo dire che non sia un buon linguaggio, anzi! Io ne ho un'esperienza positiva, è facile da usare e ricco di esempi, soprattutto dalla reference guide della Microsoft. SE ti interessa un linguaggio facile da usare, pieno di funzioni che ti aiutano a scrivere i tuoi programmi, specie utilizzando la GUI, allora credo che il C# sia il linguaggio che fa per te.

Ci tengo a ricordarti che non puoi utilizzarlo sotto GNU/Linux o Mac in quanto lì manca totalmente il framework .NET, che è di fondamentale importanza per far funzionare i programmi scritti in C#. In genere sono questi i maggiori/più evidenti pro e contro del linguaggio.

Spero di esserti stato d'aiuto.

Ciao, Francesco :D O_/
Avatar utente
Foto UtenteFrancescoFP
834 4 10
 
Messaggi: 32
Iscritto il: 17 ott 2012, 10:53

1
voti

[4] Re: C#

Messaggioda Foto Utenteeimiar » 12 apr 2013, 15:53

FrancescoFP ha scritto:Ci tengo a ricordarti che non puoi utilizzarlo sotto GNU/Linux o Mac in quanto lì manca totalmente il framework .NET, che è di fondamentale importanza per far funzionare i programmi scritti in C#. In genere sono questi i maggiori/più evidenti pro e contro del linguaggio.


Sbagliato.
Esiste un'implementazione del .net sotto sistemi linux e mac osx, si chiama mono
Avatar utente
Foto Utenteeimiar
264 5
Frequentatore
Frequentatore
 
Messaggi: 112
Iscritto il: 3 feb 2011, 16:41

1
voti

[5] Re: C#

Messaggioda Foto UtenteFrancescoFP » 12 apr 2013, 15:55

Giusto, ma credo che non sia efficiente come quella "originale" Microsoft. E poi io intendevo la portabilità cross platform propria del C :D

In ogni caso grazie della correzione!

Ciao, Francesco O_/
Avatar utente
Foto UtenteFrancescoFP
834 4 10
 
Messaggi: 32
Iscritto il: 17 ott 2012, 10:53

2
voti

[6] Re: C#

Messaggioda Foto Utentesimo85 » 12 apr 2013, 16:18

Foto UtentePietroBaima, visto che hai voglia di studiare il C#..

Programming C# 4.0 6th Edition.

O_/
Avatar utente
Foto Utentesimo85
30,8k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59

2
voti

[7] Re: C#

Messaggioda Foto UtentePietroBaima » 12 apr 2013, 16:21

Grazie a tutti per i preziosi pareri, consigli e libri. Voti meritatissimi! :D
Foto Utentesimo85, a te piace, quindi il C#?

Grazie ancora,
Pietro.
Generatore codice per articoli:
nomi
Sul forum:
[pigreco]=π
[ohm]=Ω
[quadrato]=²
[cubo]=³
Avatar utente
Foto UtentePietroBaima
87,1k 7 12 13
G.Master EY
G.Master EY
 
Messaggi: 11739
Iscritto il: 12 ago 2012, 1:20
Località: Londra

2
voti

[8] Re: C#

Messaggioda Foto Utentesimo85 » 12 apr 2013, 16:37

PietroBaima ha scritto:a te piace, quindi il C#?


Non ti so rispondere. Non ho mai programmato in C#, dovrei studiarlo e praticarlo (nel caso so già su quale libro studiare, ma ce ne sono altri).

I miei interessi personali si stanno orientando verso altre direzioni, che non mi portano in questo momento a studiare C# o quale altro linguaggio ad oggetti. Per il momento eh. :-)

Anyway buono studio.
Avatar utente
Foto Utentesimo85
30,8k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59

1
voti

[9] Re: C#

Messaggioda Foto UtenteFrancescoFP » 12 apr 2013, 18:53

Mi associo all'augurio di Foto Utentesimo85, buono studio Foto UtentePietroBaima! :ok:

Non so se suoni come una cosa piacevole o come una minaccia, ma se hai qualche dubbio, al limite delle mie possibilità, ti aiuterò come posso :mrgreen:

Saluti, Francesco O_/
Avatar utente
Foto UtenteFrancescoFP
834 4 10
 
Messaggi: 32
Iscritto il: 17 ott 2012, 10:53

6
voti

[10] Re: C#

Messaggioda Foto Utentedimaios » 14 apr 2013, 11:46

Ciao Foto UtentePietroBaima, programmo in C# da circa 10 anni e francamente sono abbastanza soddisfatto del linguaggio.
In realtà per dare un giudizio sul linguaggio bisognerebbe evitare i riferimenti alla libreria ma in questo caso non ha molto senso.
Infatti il C# nasce insieme a .NET e successivamente è stato approvato come standard dall' European Computer Manufacturers Association ( ECMA ).

Quindi nel proseguo del post considero C# e .NET integrati in quanto i due risultano strettamente legati sin dalla genesi.

PRO :
    Semplice da imparare
    Molto potente nei costrutti
    Programmi applicazioni WinForm e WebForm con lo stesso linguaggio
CONTRO :
    Lavora in ambiente managed ove non c'è la distruzione deterministica dell'oggetto ( vedi Garbage Collector ). Questo in certe applicazioni non è molto gradito.
    Il software non è facilmente portabile su un'altra piattaforma ( il passaggio da .NET a Mono non è semplice )
    Il .NET JIT compiler a volte sconsiglia di impiegarlo in algoritmi ove il determinismo dell'esecuzione è fondamentale. ( p.s. devo dire comunque che sono rimasto colpito dall'ottimizzazione di velocità del codice eseguita dal JIT compiler.)

Fondamentalmente ti consiglio il C# per tutto tranne per gli algoritmi spinti oppure quelli che devono essere eseguiti in tempi certi ( non mi riferisco al realtime visto che in Windows non esiste a meno di non ricorrere alle estensioni).
Per le parti matematiche ti consiglio di scrivere il codice in C++ ed inglobarlo in una DLL che richiami da .NET grazie ai meccanismi di interoperability.
Attenzione comunque all' exception handling. L'ambiente .NET è un mondo diverso da Win32 per cui tutte le funzioni richiamate nella dll che gira in ambiente Win32 devono essere monitorate attentamente per evitare che si generi un'eccezione che in pratica .NET non è in grado di gestire.
Con le dovute cautele comunque si riesce a fare tutto e gira egregiamente. ;-)
Ingegneria : alternativa intelligente alla droga.
Avatar utente
Foto Utentedimaios
30,0k 7 10 12
G.Master EY
G.Master EY
 
Messaggi: 3371
Iscritto il: 24 ago 2010, 14:12
Località: Behind the scenes

Prossimo

Torna a PC e informatica

Chi c’è in linea

Visitano il forum: Nessuno e 6 ospiti