Benvenuti in questa prima pubblicazione che introduce i linguaggi C procedurale e C++.
Potreste chiedervi perché studiare un argomento del genere se volete programmare per iPhone, la risposta è molto semplice. Come infatti si intuisce dal nome stesso del linguaggio di programmazione proprietario di Apple (Object-C) , questo non è altro che una versione modificata, ovviamente potenziata, proprio del linguaggio C. La logica in cui si programma in C è completamente differente da quella dell Object-C ma costituisce un fondamento assolutamente imprescindibile per poter capire davvero un tipo di programmazione abbastanza complesso come quella ad Oggetti.
Dopo questa breve introduzione sul perché vi propongo questo argomento, potremmo passare ad un po di storia del C così come iniziano tutti i tutorial online. Tuttavia, sapere il C da cosa discenda, per la nostra futura esperienza, è completamente irrilevante. Solo per curiosità evidenziamo come, curiosamente, il C sia il discendente più diretto del B! Saltiamo dunque questo noioso preambolo e passiamo a cose più importanti da dire.
Voglio subito mettere in chiaro fin da subito che non studieremo un C “puro”, ovvero il C standard, perché, ricordando sempre che il nostro obiettivo è programmare alla fine per iPhone, questo non sarebbe molto utile. Studieremo invece un C che si avvicina maggiormente al C++, linguaggio puramente orientato agli oggetti. Le differenze che questa scelta comportano sono molto importanti e qualche purista del C potrebbe non vedere ciò di buon occhio. Un consiglio, se volete imparare il C standard non seguite questo corso, non è questo il nostro obiettivo.
Dopo queste dovute precisazioni passiamo a cose un po’ più concrete!
Requisiti e compilatori
Cominciamo dai requisiti fondamentali per seguire questo corso! Ovviamente è assolutamente necessario avere la possibilità di “giocare” molto con un compilatore, questo perchè il miglior modo per apprendere è sbagliare e riprovare continuamente in modo molto pratico. La teoria è importantissima ovviamente, ma senza pratica non si arriva da nessuna parte 😉
I tutorial che saranno proposti in questo corso, verranno svolti sfruttando due compilatori, entrambi gratuiti.
Non preoccupatevi, non dovete scegliere! Dipende tutto dal vostro sistema operativo.
Per Mac OS X useremo X-Code: per il download cliccare su questo link ed eseguire la procedura di registrazione, totalmente gratuita!
Developer Apple
Per quanto riguarda l’ambiente windows useremo invece il Dev-C++ che pur non essendo un gran compilatore, è piu che sufficiente per cominciare!
Link: BloodShed Dev-C++
Per quanto riguarda l’installazione dei compilatori ritengo che sia superfluo dare istruzioni, tuttavia ci tengo ad una precisazione, per quanto riguarda l’ambiente Windows assicurarsi di impostare le giuste Path di sistema per evitare spiacevoli errori. Solitamente il Dev-C++ nel momento dell’installazione propone di occuparsi di tutto, lasciatelo fare!
Questa lezione introduttiva termina qui, ma non vi preoccupare, avrete ben presto qualcosa su cui mettere effettivamente mano! 😉











8 Responses to “C#001 – Introduzione, requisiti e compilatori C/C++”
3 Marzo 2010
MonkOttima iniziativa 🙂 una domanda, come mai devc non è un gran compilatore?
3 Marzo 2010
Giovambattista FazioliC’è un refuso: è Objective-C non Object-C.
Parere personale, ma non sono d’accordo con l’evitare il C standard – più precisamente C ANSI. Molte librerie per Apple iPhone sono infatti in C ANSI “puro”.
Inoltre, molte delle procedure in applicazione “serie” per iPhone sono in pratica molto più vicine al C ANSI che al C++ o Objective-C.
Io penso che una buona conoscenza del C ANSI, che tra l’altro è semplice e chiaro, permetta di imparare molto più in fretta sia le fondamente e le varianti della sintassi del C++ e dell’Objective-C.
Tuttavia, ripeto, parere personale dovuto al mio percorso.
Ottima iniziativa 😀
3 Marzo 2010
fa.ruoccoBuonasera!
Il dev non è un gran compilatore perché il suo sviluppo è fermo da un bel pò di tempo e non sarà ripreso in futuro. Inoltre non dispone di autocompletamento, l’indendazione non è granché e ha tanti altri problemi. Uno dei principali è l’inclusione di librerie esterne che a volte ( molto spesso) non funziona esattamente come dovrebbe. XCode è un altro livello, per Windows si potrebbero usare altri programmi, ma tra i Gratuiti ritengo il Dev il più intuitivo, per questo l’ho scelto!
4 Marzo 2010
Ignazioc@fa.ruocco
più precisamente Dev-C++ forse non è un ottimo *ide*…perché il *compilatore* è un altra cosa. (si, lo so..sono rompipalle…)
@giovanbattista
concordo pienamente con te, in una mia applicazione ho scritto il layer per la gestione della rete in puro C…
Inoltre è anche vero che per capire bene una cosa (objc) devi capire bene cosa ci sta sotto (c)…però un questo contesto iniziare con l’aritmetica dei puntatori e puntatori a funzione mi sembra controproducente…
4 Marzo 2010
fa.ruoccoSono perfettamente d’accordo, ma per qualcuno che non ha mai programmato, il C ANSI non è una sciocchezza. Questi tutorial devono essere semplici e ho intenzione di sfruttare le caratteristiche più user-frindly di entrambi i linguaggi. Se vuoi imparare il C, come è premesso, non è un tutorial adatto! 🙂 Ma da quanto hai scritto non penso proprio che tu abbia necessità di imparare il C XD
4 Marzo 2010
fa.ruoccoCerto, è esattamente ciò a cui mi riferivo,ma puntualizzare una differenza tra compilatore ed ambiente di sviluppo integrato, beh, porterebbe a dover discutere di cosa fa esattamente un IDE, con le sue varie fasi, e non penso che interessi per il momento! Di certo se hai fatto questa puntualizzazione molto attenta e giustissima sai di cosa stiamo parlando XD
5 Marzo 2010
Luigibella iniziativa.
io ho studiato il c++ alle scuole superiori e poi il java.
mi piacerebbe rinfrescarmi la memoria ( anche se un linguaggio del genere una volta che l’hai imparato ti resta per sempre ) e difatti in alcune applicazioni ho dato sfogo alla mia vene procedurale 😀
4 Gennaio 2011
FabioRagazzi, complimenti per l’iniziativa e vi ringrazio di esistere.
Ciò che fate non è semplice e l’immensa passione che ci mettete è veramente tangibile.
Divorerò ogni parola.
Fabio