Le Service de mise en Cache de Windows Azure

Nouveau cours dans la bibliothèque Pluralsight

Par Scott Seely

Le service de mise en cache est un cache en mémoire distribué pour les applications Windows Azure et SQL Azure.

Les fournisseurs ASP.NET pré-intégrés d’état de session et de cache de sortie de pages permettent d’accélérer les applications Web sans modifier le code d’application.

Vous pouvez interagir directement avec le service de mise en cache pour stocker et partager des informations entre les composants d’application présents dans Windows Azure.

Visualisez ce nouveau cours maintenant ! (US)
image

Developeronomics : un débat plus que nécessaire !

Le mois dernier, je lisais l’article de Rao Venkatesh à propos de Developeronomics, un nouveau mot inventé pour souligner l’immense valeur qui peut être accordée à un unique développeur de logiciel de valeur. S’appuyant sur l’idée qui a rendu le livre Freakonomics célèbre, l’auteur met l’emphase sur le besoin croissant de logiciels de plus en plus sophistiqués et argumente sur la guerre de talents très active sur le marché, que ce soit pour les grandes entreprises technologiques ou les startups actives. Il conseille toute personne souhaitant investir à le faire dans un développeur brillant tout autant que dans les actions ou le bon vin. Cela étant dit, le vin était certainement un bon investissement avant la crise de 2008, mais c’est une autre histoire.

J’ai plutôt tendance à être d’accord avec l’idée développée dans l’article, notamment concernant les développeurs de haut niveau qui, au vu de mon expérience, peuvent produire plus qu’une équipe type de 10 développeurs moyens… et encore, à supposer que l’équipe ait les compétences pour surmonter tous les défis techniques. Par conséquent, c’est toujours un meilleur choix d’avoir un développeur sur-compétent plutôt que sous-compétent. C’est beaucoup moins onéreux au final.

Quand je travaillais chez Microsoft, j’ai eu la chance d’entendre Bill Gates raconter l’histoire de Windows NT et comment il a embauché Dave Culter de Digital pour faire le boulot. Quand Bill a demandé à Dave quelle serait la taille optimale de l’équipe, la 1ère réponse de Dave fut « 1 ». Ensuite il a ajouté, cette taille est l’optimale pour l’efficacité mais si nous devons livrer dans un délai raisonnable, commençons avec une équipe de 10 très bons développeurs.

Cela est totalement cohérent avec nos observations chez SoftFluent sur le terrain. Pourtant, certaines personnes qui n’ont jamais écrit de logiciel eux-mêmes continuent à raisonner en logique de ‘mois-homme’ comme si la variable ‘homme’ dans cette expression était interchangeable. Et malheureusement, une majorité de gens qui prennent des décisions stratégiques en matière de logiciel n’ont jamais développé eux-mêmes.

C’est ce qui a conduit à l’immense tendance ‘off-shore’ dont personne n’est vraiment en mesure de confirmer le succès. Je ne qualifierai pas cela d’échec global, dans la mesure où je manque d’éléments tangibles pour l’affirmer avec certitude, mais je ne dispose pas non plus d’éléments qui démontrent que cela fonctionne réellement. Les débats sur le sujet en commission R&D de l’AFDEL ont montré des difficultés à mesurer de réels progrès, pour ne pas parler des échecs notoires. Le plus souvent, nous manquons de métriques clé sur ce qui a été produit, en valeur et non en coût, pour pouvoir réellement comparer les résultats, et pas seulement les dépenses. Je ferai un post ultérieurement sur les 2 sujets, à la fois la mesure du développement logiciel et l’off-shore parce que ce sont des points clés.

Fait intéressant, Jesse Jiryu Davis a posté une réaction intéressante à l’article, et qui ouvre le débat à mon sens. Dans le processus, son ‘Cela ne fonctionne presque jamais’ confirme l’observation qu’on ne peut pas réussir avec des programmeurs médiocres (qu’ils soient off-shore ou non).

Son autre commentaire intéressant est son ‘Chaque année que nous écrivons du logiciel qui nous dispense d’avoir à écrire plus de logiciel’. Cela touche obligatoirement une de nos cordes sensibles. C’est la tendance historique et mon opinion est que la possibilité de bénéficier de solutions ‘prêtes à l’emploi’ s’accompagne de l’opportunité de créer plus de logiciels. Cela reste aussi infini que la connaissance du monde et je n’arrive pas à imaginer le jour où l’on dira « OK, c’en est fini du développement logiciel, maintenant nous avons juste à maintenir la base mondiale de code source ! »

C’est pourquoi notre approche du produit CodeFluent Entities n’est pas de remplacer les développeurs mais plutôt de les aider à aller plus loin en automatisant les tâches répétitives. L’idée est de laisser l’outil faire le travail fastidieux de sorte que nous, développeurs, n’ayons pas à le faire.

Pour conclure, les développeurs doivent sans cesse adapter leurs compétences aux outils et aux technologies en constante amélioration. C’est ce qui fait l’intérêt et la valeur de ce métier. Et ceux qui trouvent cela « fun » sont justement les développeurs dans lesquels je suis motivé d’investir.

Daniel COHEN-ZARDI

Président de SoftFluent

Le Service Bus Windows Azure

Nouveau cours dans la bibliothèque Pluralsight

Par Scott Seely

Le Service Bus de Windows Azure fournit des fonctionnalités de messagerie et de connectivité sécurisées qui permettent de créer des applications distribuées dans le Cloud, ainsi que des applications hybrides à la fois sur site et dans le Cloud.

Cela permet d’exposer des applications et des services en traversant les pare-feu.

Les files d’attente fournissent un moyen intelligent et sécurisé pour échanger des messages entre des périphériques déconnectés. Les mécanismes de sujets et d’abonnements permettent une distribution intelligente des messages entre les applications.

Visualisez ce nouveau cours maintenant ! (US)
image

Le Service de Contrôle d’Accès Windows Azure

Nouveau cours dans la bibliothèque Pluralsight

Par Scott Seely

Le service de contrôle d’accès (ACS) Windows Azure fournit aux développeurs un moyen simple de contrôler l’identité et l’accès des applications et services Web basés sur Windows Azure.

Avec ACS, créez des comptes d’utilisateurs qui fédèrent le système de gestion d’identité d’un client utilisant le service Active Directory, et des identités web tels que Facebook, Windows Live, Yahoo!, ou encore Google (GMail et Applications Google).

Exercez un contrôle total et personnalisable sur le niveau d’accès à votre application de chaque utilisateur et groupe.

Visualisez ce nouveau cours maintenant ! (US)
image

Choisir entre C# et VB.NET

Cette question apparait régulièrement sur des sites web communautaires, déclenchant une guerre de religion presque systématiquement. Pourtant, certains clients sont confrontés à ce choix, et bien que beaucoup de gens se lancent dans de grandes joutes sur les vertus techniques de chaque langage, il me semble que cela ne devrait pas être une décision technique.

Sur le plan technique, il est important de se rappeler que les deux langages dans leur version actuelle ont été conçus pour la plateforme. NET. Pour cette raison, Visual Basic. NET et Visual C#. NET utilisent le Common Langage Runtime et n’ont aucune différence significative en termes de performances, à l’exception de celles marginales sur certains points très précis du compilateur. Quelques petites choses manquaient dans Visual Basic avant. NET version 2, mais cela fait assez longtemps maintenant. Pour les personnes qui veulent en savoir plus sur le côté technique, nous vous recommandons cette comparaison technique, ainsi que ce comparateur de syntaxe.

Certaines décisions de conception, en particulier au niveau syntaxe, ont été prises pour faciliter la transition des communautés existantes : C# cible principalement C++ et VB.NET plutôt les anciens développeurs Visual Basic. Parce que C++ était plus puissant que Visual Basic – dans le sens que l’on pouvait faire des choses en C++ que l’on ne pouvait pas faire en VB – il y en a encore qui disent que C# s’adresse aux développeurs professionnels alors que Visual Basic NET aux amateurs. Il n’existe aucun fait technique pour appuyer cette affirmation, comme en témoigne la déclaration de Microsoft sur son site : « Bien qu’il existe des différences entre Visual Basic NET et Visual C# NET, les deux sont des langages de programmation de première classe qui sont basés sur le Framework .NET, et sont tout aussi puissants ».

Cela dit, certains facteurs opérationnels sont à prendre en considération lors d’une prise de décision sur le choix d’un langage de programmation.

D’une part, les compétences de votre équipe de développement et son expérience avec une syntaxe ou une autre sera d’une importance primordiale pour la productivité, surtout si votre équipe est stable et s’est engagée sur le long terme. Il serait contre-productif d’imposer un changement de langage quand les gens sont à l’aise avec leur style de programmation et quand il n’y a pas de fortes raisons de changer.

D’autre part, si votre projet nécessite plusieurs nouvelles embauches, il sera vraisemblablement plus facile de recruter pour un projet C# que pour un projet Visual Basic. On constate effectivement que les développeurs les plus ‘avancés’ utilisent C# plutôt Visual Basic. NET.

La contrepartie est que ces développeurs dits ‘avancés’ sont parfois aussi plus technophiles et certains d’entre eux ont tendance à oublier le besoin métier, ce qui reste la dimension primordiale pour laquelle faire du code dans des applications de gestion. De mon observation, beaucoup de développeurs VB-istes sont tout simplement des pragmatiques qui ne cherchent pas à comprendre les internes des langages mais à produire leur code avec efficacité.

Dans certains cas, le mélange des langages peut également être réalisé grâce à l’interopérabilité. Cela nécessite une masse critique de code et de ressources sur les deux langages pour que cela soit économiquement justifié, faute de quoi il ne sera pas optimal de maintenir le code sur le long terme.

Bien souvent, il existe un historique et un héritage Visual Basic, mais une décision a été prise de migrer vers NET tout en revisitant l’approche : d’une ancienne procédure de programmation vers l’orienté-objet, de méthodes en cascade vers les méthodes agiles, de Visual Source Safe au déploiement de Visual Studio Team System, incluant l’embauche de nouvelles ressources et la mise à jour de l’organisation. Dans ce scénario très courant, il pourrait ne pas être pertinent de s’en tenir à Visual Basic comme langage juste à cause de l’héritage. En fait, il pourrait également être une bonne démarche de formaliser le changement en passant à C#, car vous ne serez pas en mesure d’utiliser les mêmes structures du programme de toute façon.

L’argument ultime qui pousse souvent la décision vers C# est la communauté. Beaucoup d’exemples de code, publiés par Microsoft, ou la communauté, sont en C#, ce qui rendra votre équipe beaucoup plus productive dans de nombreux scénarios. Vous trouverez un écosystème plus complet de composants tiers et d’outillage pour C#.

C’est ce que nous avons constaté en situations réelles chez de nombreux clients en France et à l’international.

De plus, avec notre fabrique CodeFluent Entities, aucun choix ne vous sera imposé, vous pouvez indifféremment générer votre modèle objet dans l’un ou l’autre des langages et mener vos projets avec celui qui vous convient le mieux.

En conclusion, n’en faites pas une religion. Si la plupart de votre équipe est à l’aise avec Visual Basic et ce style de programmation, pourquoi vous embêter ?

Et si jamais, vous deviez changer de langage pour votre épanouissement personnel ou pour des raisons professionnelles, le site de Visual Studio Magazine est votre ami.

- Ce que les développeurs C# doivent savoir sur Visual Basic

- Ce que les développeurs Visual Basic doivent savoir sur C#

Daniel COHEN-ZARDI

CEO, SoftFluent

Introduction à l’Objective-C

Nouveau cours dans la bibliothèque Pluralsight

Par John Sonmez

Apprendre l’Objective-C peut-être relativement intimidant pour les développeurs à la recherche de compétences Mac OS X ou iOS. Le but de ce cours est de rendre ce processus d’apprentissage le plus simple et le plus indolore possible.

Nous commencerons par les bases du langage de programmation Objective-C, afin d’acquérir par la suite une véritable compréhension concrète du langage. Ce cours couvre les sujets essentiels dans le but découvrir celui-ci et comprendre ses bases sans être dépassé.

Visualisez ce nouveau cours maintenant ! (US)
image

CodeFluent Entities : nouvelle version et nouvelle tarification

Découvrez ou redécouvrez les possibilités de CodeFluent Entities !

Toujours plus de fonctionnalités pour un investissement que nous avons rendu accessible au plus grand nombre. Retrouvez l’annonce de la dernière build sur le blog du produit.

Désormais, pour seulement 479 Euros, vous pouvez générer des modèles de n’importe quelle taille et complexité (nous avons des clients qui ont plus de 600 entités). Pour le prix d’une journée de développement, économisez des semaines de travail et gardez-vous le code le plus gratifiant.

Nous vous rappelons que l’utilisation non-commerciale de CodeFluent Entities est totalement gratuite (utilisation personnelle ou à des fins d’enseignement). Alors prenez votre licence personnelle et testez vous-même.

Découvrez le modeleur graphique, un outil unique sur le marché, intégrant par exemple le concept de “vue solaire” illustré dans l’image ci-dessous:

10-cfe_solarlayout

Bénéficiez des producteurs plus avancés (multi-base de données, Microsoft Office, Microsoft SharePoint) et des “aspects” officiels : fonctionnalités prêtes à l’emploi de gestion du multilingue, de la recherche plein-texte, etc…pour une licence Ultimate complète à 1999 Euros.

Toute l’équipe SoftFluent

Introduction à la programmation asynchrone et parallèle en .NET 4.0

Nouveau cours dans la bibliothèque Pluralsight

Par le Dr Joe Hummel

Vous voulez rendre vos applications .NET plus réactives ? Plus rapide à exécuter ? De nos jours, avec l’aide de matériels multi-cœurs, la programmation asynchrone et parallèle peut être une solution. Ce cours (partie 1 sur 2) met en avant la nouvelle bibliothèque parallèle de tâches (TPL) dans .NET 4, en commençant par une introduction à son modèle orienté « tâches ».

Visualisez ce nouveau cours maintenant ! (US)
image

Les vœux officiels de SoftFluent pour 2012

Bonne année 2012 à toutes et à tous, et succès dans tous vos projets de développement !

Toute l’équipe de SoftFluent

Techniques avancées de débogage .NET

Nouveau cours dans la bibliothèque Pluralsight

Par Mario Hewardt

Ce cours vous propose de vous d’en apprendre plus sur le débogage avancé avec .NET. Apprenez comment utiliser les puissants outils de débogage pour Windows ainsi que le fonctionnement interne des composants CLR clés afin de réduire le temps nécessaire à la résolution des bogues les plus importantes.

Visualisez ce nouveau cours maintenant ! (US)

image
Suivre

Recevez les nouvelles publications par mail.

Joignez-vous à 30 followers