<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: JavaScript in gnome</title>
	<atom:link href="http://blogs.gnome.org/pbor/2009/11/05/javascript-in-gnome/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.gnome.org/pbor/2009/11/05/javascript-in-gnome/</link>
	<description>pbor's little blue box</description>
	<lastBuildDate>Fri, 11 Mar 2011 00:19:04 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Sam Thursfield</title>
		<link>http://blogs.gnome.org/pbor/2009/11/05/javascript-in-gnome/comment-page-1/#comment-154</link>
		<dc:creator>Sam Thursfield</dc:creator>
		<pubDate>Sat, 07 Nov 2009 19:09:33 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/pbor/?p=83#comment-154</guid>
		<description>@pbor: &quot;On the other hand take gedit plugins, many of them do text processing, other spawn processes like make etc, all things that are easy to use in python and that to do in js would require significant effort either writing js code or reinventing “g” version of libraries and then accessing them from js.&quot;

I&#039;d like to poke a little hole in this argument. Doing something like spawning make brings in some portability issues if you want your app to run on Windows too ... Python handles things like that pretty poorly (in terms of argument mangling, and character set conversion and arbitrarily missing functionality) so it&#039;s better to use the (existing) g_spawn interface anyway. (Which isn&#039;t much better but at least we can fix it more easily).

I do see your point about the big standard libraries of eg. python being very useful (in fact the only reason I use python out of choice is so I don&#039;t have to start by reinventing some wheels) .. but if a plugin needs to access a type of functionality, presumably the host or a different GNOME application will want that functionality somewhere too</description>
		<content:encoded><![CDATA[<p>@<a href="http://blogs.gnome.org/pbor/2009/11/05/javascript-in-gnome/#comment-151">pbor</a>: &#8220;On the other hand take gedit plugins, many of them do text processing, other spawn processes like make etc, all things that are easy to use in python and that to do in js would require significant effort either writing js code or reinventing “g” version of libraries and then accessing them from js.&#8221;</p>
<p>I&#8217;d like to poke a little hole in this argument. Doing something like spawning make brings in some portability issues if you want your app to run on Windows too &#8230; Python handles things like that pretty poorly (in terms of argument mangling, and character set conversion and arbitrarily missing functionality) so it&#8217;s better to use the (existing) g_spawn interface anyway. (Which isn&#8217;t much better but at least we can fix it more easily).</p>
<p>I do see your point about the big standard libraries of eg. python being very useful (in fact the only reason I use python out of choice is so I don&#8217;t have to start by reinventing some wheels) .. but if a plugin needs to access a type of functionality, presumably the host or a different GNOME application will want that functionality somewhere too</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Leon</title>
		<link>http://blogs.gnome.org/pbor/2009/11/05/javascript-in-gnome/comment-page-1/#comment-153</link>
		<dc:creator>Leon</dc:creator>
		<pubDate>Fri, 06 Nov 2009 16:42:57 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/pbor/?p=83#comment-153</guid>
		<description>One of arguments pro-javascript was that developers from the &quot;web platform&quot; would be attracted. I would actually be interested in how many developers who develop desktop applications for Mac or Windows platforms (and therefore already have experience with desktop applications) know js vs. how many know python vs. how many know C# vs. how many know [some language]. I honestly do not know what would be the outcome, I am just saying that the web developers may not be the best crowd to target.</description>
		<content:encoded><![CDATA[<p>One of arguments pro-javascript was that developers from the &#8220;web platform&#8221; would be attracted. I would actually be interested in how many developers who develop desktop applications for Mac or Windows platforms (and therefore already have experience with desktop applications) know js vs. how many know python vs. how many know C# vs. how many know [some language]. I honestly do not know what would be the outcome, I am just saying that the web developers may not be the best crowd to target.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Juanjo</title>
		<link>http://blogs.gnome.org/pbor/2009/11/05/javascript-in-gnome/comment-page-1/#comment-152</link>
		<dc:creator>Juanjo</dc:creator>
		<pubDate>Fri, 06 Nov 2009 16:06:53 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/pbor/?p=83#comment-152</guid>
		<description>I would have chosen a scheme dialect, such as guille.

Ok, that was a joke (obviously), but it makes the same sense for me that using JS.

I agree with you with the &quot;you get what you need done and move on with life&quot;, but it&#039;s not true for a FOSS project you hack in your free time.

I would have chosen Python.</description>
		<content:encoded><![CDATA[<p>I would have chosen a scheme dialect, such as guille.</p>
<p>Ok, that was a joke (obviously), but it makes the same sense for me that using JS.</p>
<p>I agree with you with the &#8220;you get what you need done and move on with life&#8221;, but it&#8217;s not true for a FOSS project you hack in your free time.</p>
<p>I would have chosen Python.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pbor</title>
		<link>http://blogs.gnome.org/pbor/2009/11/05/javascript-in-gnome/comment-page-1/#comment-151</link>
		<dc:creator>pbor</dc:creator>
		<pubDate>Fri, 06 Nov 2009 09:40:55 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/pbor/?p=83#comment-151</guid>
		<description>alex: I surely agree with that, and that&#039;s the reason why I *do* think js was a good choice for the shell (in case it was not clear from the post)

On the other hand take gedit plugins, many of them do text processing, other spawn processes like make etc, all things that are easy to use in python and that to do in js would require significant effort either writing js code or reinventing &quot;g&quot; version of libraries and then accessing them from js.

Another example would be some technical computation apps that e.g. needs to do math, interface with stuff like mpi or a job balancing middleware etc, all things for which creating new &quot;g&quot; libraries would be a useless effort</description>
		<content:encoded><![CDATA[<p>alex: I surely agree with that, and that&#8217;s the reason why I *do* think js was a good choice for the shell (in case it was not clear from the post)</p>
<p>On the other hand take gedit plugins, many of them do text processing, other spawn processes like make etc, all things that are easy to use in python and that to do in js would require significant effort either writing js code or reinventing &#8220;g&#8221; version of libraries and then accessing them from js.</p>
<p>Another example would be some technical computation apps that e.g. needs to do math, interface with stuff like mpi or a job balancing middleware etc, all things for which creating new &#8220;g&#8221; libraries would be a useless effort</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eemil Lagerspetz</title>
		<link>http://blogs.gnome.org/pbor/2009/11/05/javascript-in-gnome/comment-page-1/#comment-150</link>
		<dc:creator>Eemil Lagerspetz</dc:creator>
		<pubDate>Fri, 06 Nov 2009 09:25:09 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/pbor/?p=83#comment-150</guid>
		<description>Litl: http://litl.com/ is GNOME + Javascript, and it looks like a polished product. They did add their own namespace system: http://cananian.livejournal.com/58744.html . I think JavaScript is a good choice in many aspects; it is cross-platform, JIT means that you don&#039;t need to compile while developing the UI, and you could even have JavaScript programs move between different platforms with the same API while maintaining program state; i.e., your mail program / text editor / web browser could switch computers as you do and have the same files open.</description>
		<content:encoded><![CDATA[<p>Litl: <a href="http://litl.com/" rel="nofollow">http://litl.com/</a> is GNOME + Javascript, and it looks like a polished product. They did add their own namespace system: <a href="http://cananian.livejournal.com/58744.html" rel="nofollow">http://cananian.livejournal.com/58744.html</a> . I think JavaScript is a good choice in many aspects; it is cross-platform, JIT means that you don&#8217;t need to compile while developing the UI, and you could even have JavaScript programs move between different platforms with the same API while maintaining program state; i.e., your mail program / text editor / web browser could switch computers as you do and have the same files open.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gantenbein</title>
		<link>http://blogs.gnome.org/pbor/2009/11/05/javascript-in-gnome/comment-page-1/#comment-149</link>
		<dc:creator>gantenbein</dc:creator>
		<pubDate>Fri, 06 Nov 2009 09:16:03 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/pbor/?p=83#comment-149</guid>
		<description>@James: Web developers usually don&#039;t use DOM directly anymore. They use AJAX toolkits and frameworks like Dojo, jQuery, Prototype, Ext, etc. They should be able to pick up other frameworks like Clutter and GIO.</description>
		<content:encoded><![CDATA[<p>@James: Web developers usually don&#8217;t use DOM directly anymore. They use AJAX toolkits and frameworks like Dojo, jQuery, Prototype, Ext, etc. They should be able to pick up other frameworks like Clutter and GIO.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: alexl</title>
		<link>http://blogs.gnome.org/pbor/2009/11/05/javascript-in-gnome/comment-page-1/#comment-148</link>
		<dc:creator>alexl</dc:creator>
		<pubDate>Fri, 06 Nov 2009 09:14:13 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/pbor/?p=83#comment-148</guid>
		<description>pbor: About the no-js-platform thing. Think of it like this:

You&#039;re writing an application, its core is written in C using the gtk/gnome library stack. Then you use js as a scripting language to write the &quot;topmost&quot; layers in the application. 

Since the scripting language accesses the lower levels of the app is very important that it can access the gnome stack so it can get at the objects etc that the app uses. So, the scripting language clearly needs a GOI binding.

Now, if the scripting language additionally has a large platform of its own this can lead to problems. Such a platform generally overlaps the gnome platform to a large degree, causing us to pull in two copies of the same functionality. But even worse, when you use that platform suddenly the scripting code is isolated from the core of the application, since its using object and types that the non-scripting parts of the application don&#039;t support. 

And saying &quot;just don&#039;t use the scripting language platform&quot; is not really realistic. For instance python users are very used to importing python libraries so are likely to pull it in in by &quot;accident&quot;, or by e.g. copying example code. Additionally all the python standard libraries are interconnected, so once you pull in one you often pull in large parts of the stack.

For instance, if you&#039;re doing some date calculations in python its likely that a python developer would import the datetime module (any python example would do so), but in GJs its much more natural to use the GDate type from glib which is much better when you then need to pass the date from the scripting layer to the core of the app (or when the cor gives you a date).</description>
		<content:encoded><![CDATA[<p>pbor: About the no-js-platform thing. Think of it like this:</p>
<p>You&#8217;re writing an application, its core is written in C using the gtk/gnome library stack. Then you use js as a scripting language to write the &#8220;topmost&#8221; layers in the application. </p>
<p>Since the scripting language accesses the lower levels of the app is very important that it can access the gnome stack so it can get at the objects etc that the app uses. So, the scripting language clearly needs a GOI binding.</p>
<p>Now, if the scripting language additionally has a large platform of its own this can lead to problems. Such a platform generally overlaps the gnome platform to a large degree, causing us to pull in two copies of the same functionality. But even worse, when you use that platform suddenly the scripting code is isolated from the core of the application, since its using object and types that the non-scripting parts of the application don&#8217;t support. </p>
<p>And saying &#8220;just don&#8217;t use the scripting language platform&#8221; is not really realistic. For instance python users are very used to importing python libraries so are likely to pull it in in by &#8220;accident&#8221;, or by e.g. copying example code. Additionally all the python standard libraries are interconnected, so once you pull in one you often pull in large parts of the stack.</p>
<p>For instance, if you&#8217;re doing some date calculations in python its likely that a python developer would import the datetime module (any python example would do so), but in GJs its much more natural to use the GDate type from glib which is much better when you then need to pass the date from the scripting layer to the core of the app (or when the cor gives you a date).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James Henstridge</title>
		<link>http://blogs.gnome.org/pbor/2009/11/05/javascript-in-gnome/comment-page-1/#comment-147</link>
		<dc:creator>James Henstridge</dc:creator>
		<pubDate>Fri, 06 Nov 2009 08:30:46 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/pbor/?p=83#comment-147</guid>
		<description>Another point: JavaScript in the form web developers use it does have a standard library: the DOM.

Granted that isn&#039;t available when using the language outside of a web browser, but then that conflicts with trying to attract web developers.</description>
		<content:encoded><![CDATA[<p>Another point: JavaScript in the form web developers use it does have a standard library: the DOM.</p>
<p>Granted that isn&#8217;t available when using the language outside of a web browser, but then that conflicts with trying to attract web developers.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pbor</title>
		<link>http://blogs.gnome.org/pbor/2009/11/05/javascript-in-gnome/comment-page-1/#comment-146</link>
		<dc:creator>pbor</dc:creator>
		<pubDate>Fri, 06 Nov 2009 07:54:18 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/pbor/?p=83#comment-146</guid>
		<description>@nona: my point is that glib, gtk etc are a fine platform and I use them every day, but if you want to do something beside showing buttons on the screen and flipping windows you will need to either use other libs or implement your own... 

@Josh: maybe it was not clear enough, but I am ok with the choice of js for the shell. Most importantly I think gnome-shell hackers do not need my (or anyone else&#039;s) blessing about that.

@Jason: I know about GOI and I am really happy with it, and yes, I agree that js was a suitable GOI choice</description>
		<content:encoded><![CDATA[<p>@<a href="http://blogs.gnome.org/pbor/2009/11/05/javascript-in-gnome/#comment-140">nona</a>: my point is that glib, gtk etc are a fine platform and I use them every day, but if you want to do something beside showing buttons on the screen and flipping windows you will need to either use other libs or implement your own&#8230; </p>
<p>@Josh: maybe it was not clear enough, but I am ok with the choice of js for the shell. Most importantly I think gnome-shell hackers do not need my (or anyone else&#8217;s) blessing about that.</p>
<p>@Jason: I know about GOI and I am really happy with it, and yes, I agree that js was a suitable GOI choice</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Benjamin Otte</title>
		<link>http://blogs.gnome.org/pbor/2009/11/05/javascript-in-gnome/comment-page-1/#comment-145</link>
		<dc:creator>Benjamin Otte</dc:creator>
		<pubDate>Fri, 06 Nov 2009 07:51:26 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/pbor/?p=83#comment-145</guid>
		<description>&gt; I thought we were focusing on implementing good
&gt; applications instead of reimplementing and maintaining
&gt; a “gwhatever” library for every problem in the world.
&gt;
I liked the article (in particular the last argument), but I do think this part is wrong.
First of all the fact: We (as in GNOME developers) are not known for our great applications. In fact, GEdit and maybe Epiphany are the only real applications we do ship. The real cool applications are built on top of GNOME, but they&#039;re not developed by &quot;us&quot;.
Now what do we do? I&#039;d say we&#039;re busy building platform libraries. We&#039;re doing that by building our own APIs on top of the lower layers of the stack. Gdk is the GNOME version of Xlib, Webkit-gtk a the GNOME version of Webkit, etc. This means that mixing with another standard library (be it Python or C#) means we&#039;d have to mix the GNOME way and the $language way of doing things. And unless you integrate it really deep into that languageand probably even then), it will feel foreign compared to the default library.
At least, I haven&#039;t seen a lot of love for our language bindings in the last fe years. Or maybe people just don&#039;t code in Python etc anymore.</description>
		<content:encoded><![CDATA[<p>&gt; I thought we were focusing on implementing good<br />
&gt; applications instead of reimplementing and maintaining<br />
&gt; a “gwhatever” library for every problem in the world.<br />
&gt;<br />
I liked the article (in particular the last argument), but I do think this part is wrong.<br />
First of all the fact: We (as in GNOME developers) are not known for our great applications. In fact, GEdit and maybe Epiphany are the only real applications we do ship. The real cool applications are built on top of GNOME, but they&#8217;re not developed by &#8220;us&#8221;.<br />
Now what do we do? I&#8217;d say we&#8217;re busy building platform libraries. We&#8217;re doing that by building our own APIs on top of the lower layers of the stack. Gdk is the GNOME version of Xlib, Webkit-gtk a the GNOME version of Webkit, etc. This means that mixing with another standard library (be it Python or C#) means we&#8217;d have to mix the GNOME way and the $language way of doing things. And unless you integrate it really deep into that languageand probably even then), it will feel foreign compared to the default library.<br />
At least, I haven&#8217;t seen a lot of love for our language bindings in the last fe years. Or maybe people just don&#8217;t code in Python etc anymore.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
<!-- This Quick Cache file was built for (  blogs.gnome.org/pbor/2009/11/05/javascript-in-gnome/feed/ ) in 1.18906 seconds, on Feb 12th, 2012 at 2:56 am UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 12th, 2012 at 3:56 am UTC -->
