<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="http://wiki.apidesign.org/skins/common/feed.css?116"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>Modularize - Revision history</title>
		<link>http://wiki.apidesign.org/index.php?title=Modularize&amp;action=history</link>
		<description>Revision history for this page on the wiki</description>
		<language>en</language>
		<generator>MediaWiki 1.12.0rc1</generator>
		<lastBuildDate>Tue, 05 May 2026 14:56:54 GMT</lastBuildDate>
		<item>
			<title>JaroslavTulach at 09:04, 23 October 2012</title>
			<link>http://wiki.apidesign.org/index.php?title=Modularize&amp;diff=6231&amp;oldid=prev</link>
			<description>&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 09:04, 23 October 2012&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 9:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 9:&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;The fact that [[Java]]'s [[JDK]] is bloated and needs to be striped down to be competitive with other languages and frameworks is long time well known. The [[Jigsaw]] project (and its predecessors) has been created years ago to address that. It's primary motto is ''[[modularize]] the [[JDK]]'' and as could be seen during keynote of [[JavaOne2012]], there is some progress in this respect - a small, '''java.base''' module with few additional ones supporting [[JavaFX]] was executed (almost) successfully on the keynote stage. Clearly the [[modularization]] pays off, one can bring the power of [[Java]] to new, limited devices.&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;The fact that [[Java]]'s [[JDK]] is bloated and needs to be striped down to be competitive with other languages and frameworks is long time well known. The [[Jigsaw]] project (and its predecessors) has been created years ago to address that. It's primary motto is ''[[modularize]] the [[JDK]]'' and as could be seen during keynote of [[JavaOne2012]], there is some progress in this respect - a small, '''java.base''' module with few additional ones supporting [[JavaFX]] was executed (almost) successfully on the keynote stage. Clearly the [[modularization]] pays off, one can bring the power of [[Java]] to new, limited devices.&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;Is the current [[Jigsaw]] [[modularization]] the right one? It certainly is from the point of view of [[Java]] mobility edition. The same code can now run in mobile devices as well as on desktop. The '''java.base''' module becomes the [[common ground]] for all [[Java]] [[environment]]s. However for some usages (like fitting java into 72KB of memory), it is still too bloated?&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;Is the current [[Jigsaw]] [[modularization]] the right one? It certainly is from the point of view of [[Java]] mobility edition. The same code can now run in mobile devices as well as on desktop. The '''java.base''' module becomes the [[&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Module system|&lt;/ins&gt;common ground]] for all [[Java]] [[environment]]s. However for some usages (like fitting java into 72KB of memory), it is still too bloated?&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;Why? Because the [[Jigsaw]] guys naturally choose the size of '''java.base''' to be the smallest for their own needs. What is the smallest need of a person working on [[Jigsaw]]? Well, to execute their product. Thus '''java.base''' contains support for [[HTTPS]], disk access, various utilities. Clearly a modularization driven by a need. &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;Why? Because the [[Jigsaw]] guys naturally choose the size of '''java.base''' to be the smallest for their own needs. What is the smallest need of a person working on [[Jigsaw]]? Well, to execute their product. Thus '''java.base''' contains support for [[HTTPS]], disk access, various utilities. Clearly a modularization driven by a need. &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Tue, 23 Oct 2012 09:04:45 GMT</pubDate>			<dc:creator>JaroslavTulach</dc:creator>			<comments>http://wiki.apidesign.org/wiki/Talk:Modularize</comments>		</item>
		<item>
			<title>JaroslavTulach: /* The Modular Java SE Case */</title>
			<link>http://wiki.apidesign.org/index.php?title=Modularize&amp;diff=6228&amp;oldid=prev</link>
			<description>&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;The Modular Java SE Case&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 08:54, 23 October 2012&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 7:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 7:&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;== The [[Modular Java SE]] Case ==&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;== The [[Modular Java SE]] Case ==&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;TBD&lt;/del&gt;]]&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;: &lt;/del&gt;[[Jigsaw]] and &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;ME&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;The fact that &lt;/ins&gt;[[&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Java&lt;/ins&gt;]]&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;'s [[JDK]] is bloated and needs to be striped down to be competitive with other languages and frameworks is long time well known. The &lt;/ins&gt;[[Jigsaw]] &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;project (&lt;/ins&gt;and &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;its predecessors) has been created years ago to address that. It's primary motto is ''[[modularize]] the [[JDK]]'' and as could be seen during keynote of [[JavaOne2012]], there is some progress in this respect - a small, '''java.base''' module with few additional ones supporting [[JavaFX]] was executed (almost) successfully on the keynote stage. Clearly the [[modularization]] pays off, one can bring the power of [[Java]] to new, limited devices.&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;Is the current [[Jigsaw]] [[modularization]] the right one? It certainly is from the point of view of [[Java]] mobility edition. The same code can now run in mobile devices as well as on desktop. The '''java.base''' module becomes the [[common ground]] for all [[Java]] [[environment]]s. However for some usages (like fitting java into 72KB of memory), it is still too bloated?&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;Why? Because the [[Jigsaw]] guys naturally choose the size of '''java.base''' to be the smallest for their own needs. What is the smallest need of a person working on [[Jigsaw]]? Well, to execute their product. Thus '''java.base''' contains support for [[HTTPS]], disk access, various utilities. Clearly a modularization driven by a need. &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;But I have a different need! I want the smallest possible module to be chosen! What would be its size? Minimal. Just classes that the [[JavaC]] is directly aware of when generating [[bytecode]]. E.g. {{JDK|java/lang|Object}}, {{JDK|java/lang|String}}, {{JDK|java/lang|StringBuilder}}, {{JDK|java/lang|Exception}}, {{JDK|java/lang|Iterable}} and few others. That would finally turn [[Java]] into flexible and portable [[framework]]. &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;The only necessary precondition is to agree with such ''need'' then the right [[modularization]] naturally shows up..&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;== The Server Side ==&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;== The Server Side ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Tue, 23 Oct 2012 08:54:56 GMT</pubDate>			<dc:creator>JaroslavTulach</dc:creator>			<comments>http://wiki.apidesign.org/wiki/Talk:Modularize</comments>		</item>
		<item>
			<title>JaroslavTulach at 08:01, 23 October 2012</title>
			<link>http://wiki.apidesign.org/index.php?title=Modularize&amp;diff=6227&amp;oldid=prev</link>
			<description>&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 08:01, 23 October 2012&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: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;There are multiple correct ways &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;how want &lt;/del&gt;to [[modularize]] your applications. How do you select the right one? This article provides you the best guidance you can get.&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;There are multiple correct ways to [[modularize]] your applications. How do you select the right one? This article provides you the best guidance you can get.&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;== No Silver Bullet ==&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;== No Silver Bullet ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Tue, 23 Oct 2012 08:01:12 GMT</pubDate>			<dc:creator>JaroslavTulach</dc:creator>			<comments>http://wiki.apidesign.org/wiki/Talk:Modularize</comments>		</item>
		<item>
			<title>JaroslavTulach: New page: There are multiple correct ways how want to modularize your applications. How do you select the right one? This article provides you the best guidance you can get.  == No Silver Bullet...</title>
			<link>http://wiki.apidesign.org/index.php?title=Modularize&amp;diff=6226&amp;oldid=prev</link>
			<description>&lt;p&gt;New page: There are multiple correct ways how want to &lt;a href=&quot;/wiki/Modularize&quot; title=&quot;Modularize&quot;&gt;modularize&lt;/a&gt; your applications. How do you select the right one? This article provides you the best guidance you can get.  == No Silver Bullet...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;There are multiple correct ways how want to [[modularize]] your applications. How do you select the right one? This article provides you the best guidance you can get.&lt;br /&gt;
&lt;br /&gt;
== No Silver Bullet ==&lt;br /&gt;
&lt;br /&gt;
[[TBD]]: Andzrej's example.&lt;br /&gt;
&lt;br /&gt;
== The [[Modular Java SE]] Case ==&lt;br /&gt;
&lt;br /&gt;
[[TBD]]: [[Jigsaw]] and ME.&lt;br /&gt;
&lt;br /&gt;
== The Server Side ==&lt;br /&gt;
&lt;br /&gt;
[[TBD]]: Do you want 14?&lt;br /&gt;
&lt;br /&gt;
= Driven by Need =&lt;br /&gt;
&lt;br /&gt;
The right granularity and even separation during architecting [[modular system]]s is driven by one's need. Primarily by the existing need, secondary by a future need that has to be estimated by envisioning the future [[evolution]] of the system.&lt;/div&gt;</description>
			<pubDate>Tue, 23 Oct 2012 08:00:57 GMT</pubDate>			<dc:creator>JaroslavTulach</dc:creator>			<comments>http://wiki.apidesign.org/wiki/Talk:Modularize</comments>		</item>
	</channel>
</rss>