<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Tra il codice e la realtà &#187; super-programmatore</title>
	<atom:link href="http://andreamurru.wordpress.com/tag/super-programmatore/feed/" rel="self" type="application/rss+xml" />
	<link>http://andreamurru.wordpress.com</link>
	<description>omnia munda mundis</description>
	<lastBuildDate>Fri, 04 Sep 2009 19:38:44 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>it</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='andreamurru.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/7f532f9a0124df110c111e4e38d3cc3c?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Tra il codice e la realtà &#187; super-programmatore</title>
		<link>http://andreamurru.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://andreamurru.wordpress.com/osd.xml" title="Tra il codice e la realtà" />
		<item>
		<title>C plus plus vs C</title>
		<link>http://andreamurru.wordpress.com/2008/10/12/c-plus-plus-vs-c/</link>
		<comments>http://andreamurru.wordpress.com/2008/10/12/c-plus-plus-vs-c/#comments</comments>
		<pubDate>Sun, 12 Oct 2008 15:31:16 +0000</pubDate>
		<dc:creator>Andrea Murru</dc:creator>
				<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Carlo Pescio]]></category>
		<category><![CDATA[Linus Torvalds]]></category>
		<category><![CDATA[super-programmatore]]></category>

		<guid isPermaLink="false">http://andreamurru.wordpress.com/?p=42</guid>
		<description><![CDATA[Una poco velata critica al C++ da parte di Linus Torvalds, mi ha portato a fare qualche considerazione sul C++ e più in generale sulle motivazioni delle scelte (apparentemente solo di natura tecnica) dei programmatori.
Devo premettere che sono di parte, visto che da molti anni utilizzo (con soddisfazione) principalmente il C++. D&#8217;altro canto ho comunque [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andreamurru.wordpress.com&blog=2297529&post=42&subd=andreamurru&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Una poco velata <a title="C++ Sucks" href="http://thread.gmane.org/gmane.comp.version-control.git/57643/focus=57918" target="_blank">critica</a> al C++ da parte di Linus Torvalds, mi ha portato a fare qualche considerazione sul C++ e più in generale sulle motivazioni delle scelte (apparentemente solo di natura tecnica) dei programmatori.</p>
<p>Devo premettere che sono di parte, visto che da molti anni utilizzo (con soddisfazione) principalmente il C++. D&#8217;altro canto ho comunque avuto a che fare nel corso degli anni con altri linguaggi, ambienti e procedure di sviluppo, in progetti molto diversi per numero di partecipanti, complessità e obbiettivi. Spero quindi di poter fare delle considerazioni non partigiane&#8230;. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Fondamentalmente io non concordo con Torvalds, ma paradossalmente concordo per certi versi con lui quando dice</p>
<blockquote>
<pre>I've come to the conclusion that any programmer that would prefer the project to be
in C++ over C is likely a programmer that I really <strong>*would*</strong> prefer to piss
off, so that he doesn't come and screw up any project I'm involved with.</pre>
</blockquote>
<p>Semplicemente io non vorrei assolutamente nessun programmatore nel mio team che preferisse un qualsiasi linguaggio (ma anche tool o sistema operativo), in modo INCONDIZIONATO, non relazionato agli obbiettivi del progetto.</p>
<p>Questo non vuol dire affatto che la scelta non debba dipendere ANCHE dalle proprie inclinazioni personali o quanto meno dal proprio patrimonio di conoscenze (stando attenti a non infilarsi nelle profezie auto-avveranti di Carlo Pescio). Vuol dire semplicemente e molto banalmente che la scelta di un linguaggio, un tool o una metodologia da utilizzare deve dipendere dagli obbiettivi di progetto e non da valori pure apparentemente validi in generale.</p>
<p>Più in generale si tratta di una forma di dis-allineamento tra i VALORI del progetto (spesso ad esempio i tempi di rilascio) e quelli ritenuti tali dagli sviluppatori (efficienza, scalabilità, ma anche documentazione, copertura dei test di unità etc). E&#8217; vero che spesso non è affatto facile capire quali siano i valori del progetto (anche per responsabilità del menagement) e che non è certo compito degli sviluppatori definirli, ma è sicuramente loro compito comprenderli e lavorare onestamente al fine di massimizzarli.</p>
<p>L&#8217;errore più comune è quello di scambiare strumenti con obbiettivi: un programma deve fare senza errori quello che gli utenti si aspettano, non avere la barra verde dei test unità sulla macchina degli sviluppatori. O aprossimarli con valori considerati sempre validi: ad esempio le prestazioni (cosa spesso non utile o magari da ricercare su piani molto diversi dell&#8217;ottimizzazione delle strutture base) o la flessibilità che viene intesa in termini estremamente tecnici (come magari la molto remota possibilità di utilizzare db server differenti), mentre ciò che sarebbe veramente utile è la flossibilità di reagire a cambiamenti delle spicifiche.</p>
<p>La cosa più interessante è che, paradossalmente, questi &#8220;errori di prospettiva&#8221; sono possibili SOLO a programmatori che abbiano un discreto grado di conoscenze e anche una certa dose di passione e che quindi potrebbero anche essere considerati dei buoni programmatori. Sicuramente però sarebbero dei pessimi team leader, quelli che Carlo Pescio chiama super-programmatori e che sono ottimi per portare a compimento il progetto che esiste nella loro mente (non quello che gli viene affidato).</p>
<p>In questo senso è più probabile che un super-programmatore usi il C++ piuttosto che il C ? Probabilmente sì, visto che è assolutamnete coerente con la sua psicologia utilizzare lo strumento più avanzato, innovativo e &#8220;potente&#8221; (qualsiasi cosa voglia dire). Ma a dire il vero (e per le stesse motivazioni) è più probabile che usi Java (o magari Ruby o Python) e che sia un patito di linux, dell&#8217;open source e soprattutto dell&#8217;extreme programming.</p>
<p>Nel merito delle caratteristiche tecniche del C++ rispetto al C o ad altri linguaggi invece è meglio che parli in un altro post&#8230; questo è già troppo lungo così <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/andreamurru.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/andreamurru.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/andreamurru.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/andreamurru.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/andreamurru.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/andreamurru.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/andreamurru.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/andreamurru.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/andreamurru.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/andreamurru.wordpress.com/42/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andreamurru.wordpress.com&blog=2297529&post=42&subd=andreamurru&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://andreamurru.wordpress.com/2008/10/12/c-plus-plus-vs-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c533f393aa0365e59024d333b02b0b3f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Andrea Murru</media:title>
		</media:content>
	</item>
	</channel>
</rss>