Programmare in .NET con C#

Con questo articolo iniziamo un corso per principianti sul linguaggio di Microsoft per piattaforma NET C#.

Introduzione

Per Microsoft il C# ( C sharp ) è il linguaggio di punta per lo sviluppo sulla piattaforma .NET e come vedremo fra poco la soluzione all’uso del Java. La nascita della piattaforma .NET è stato il frutto da parte di Microsoft di trovare un’alternativa al linguaggio Java di Sun, difatti tutti ricorderete le dispute fra questi 2 colossi del software riguardo a questo linguaggio e le modifiche che la casa di Redmond aveva apportato al J++. Gli sviluppatori possono compilare o interpretare i linguaggi di programmazione: ad esempio, compilano il C/C++ e interpretano il Basic. I creatori di Java introdussero per primi il concetto di linguaggio semi-compilato, progettandolo per essere compilato in bytecode. Successivamente, la Java Virtual Machine (JVM) interpreta la parte non compilata. Poiché esiste una JVM per ogni sistema operativo, Java consente agli utenti di eseguire i programmi praticamente su tutte le piattaforme che la supportano. La piattaforma .NET è la risposta di Microsoft a Java ed infatti raccoglie tutte le sue caratteristiche fondamentali, ovviamente qualcosa cambia, ma solo a livello di dettaglio, l’idea fondamentale è simile.

Struttura del corso

Questo corso su C# sarà costituito da varie lezioni che avranno, credo, cadenza settimanale, tra una lezione e l’altra consiglio vivamente di fare degli esperimenti, la curiosità deve essere sempre attiva, altrimenti poca strada si compie, anche perché la teoria si dimentica facilmente. Per esercitarvi invece potete scaricare Visual Studio ( C# ), che è gratuitamente utilizzabile anche per sviluppare software professionali.

Il linguaggio

Il C# è un linguaggio molto potente, perché è a metà strada dalla complessità del C++ e la facilità di VB.NET. Dopo che avrete imparato questo linguaggio passare a C++ sarà meno traumatico che un salto dal Basic al C, mentre passare poi al VB sarà quasi una passeggiata. Il C# è case sensitive, differenzia cioè tra maiuscole e minuscole, quindi una variabile di nome “X” sarà diversa da “x”. Come in C i blocchi di codice sono delimitati da parentesi graffe. Bisogna terminare ogni istruzione con un punto e virgola, eccetto quelle che definiscono cicli o blocchi di codice, proprio come avviene nel linguaggio C. I commenti si inseriscono come in C/C++ e Java:

// Questo è un commento su una riga

/* Per scrivere un commento su più righe,

si deve utilizzare la sintassi prevista per i commenti multilinea. */

Hello World

A questo punto possiamo creare il primo progetto, il classico Hello World in console. Aprite Visual C# e dal menu file create un nuovo progetto, scegliete console e inserite il titolo del progetto, io inserirò “Corso”.

using System;
public class Corso
{
    static void Main(string[] args)
    {
        Console.WriteLine("Ciao Mondo");
        Console.ReadLine();
    }
}

L’indentazione è molto importante ed iniziate anche da questi semplici esercizi ad utilizzarla. Nella prima riga si includono le funzioni della console e del sistema. Subito dopo, si definisce la classe principale (approfondiremo le classi nelle lezioni successive) e si scrive la funzione statica Main, che rappresenta il punto di ingresso del programma. Gli argomenti della riga di comando, indicati con args, verranno trattati più avanti nel corso. La funzione WriteLine di Console serve per scrivere una stringa ( nella programmazione è il testo ), mentre la ReadLine serve per avere una stringa in input da Console ed in questo caso l’ho inserita per fermare il programma e visualizzare l’output a video, premendo un tasto qualsiasi il programma termina; si perché il programma presenta sempre un inizio ( la funzione main ) ed una fine e va dall’alto al basso. La prossima lezione verterà sulle strutture di controllo del linguaggio e sempre nuovi esempi di codice.

Indice Lezioni – Lezione Successiva >>

4 commenti

  1. Ciao, sono delle vicinanze di pavia, programmo in c# da 1 anno circa ma non ho mai approfondito piu’ di tanto. Anni fa programmavo in QB 5 (editor in dos) e vendevo software a milano che poi finivano nelle edicole ….. ( ricordi i floppy da 3,5 ?
    Ora mii stavo applicando ad un progetto (web chat) … per intenderci tipo badoo o altre simili ( ribadisco TIPO badoo) …. so perfettamente che badoo ha alle spalle un team da invidia, anche se potrebbero fare di meglio.
    Quindi sono alla ricera di un programmatore (C#) che mi venga in ausilio la dove mi areno….. in pratica CLIENT-SERVER .
    Ho già strutturato il Db (SQL Express) e alcune schermate molto carine a mio giudizio con icone di buona grafica.
    E’ possibile avere una collaborazione ?
    Per quanto riguarda il tuo tempo possiamo parlarne.
    Resto in attesa.
    Nicola.

    • Ciao Nicola, al momento sto terminando i miei progetti, penso che occorra fino ad anno nuovo e quindi non ho il tempo materiale per collaborare. Comunque c’é una sezione dedicata al C# sul mio forum, se vuoi posso rispondere ( quando ho tempo ) ai tuoi quesiti. A presto.

  2. Ciao Giampaolo,complimenti per il corso su C#….lo sto leggendo poiché sono in sede della mia azienda per autoformazione.io sono Javista (ma hoprogrammato anche in Visual Basic) ,ma ho voluto usare questo tempo per studiarmi .NET e C#,che non èmolto diverso da Java.

    Volevo solo consigliarti di mettere un indice di riepilogo sulle variepagine del corso, cosi si puo’ accedere direttamente alla pagina secondo l’argomento che interessa.

    grazie e buon lavoro

    Paolo

    P.S.non riesco a iscrivermi al tuo forum poichénon riconosce lamia email gmail

    • Ciao Paolo, ti ringrazio del consiglio che prenderò sicuramente in esame anche per gli altri corsi inserendo una pagina con tutti i link del corso e la inserirò in fondo ad ogni articolo. Per quanto riguarda il forum, ho dovuto eliminare tutti i .com per motivi di spam eccessivo e dora accetto solo i .it che sono molto più sicuri dal mio punto di vista.

I commenti sono chiusi.

Creative Commons License
Except where otherwise noted, the content on this site is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

Modifica preferenze cookie