samedi 12 mai 2012

Veille technologique semaine 19

Pour le bulletin de la semaine 19, je vous propose les sujets suivants :
  • après la première semaine de procès Oracle contre Google, le jury a retenu, pour l'instant, 9 lignes de code avec copyright.
  • Un article au sujet du remplacement de la mémoire actuelle DDR3 par la DDR4 remplacée elle-même plus tard par l'Hybrid Memory Cube.
  • La machine virtuelle IKVM.NET est capable d'exécuter du byte code DotNet (écrit en C# par exemple) mais également du byte code JVM (écrit en Java par exemple). Il est donc possible de faire interopérer des objects Java avec des objets C#. Il est d'utiliser les méta-données C# (les custom attributes) en Java et inversement d'utiliser les méta-données Java (les annotations) en C#.
  • Un outil de compilation statique traduit le code Ruby en binaire pour iOS. Cet outil est basé sur MacRuby.
  • Les règles de conception objet proposent d'utiliser l'agrégation plutôt de l'héritage. Le problème est que l'agrégation demande de la délégation. Le langage Groovy (ainsi que Ceylon, etc..) propose nativement de la délégation : @Delegate. Explications.
  • Sortie de la première version de l'implémentation de la modularisation du JDK 8 : le projet jigsaw. Le concept de module est connu du compilateur, de l'installeur et du runtime. Ce sont des concepts de haut niveau qui sont intégrés au langage Java. Avec les expressions lambdas, c'est l'évolution la plus importante du JDK 8. Oracle confirme d'ailleurs que le JDK 8 (2013) sera la plus grande évolution de Java depuis le JDK 5 (2005).
Bonne lecture.


Jury Finds Only 9 Lines of Copyrighted Code in Oracle vs Google Case
The Google versus Oracle trial completed the copyright phase last week, with the jury sent out to debate on the merits of the copyright infringement claims of Google's use of Apache Harmony's source code. By the end of last week, the jury had already decided unanimously on three out of the four questions but took the
weekend to decide on the fourth.

Judge Alsup created a Special Verdict Form, asking:
  1. Has Oracle proven that Google has infringed the overall structure, sequence and organisation of copyrighted works?
  2. Has the documentation of the 37 Java API packages as a group been proven as infringed?
  3. Has Oracle proven that Google's use of code is infringing in (A) the rangeCheck in the TimSort class,
(B) the seven Impl files and ACL file or (C) the comments in CodeSourceTest and CollectionCertStoreParametersTest?


Microsoft rejoint l'initiative Hybrid Memory Cube
A court terme, d'ici 2014 pour les serveurs et 2015 pour les ordinateurs grand public, l'avenir de la mémoire vive passera par l'adoption de la DDR4. Cette mémoire augmentera encore de manière significative la bande passante dont les besoins augmentent aussi vite que les coeurs se multiplient. Au delà, certainement pour la fin de la décennie on passera à un système radicalement différent, l'Hybrid Memory Cube.


Running Java on NET/Mono: Jeroens Frijters Discusses IKVM.NET
IKVM.NET (IKVM) is a JVM for the .NET and Mono platforms which allows users to execute Java applications directly. Microsoft's Erik Meijer recently sat down with IKVM creator Jeroen Frijters to discuss several different aspects of the project. The interview is wide-ranging, from discussing the internals of IKVM to the project's goals for the future. Here are some highlights:

.NET developers can use custom attributes in Java code if this code will be run on IKVM. Both platforms (Java and .NET) can use attributes both ways if the code is run on IKVM. So one can use .NET custom attributes in Java code and one can also use Java annotations on C# classes and members.


A Statically Compiled Ruby for iOS
A statically compiled variant of Ruby is now available for building applications that target iOS devices. Known as RubyMotion, this language and tool chain from HipByte fully conforms to Apple's App Store guidelines. In order to do this they had to eliminate any sort of JIT-compiler or interpretation, which some Ruby developers may find limiting.


Practically Groovy: The @Delegate annotation
Exploring the frontiers of duck typing in a statically typed language
In Groovy 1.6, a @Delegate annotation was added to the language. (See Resources for a list of all of the new annotations added to Groovy 1.6.) This annotation allows you to add one or more delegates to any of your classes — not just ExpandoMetaClass.
To gain a full appreciation of the @Delegate annotation's power, consider a common but difficult proposition in Java programming: creating a new class based on a final class. The composite pattern and final classes


Modules in the Java Language and VM
Language changes
1.1. Example
1.2. Rules
1.3. Grammar
1.3.1. Lexical grammar
1.3.2. Syntactic grammar
1.1. Example

module a.b @ 1.0 {

   requires c.d @ /* Use v2 or above */ >= 2.0 ;
   requires service e.f;
   provides g.h @ 4.0;
   provides service i.j with k.l;
   exports m.n;
   permits o.p;
   class cc.dd;

   view a.b.c {
      provides q.r @ 1.0;
      provides service s.t with u.v;
      exports w.x;
      permits y.z;
      class aa.bb;
   }
}


Jigsaw Quick Start
This document gives a quick demonstration on how to create a jigsaw module, create a module library, and install a module in a module library.

Aucun commentaire: