<?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>TECHNOLOGY INSIDE &#187; simple</title>
	<atom:link href="http://www.marcodesalvo.it/tag/simple/feed" rel="self" type="application/rss+xml" />
	<link>http://www.marcodesalvo.it</link>
	<description>tecnologia nelle cose</description>
	<lastBuildDate>Mon, 30 Jan 2012 08:51:07 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.3</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Google Simple</title>
		<link>http://www.marcodesalvo.it/google-simple.html</link>
		<comments>http://www.marcodesalvo.it/google-simple.html#comments</comments>
		<pubDate>Sat, 15 Aug 2009 12:11:23 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[NEWS]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[programmazione]]></category>
		<category><![CDATA[simple]]></category>
		<category><![CDATA[smartphone]]></category>

		<guid isPermaLink="false">http://www.marcodesalvo.it/?p=774</guid>
		<description><![CDATA[<a href=http://www.marcodesalvo.it/google-simple.html><img src=http://www.marcodesalvo.it/wp-content/uploads/2009/08/Tetris-150x150.png class=imgtfe hspace=5 align=left width=130  border=0></a>Vi piacerebbe programmare il vostro smartphone Android, senza essere dei guru dell'informatica? Vorreste mettere le mani sul vostro accelerometro per scrivere un programma da vendere a un equilibrista? Grazie al nuovo linguaggio di programmazione SIMPLE, rilasciato dai laboratori Google, tutti potranno creare - e vendere - i propri programmi per Android. Per ora è solo un esperimento ma vale la pena saperne di più...]]></description>
			<content:encoded><![CDATA[<p><br class="spacer_" /></p>
<p><a href="http://www.marcodesalvo.it/wp-content/uploads/2009/08/Tetris.png"><img class="alignleft size-full wp-image-775" title="Tetris" src="http://www.marcodesalvo.it/wp-content/uploads/2009/08/Tetris.png" alt="Tetris" width="192" height="288" /></a></p>
<p>Si tratta di un progetto in fase sperimentale creato nella fucina di idee di <a href="http://code.google.com/p/simple/" target="_blank">Google Labs</a>, ma questo linguaggio di programmazione semplificato potrebbe avere sviluppi interessanti. Simile al linguaggio <acronym title="Beginner's All-purpose Symbolic Instruction Code">BASIC</acronym>, che molti di voi ricorderanno come il primo approccio alla programmazione, Simple è un modo per esplorare le potenzialità della piattaforma <a href="http://www.android.com/" target="_blank">Android</a>, alla portata di tutti.</p>
<p>Per programmare in Simple, occorrono il Compilatore e il Runtime, entrambi disponibili sul sito di Gogle Labs al seguente indirizzo:</p>
<p><a href="http://code.google.com/p/simple/" target="_blank">http://code.google.com/p/simple/</a></p>
<p>Il <strong>compilatore</strong> serve per trasformare la nostra scrittura di istruzioni ( il cosiddetto listato o codice sorgente ) in un linguaggio vicino alla comprensione del computer (in questo caso uno smartphone o altro dispositivo Android).</p>
<p>Il <strong>runtime</strong> è un programma o una serie di programmi che servono a pilotare l&#8217;hardware del dispositivo, sulla base delle istruzioni fornite dal compilatore. In molti casi l&#8217;esecuzione di un programma viene svolta in una Virtual Machine, cioè in un programma che rende più sicura l&#8217;esecuzione del codice compilato. Un esempio noto a tutti è la Virtual Machine di Java.</p>
 <script type="text/javascript"><!--
google_ad_client = "pub-7073012606435267";
/* 468x60, creato 02/09/09 */
google_ad_slot = "3731520762";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<p>Infatti questo linguaggio &#8220;gira&#8221; sotto Java, con <a href="Android SDK" target="_blank">Android SDK</a>. Una guida semplice per installare l&#8217;ambiente di sviluppo Simple la trovate al seguente link, dove sono specificati i requisiti di sistema e i riferimenti per programmare:</p>
<p><a href="http://code.google.com/p/simple/wiki/HowToWriteASimpleApplication" target="_blank">http://code.google.com/p/simple/wiki/HowToWriteASimpleApplication</a></p>
<p>La versione attuale di Simple è limitata nelle funzioni, ma si riesce già ad apprezzare una elevata produttività con poche linee di codice. Gli esempi sono disponibili a <a href="http://simple.googlecode.com/files/SimpleSamples.zip" target="_blank">questo link</a>. <br/>Qui sotto vi riporto il listato di EtchSketch, che usa il sensore di accelerazione del dispositivo:</p>
<blockquote>
<h6>&#8216; Copyright 2009 Google Inc.<br />
 &#8216;<br />
 &#8216; Licensed under the Apache License, Version 2.0 (the &#8220;License&#8221;);<br />
 &#8216; you may not use this file except in compliance with the License.<br />
 &#8216; You may obtain a copy of the License at<br />
 &#8216;<br />
 &#8216;      http://www.apache.org/licenses/LICENSE-2.0<br />
 &#8216;<br />
 &#8216; Unless required by applicable law or agreed to in writing, software<br />
 &#8216; distributed under the License is distributed on an &#8220;AS IS&#8221; BASIS,<br />
 &#8216; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<br />
 &#8216; See the License for the specific language governing permissions and<br />
 &#8216; limitations under the License.</p>
<p>Dim x As Integer<br />
 Dim y As Integer</p>
<p>Event OrientationSensor1.OrientationChanged(yaw As Single, pitch As Single, roll As Single)<br />
 If roll < -20 Then<br />
 x = Math.Min(Canvas1.Width, x + 1)<br />
 ElseIf roll > 20 Then<br />
 x = Math.Max(0, x &#8211; 1)<br />
 End If<br />
 If pitch < -20 Then<br />
 y = Math.Min(Canvas1.Height, y + 1)<br />
 ElseIf pitch > 20 Then<br />
 y = Math.Max(0, y &#8211; 1)<br />
 End If<br />
 Canvas1.DrawPoint(x, y)<br />
 End Event</p>
<p>Event EtchSketch.Initialize()<br />
 x = Canvas1.Width / 2<br />
 y = Canvas1.Height / 2<br />
 End Event</p>
<p>Event AccelerometerSensor1.Shaking()<br />
 Canvas1.Clear()<br />
 End Event</p>
<p>$Properties<br />
 $Source $Form<br />
 $Define EtchSketch $As Form<br />
 Layout = 3<br />
 BackgroundColor = &amp;HFFFFFFFF<br />
 Title = &#8220;EtchSketch: Tilt to draw &#8211; Shake to clear&#8221;<br />
 $Define Canvas1 $As Canvas<br />
 $End $Define<br />
 $Define OrientationSensor1 $As OrientationSensor<br />
 $End $Define<br />
 $Define AccelerometerSensor1 $As AccelerometerSensor<br />
 $End $Define<br />
 $End $Define<br />
 $End $Properties</p>
</h6>
</blockquote>
<p>La semplicità del linguaggio non deve far pensare a un sistema limitato. Simple ha infatti tutti gli elementi per essere esteso e migliorato, con il supporto alla programmazione di Oggetti e una sintassi completa per gestire Componenti aggiuntivi, con l&#8217;uso di Java. Questo significa che potranno essere rilasciati nuovi mattoncini da inserire nei propri programmi Simple, mantenendo una comprensione del codice alla portata dei meno esperti.</p>
<ul>
<li>Chi vuole approfondire la sintassi del Runtime può leggere <a href="http://simple.googlecode.com/files/Simple_Runtime_Reference.pdf" target="_blank">questo documento</a>.</li>
<li>Le definizioni degli elementi di questo linguaggio sono in <a href="http://simple.googlecode.com/files/Simple_Language_Definition.pdf" target="_blank">questo documento</a>.</li>
<li>Chi vuole creare Componenti, può fare riferimento a <a href="http://simple.googlecode.com/files/Simple_Runtime_Reference.pdf" target="_blank">questo documento</a>.</li>
</ul>
<p>Le applicazioni Simple possono essere firmate digitalmente e vendute su <a href="http://www.android.com/market/">Google Android Market</a> e questo contribuirà non poco alla diffusione dei programmatori &#8220;semplici&#8221;.</p>
 <script type="text/javascript"><!--
google_ad_client = "pub-7073012606435267";
/* 336x280, creato 01/09/09 */
google_ad_slot = "2990706761";
google_ad_width = 336;
google_ad_height = 280;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
]]></content:encoded>
			<wfw:commentRss>http://www.marcodesalvo.it/google-simple.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

