<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="http://wiki.apidesign.org/skins/common/feed.css?116"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.apidesign.org/index.php?action=history&amp;feed=atom&amp;title=Excel</id>
		<title>Excel - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.apidesign.org/index.php?action=history&amp;feed=atom&amp;title=Excel"/>
		<link rel="alternate" type="text/html" href="http://wiki.apidesign.org/index.php?title=Excel&amp;action=history"/>
		<updated>2026-04-10T23:31:01Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.12.0rc1</generator>

	<entry>
		<id>http://wiki.apidesign.org/index.php?title=Excel&amp;diff=4206&amp;oldid=prev</id>
		<title>JaroslavTulach: /* Unit Test Excel Formulas! */</title>
		<link rel="alternate" type="text/html" href="http://wiki.apidesign.org/index.php?title=Excel&amp;diff=4206&amp;oldid=prev"/>
				<updated>2010-10-27T21:45:24Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Unit Test Excel Formulas!&lt;/span&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 21:45, 27 October 2010&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 11:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 11:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Unit Test [[Excel]] Formulas! ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Unit Test [[Excel]] Formulas! ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;However later, when we were celebrating success of our presentation at ''The Chieftains'' irish pub we got to the topic of testing. &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;We touched &lt;/del&gt;[[Apex]] &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;again &lt;/del&gt;and I mentioned that &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;I can't imagine someone writing unit tests in &lt;/del&gt;[[Apex]]&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;. Rich replied that it &lt;/del&gt;is not &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;true, &lt;/del&gt;people do write unit tests in [[Apex]]&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;. &lt;/del&gt;I was shocked. I could not have imagined someone using [[Excel]] to write unit tests. Was [[Apex]] not supposed to be the language for [[Excel]] people, [[Rich]]?&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;However later, when we were celebrating success of our presentation at ''The Chieftains'' irish pub we got to the topic of testing. [[Apex]] &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;was still on my mind &lt;/ins&gt;and I mentioned that &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;obviusly, &lt;/ins&gt;[[Apex]] is not &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;good enough for writing unit tests. In contrary to my feeling [[Rich]]  explained thta &lt;/ins&gt;people do write unit tests in [[Apex]]&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;! &lt;/ins&gt;I was shocked. I could not have imagined someone using [[Excel]] to write unit tests. Was [[Apex]] not supposed to be the language for [[Excel]] people, [[Rich]]?&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;It turned out that in fact, if you want to use [[Apex]] and deploy your application, the system measures the percentage of unit tests written by you and it rejects any changes until you reach 75% of test coverage. That indeed implies that [[Apex]] is a language suitable for writing unit tests. But that also means that [[Apex]] is not a language for [[Excel]] people. &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;That may be a marketing goal or a vision, but not a reality. Just show me a regular &lt;/del&gt;[[&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;excel&lt;/del&gt;]] &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;user that can write unit tests! Those &lt;/del&gt;guys don't even know what a test is!&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;It turned out that in fact, if you want to use [[Apex]] and deploy your application, the system measures the percentage of unit tests written by you and it rejects any changes until you reach 75% of test coverage. That indeed implies that [[Apex]] is a language suitable for writing unit tests. But that also means that [[Apex]] is not a language for [[Excel]] people. [[&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Excel&lt;/ins&gt;]] guys don't even know what a test is!&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;''Yikes, pretty harsh Jarda!  Is there no middle ground, for those who have reached the limit of being able to run a business solely in excel, to take a step towards codifying their business practices without learning a general purpose language?  I never claimed that there was no learning curve whatsoever. --rich''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;''Yikes, pretty harsh Jarda!  Is there no middle ground, for those who have reached the limit of being able to run a business solely in &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/ins&gt;excel&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/ins&gt;, to take a step towards codifying their business practices without learning a general purpose language?  I never claimed that there was no learning curve whatsoever. --rich''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Somehow I feel that learning to write tests is as hard as learning some subset of [[Java]] to code against good [[API]] framework. The attempt to be as easy for [[clueless]] [[excel]] users is tempting. But in the light of the necessity to write tests to deploy anything, it sounds more a marketing goal or a vision than a reality.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== [[Good]] [[API]] First ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== [[Good]] [[API]] First ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>JaroslavTulach</name></author>	</entry>

	<entry>
		<id>http://wiki.apidesign.org/index.php?title=Excel&amp;diff=4205&amp;oldid=prev</id>
		<title>JaroslavTulach: /* Unit Test Excel Formulas! */</title>
		<link rel="alternate" type="text/html" href="http://wiki.apidesign.org/index.php?title=Excel&amp;diff=4205&amp;oldid=prev"/>
				<updated>2010-10-27T21:25:53Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Unit Test Excel Formulas!&lt;/span&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 21:25, 27 October 2010&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 11:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 11:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Unit Test [[Excel]] Formulas! ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Unit Test [[Excel]] Formulas! ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;However later, when we were celebrating our &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;successful &lt;/del&gt;presentation at ''The Chieftains'' irish pub we got to the topic of testing. We touched [[Apex]] again and I mentioned that I can't imagine someone writing unit tests in [[Apex]]. Rich replied that it is not true, people do write unit tests in [[Apex]]. I was shocked. I could not have imagined someone using [[Excel]] to write unit tests. Was [[Apex]] not supposed to be the language for [[Excel]] people, [[Rich]]?&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;However later, when we were celebrating &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;success of &lt;/ins&gt;our presentation at ''The Chieftains'' irish pub we got to the topic of testing. We touched [[Apex]] again and I mentioned that I can't imagine someone writing unit tests in [[Apex]]. Rich replied that it is not true, people do write unit tests in [[Apex]]. I was shocked. I could not have imagined someone using [[Excel]] to write unit tests. Was [[Apex]] not supposed to be the language for [[Excel]] people, [[Rich]]?&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;It turned out that in fact, if you want to use [[Apex]] and deploy your application, the system measures the percentage of unit tests written by you and it rejects any changes until you reach 75% of test coverage. That indeed implies that [[Apex]] is a language suitable for writing unit tests. But that also means that [[Apex]] is not a language for [[Excel]] people. That may be a marketing goal or a vision, but not a reality. Just show me a regular [[excel]] user that can write unit tests! Those guys don't even know what a test is!&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;It turned out that in fact, if you want to use [[Apex]] and deploy your application, the system measures the percentage of unit tests written by you and it rejects any changes until you reach 75% of test coverage. That indeed implies that [[Apex]] is a language suitable for writing unit tests. But that also means that [[Apex]] is not a language for [[Excel]] people. That may be a marketing goal or a vision, but not a reality. Just show me a regular [[excel]] user that can write unit tests! Those guys don't even know what a test is!&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>JaroslavTulach</name></author>	</entry>

	<entry>
		<id>http://wiki.apidesign.org/index.php?title=Excel&amp;diff=4204&amp;oldid=prev</id>
		<title>JaroslavTulach: /* DSL or Library? */</title>
		<link rel="alternate" type="text/html" href="http://wiki.apidesign.org/index.php?title=Excel&amp;diff=4204&amp;oldid=prev"/>
				<updated>2010-10-27T21:24:37Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;DSL or Library?&lt;/span&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 21:24, 27 October 2010&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== [[DSL]] or Library? ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== [[DSL]] or Library? ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Rich Unger]] mentioned [[Excel]] few times during our [[DSL]] presentation at [[JavaOne2010]] (btw. you can get slides from here: [[Image:Domain-library-shootout.pdf]]). Rich said that his company had to design [[Apex]] in order to attract people that are familiar with [[Excel]], but are intimidated with [[Java]]. Actually when we (and also our audience) tried to summarize when to use [[DSL]]s (Rich's side of the shootout) and when to write libraries ([[User:JaroslavTulach|my]] advice), we agreed that it basically depends on whether you are targeting ([[Java]]) programmers or not. For people with [[Excel]] knowledge the [[Apex]] was said to be a better fit.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Rich Unger]] mentioned [[Excel]] few times during our [[DSL]] presentation at [[JavaOne2010]] (btw. you can get slides from here: [[Image:Domain-library-shootout.pdf]]). &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/ins&gt;Rich&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;]] &lt;/ins&gt;said that his company had to design [[Apex]] in order to attract people that are familiar with [[Excel]], but are intimidated with [[Java]]. Actually when we (and also our audience) tried to summarize when to use [[DSL]]s (Rich's side of the shootout) and when to write libraries ([[User:JaroslavTulach|my]] advice), we agreed that it basically depends on whether you are targeting ([[Java]]) programmers or not. For people with [[Excel]] knowledge the [[Apex]] was said to be a better fit.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Our talk was supposed to be a shootout and I used strong [[wikipedia:Trash_talk|trash talk]] while preparing with Rich, but during the talk we treated each other with mutual respect. I somehow started to believe that Rich's ''[[excel]] argument'' is true. [[Apex]] was the language for [[Excel]] audience and it deserved its right to be a [[DSL]], not a library (as the [[TheAPIBook]] would advocate). We ended up our talk in complete reunion.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Our talk was supposed to be a shootout and I used strong [[wikipedia:Trash_talk|trash talk]] while preparing with Rich, but during the talk we treated each other with mutual respect. I somehow started to believe that Rich's ''[[excel]] argument'' is true. [[Apex]] was the language for [[Excel]] audience and it deserved its right to be a [[DSL]], not a library (as the [[TheAPIBook]] would advocate). We ended up our talk in complete reunion.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>JaroslavTulach</name></author>	</entry>

	<entry>
		<id>http://wiki.apidesign.org/index.php?title=Excel&amp;diff=4203&amp;oldid=prev</id>
		<title>JaroslavTulach: /* DSL or Library? */</title>
		<link rel="alternate" type="text/html" href="http://wiki.apidesign.org/index.php?title=Excel&amp;diff=4203&amp;oldid=prev"/>
				<updated>2010-10-27T21:24:13Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;DSL or Library?&lt;/span&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 21:24, 27 October 2010&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== [[DSL]] or Library? ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== [[DSL]] or Library? ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Rich Unger]] mentioned [[Excel]] few times during our [[DSL]] presentation at [[JavaOne2010]]. Rich said that his company had to design [[Apex]] in order to attract people that are familiar with [[Excel]], but are intimidated with [[Java]]. Actually when we (and also our audience) tried to summarize when to use [[DSL]]s (Rich's side of the shootout) and when to write libraries ([[User:JaroslavTulach|my]] advice), we agreed that it basically depends on whether you are targeting ([[Java]]) programmers or not. For people with [[Excel]] knowledge the [[Apex]] was said to be a better fit.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Rich Unger]] mentioned [[Excel]] few times during our [[DSL]] presentation at [[JavaOne2010]] &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;(btw. you can get slides from here: [[Image:Domain-library-shootout.pdf]])&lt;/ins&gt;. Rich said that his company had to design [[Apex]] in order to attract people that are familiar with [[Excel]], but are intimidated with [[Java]]. Actually when we (and also our audience) tried to summarize when to use [[DSL]]s (Rich's side of the shootout) and when to write libraries ([[User:JaroslavTulach|my]] advice), we agreed that it basically depends on whether you are targeting ([[Java]]) programmers or not. For people with [[Excel]] knowledge the [[Apex]] was said to be a better fit.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Our talk was supposed to be a shootout and I used strong [[wikipedia:Trash_talk|trash talk]] while preparing with Rich, but during the talk we treated each other with mutual respect. I somehow started to believe that Rich's ''[[excel]] argument'' is true. [[Apex]] was the language for [[Excel]] audience and it deserved its right to be a [[DSL]], not a library (as the [[TheAPIBook]] would advocate). We ended up our talk in complete reunion.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Our talk was supposed to be a shootout and I used strong [[wikipedia:Trash_talk|trash talk]] while preparing with Rich, but during the talk we treated each other with mutual respect. I somehow started to believe that Rich's ''[[excel]] argument'' is true. [[Apex]] was the language for [[Excel]] audience and it deserved its right to be a [[DSL]], not a library (as the [[TheAPIBook]] would advocate). We ended up our talk in complete reunion.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>JaroslavTulach</name></author>	</entry>

	<entry>
		<id>http://wiki.apidesign.org/index.php?title=Excel&amp;diff=4200&amp;oldid=prev</id>
		<title>JaroslavTulach at 21:08, 27 October 2010</title>
		<link rel="alternate" type="text/html" href="http://wiki.apidesign.org/index.php?title=Excel&amp;diff=4200&amp;oldid=prev"/>
				<updated>2010-10-27T21:08:03Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 21:08, 27 October 2010&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[wikipedia:Microsoft_Excel|Excel]] is almost a synonymum for any spreadsheet program. An example where a product name became de-facto name for the whole technology. I have never learned how to use [[Excel]] (or rather [[OpenOffice]] Calc) effectively, but I know that non-programmers can do quite amazing things with it.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[wikipedia:Microsoft_Excel|Excel]] is almost a synonymum for any spreadsheet program. An example where a product name became de-facto name for the whole technology. I have never learned how to use [[Excel]] (or rather [[OpenOffice]] Calc) effectively, but I know that non-programmers can do quite amazing things with it.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Cluelessness]] is always a goal for any technology vendor. Everyone wants to provide [[good technology]] which is easy to use and easy to get productive with. Everyone seeks such [[wikipedia:Holy_grail|holy grail]]. [[Excel]] got quite close. It managed to allow non-programmers to be productive with computers without learning what are the  '''if''' or '''while''' or '''for''' statements.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Cluelessness]] is always a goal for any technology vendor. Everyone wants to provide [[good technology]] which is easy to &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;learn, &lt;/ins&gt;use and easy to get productive with. Everyone seeks such [[wikipedia:Holy_grail|holy grail]]. [[Excel]] got quite close. It managed to allow non-programmers to be productive with computers without learning what are the  '''if''' or '''while''' or '''for''' statements.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== [[DSL]] or Library? ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== [[DSL]] or Library? ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>JaroslavTulach</name></author>	</entry>

	<entry>
		<id>http://wiki.apidesign.org/index.php?title=Excel&amp;diff=4199&amp;oldid=prev</id>
		<title>Richunger: /* Good API First */</title>
		<link rel="alternate" type="text/html" href="http://wiki.apidesign.org/index.php?title=Excel&amp;diff=4199&amp;oldid=prev"/>
				<updated>2010-10-25T16:46:33Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Good API First&lt;/span&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 16:46, 25 October 2010&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 22:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 22:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;In spite of all my  [[wikipedia:Trash_talk|trash talk]], my goal was never to say that [[DSL]]s are bad. My goal was to show that [[Java]] has amusing power too (see the [[LiveDB]] demo to agree). However if I knew all I know now, I would not let it be a tie! All the [[Rich]]'s [[excel]] like arguments worth not a penny! I should have smashed [[Rich]] out of the stage. But too late, the only thing I can do about that now is to [[excel|blog about that]].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;In spite of all my  [[wikipedia:Trash_talk|trash talk]], my goal was never to say that [[DSL]]s are bad. My goal was to show that [[Java]] has amusing power too (see the [[LiveDB]] demo to agree). However if I knew all I know now, I would not let it be a tie! All the [[Rich]]'s [[excel]] like arguments worth not a penny! I should have smashed [[Rich]] out of the stage. But too late, the only thing I can do about that now is to [[excel|blog about that]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;''I agree that you showed that internal DSLs can be a nice addition to a library design, to help support cluelessness.  However, in the case of Java that argument is somewhat hampered, since internal DSLs are only supported through the annotation mechanism, which itself has a learning curve for the end user, as the syntax is limited to certain constructs that can live in the existing Java AST.  It is still possible, for certain use cases and for certain audiences, that an external DSL can provide a cleaner syntax, a cleaner evolution path, and hence better adoption.  Apex has been extraordinarily successful, for the target audience it was originally intended for.  Attempts to grow that into the general developer market would be a tough sell, to be sure.  But the choice of an external DSL captured an important demographic.  --rich''&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Richunger</name></author>	</entry>

	<entry>
		<id>http://wiki.apidesign.org/index.php?title=Excel&amp;diff=4198&amp;oldid=prev</id>
		<title>Richunger: /* Unit Test Excel Formulas! */</title>
		<link rel="alternate" type="text/html" href="http://wiki.apidesign.org/index.php?title=Excel&amp;diff=4198&amp;oldid=prev"/>
				<updated>2010-10-25T16:40:48Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Unit Test Excel Formulas!&lt;/span&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 16:40, 25 October 2010&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 15:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 15:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;It turned out that in fact, if you want to use [[Apex]] and deploy your application, the system measures the percentage of unit tests written by you and it rejects any changes until you reach 75% of test coverage. That indeed implies that [[Apex]] is a language suitable for writing unit tests. But that also means that [[Apex]] is not a language for [[Excel]] people. That may be a marketing goal or a vision, but not a reality. Just show me a regular [[excel]] user that can write unit tests! Those guys don't even know what a test is!&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;It turned out that in fact, if you want to use [[Apex]] and deploy your application, the system measures the percentage of unit tests written by you and it rejects any changes until you reach 75% of test coverage. That indeed implies that [[Apex]] is a language suitable for writing unit tests. But that also means that [[Apex]] is not a language for [[Excel]] people. That may be a marketing goal or a vision, but not a reality. Just show me a regular [[excel]] user that can write unit tests! Those guys don't even know what a test is!&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;''Yikes, pretty harsh Jarda!  Is there no middle ground, for those who have reached the limit of being able to run a business solely in excel, to take a step towards codifying their business practices without learning a general purpose language?  I never claimed that there was no learning curve whatsoever. --rich''&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== [[Good]] [[API]] First ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== [[Good]] [[API]] First ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Richunger</name></author>	</entry>

	<entry>
		<id>http://wiki.apidesign.org/index.php?title=Excel&amp;diff=4197&amp;oldid=prev</id>
		<title>JaroslavTulach at 11:51, 25 October 2010</title>
		<link rel="alternate" type="text/html" href="http://wiki.apidesign.org/index.php?title=Excel&amp;diff=4197&amp;oldid=prev"/>
				<updated>2010-10-25T11:51:19Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 11:51, 25 October 2010&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 13:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 13:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;However later, when we were celebrating our successful presentation at ''The Chieftains'' irish pub we got to the topic of testing. We touched [[Apex]] again and I mentioned that I can't imagine someone writing unit tests in [[Apex]]. Rich replied that it is not true, people do write unit tests in [[Apex]]. I was shocked. I could not have imagined someone using [[Excel]] to write unit tests. Was [[Apex]] not supposed to be the language for [[Excel]] people, [[Rich]]?&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;However later, when we were celebrating our successful presentation at ''The Chieftains'' irish pub we got to the topic of testing. We touched [[Apex]] again and I mentioned that I can't imagine someone writing unit tests in [[Apex]]. Rich replied that it is not true, people do write unit tests in [[Apex]]. I was shocked. I could not have imagined someone using [[Excel]] to write unit tests. Was [[Apex]] not supposed to be the language for [[Excel]] people, [[Rich]]?&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;It turned out that in fact, if you want to use [[Apex]] and deploy your application, the system measures the percentage of unit tests written by you and it rejects any changes until you reach 75% of test coverage. That indeed implies that [[Apex]] is a language suitable for writing unit tests. But that also means that [[Apex]] is not a language for [[Excel]] people. That may be a marketing goal or a vision, but not a reality. Just show me a regular [[excel]] user that can write unit tests! Those guys don't even know what a test &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;it&lt;/del&gt;!&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;It turned out that in fact, if you want to use [[Apex]] and deploy your application, the system measures the percentage of unit tests written by you and it rejects any changes until you reach 75% of test coverage. That indeed implies that [[Apex]] is a language suitable for writing unit tests. But that also means that [[Apex]] is not a language for [[Excel]] people. That may be a marketing goal or a vision, but not a reality. Just show me a regular [[excel]] user that can write unit tests! Those guys don't even know what a test &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;is&lt;/ins&gt;!&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;During the whole talk about [[DSL]]s vs. Library [[APIDesignPatterns|design]] I tried to argue that the important thing is to create a library to wrap your functionality, the [[DSL]] is (at most) an additional wrapper to support more [[cluelessness]]. Rich tried to argue, that the library is not needed at all, that a [[DSL]] is enough. But in the light of those 75% unit test coverage, this is just a marketing dream, not a reality. Rich's company made an incorrect (technically, not from a marketing perspective) decision in the past to create their own [[DSL]] instead of producing a library in [[Java]] to access the same functionality. They have to stick to that decision (and even send [[Rich]] to talk about that), but to support other bussiness needs they give up on such level of [[cluelessness]] and their users to write tests (for [[good]] reasons which I agree with). However the whole story leaves quite a negative smell of [[doublethink]], don't you think?&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;In spite of all my  [[wikipedia:Trash_talk|trash talk]], my goal was never to say that [[DSL]]s are bad. My goal was to show that [[Java]] has amusing power too (see the [[LiveDB]] demo to agree). However if I knew all I know now, I would not let it be a tie! All the [[Rich]]'s [[excel]] like arguments worth not a penny! I should have [[Rich]] out of the stage. But too late, the only thing I can do about that now is to [[excel|blog about that]].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;=== [[Good]] [[API]] First ===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;During the whole talk about [[DSL]]s vs. Library [[APIDesignPatterns|design]] I tried to argue that the important thing is to create a library to wrap your technology, the [[DSL]] is (at most) an additional wrapper to support more [[cluelessness]]. [[Rich]] tried to argue, that the library is not needed at all, that a [[DSL]] is enough. But in the light of those 75% unit test coverage, this is just a marketing dream, not a reality. [[Rich]]'s company made an incorrect (technically, not from a marketing perspective) decision in the past to create their own [[DSL]] instead of producing a library in [[Java]] to access the same functionality. They have to stick to that decision (and even send [[Rich]] to talk about that at conferences), but to support other bussiness needs they give up on original level of [[cluelessness]]. Their users have to write tests (for [[good]] reasons which I agree with). However the whole story leaves quite a negative smell of [[doublethink]], don't you think?&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;In spite of all my  [[wikipedia:Trash_talk|trash talk]], my goal was never to say that [[DSL]]s are bad. My goal was to show that [[Java]] has amusing power too (see the [[LiveDB]] demo to agree). However if I knew all I know now, I would not let it be a tie! All the [[Rich]]'s [[excel]] like arguments worth not a penny! I should have &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;smashed &lt;/ins&gt;[[Rich]] out of the stage. But too late, the only thing I can do about that now is to [[excel|blog about that]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>JaroslavTulach</name></author>	</entry>

	<entry>
		<id>http://wiki.apidesign.org/index.php?title=Excel&amp;diff=4196&amp;oldid=prev</id>
		<title>JaroslavTulach at 11:46, 25 October 2010</title>
		<link rel="alternate" type="text/html" href="http://wiki.apidesign.org/index.php?title=Excel&amp;diff=4196&amp;oldid=prev"/>
				<updated>2010-10-25T11:46:52Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 11:46, 25 October 2010&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[wikipedia:Microsoft_Excel|Excel]] is almost a synonymum for any spreadsheet program. An example where a product name became de-facto name for the whole technology. I have never learned how to use [[Excel]] (or rather [[OpenOffice]] Calc) effectively, but I know that non-programmers can do quite amazing things with it.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[wikipedia:Microsoft_Excel|Excel]] is almost a synonymum for any spreadsheet program. An example where a product name became de-facto name for the whole technology. I have never learned how to use [[Excel]] (or rather [[OpenOffice]] Calc) effectively, but I know that non-programmers can do quite amazing things with it.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Cluelessness]] is always a goal for any technology vendor. Everyone wants to provide &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;a &lt;/del&gt;[[good technology]] which is easy to use and easy to get productive with. Everyone seeks such [[wikipedia:Holy_grail|holy grail]]. [[Excel]] got quite close. It managed to allow non-programmers to be productive with computers without learning what are the  '''if''' or '''while''' or '''for''' statements.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Cluelessness]] is always a goal for any technology vendor. Everyone wants to provide [[good technology]] which is easy to use and easy to get productive with. Everyone seeks such [[wikipedia:Holy_grail|holy grail]]. [[Excel]] got quite close. It managed to allow non-programmers to be productive with computers without learning what are the  '''if''' or '''while''' or '''for''' statements.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Rich Unger]] mentioned [[Excel]] few times during our [[DSL]] presentation at [[JavaOne2010]]. Rich said that his company had to design [[Apex]] in order to attract people that are familiar with [[Excel]], but are intimidated with [[Java]]. Actually when we (and also our audience) tried to summarize when to use [[DSL]]s (Rich's side of the shootout) and when to &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;writelibraries &lt;/del&gt;(&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;mine point&lt;/del&gt;), we &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;agree &lt;/del&gt;that it basically depends on whether you are targeting ([[Java]]) programmers or not. For people with [[Excel]] knowledge the [[Apex]] was said to be a better fit.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;=== [[DSL]] or Library? ===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Rich Unger]] mentioned [[Excel]] few times during our [[DSL]] presentation at [[JavaOne2010]]. Rich said that his company had to design [[Apex]] in order to attract people that are familiar with [[Excel]], but are intimidated with [[Java]]. Actually when we (and also our audience) tried to summarize when to use [[DSL]]s (Rich's side of the shootout) and when to &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;write libraries &lt;/ins&gt;(&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[User:JaroslavTulach|my]] advice&lt;/ins&gt;), we &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;agreed &lt;/ins&gt;that it basically depends on whether you are targeting ([[Java]]) programmers or not. For people with [[Excel]] knowledge the [[Apex]] was said to be a better fit.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Our talk was supposed to be a shootout and I used strong [[wikipedia:Trash_talk|trash talk]] while preparing with Rich, but during the talk we treated each other with mutual respect. I somehow started to believe that Rich's ''[[excel]] argument'' is true. [[Apex]] was the language for [[Excel]] audience and it deserved its right to be a [[DSL]], not a library (as the [[TheAPIBook]] would advocate). We ended up our talk in complete reunion.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Our talk was supposed to be a shootout and I used strong [[wikipedia:Trash_talk|trash talk]] while preparing with Rich, but during the talk we treated each other with mutual respect. I somehow started to believe that Rich's ''[[excel]] argument'' is true. [[Apex]] was the language for [[Excel]] audience and it deserved its right to be a [[DSL]], not a library (as the [[TheAPIBook]] would advocate). We ended up our talk in complete reunion.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;However later, when we were celebrating our successful presentation at ''The Chieftains'' irish pub we got to the topic of testing. We touched [[Apex]] again and I mentioned that I can't imagine someone writing unit tests in [[Apex]]. Rich replied that it is not true, people do write unit tests in [[Apex]]. I was shocked. I could not have imagined someone used &lt;/del&gt;[[Excel]] &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;to write unit tests and [[Apex]] was supposed to be the language for [[Excel]] people, was not it [[Rich]]?&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;=== Unit Test &lt;/ins&gt;[[Excel]] &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Formulas! ===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;However later, when we were celebrating our successful presentation at ''The Chieftains'' irish pub we got to the topic of testing. We touched [[Apex]] again and I mentioned that I can't imagine someone writing unit tests in [[Apex]]. Rich replied that it is not true, people do write unit tests in [[Apex]]. I was shocked. I could not have imagined someone using [[Excel]] to write unit tests. Was [[Apex]] not supposed to be the language for [[Excel]] people, [[Rich]]?&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;It turned out that in fact, if you want to use [[Apex]] and deploy your application, the system measures the percentage of unit tests written by you and it rejects any changes until you reach 75% of test coverage. That indeed implies that [[Apex]] is a language suitable for writing unit tests. But that also means that [[Apex]] is not a language for [[Excel]] people. That &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;is at most &lt;/del&gt;a marketing goal, but &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;in &lt;/del&gt;reality&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;? &lt;/del&gt;Just show me a regular [[excel]] user that can write unit tests! Those guys don't even know what a test it!&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;It turned out that in fact, if you want to use [[Apex]] and deploy your application, the system measures the percentage of unit tests written by you and it rejects any changes until you reach 75% of test coverage. That indeed implies that [[Apex]] is a language suitable for writing unit tests. But that also means that [[Apex]] is not a language for [[Excel]] people. That &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;may be &lt;/ins&gt;a marketing goal &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;or a vision&lt;/ins&gt;, but &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;not a &lt;/ins&gt;reality&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;. &lt;/ins&gt;Just show me a regular [[excel]] user that can write unit tests! Those guys don't even know what a test it!&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;During the whole talk about [[DSL]]s vs. Library [[APIDesignPatterns|design]] I tried to argue that the important thing is to create a library to wrap your functionality, the [[DSL]] is (at most) an additional wrapper to support more [[cluelessness]]. Rich tried to argue, that the library is not needed at all, that a [[DSL]] is enough. But in the light of those 75% unit test coverage, this is just a marketing dream, not a reality. Rich's company made an incorrect (technically, not from a marketing perspective) decision in the past to create their own [[DSL]] instead of producing a library in [[Java]] to access the same functionality. They have to stick to that decision (and even send [[Rich]] to talk about that), but to support other bussiness needs they give up on such level of [[cluelessness]] and their users to write tests (for [[good]] reasons which I agree with). However the whole story leaves quite a negative smell of [[doublethink]], don't you think?&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;During the whole talk about [[DSL]]s vs. Library [[APIDesignPatterns|design]] I tried to argue that the important thing is to create a library to wrap your functionality, the [[DSL]] is (at most) an additional wrapper to support more [[cluelessness]]. Rich tried to argue, that the library is not needed at all, that a [[DSL]] is enough. But in the light of those 75% unit test coverage, this is just a marketing dream, not a reality. Rich's company made an incorrect (technically, not from a marketing perspective) decision in the past to create their own [[DSL]] instead of producing a library in [[Java]] to access the same functionality. They have to stick to that decision (and even send [[Rich]] to talk about that), but to support other bussiness needs they give up on such level of [[cluelessness]] and their users to write tests (for [[good]] reasons which I agree with). However the whole story leaves quite a negative smell of [[doublethink]], don't you think?&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;In spite of all my  [[wikipedia:Trash_talk|trash talk]], my goal was never to say that [[DSL]]s are bad. My goal was to show that [[Java]] has amusing power too (see the [[LiveDB]] demo to agree). However if I knew all I know now, I would not let it be a tie! All the [[Rich]]'s [[excel]] like arguments worth not a penny! I should have [[Rich]] out of the stage. But too late, the only thing I can do about that now is to [[excel|blog about that]].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;In spite of all my  [[wikipedia:Trash_talk|trash talk]], my goal was never to say that [[DSL]]s are bad. My goal was to show that [[Java]] has amusing power too (see the [[LiveDB]] demo to agree). However if I knew all I know now, I would not let it be a tie! All the [[Rich]]'s [[excel]] like arguments worth not a penny! I should have [[Rich]] out of the stage. But too late, the only thing I can do about that now is to [[excel|blog about that]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>JaroslavTulach</name></author>	</entry>

	<entry>
		<id>http://wiki.apidesign.org/index.php?title=Excel&amp;diff=4192&amp;oldid=prev</id>
		<title>JaroslavTulach at 19:29, 24 October 2010</title>
		<link rel="alternate" type="text/html" href="http://wiki.apidesign.org/index.php?title=Excel&amp;diff=4192&amp;oldid=prev"/>
				<updated>2010-10-24T19:29:30Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 19:29, 24 October 2010&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 11:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 11:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;It turned out that in fact, if you want to use [[Apex]] and deploy your application, the system measures the percentage of unit tests written by you and it rejects any changes until you reach 75% of test coverage. That indeed implies that [[Apex]] is a language suitable for writing unit tests. But that also means that [[Apex]] is not a language for [[Excel]] people. That is at most a marketing goal, but in reality? Just show me a regular [[excel]] user that can write unit tests! Those guys don't even know what a test it!&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;It turned out that in fact, if you want to use [[Apex]] and deploy your application, the system measures the percentage of unit tests written by you and it rejects any changes until you reach 75% of test coverage. That indeed implies that [[Apex]] is a language suitable for writing unit tests. But that also means that [[Apex]] is not a language for [[Excel]] people. That is at most a marketing goal, but in reality? Just show me a regular [[excel]] user that can write unit tests! Those guys don't even know what a test it!&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;During the whole talk about [[DSL]]s vs. Library [[APIDesignPatterns|design]] I tried to argue that the important thing is to create a library to wrap your functionality, the [[DSL]] is (at most) an additional wrapper to support more [[cluelessness]]. Rich tried to argue, that the library is not needed at all, that a [[DSL]] is enough. But in the light of those 75% unit test coverage, this is just a marketing dream, not a reality. Rich's company made an incorrect (technically, not from a marketing perspective) decision in the past to create their own [[DSL]] instead of producing a library in [[Java]] to access the same functionality. They have to stick to that decision (and even send [[Rich]] to talk about that), but to support other bussiness needs they give up on such level of [[cluelessness]] and their users to write tests (for [[good]] reasons which I agree with). However the whole story leaves quite a negative smell of [[doublethink]], don't you think?&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;In spite of all my  [[wikipedia:Trash_talk|trash talk]], my goal was never to say that [[DSL]]s are bad. My goal was to show that [[Java]] has amusing power too (see the [[LiveDB]] demo to agree). However if I knew all I know now, I would not let it be a tie! All the [[Rich]]'s [[excel]] like arguments worth not a penny! I should have [[Rich]] out of the stage. But too late, the only thing I can do about that now is to [[excel|blog about that]].&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>JaroslavTulach</name></author>	</entry>

	</feed>