<?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>OmanDev &#187; Projects</title>
	<atom:link href="http://www.omandev.net/category/projects/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.omandev.net</link>
	<description>Technical, computer related articles and projects.</description>
	<lastBuildDate>Sat, 17 Jul 2010 18:54:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>UPL</title>
		<link>http://www.omandev.net/2008/02/upl/</link>
		<comments>http://www.omandev.net/2008/02/upl/#comments</comments>
		<pubDate>Sun, 10 Feb 2008 15:47:00 +0000</pubDate>
		<dc:creator>Ali AL Lawati</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[Language]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://66.147.242.194/~omandevn/wrd1/wordpress/?p=28</guid>
		<description><![CDATA[UPL : &#8220;Universal Programming Language&#8220;, or you can say UPL : &#8220;UPL is Programming Language&#8221;  .
It is an idea that we were thinking of for more than a year, and thanks to Yamani it is slowly coming to the reality.
The Idea 
As was discussed in many blogs few weeks ago, we need to find [...]


Related posts:<ol><li><a href='http://www.omandev.net/2007/10/jcodebase-1-1-beta/' rel='bookmark' title='Permanent Link: JCodeBase 1.1 Beta'>JCodeBase 1.1 Beta</a></li>
<li><a href='http://www.omandev.net/2009/01/why-python/' rel='bookmark' title='Permanent Link: Why Python'>Why Python</a></li>
<li><a href='http://www.omandev.net/2007/09/artificial-idiots/' rel='bookmark' title='Permanent Link: Artificial Idiots???'>Artificial Idiots???</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://sourceforge.net/projects/upl/"><span style="font-weight: bold;">UPL </span></a>: &#8220;<span style="font-style: italic;">Universal Programming Language</span>&#8220;, or you can say <span style="font-weight: bold;">UPL </span>: &#8220;<span style="font-style: italic;">UPL is Programming Language</span>&#8221; <img src='http://www.omandev.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>It is an idea that we were thinking of for more than a year, and thanks to Yamani it is slowly coming to the reality.</p>
<p><span style="font-weight: bold;">The Idea </span><a href="http://www1.istockphoto.com/file_thumbview_approve/903223/2/istockphoto_903223_light_bulb_great_idea_icon.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 34px; height: 43px;" src="http://www1.istockphoto.com/file_thumbview_approve/903223/2/istockphoto_903223_light_bulb_great_idea_icon.jpg" border="0" alt="" /></a><br />
As was discussed in many blogs few weeks ago, we need to find good and intelligent ways to teach our children and &#8220;programming children&#8221; (those who are not Childs in real but newbie in programming world) about programming.</p>
<p>Thinking about that we can see (as we think) the two biggest obstacles faced by these two groups are:<br />
(<span style="font-style: italic;">1</span>) <span style="font-weight: bold;">The complex syntax</span>:<br />
come on how many people you know were able to understand the pointer of pointer of a function that takes a reference and a pointer in C++ from the first time <img src='http://www.omandev.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .<br />
(<span style="font-style: italic;">2</span>) <span style="font-weight: bold;">The Language</span>:<br />
by language we do not mean the programming language but the &#8220;English&#8221; language (even though it is becoming the universal language now, still lots of kids have problems in English learning it. (and come on who said programming must be in &#8220;English&#8221;).</p>
<p><span style="font-weight: bold;">What UPL can do about that!</span><br />
Well so what do UPL do exactly?<br />
It is not the direct solution to the problem, but it is one of the keys to the solution. It is a simple engine where you can create your own programming language with your own syntax, and with the human language that you desire.</p>
<p>The current version of UPL support a very simple syntax that is some how look like old quick basic. There is a language file where you can replace any keyword in the (English UPL)  to any other keyword in any other language or any other word in English itself , for example the keyword “Declare” could be changed to “dim” to look like visual basic more, or it can be changed to “Aref” the Arabic word the means declare, or even you can write in Arabic writing, French , Japanese, and like that it gives endless choices of creating your own language.</p>
<p>What happens inside the upl Editor is what ever syntax you are using it will be translated to the <span lang="FR-ML">English up</span><span> and then again the English upl is translated into JAVA</span> (in the current version the algorithim is updated to change any syntax to Java directly)  and finally java file is produced compiled and executed.</p>
<p><span style="font-weight: bold;">the syntax of current English UPL is very simple:</span></p>
<p><a href="http://2.bp.blogspot.com/_O0z0UIqoXjA/R68i8bNngTI/AAAAAAAAABk/VLy8G5Tq3F8/s1600-h/upl1.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img id="BLOGGER_PHOTO_ID_5165385719109615922" style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_O0z0UIqoXjA/R68i8bNngTI/AAAAAAAAABk/VLy8G5Tq3F8/s320/upl1.JPG" border="0" alt="" /></a><br />
<span style="font-weight: bold;"> </span><br />
<span style="font-weight: bold;"> </span></p>
<p><a href="http://3.bp.blogspot.com/_O0z0UIqoXjA/R68i8rNngUI/AAAAAAAAABs/qRn9sKJXuwg/s1600-h/upl2.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img id="BLOGGER_PHOTO_ID_5165385723404583234" style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_O0z0UIqoXjA/R68i8rNngUI/AAAAAAAAABs/qRn9sKJXuwg/s320/upl2.JPG" border="0" alt="" /></a></p>
<p><a href="http://sourceforge.net/project/showfiles.php?group_id=210899">download</a></p>
<p>UPL in action(Future)<br />
Well yes it is not in action yet (well it is still alpha, still it don’t have loops,still … , ….,….) but lets talk about future , what UPL can do when it gets into action. So lets see some possible futures for upl:<br />
<span style="font-weight: bold;">1- Engine for creating lots of educational programming language syntax </span>in different human language scripts (English , French, japanease, ….).<br />
<span style="font-weight: bold;"><br />
2- The same engine mentioned before could be use to make programming look more like story writing for kids </span>(I mean after a lot of modifications) a kid will be able to write some kind of story and clicking on run will show him the story happening infront of him ( well we will need to use graphical libraries for doing so).<br />
<span style="font-weight: bold;"><br />
3- Visual animated programming ( <span style="font-style: italic;">ummm imagine this </span>)</span> : a kid opens a software he drags an icon of a hummer with declare written on it then he writes “x=12” , next he will drag an icon of wondering rabbit that have if written between it ears and write “x&gt;10”, and continue programming in this way. We can see this drag and drop will create may be html document, and there will be a translation file from that kind of html into the English upl which will be automatically translated to java and run.</p>
<div class="blogger-post-footer">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
omandev.net English feed</div>


<p>Related posts:<ol><li><a href='http://www.omandev.net/2007/10/jcodebase-1-1-beta/' rel='bookmark' title='Permanent Link: JCodeBase 1.1 Beta'>JCodeBase 1.1 Beta</a></li>
<li><a href='http://www.omandev.net/2009/01/why-python/' rel='bookmark' title='Permanent Link: Why Python'>Why Python</a></li>
<li><a href='http://www.omandev.net/2007/09/artificial-idiots/' rel='bookmark' title='Permanent Link: Artificial Idiots???'>Artificial Idiots???</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.omandev.net/2008/02/upl/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
