jeudi 17 juin 2010

Veille technologique semaine 24

Je vous propose pour la semaine 24, les sujets suivant :
  • Oracle confirme son engagement sur les technologies Java : JavaFX, Java Real Time ... Il y a 9 millions de développeurs Java, 7 milliards d'équipements Java dont 800 millions de PC.
  • Le processus de développement en cascade (waterfall) versus Agile.
  • Le DOD parle de développement Agile pour ses systèmes Command and Control : la capacité à gérer opérationnellement  le changement ?
  • Sortie de NetBeans 6.9 : composeur JavaFX, intégration OSGi.
  • La délégation en scala.
  • Les transaction mémoire et le projet multiverse : comment augmenter la productivité en délégant aux transactions mémoire les problèmes lié à la gestion des threads.
  • Les nouvelles fonctionnalités du JDK 7 implémenté dans les derniers build Milestone 5. d'Oracle.
  • Sur le chemin des closures du JDK 7 : un exemple par Oracle.
  • Une autre proposition d'évolution du langage Java : les "public defender methods".
  • La délégation en scala.
  • Un Quiz sur la méthode equals() en Java.
Bonne lecture.

Java Hits the Road
Java technology's use from printers and routers to ATMs, large military and
commercial aircraft to deli meat scales and home automation systems, Java's feature set, built-in networking and security, and cross-platform portability power
embedded computing.

Waterfall vs. Agile: Development and Business
We saw in the previous article the main differences between agile and waterfall. In the following articles we are going to take a deeper look by focusing on the four main actors in software development: Development, Business, QA, and Management. This article will start with Development and Business.

The "Command and Control" Military Gets Agile
Agility is a term that is gaining traction in some very unusual places. The military is suddenly taking Agility (big "A") very seriously. The military defines Agility as "the ability to successfully respond to change". The term "command and control" is used so commonly in the military that is abbreviated to "C2" in common usage. There is also a C2 Journal, a journal all about Command and Control. The C2 Journal has had many articles on Agility recently.

Earlier this year, in March, a "Precis" was published by the Department of Defense Command and Control Research Center entitled The Agility Imperative. This document describes Agility as related to security and war. What is striking is the clarity of the language relative to software agility.

Agile C2 ... refers to the capability of a force to adjust to and manage changing operational conditions.

The Best of NetBeans 6.9
Congratulations to the NetBeans developers for their hard, and speedy work! It seems like just yesterday that they were announcing the release of NetBeans 6.8 (6-7 months ago, actually). Now you can get your final release of NetBeans 6.9 today and experience the wonders of OSGi integration and proper JavaFX tooling. Those are just some of the awesome features in the latest release of Oracle's open source development platform. Here is a shortlist of some of the hottest new features for developers in NetBeans 6.9.

Other significant new features:
  • Felix 2.0.3 OSGi support, experimental Equinox support
  • NetBeans Platform-based applications generate installers for most common operating
  • systems
  • Enhanced support for consuming web applications and connecting to databases
  • Improved code formatting
  • Support for Contexts and Dependency Injection (CDI) (JSR-299)
  • Spring Framework 3.0 support
  • JavaFX 1.3 support
  • The Best of NetBeans 6.9 17/06/10 07:00
  • Bundled GlassFish Server Open Source Edition 3.0.1
  • Easy regeneration of JPA entities after database change
  • REST web services support for RCP applications
  • Java Debugger breakpoint grouping, debugger attach parameter history
  • Support for annotation processors in the editor, configurable in the Project Properties
  • New Applet and Web Start (JNLP) support
  • Improved navigation in Stack Trace Analyzer and URLs, Go To Overridden/Implemented
  • Method action
  • Refactoring and find usages for CSS and HTML-like languages
  • Code completion and hyperlinking for id and class selector attributes
  • Refactoring inline CSS styles
  • PHP Zend Framework support
  • New PHP formatter with many formatting rules
  • Ruby on Rails 3.0 support
  • Unit test integration with C/C++ projects
  • Enhanced C/C++ remote development including remote file download and browsing
  • Improved support of makefile targets and Fortran

Multiverse : Software Transactional Memory for Java
Multiverse is a Java based Software Transactional Memory (STM)
implementation that wants to realize the following goals:
1. Seamless integration in the Java language:
2. Language independent:
3. Framework:

Mission statement
1. Reduce complexity of concurrency control
2. Seamless integration in the Java Language.
3. To be integrated in other JVM based languages
4. Production environment quality.
5. Provide a framework for STM experiments.

60 Second guide to Multiverse

Exploring JDK 7, Part 1: New Language Features
Oracle's release of JDK 7 is expected to occur this coming Fall. This new release will offer a suite of new features for you to learn. Part 1 of this four-part series introduces you to three of the new language features: binary literals, switch on string, and underscores in integer literals.

This article begins a four-part series that introduces you to some of these features. Specifically, the article focuses on three of the new language features: binary literals, switch on string, and underscores in integer

Java 7 : Oracle pushes a first version of closures
2 days ago, Oracle pushed a first version of the closures implementation. We can see the evolving syntax in the test cases they made for the Java compiler. You can see these test cases here.
This revision supports the following features (copied from revision) :
  • Function types syntax
  • Function types subtyping
  • Full support for lambda expression of type 1 and 2
  • Inference of thrown types/return type in a lambda
  • Lambda conversion using rules specified in v0.1.5 draft
  • Support references to 'this' (both explicit and implicit)
  • Translation using method handles

Interface evolution via "public defender" methods
Problem statement
Once published, it is impossible to add methods to an interface without breaking existing implementations. The longer the time since a library has been published, the more likely it is that this restriction will cause grief for its maintainers.
The addition of closures to the Java language in JDK 7 place additional stress on the aging Collection interfaces; to add closures without extending the Collections classes to take better advantage of closures (e.g., methods like forEach, map, filter, reduce, etc) would be seen as anticlimactic by the community.
Static extension methods have been proposed as a means of creating the illusion of adding methods to existing classes and interfaces, but they have significant limitations – for example, they cannot be overridden by classes that implement the interface being extended, so implementations are stuck with the "one size fits all" implementation provided as an extension. In general, static-ness is a source of all sorts of problems in Java, so adding more static mechanisms seems like a step in the wrong direction.

Applying Scala to solving real world problems: Making delegation super easy

Java Quiz #37
Voici un nouveau quiz, pour bien finir le mois de mai avant d'entamer ce beau mois de juin. La  classe ColoredPoint ci-dessous pose un problème assez subtil. Lequel ?

Aucun commentaire: