Catégorie: C#
16.11.05
IIOP.NET - Intéropérabilité entre J2EE et .NET
IIOP.NET allows a seamless interoperation between .NET, CORBA and J2EE distributed objects. This is done by incorporating CORBA/IIOP support into .NET, leveraging the remoting framework.
14.04.05
IBM XJ
Support natif de XML dans java par IBM
Ce genre de support natif a d'abord été ajouté à C-Omega, c'est bien pour le monde java d'avoir une alternative similaire.
27.01.05
Hessian Binary Web Service Protocol
L'avantage de ce protocol de web service en plus d'être binaire et donc de présenter un overhead moins important que JAX-RPC et XML-RPC, est que maintenant, il existe des implémentations Java et C#.NET.
Est-ce cependant suffisamment performant pour faire passer de gros flux entre environnements Java et .NET ...
14.01.05
Concurrency: Next New Major Language Feature?
Cet article met le doigt sur un point intéressant: la montée en puissance des CPU s’essouffle. Et les fondeurs s'orientent donc vers des architectures de processeurs à cœurs multiples, ce qui va remettre au goût du jour la programmation concurrente qui a été négligé pendant longtemps du fait de la montée en puissance perpétuelle des processeurs.
L’argument qui disait qu’il était moins coûteux de monter en puissance un serveur plutôt que de dépenser des charges à tuner une application est sur le point de devenir caduque.
Le support de la programmation concurrente dans les langages va donc devenir un point important dans le choix de celui-ci. Java supporte déjà très bien la programmation par thread depuis longtemps, et le support de la programmation concurrente vient tout juste d’être amélioré dans le JDK5 grâce au package java.util.concurrent.
Cependant, la programmation concurrente est ici supportée à l’aide d’une API. Or, un langage comme Cw (Comega), une extension de C# risque d’avoir beaucoup de succès lors de sa sortie officielle grâce à son support au niveau syntaxique pour la programmation concurrente. L'implémantation du pattern producteur consommateur en Cw est très parlante:
using System;
using System.Threading;
public class Buffer {
public async Put(string s);
public string Get() & Put(string s) {
return s;
}
}
public class Demo {
static Buffer b = new Buffer();
static async Producer() {
for(i=0; i<10; i++) {
b.Put(i.ToString());
Console.WriteLine("Produced!{0}", i);
Thread.Sleep(10);
}
}
static async Consumer(){
while(true){
string s = b.Get();
Console.WriteLine("Consumed?{0}",s);
Thread.Sleep(8);
}
}
}
Java n’a pas dit son dernier mot, l’introduction des annotations dans le JDK 1.5 permet d’envisager la programmation concurrente au niveau syntaxique également. D’ailleurs, le serveur d’application JBoss a déjà franchi le pas en proposant aujourd’hui cette fonctionnalité grâce à l’utilisation conjointe de JBossAOP et du JDK5.
La guerre des langages de programmation concurrente est sur le point de reprendre
Ca va me rappeler mes cours de Temps réel et de Promela ![]()
10.01.05