<?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>Yan Pritzker &#187; languages</title>
	<atom:link href="http://yanpritzker.com/category/languages/feed/" rel="self" type="application/rss+xml" />
	<link>http://yanpritzker.com</link>
	<description>photographer, entrepreneur, software engineer, musician, skier</description>
	<lastBuildDate>Fri, 13 Aug 2010 23:38:40 +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>The next high level language</title>
		<link>http://yanpritzker.com/2008/03/27/the-next-high-level-language/</link>
		<comments>http://yanpritzker.com/2008/03/27/the-next-high-level-language/#comments</comments>
		<pubDate>Thu, 27 Mar 2008 18:16:54 +0000</pubDate>
		<dc:creator>yan</dc:creator>
				<category><![CDATA[languages]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[thoughts]]></category>

		<guid isPermaLink="false">http://skwpspace.com/2008/03/27/the-next-high-level-language/</guid>
		<description><![CDATA[When we used low level languages like assembly, we had to care about how the computer performed every step of our operations. With the advent of mid level languages like C, we no longer cared about registers, but we still had to know how memory was managed. With the higher level languages (Java, Ruby, Smalltalk, [...]]]></description>
			<content:encoded><![CDATA[<p>When we used low level languages like assembly, we had to care about how the computer performed every step of our operations. With the advent of mid level languages like C, we no longer cared about registers, but we still had to know how memory was managed. With the higher level languages (Java, Ruby, Smalltalk, Lisp) and object oriented, functional, and event driven programming, we don&#8217;t care as much about how the work gets done, but program closer to the problem domain. As we create sets of objects that are more and more complex, we crate libraries and platforms. On these platforms, we create web applications.</p>
<p>Now we&#8217;re mashing up web applications themselves, creating more and more complex applications by building on top of existing APIs. As the register was to assembler, the array to C, and the object to Smalltalk/Java/Ruby, the web API is now a building block of the platform called the Internet. So what will the next high level language look like? We will no longer concern ourselves with objects, but rather services. Standardization&#8211;whether in the form of microformats and loosely defined service ontologies or the true semantic web with all its rdf madness&#8211;will bring power to this platform. </p>
<p>The code we write tomorrow will create web applications and new services with just a few lines of code which integrate services from all over the web. We&#8217;ll be able to register event callbacks not just across our local objects, but across web services themselves. Call it Web Oriented Programming.</p>
<p>Here&#8217;s a little implementation of a Facebook driven buddy-beacon type of system in this fantasy language.</p>
<pre>
at_url("/map_my_friends") do
  @map = Google.render_map(:center => 'Chicago, IL') do |map|
    map.add_data(:source => Facebook.get_friends.locations)
    map.add_data(:source => Yelp.my_favorite_places)
    map.add_data(:source => Planypus.my_plans)
  end

  Facebook.on_update(:attribute => :location) |user|
    @map.alert("#{user.login} has changed his location")
    @map.show_at_coordinates(user, user.location)
  end
end
</pre>
<p>This isn&#8217;t too far from what&#8217;s possible today, and most of today&#8217;s ugly implementation details deal with glue code and translation between the languages of different services.  The development of a standardized ontology will get us a long way toward having one-liner service integration. </p>
<p>Now&#8230;let&#8217;s make it happen.</p>
]]></content:encoded>
			<wfw:commentRss>http://yanpritzker.com/2008/03/27/the-next-high-level-language/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.230 seconds -->
