Questa non sarà una vera e propria lezione,ma più che altro uno studio da un punto di vista generico sul mondo della programmazione.Sarà di aiuto per i novizi^^
Let's Go:
Bene,iniziamo col dire che il linguaggio di programmazione non ha una definizione vera e propria,perciò potremmo intenderlo come la base costituita da :
- Lessico : For,If,Console.Writeline,List<T>,ecc..;
Sintassi : Si capisce da se,comunque una corretta impartizione delle funzioni;
Detto questo,non bisogna pensare che ogni linguaggio esistente non abbia delle regole,no!Invece,ne hanno per una corretta esecuzione delle applicazioni ed esse variano da programma a programma,comprese le funzioni(a seconda del sistema operativo) per esempio in C per "stampare a video" una variabile si utilizza il seguente metodo : printf(variabile);
mentre in C#(Pronuncia C sharp) si utilizza la seguente : Console.WriteLine(variabile); .
Detta questa piccola introduzione credo che posso iniziare col distinguere i vari tipi di linguaggi esistenti(non nominerò i linguaggi di tipo imperativo,funzionale,dichiarativi ecc).
Iniziamo a presentare i due tipi di "livello" dei linguaggi di programmazione(non mi divulgherò troppo
- LInguaggio di Basso Livello;
Linguaggio di Alto Livello;
Ora vi starete chiedendo : "Livello?!". Si,lo so è una definizione al quanto strana ma ottima per identificare quei linguaggi che si allontanano dal linguaggio macchina e quelli che si avvicinano al linguaggio umano.
Si forse ora vi sto confondendo un po' le idee,ma ora vi illustrerò cosa vogliano dire questi due termini appena citati.
Linguaggio macchina:
Non è altro che un linguaggio binario che può essere compreso solo dal processore della macchina;una tipica istruzione è questa : 011001001001
Però risultando il tutto un po' troppo complesso per programmare si sono creati dei codici mnemonici per facilitare lo sviluppo di applicazioni.Da ciò è nato l'assembly,linguaggio di basso livello,dove per effettuare la somma si utilizza l'istruzione ADD o per effettuare un salto JMP.
In più questo linguaggio utlizza come lessico il codice a base esadecimale,poco conosciuto oggi;per poter "tradurre" le istruzione del programma in codice nativo(codice macchina) si usa l'assembler.
N.B. L'assembly è linguaggio che varia le proprie istruzione,indirizzi di memoria in base alla macchina!
Linguaggio umano:
A differenza del primo si può capire per certo che è un linguaggio che aiuta il programmatore nella risoluzione dei problemi attraverso la logica attraverso un lessico più comprensibile.Infatti come vedremo in linguaggi come C,C++,C#,Java,F#,ecc usano termini in inglesi per riferirsi a varie istruzione e per dichiarare le variabili,tipo :
int x //variabile di tipo integer(numero intero)
new //operatore per creare un nuovo oggetto
Quindi si può capire il grande passo effettuato e poichè questi linguaggi vengono chiamati linguaggi di alto livello.
Siamo quasi al traguardo,ma bisogna suddividere i linguaggi di programmazione ulteriormente(essì è la prima lezione è ho già rotto xD):
Linguaggio interpretato;
Linguaggio compilato;
(BASTA! PIETA') Su su xD..Vediamo di comprendere per bene.
Linguaggio interpretato
Non è altro che un insieme di istruzioni "listati" che vengono eseguiti da un interprete al momento dell'esecuzione dell'applicazione.Ma ciò che significa?E' molto semplice e logico:
in pratica abbiamo questo blocco di codice (Sono PHP,Perl,Basic,Python,ecc..)
istruzione 1...
istruzione 2...
istruzione 3...
end
Bene,ovviamente questi linguaggi sono di livello alto,quindi bisogna tradurli in linguaggio nativo grazie all'interprete.Come funziona?Bè al momento dell'esecuzione tradurrà ogni riga di codice in linguaggio macchina che verra eseguito.Voi vi starete domandano,ma tutto ciò che ha di diverso dall'altro tipo?
Linguaggio compilato:
Rispetto al precedente presenta ovviamente un insieme di istruzioni che sta volta non vengono tradotti ed eseguiti al momento dell'avvio dell'applicazione,NO!Vengono tradotti molto prima attraverso un programma detto compilatore,rilsciando un eseguibile.
(Sono C,C++,C#,ecc..)
La differenza prinicipale fra i due tipi?E' semplice: La velocità !
Ebene si se ci pensate linguaggi compilati ottengono una velocità di esecuzione maggiore rispetto a quelli interpretati,ma non di molto,ma comunque sia questa è una della caratteristiche poichè vengono usati i liguaggi compilati per applicazione ingenti e che richiedono rapidità di esecuzione.
Detto questo,cos'è C#?!
Bè l'ho mensionato prima e non è altro che un linguaggio di alto livello,nato nel 2000 nella casa Microsoft,che fa parte della famiglia .NET(pronuncia dotNET) ossia quei libguaggi rivolti allo sviluppo di applicazioni web.Ma con XNA(che è un framework per sviluppo di videogiochi) cosa centra?Bè ciò che ho appena detto non vuol dire che C# non possa essere usato per altro,infati grazie alla sua sintassi ereditata da Delphi,un po' del C++ e da Visual Basic gli strumenti per la programmazione grafica(le window form,ossia le finestre).Bisogna dire un'ultima cosa riguardo il C#: è un linguaggio orientato agli oggetti(in inglese OOP, Object Oriented Programming).Ossia prevede la creazione di entità (classi) al cui interno viene creato appunto l'oggetto che dispone di metodi,proprietà ecc..Questo oggetto non è altro che l'allocazione di memoria,che si accede mediante l'uso di variabili/parametri da assegnare alla classe(questi sono concetti che approfondiremo più in là )
Next Lesson:
Scaticheremo l'IDE per poter sviluppare ed addentrarci nel modo del C#!
Homework:
E' solo per capire se avete capito,potete rispondere in questo topic.
-Secondo voi l RGSS che tipo di linguaggio è? E perchè?
(Vi prego di non andare su internet perchè trovereste facile risposta e ciò non vi gioverebbe affatto,poichè non riuscireste a diventare discreti programmatori)
Alla prossima!Scusate il papiro!!



.jpg)









