<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>MindShake &#187; guide</title>
	<atom:link href="http://mindshake.org/tag/guide/feed/" rel="self" type="application/rss+xml" />
	<link>http://mindshake.org</link>
	<description>cosa ci frulla nella testa</description>
	<lastBuildDate>Thu, 05 Jan 2012 15:12:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Iniziare a Programmare &#8211; Consigli per principianti</title>
		<link>http://mindshake.org/iniziare-a-programmare-consigli-per-principianti/</link>
		<comments>http://mindshake.org/iniziare-a-programmare-consigli-per-principianti/#comments</comments>
		<pubDate>Wed, 27 Aug 2008 14:43:05 +0000</pubDate>
		<dc:creator>koteko</dc:creator>
				<category><![CDATA[Scienza e Tecnologia]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[ilbloggatore]]></category>
		<category><![CDATA[informatica]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[programmazione]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://mindshake.org/?p=988</guid>
		<description><![CDATA[Molto spesso sul forum di ubuntu-it.org giovani pinguini scrivono topic come &#8220;Imparare a programmare&#8221; e simili. La sezione Programmazione ne è ovviamente piena, ed è una cosa bella: mi auguro sempre che su dieci che vogliono iniziare, uno si metta a scrivere software libero. Girando sul web, ho visto che questa tendenza c&#8217;è in qualsiasi [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter size-full wp-image-1000" title="I can has programming language?" src="http://mindshake.org/wp-content/uploads/2008/08/i-can-has-programming-language.jpg" alt="" width="350" height="412" /></p>
<p>Molto spesso sul forum di <a href="http://forum.ubuntu-it.org" target="_blank">ubuntu-it.org</a> giovani pinguini scrivono topic come &#8220;<strong>Imparare a programmare</strong>&#8221; e simili.</p>
<p>La sezione <em>Programmazione</em> ne è ovviamente piena, ed è una cosa bella: mi auguro sempre che su dieci che vogliono iniziare, uno <strong>si metta a scrivere software libero</strong>.</p>
<p>Girando sul web, ho visto che questa tendenza c&#8217;è in qualsiasi community un po&#8217; <em>geek</em>, come c&#8217;era su <strong>IRC</strong> quando bazzicavo anni fa i canali riguardanti Linux e le distribuzioni che usavo, e su qualsiasi forum con ragazzi che <strong>si avvicinano all&#8217;informatica oltre i videogiochi e l&#8217;uso da utente</strong>.</p>
<p>Indubbiamente è un argomento che attira molto, ma ci sono una serie di problematiche per chi inizia che spesso decretano il fallimento del tentativo e la successiva rinuncia:</p>
<ul>
<li>Troppe risposte diverse. I <strong>consigli degli esperti spaziano dall&#8217;Assembler al F#</strong>.</li>
<li>Incapacità di chi aiuta di <strong>comprendere almeno un minimo la psicologia</strong> di chi scrive.
<p>Si assume che sia un <em>geek</em> qualcuno che ha appena installato Ubuntu e ha chiesto aiuto già tre volte per trovare il Solitario, e si consiglia il <a href="http://it.wikipedia.org/wiki/Logo_(informatica)" target="_blank"><strong>Logo</strong></a> a chi sta già provando a fare danni con la shell bash.</li>
<li><strong>Sovraffollamento di documentazione</strong>. Già è difficile per chi inizia scegliere tra dieci manuali diversi, ma se gli esperti ne consigliano ciascuno uno diverso&#8230;ci siamo capiti :)</li>
<li><strong>Difficoltà per il principiante di essere immediatamente operativo</strong>, con alcuni linguaggi e se i consigli non sono adeguati alla sua conoscenza del sistema.</li>
</ul>
<p><span id="more-988"></span></p>
<p>Capisco chi, nella veste dell&#8217;ipotetico esperto, pensa</p>
<blockquote><p><em>io gli do il mio consiglio, poi s&#8217;arrangi.</em></p></blockquote>
<p>Oppure</p>
<blockquote><p><em>Se non ha la voglia di spulciare sul web e capire da solo, non vale la pena che io ci perda tempo.</em></p></blockquote>
<p>Non sono per nulla d&#8217;accordo. Siamo tutti diversi, e lo stimolo per programmare può venirci in qualsiasi momento, <strong>un po&#8217; come quello per installare Linux</strong>: vedo spesso intorno a me che anche per questo ci sono molte paure, e le problematiche sono quasi le stesse.</p>
<p><strong>Un programmatore in più che scriva in futuro Software Libero è oro</strong> per tutti noi, ricordiamocelo. E la nostra parte la possiamo fare anche incoraggiando i <em>giovani</em>.</p>
<p>Un po&#8217; come fanno in America: finanzio cento progetti, sperando che uno diventi Google e mi ripaghi dieci volte tanto. E&#8217; un buon investimento, almeno secondo me.</p>
<p>Quindi, nel mio piccolo, posso dire a chi ha intenzione di intraprendere questa strada, che ci sono molte possibilità se si vuole iniziare a programmare.</p>
<p>Innanzi tutto ci si deve domandare <strong>cosa si vuole fare.</strong></p>
<h3>Sviluppo Web</h3>
<p>Se il vostro sogno a breve-medio termine è quello di fare pagine web statiche e/o temi per WordPress, Splinder etc, ciò che dovete imparare è l&#8217;<strong>HTML</strong> e il <strong>CSS</strong>. E poi cominciare a creare, questo è molto importante, <strong>ogni cosa che leggete sui manuali dovete provarla e utilizzarla <em>subito</em>.</strong></p>
<p>Se ve la cavate con l&#8217;inglese, un buon punto di partenza e&#8217; <a href="http://htmldog.com/" target="_blank">HTML Dog</a>. Sempre ottime poi le guide di html.it sull&#8217;<a href="http://xhtml.html.it/guide/leggi/51/guida-html/" target="_blank">HTML</a>, sulle <a href="http://css.html.it/guide/leggi/2/guida-css-di-base/" target="_blank">basi del CSS</a> e sullo sviluppo di <a href="http://css.html.it/guide/leggi/3/guida-layout-dei-siti-con-i-css/" target="_blank">Layout CSS</a> (siti a più colonne etc).</p>
<p>All&#8217;inizio è buona cosa scriversi il codice delle pagine a mano, con un editor di testo, per capire bene gli effetti che ha sulla pagina web. Se proprio <strong>non potete evitare di avere uno sviluppo assistito</strong>, su Ubuntu date un:</p>
<blockquote><p><em>sudo aptitude install kompozer</em></p></blockquote>
<p>Se usate KDE vi consiglio <strong>Quanta Plus</strong> invece</p>
<blockquote><p><em>sudo aptitude install quanta</em></p></blockquote>
<p>Una volta svezzati con le basi del Web, <strong>vorrete forse andare un po&#8217; più un là</strong>. Ad esempio, sviluppare un vostro plugin per <strong>WordPress</strong>, o fare una modifica al forum <strong>phpBB</strong> che gestite..</p>
<p>Beh, qui si entra nel <em>vero</em> sviluppo web. Dovete imparare un linguaggio lato server, e vi consiglio il <strong>PHP</strong>, e abbinarlo alla comprensione di un minimo di sintassi <strong>SQL</strong>, preferibilmente con l&#8217;uso di <strong>MySQL</strong>.</p>
<p>Innanzi tutto una guida per installare in locale il <strong>PHP</strong>, il server web <strong>Apache</strong> e il DataBase <strong>MySQL</strong>, su <a href="http://php.html.it/guide/leggi/92/guida-php-su-linux/" target="_blank">Linux</a> o su <a href="http://php.html.it/guide/leggi/94/guida-php-su-windows/" target="_blank">Windows</a>. Dovete poi imparare a programmare in PHP integrandovi l&#8217;HTML e il CSS che avete precedentemente praticato.</p>
<p>Questa è <a href="http://php.html.it/guide/leggi/99/guida-php-di-base/" target="_blank">la guida base</a>, che <strong>vi consiglio di leggere subito</strong>. Poi c&#8217;è anche una <a href="http://php.html.it/guide/leggi/97/guida-php-teorica/" target="_blank">guida teorica</a> che potete usare <strong>come riferimento</strong> in caso non capiste qualcosa, e due guide pratiche: <a href="http://php.html.it/guide/leggi/101/guida-php-pratica/">una sullo sviluppo PHP</a> e l&#8217;altra sull&#8217;<a href="http://php.html.it/guide/leggi/77/guida-phpmysql-pratica/" target="_blank">interazione PHP/MySQL</a> che <strong>vi consiglio di studiare per ultima</strong>.</p>
<p>A questo punto, se vi impegnate su queste guide un mesetto, sarete pronti per essere operativi nello sviluppo web. Per migliorare la vostra comprensione delle tematiche principali della creazione di siti Web, vi consiglio queste guide sul <a href="http://webdesign.html.it/" target="_blank">Web Design</a>.</p>
<p>Utile sarebbe poi se imparaste il <a href="http://javascript.html.it/" target="_blank">JavaScript e l&#8217;Ajax</a>, che va a completare ciò che avete già imparato.</p>
<p>Altri link utilissimi come riferimento o approfondimento:</p>
<ul>
<li><a href="http://www.w3schools.com/" target="_blank">W3C Schools</a> &#8211; Reference su tutti gli argomenti a cui vi ho indirizzato :)</li>
<li><a href="http://it.php.net/manual/it/" target="_blank">php.net</a> &#8211; Manuale ufficiale ( anche in italiano ) e il miglior reference per il PHP ( <em>search for .. in the function list</em> )</li>
<li><a href="http://dev.mysql.com/doc/" target="_blank">MySQL</a> &#8211; Documentazione Ufficiale.</li>
<li><a href="http://antirez.com/articoli/spaghettiajax.html" target="_blank">Spaghetti Ajax</a> &#8211; Esempi in italiano.</li>
<li><a href="http://www.e-pillole.com/linux/post/6/apache-2-php-5-mysql-5-su-debian-e-ubuntu-lamp/" target="_blank">Installare Apache + PHP + MySQL su Ubuntu</a> &#8211; Una delle tante guide, in caso aveste problemi a farli funzionare.</li>
<li><a href="http://www.codicefacile.it/" target="_blank">CodiceFacile</a> &#8211; Pieno di snippet di codice e consigli utili su PHP, MySQL, JavaScript</li>
</ul>
<h3>Sviluppo Applicazioni</h3>
<p>E&#8217; molto facile che siate arrivati a questo articolo cercando informazioni su <strong>come scrivervi i vostri programmi</strong>. La vostra idea di programma è sicuramente quella tipica: un <em>coso </em>grafico che risponde in modo particolare ai tuoi input.</p>
<p>Beh, all&#8217;inizio di grafica non ne vedrete, ed è meglio così. <strong>Dovete imparare a fare programmi testuali</strong>, poi li potrete adornare di una veste grafica.</p>
<p style="text-align: center;"><a href="http://mindshake.org/wp-content/uploads/2008/08/pitone-morde-una-rete.jpeg" rel="lightbox[988]"><img class="aligncenter size-full wp-image-999" title="Pitone incazzato nero :)" src="http://mindshake.org/wp-content/uploads/2008/08/pitone-morde-una-rete.jpeg" alt="" width="450" height="338" /></a></p>
<p>Senza troppi giri di parole, vi consiglio di studiarvi la guida <a href="http://www.python.it/doc/Howtothink/HowToThink_ITA.pdf.gz" target="_blank"><strong>Pensare da Informatico</strong></a>, che vi aiuta a entrare in questo mondo in modo non traumatico, imparando un linguaggio semplice e potente: il <strong>Python</strong>.</p>
<p>Prima che vi chiediate perché questa e non le millemila altre, sappiate che è <strong>utilizzata con successo in alcune Università americane e italiane</strong> e che&#8230;beh, se vi chiedete troppo quale è meglio e quale peggio, non ne leggerete neanche una. Studiate questa, per ora :)</p>
<p>Se volete essere operativi il più presto possibile, <strong>il Python e quella guida è ciò che fa per voi</strong>.</p>
<p>Potrete farci qualsiasi cosa: <strong>dalla calcolatrice testuale di fiducia ai videogiochi 2D e 3D</strong> ( un esempio è il <strong>gioco degli scacchi in Gnome</strong> ). Ha una quantità immensa di librerie ed estensioni, e troverete manuali ovunque per imparare le caratteristiche più avanzate.</p>
<p>Il vostro riferimento principale è sicuramente <a href="http://www.python.it/doc/" target="_blank">Python.it Doc</a>. Li troverete <a href="http://www.python.it/doc/newbie.html" target="_blank">guide per principianti</a> e <a href="http://www.python.it/doc/howto/" target="_blank">howto più avanzati</a>, informazioni utili sugli <strong><a href="http://www.python.it/topics/gui/ide-mertz.html" target="_blank">IDE</a></strong> per la programmazione assistita e per la <a href="http://www.python.it/topics/gui/gui-2.html" target="_blank">creazione di interfacce grafiche</a> con molte librerie ( <strong>GTK+, QT, wxWidgets</strong>..).</p>
<p>Personalmente, comunque, se utilizzate <strong>Gnome</strong> vi consiglio <strong>Gedit</strong> dopo aver installato i plugin</p>
<blockquote><p><em>sudo aptitude install gedit-plugins</em></p></blockquote>
<p>Se invece utilizzate <strong>KDE</strong>, non potete non provare il mitico <strong>Eric</strong></p>
<blockquote><p><em>sudo aptitude install eric</em></p></blockquote>
<p>Inoltre, se avete scelto le Qt come toolkit per le vostre GUI, <a href="http://zetcode.com/tutorials/pyqt4/" target="_blank">questo è un buon howto per le Qt4</a>.</p>
<h3>Conclusioni</h3>
<p>Seguiranno altri articoli per approfondire la programmazione con GUI, la programmazione di videogiochi e di applicazioni complesse.</p>
<p>Intanto, vi lascio qualche altro link utile.</p>
<ul>
<li>Su <a href="http://slashcode.wordpress.com/" target="_blank">SlashCode</a> l&#8217;autore è arrivato al sesto articolo sulla programmazione, vi consiglio di leggerli tutti :)</li>
<li><a href="http://programmazione.html.it/guide/leggi/39/guida-python/" target="_blank">Guida Python su html.it</a></li>
<li><a href="http://forum.ubuntu-it.org/index.php?board=33.0" target="_blank">Sezione Programmazione</a> del forum Ubuntu-it.org</li>
<li><a href="http://www.python-it.org/" target="_blank">Python-it.org</a> &#8211; Il punto di riferimento italiano per gli appassionati di Python.</li>
<li><a href="http://stacktrace.it/articoli/2008/06/il-management-del-software-nelle-microaziende1/" target="_blank">Il management del software nelle micro-aziende</a></li>
<li><a href="http://www.ogre3d.org/wiki/index.php/PyOgre" target="_blank">PyOgre</a> per programmare videogiochi e applicazioni 3D</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://mindshake.org/iniziare-a-programmare-consigli-per-principianti/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

