vendredi 12 août 2011

Veille technologique semaine 32

Pour le bulletin de cette semaine, je vous propose les sujets suivants :
  • Le web a 20 ans : historique.
  • Le début de l'ère post-PC : ou l'évolution possible des appareils numériques.
  • Une fois n'est pas coutume, un article sur une fonction du dernier Mac OSX : la fonction quitter d'une application qui perd de l'importance.
  • Un article au sujet de la plateforme Java dans le monde de l'embarqué. Le don d'ubiquité de Java.
  • Le JDK 7 vient de sortir, et les outils se mettent à jour. Première sortie de la version 3.8M1 d'eclipse avec le support JDK 7. Version complète prévue pour septembre.
  • Une liste des fonctionnalités du langage Java qui n'ont pas été reconduit (aujourd'hui) dans le langage scala.
  • La technologie d'IHM JavaFX 2.0 vient juste de sortir en version béta, que déjà des utilisation en langage Groovy apparaissent : GroovyFX. Cela illustre l'intérêt d'avoir une technologie interroperable nativement entre langages.
  • Deux articles sur la définition de l'injection de dépendances : une explication et les conséquences de conception.
  • Le groupe Khronos annonce la version 4.2 de la spécification d'OpenGL.
  • Le type nullable et les types non nullable : le langage Kotlin propose une solution.
Bonne lecture.


Le Web fête ses 20 ans
Le 6 août 1991, Tim Berners-Lee mettait en ligne le premier site Web au CERN (Organisation européenne pour la recherche nucléaire) à Genève.

Il ne faut pas mélanger Internet et Web : Internet est le système de réseaux interconnectés utilisant des protocoles communs (TCP/IP), le World Wide Web étant une application d'Internet comme le courriel, IRC ou FTP en sont. Ainsi au début des années 1990, le CERN est le plus grand noeud Internet d'Europe et un des plus grands du monde. Le principal problème est alors d'organiser l'information et d'y accéder de manière persistante et cohérente, divers protocoles — diverses applications d'Internet — étant utilisés. Gopher, FTP ou Usenet étaient alors parmi les protocoles les plus populaires — sans oublier l'email.


Twentieth Anniversary of the World Wide Web
This weekend was the 20th anniversary of the World Wide Web project announcement on the alt.hypertext group. On August 6th, 1991, Tim Berners Lee posted:


Pourquoi le "post-pc" révolutionne l'informatique
Avec l'iPad, Steve Jobs a sonné le glas de l'informatique telle que nous l'avons toujours connu et qu'il a contribué à lancer et façonner : l'ère du "post-pc" connaissait son avènement. Pourquoi ces appareils, un temps moqués par certains observateurs comme de "gros iPod touch", représentent-ils un enjeu stratégique majeur pour tous les acteurs de l'industrie ?
Entendons-nous d'abord sur le terme tel qu'initié par Steve Jobs : le "post-pc", ça n'est pas "l'après pc", mais "au-delà du PC".


L'interruption automatique des apps dans OS X Lion
Comme le remarque Tidbits, OS X Lion pousse le mimétisme avec iOS dans la manière dont il gère les applications jusqu'à décider de lui-même de la fermeture d'une application pour libérer des ressources. Cette fonction d'« interruption automatique » des applications, une véritable rupture du système de multitâche, est censée améliorer « l'expérience utilisateur » selon Apple.


A Fresh Look at Embedded with Greg Bollella, Chief Architect, Embedded Java
Greg Bollella has been a leader in the Embedded Java and real-time Java space since Java first moved into the embedded space. In the 1990s, he worked at IBM where he led the Real-Time for Java Expert Group under the Java Community Process (JCP). In 2000, he joined the highly regarded Sun Microsystems Laboratories. His work in exploring the uses of Real-Time Specification for Java (RTSJ) in controlling physical systems--from rockets to power plants to automobiles--led him to be named a Sun Distinguished Engineer.
Now, as Chief Architect, Embedded Java for Oracle, he is continuing his work in integrating Java into the rapidly changing embedded space. He holds a Ph.D. from the University of North Carolina at Chapel Hill.
We met with him to get an update on Java and the embedded space.


Eclipse 3.8M1 Brings Java7 Support
The Eclipse Foundation has released Eclipse 3.8M1, which is the first milestone release with Java7 support. Although there were beta releases available before, it could not be officially called Java7 until after the latter's release, and as such, the recently-released Eclipse Indigo (3.7).
Java7 support will come to Eclipse 3.7.1, which is due to be released in September. The integration builds for 3.7.1 already contain the Java7 support found in Eclipse 3.8M1, which is already supported in IntelliJ IDEA 10.5 and NetBeans 7.0.1

New changes include:
  • Diamond operators suggested by content assist
  • Redundant type literals can be removed and replaced with the diamond operator
  • Content assist can be used to insert types into diamonds
  • Multi-catch can be extended with a "Surround with try/multi-catch", complementing the existing "Surround with try/catch"
  • Multi-catch can be extended with new exception types
  • Exception blocks can be combined into a single multi-catch block
  • Resources closed with try-with-resources can detect thrown exceptions and add to (multi-)catch blocks
  • Strings-in-switch can be converted to a nested if/else
  • The Java7 execution environment has been added for dependency on execution environments

What's new for Java 7
Java 7 comes with a set of small enhancements to the Java language (aka Project Coin), a new byte code to dynamically invoke methods and many additions to the libraries. The Eclipse compiler implements all the new features of Java 7 and all Eclipse JDT features like e.g. search and refactoring have been updated to support Java 7. Besides that, some new features got added:
  • Improved Type Inference for Generic Instance Creation (Diamond)
  • Multi-catch
  • try-with-resources statement
  • Simplified Varargs Method Invocation
  • Strings in switch
  • Polymorphic Methods
  • Miscellaneous

What features of Java have been dropped in Scala?
Despite more complex and less intuitive syntax compared to Java, Scala actually drops several features of Java, sometimes for good, other times providing replacements on the standard library level. As you will see soon, Scala isn't a superset of Java (like Groovy) and actually removes a lot of noise. Below is a catalogue of the missing features.



Introducing GroovyFX: It's About Time
GroovyFX is an open source project whose goal is to combine the conciseness of Groovy with the power of JavaFX 2.0. Jim Clarke, the originator of the project, and I have been working hard to make GroovyFX the most advanced library for writing JavaFX code with alternative JVM languages. As you are about to see, it is more than a mere DSL that provides some syntactic
sugar for JavaFX code. We have decided that it is past time to share our progress with the wider JavaFX community; this article is long overdue (right, Jonathan?).

This is the first of many articles I'll be writing about GroovyFX. If you want to stay up to date
with the GroovyFX project you can follow this blog or follow me on Twitter.


A beginners guide to Dependency Injection
This article presents a high level overview of Dependency Injection (DI). It aims to present the overall concept of Dependency Injection to the junior developer within the context of how it could be used in a variety of DI containers.
Dependency Injection (DI) or Inversion of Control (IOC) ?


Dependency Injection with Mark Seemann
Mark Seemann, author of Dependency Injection in .NET, talks to us about the differences between DI and Service Locators and the importance of having a Composite Root. He also touches on how these all relate back to the SOLID principals of object oriented design.


Khronos ships OpenGL 4.2 spec, outlines plans for new sensor API
The Khronos group unveiled on Monday the OpenGL 4.2 specification, the newest update to the cross-platform 3D graphics API.
The new spec includes a handful of new features designed to improve the performance of common operations in order to allow developers to more easily create high-performance 3D software. These features include fine-grained modification of textures, more efficient data sharing between shader programs, and the ability to reuse shapes that the GPU has already tessellated without having to tessellate them again.


Nullable types and Non-null types
One of the most common pitfalls in Java programming is accessing a member of a null reference, that results in a NullPointerException, because virtually any reference in a Java program can hold null. It happens so often that we have a casual abbreviation for it: NPE.

Kotlin's type system is aimed to eliminate NullPointerException's from our code. The only possible causes of NPE's may be
1. Someone had explicitly thrown is (throw NullPointerException())
2. Someone called external Java code that caused it
3. There's data inconsistency w.r.t initialization (an uninitialized this available in a constructor is used somewhere)


Aucun commentaire: