blob: 7d6c672dbdf089ae17620a7cd379a6c9e8308a7d [file] [log] [blame]
<!--div id="bigbuttons">
<h3>Primary Links</h3>
<ul>
<li><a id="buttonDownload" href="download.php" title="Download">Eclipse
Distribution, Update Site, Dropins</a></li>
<li><a id="buttonDocumentation" href="documentation.php"
title="Documentation">Tutorials, Examples, Videos, Reference Documentation</a></li>
<li><a id="buttonSupport" href="support.php" title="Support">Bug
Tracker, Newsgroup</a></li>
<li><a id="buttonInvolved" href="getting_involved.php" title="Getting Involved">CVS,
Workspace Setup, Wiki, Committers</a></li>
</ul>
</div-->
<div class="container"
style="height:220px;width:100%;
background-image:url(/luna/assets/public/images/background.jpg);">
<div class="col-md-15">
<h1 style="color:#fff;">Luna is here:<br/>Object Teams embraces Java&trade; 8</h1>
</div>
<div class="col-md-8 col-md-offset-1">
<span style="display:inline-block; width:180px;font-size:22px;margin-top:40px;">
<a href="/objectteams/documentation.php" style="color:#aaa;"
onMouseOver="this.style.color='#F7941E'"
onMouseOut="this.style.color='#aaa'">Documentation</a></span>
<span style="display:inline-block; width:180px;font-size:22px;">
<a href="/objectteams/download.php" style="color:#aaa;"
onMouseOver="this.style.color='#F7941E'"
onMouseOut="this.style.color='#aaa'">Download</a></span>
<span style="display:inline-block; width:180px;font-size:22px;">
<a href="/objectteams/support.php" style="color:#aaa;"
onMouseOver="this.style.color='#F7941E'"
onMouseOut="this.style.color='#aaa'">Support</a></span>
<span style="display:inline-block; width:180px;font-size:22px;">
<a href="/objectteams/getting_involved.php" style="color:#aaa;"
onMouseOver="this.style.color='#F7941E'"
onMouseOut="this.style.color='#aaa'">Getting&nbsp;Involved</a></span>
</div>
</div>
<div id="container" style="margin-top:50px;margin-left: auto; margin-right: auto;
background-image:url(images/OTJ8-concepts.png);background-repeat:no-repeat;
background-position:15px 20px;width:790px;height:695px;">
<h1 style="position:relative; top:0px;height:36px; text-align:center;">OT/J on Java 8 is …</h1>
<h2 style="position:relative; left:170px; top:0px;height:24px;">Composition:</h2>
<div style="position:relative; left:30px; top:15px; width:380px;height:300px;font-size:16px;">
The essence of object-oriented programming is to compose a system from a possibly large number of interacting classes and objects.
<p>
Since version 1.1, <b class="orange">Java</b> has not seen any enhancements for this task.
</p>
<p style="margin:-5px 0px 0px;">
<a class="orange" href="http://wiki.eclipse.org/OTJ">OT/J</a> adds three closely related concepts:
</p>
<ul style="margin:0px;">
<li style="margin:3px;"><a href="http://wiki.eclipse.org/OTJ_Primer/Role_Playing">Roles</a> can be attached to a base object for <b>dynamic specialization</b>.</li>
<li style="margin:-5px 0px 0px;">Roles are grouped into a <a href="http://wiki.eclipse.org/OTJ_Primer/Role_Containment">Team</a> to yield <b>cohesive modules</b> for use-cases &amp; features.</li>
<li style="margin:-5px 0px 0px;">Teams support nested inheritance for <b>large-scale specialization</b>.</li></ul>
</div>
<h2 style="position:relative; left:80px; top:-425px;
display:block;transform:rotate(-90deg);
-ms-transform:rotate(-90deg);
-webkit-transform:rotate(-90deg);">Algorithms:</h2>
<div style="position:relative; left:520px; top:-205px; width:245px;font-size:16px;">
<a class="orange" href="http://wiki.eclipse.org/OTJ">OT/J</a> is agnostic to how algorithms are encoded (programming in the small),<br/>
but you may leverage lambda expressions from <b class="orange">Java 8</b> in your OT/J programs for that touch
of <b>functional programming</b>.
</div>
<h2 style="position:relative; left:156px; top:-140px;"> Types:</h2>
<div style="position:relative; left:270px; top:-198px; width:480px;font-size:16px;">
A rich type system is key for attaching <b>semantics</b> to the elements of your program.
<ul>
<li style="margin-left:-12px;"><b class="orange">Java 8</b> features …<br/>
<b>type annotations</b> for expressing more properties of types,</li>
<li style="margin-left:-12px;"><a class="orange" href="http://www.eclipse.org/jdt">JDT</a> leverages …<br/>
type annotations for detecting <b>null</b> related errors,</li>
<li style="margin-left:-12px;"><a class="orange" href="http://wiki.eclipse.org/OTJ">OT/J</a> introduces …<br/>
dependent types to express object <b>ownership</b>.</li>
</ul>
</div>
</div>