| <!--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™ 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 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 & 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> |
| |