<head> <STYLE TYPE="text/css"> <!-- .title {font-size:large;text-align:left;margin-right:1cm} --> </STYLE> </head> <H1>Fondamenti di Programmazione</H1> <H2>Come iniziare...</H2> <DIV ALIGN="justify" style="margin-left:5%; margin-right:10%"> <P> Per iniziare a scrivere programmi in C sono sufficienti un text editor e un compilatore C. Con il text editor si scrive il programma (in un file di testo con estensione <CODE>.c</CODE>) e poi con il compilatore si traduce il programma scritto nel linguaggio C in un programma scritto in <EM>linguaggio macchina</EM> detto <EM>eseguibile</EM>. Infine, l'eseguibile può essere eseguito come una qualsiasi altra applicazione sulla piattaforma (Linux, Windows, Mac OS X, ecc.) che si sta usando. In generale, ogni piattaforma ha un suo linguaggio macchina che è incompatibile con quello di altre piattaforme. Ad esempio, non è possibile eseguire direttamente un programma scritto in linguaggio macchina di Linux su una piattaforma Windows. Il linguaggio C, al pari di altri linguaggi ad alto livello, permette di scrivere programmi che, previa compilazione, possono essere eseguiti su piattaforme diverse. <BR> I text editor e i compilatori C che si possono usare dipendono dalla piattaforma, anche se ce ne sono molti che sono disponibili per diverse piattaforme. Iniziamo dai text editor. </P> <P> <STRONG class="title">Text editor</STRONG> Una qualsiasi applicazione che permette di scrivere file di testo semplice (plain text) va bene per scrivere programmi in C. Ad esempio i text editor disponibili di default sulle diverse piattaforme: <U>vi</U> sotto Linux/Unix, <U>Notepad</U> (<U>Blocco note</U>) sotto Windows, <U>TextEdit</U> sotto Mac OS X. Però, non appena si iniziano a scrivere programmi di una certa lunghezza, risulta molto utile lavorare con text editor con <EM>syntax highlighting</EM> (evidenziamento della sintassi). Oltre a mettere in risalto la struttura sintattica del programma, questi text editor, aiutano a mantenere un buon stile di formattazione del codice (principalmente l'indentazione). Queste caratteristiche migliorano notevolmente la leggibilità (per un essere umano) del programma e quindi facilitano sia la scrittura del codice che la ricerca di eventuali errori. Di text editor con syntax highlighting, detti anche <EM>source code editor</EM>, ne esistono molti, alcuni sono specifici per certe piattaforme altri sono multipiattaforma (cioè, funzionano su varie piattaforme). Un ottimo source code editor, free e multipiattaforma (Linux, Windows, Mac OS X), è <a href="http://www.jedit.org/">JEdit</a>. Per una lista e un confronto tra moltissimi text/source code editor si possono consultare le pagine di Wikipedia: <a href="http://en.wikipedia.org/wiki/List_of_text_editors">lista</a> e <a href="http://en.wikipedia.org/wiki/Comparison_of_text_editors">confronto</a>. </P> <P> <STRONG class="title">Compilatori e IDE</STRONG> Sotto Linux e Mac OS X è possibile usare, da una finestra di terminale, il compilatore <a href="http://gcc.gnu.org/">gcc</a> (GNU Compiler Collection) che spesso è fornito di default su tali piattaforme. Si può usare <U>gcc</U> anche sotto Windows tramite <a href="http://www.mingw.org/">MinGW</a>. Sempre più spesso il compilatore è integrato in un <EM>IDE</EM> (<EM>Integrated Development Environment</EM>). Un IDE fornisce oltre al compilatore anche un source code editor un debugger ed eventualmente altri strumenti che sono d'ausilio nello sviluppo di programmi. Ecco alcuni IDE, open source o freeware, per il linguaggio C, divisi per piattaforma. <DL COMPACT> <DT>Linux</DT><DD>Un IDE semplice da usare è <a href="http://anjuta.org/">Anjuta</a>. Fa parte del software standard di molte distribuzioni Linux.</DD> <DT>Windows</DT><DD>Altrettanto semplice da usare è <a href="http://www.bloodshed.net/">Dev-C++</a>. L'istallazione separata di <U>MinGW</U> può andare in conflitto con <U>Dev-C++</U>, per questo si consiglia di non istallare (separatamente) <U>MinGW</U> se si vuole usare <U>Dev-C++</U>. Una versione di <U>MinGW</U> è automaticamente istallata da <U>Dev-C++</U>.</DD> <DT>Mac OS X</DT><DD>Lo IDE standard è <a href="http://developer.apple.com/tools/xcode/">Xcode</a> ed è fornito insieme al sistema operativo.</DD> </DL> Inoltre, ci sono alcuni IDE multipiattaforma, sempre open source o freeware, che però potrebbero essere meno adatti ad un principiante in quanto si tratta di strumenti studiati per un uso professionale. Due di questi (<U>Eclipse</U> e <U>NetBeans</U>) sono importanti perché sono usati nel successivo corso di <I>Metodologie di Programmazione</I>, essendo gli IDE più usati per lo sviluppo di software Java. <UL> <LI><U>Eclipse</U> per C/C++ è scaricabile a partire dalla pagina <a href="http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/galileor">Eclipse-C/C++</a> scegliendo la piattaforma che interessa. La home page è <a href="http://www.eclipse.org/">qui</a>. <LI><U>NetBeans</U> per C/C++ è scaricabile a partire dalla pagina <a href="http://www.netbeans.org/downloads/index.html">NetBeans-C/C++</a> scegliendo la versione per C/C++ e la piattaforma che interessa. La home page è <a href="http://www.netbeans.org/">qui</a>. </UL> Per entrambi gli IDE è possibile scaricare la versione completa che permette di sviluppare programmi sia in C/C++ che in Java. </P> <P> <STRONG class="title">Esempi</STRONG> Ecco alcuni esempi di compilazione ed esecuzione di un semplice programma C per diverse piattaforme e compilatori/IDE. <UL> <LI>[[EseLinuxWinOSX_gcc][Linux/Windows/Mac OS X - <U>gcc</U>]]</LI> <LI>[[EseLinux_Anjuta][Linux - <U>Anjuta</U>]]</LI> <LI>[[EseWindows_DevC][Windows - <U>Dev-C++</U>]]</LI> <LI>[[EseOSX_Xcode][Mac OS X - <U>Xcode</U>]]</LI> <LI>[[EseLinuxWinOSX_Eclipse][Linux/Windows/Mac OS X - <U>Eclipse</U>]]</LI> <LI>[[EseLinuxWinOSX_Netbeans][Linux/Windows/Mac OS X - <U>NetBeans</U>]]</LI> </UL> </P> </DIV>
This topic: Programmazione1
>
WebHome
>
Prog1PZ
>
FPrisorse0910
Topic revision: r9 - 2011-09-23 - RiccardoSilvestri
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback