# Sunday, February 24, 2008

Google m'envoie plein de demandes d'internautes qui recherchent comment charger une image PNG ou JPEG depuis les ressources d'un programme C++.

Mettre un bitmap BMP dans les ressources, et le charger en C++/MFC, c'est facile. Y mettre un PNG ou JPEG, c'est un tout petit peu délicat.

D'abord, ajouter l'image dans le fichier ressources :

IDB_IMAGEPNG PNG "res\\image.png"

Puis la charger dans le code :

// Load image data from PNG section of the resource file
HINSTANCE hResourceModule = AfxGetResourceHandle();
HRSRC hRes = FindResource(hResourceModule, 
         MAKEINTRESOURCE(IDB_IMAGEPNG), _T("PNG"));
DWORD dwSizeResource = SizeofResource(hResourceModule, hRes);
HGLOBAL hMem = LoadResource(hResourceModule, hRes);

// Copy the PNG image data into a new buffer
BYTE *pRes = (BYTE *)LockResource(hMem);
HGLOBAL hImg = GlobalAlloc(GHND, dwSizeResource);
BYTE *pImg = (BYTE *)GlobalLock(hImg);
memcpy_s(pImg, dwSizeResource, pRes, dwSizeResource);
GlobalUnlock(hImg);

// Create a GDIPlus Bitmap from a HGLOBAL
IStream *pStream = NULL;
HRESULT hr = CreateStreamOnHGlobal(hMem, FALSE, &pStream);
Bitmap *pBitmap = new
Bitmap(pStream);
pStream->Release ();
GlobalFree(hImg);

Ce code fonctionne avec les images JPEG et GIF aussi bien que les PNG.
Tags  | 
 24 February 2008, 18:47

Le grand Scott Guthrie (dont la lecture du blog est de plus en plus incontournable) nous fait baver en donnant des détails sur Silverlight 2, et même un tutoriel (d'autres infos ici aussi, et en français sur le blog de ClaueR)... alors que tout cela n'est même pas encore disponible en béta : il faudra attendre la conférence MIX 08, dans deux semaines, pour tester Silverlight 2 (en béta).

Moi aussi je vais faire du teasing à la Scott Guthrie. Dans deux semaines, la jolie demoiselle ci-dessous va enlever le haut, sur ce blog, ici même ! Et moi aussi j'enlèverai le haut (du blog) : je remplacerai la petite animation Flash par une animation Silverlight 2.


Image © parazit - Fotolia.com

Tags  | 
 24 February 2008, 15:29
# Tuesday, February 19, 2008

Il y a un peu plus d'un mois je râlais contre WPF, parce qu'il est trop lourd, trop gros, trop lent. Parce qu'il fallait trois jours pour lancer une application WPF (OK j'exagère un peu). J'allais jusqu'à dire que si bien peu d'applications WPF sont disponibles, c'est principalement à cause de ses mauvaises performances. Même si ce n'est pas la seule raison : WPF et XAML représentent une nouvelle façon de programmer qu'il faut un moment à assimiler.

J'étais prêt à jeter à la poubelle mon bouquin Windows Presentation Foundation Unleashed, persuadé que WPF signifie secrètement Windows Pour les Fénéants.

Alleluia !

Scott Guthrie (qui vient d'être promu Corporate Vice President de Microsoft, en charge de .NET, CLR, WPF, Silverlight, ASP.NET, IIS ...) annonce aujourd'hui une amélioration des performances de .NET, et particulièrement de WPF, et une nouvelle version importante de WPF pour cet été. Peut-être une synergie avec Silverlight 2.0 ?

WPF était une nouveauté de .NET 3.0, et quelques améliorations ont été apportées à WPF avec la sortie de .NET 3.5. Cet été, une nouvelle version de WPF sera disponible.

Cette nouvelle version proposera une installation du framework .NET optimisée, un chargement des applications .NET plus rapide, un affichage du texte et des vidéos plus rapide en WPF, etc. Tout cela sans avoir à modifier les applications existantes. Outre des performances améliorées, WPF 3.5 comportera de nouveaux contrôles qui manquent cruellement : un calendrier (enfin !), un Ribbon (comme Office 2007), et un DataGrid. Visual Studio 2008 disposera aussi d'une meilleure intégration de WPF.


Le Datagrid de xceed.com. Bientôt dans WPF ?

Microsoft est - enfin ! - concerné par la performance des applications réalisées avec Visual Studio : de nouvelles MFC, une version optimisée de WPF... Mieux vaut tard que jamais ! ;)

J'en conclus que le moment est venu de se mettre sérieusement à XAML. Oui, oui, même pour toi, programmeur C++/MFC. L'interface utilisateur de ton programme risque d'être en WPF l'an prochain. Même si tu devras encore gérer des DLL en C++ pour quelques années encore.

Nous en saurons plus dans deux semaines : Rob Relyea, qui a réalisé une excellente présentation de WPF pour les développeurs à la conférence MIX l'an dernier, décrira le futur de WPF dans une session du MIX 08.

Tags  | 
 19 February 2008, 22:34
# Monday, February 18, 2008

Pendant des siècles on s'est demandé ce que signifient nos rêves. Freud et d'autres ont essayé d'en saisir la signification. En fait, les rêves, ce sont juste nos cerveaux qui se défragmentent pendant la nuit.

Dreams are really just our brains defragmenting overnight

(de steve clayton)

Tags
 18 February 2008, 16:11
# Friday, February 15, 2008

Comme quoi j'étais mauvaise langue il y a quelques jours : la copie a pris moins de 30 jours ;)

En fait, Microsoft a avancé la disponibilité sur MSDN et Technet pour permettre aux éditeurs de logiciel et intégrateurs de tester le SP1 avant sa sortie au grand public, dans un mois. Abonnés MSDN et Technet ont râlé, Microsoft a donné satisfaction.

On dit que ce SP1 rend Vista plus rapide... de manière impressionnante parfois. Notamment la copie de fichiers ;) selon ZDNet.

Pour les abonnés MSDN, c'est ici : http://msdn2.microsoft.com/en-us/subscriptions/default.aspx, dans la rubrique "Top download", en français, anglais, pour x64 et x86. Aussi dispo pour les abonnés Technet Plus.

Je me demande si les performance des applications WPF vont être améliorées. Parce que faire des applications avec WPF est vraiment tentant quand même... Je rêve là, non ?

Si l'installation de "la bête" prend plus d'une heure, elle est très simple : il suffit d'exécuter la bonne version du SP1 (x86 ou x64). Pour l'image ISO, même pas besoin de la graver sur un DVD, un simple lecteur virtuel suffit. Ensuite tout est automatique, heureusement. L'installateur détecte tout seul la langue du système. Pas de problème sur les quelques PC sur lesquels il a été installé.

 

Après installation, la version de Windows est toujours 6.0, le numéro de build est 6001.

On peut tester par programme si le SP1 de Vista est installé (en C++ natif) :

OSVERSIONINFOEX osvi;
memset(&osvi, 0,
sizeof(osvi));
osvi.dwOSVersionInfoSize =
sizeof
(osvi);

if
(GetVersionEx((OSVERSIONINFO*)&osvi))
{
      
if
(osvi.dwMajorVersion == 6 && osvi.dwMinorVersion == 0)  // Windows 6.0
      {
            // Vista 6.0

            if (osvi.wServicePackMajor == 1) // Service pack version 1
            {
               
// Vista SP1
            }

      
}
}

Voici ce que contient toute la structure OSVERSIONINFOEX sous Vista SP1 :

Le nom "Service Pack 1" est en clair dans szCSDVersion, et le numéro de version du Service Pack est 1.0.

Pour rappel, voici les numéros des différentes versions de Windows :

Operating system Version number
Windows Server 2008 6.0
Windows Vista 6.0
Windows Server 2003 R2 5.2
Windows Server 2003 5.2
Windows XP 5.1
Windows 2000 5.0
Windows Me 4.90
Windows 98 4.10
Windows NT 4.0 4.0
Windows 95 4.0

On notera que Vista a le même numéro de version que Windows Server 2008...

Bon allez hop, au boulot ! Testons si nos logiciels fonctionnent toujours avec ce SP1. Parce qu'il sera disponible au grand public dans un mois exactement. Les services QA/tests ne vont pas pouvoir partir au ski...

Tags  | 
 15 February 2008, 15:31
# Tuesday, February 05, 2008

Sur le blog de Windows Vista, Mike Nash (Microsoft Vice President, Windows Product Management) a annoncé que le SP1 de Vista était sorti en RTM... mais qu'il ne serait disponible sur Windows Update qu'en mars et avril 2008. Quand un produit sort en RTM (Release To Manufacturer), ça veut dire qu'il est fini, qu'il part à la fabrication, au pressage des DVDs, qu'il est mis en ligne en téléchargement, qu'il sort en RTW (Release to Web !). Alors, bizarre ce délai, non ?

Bon, bon... attendons un peu : Mike Nash nous promet que le SP1 améliore la rapidité de copie des fichiers sur le réseau jusqu'à 50%. Ce SP1 pourra être installé sur la plupart des PC Vista, sauf ceux qui ont des drivers incompatibles. Sur ces machines, le SP1 ne s'installera pas.

La voilà la vraie raison ! Selon www.istartedsomething.com, le PC Vista qui copie les fichiers du SP1 sur les serveurs de Windows Update a des drivers réseau pas très catholiques. Du coup, le SP1 n'a pas pu être installé sur ce PC, qui conserve son problème de lenteur lors de la copie de fichiers sur le réseau.

Criant de vérité, non ?

Tags  | 
 5 February 2008, 10:36
# Monday, January 28, 2008

Bien sûr vous connaissez Codeproject.com, la référence du partage de code et d'expérience de programmation depuis des années. Microsoft vient également d'ouvrir un site communautaire de partage de code. Proposez vos articles et bouts de codes, profitez de l'expérience de vos pairs sur code.msdn.com, et faites part de vos commentaires. Bref, le site MSDN version web 2.0.

Pour l'instant il n'y a pas énormément d'articles, mais je suis sûr que très bientôt, ce site regorgera de code C++/MFC !

Il existe d'autres communautés Microsoft (en anglais) dédiées au développement, par type de plateforme. Si vous, programmeur (C++), voulez découvrir ou approfondir un sujet sur .NET, c'est ici :

Il y a aussi des communautés comme Channel8, Channel9 et Channel10, où l'on trouve un peu de tout : de la dernière interview vidéo d'un gourou de chez Microsoft, à un article du genre "Mais pourquoi utilise-t'on encore C++ avec des pointeurs qui pointent n'importe où, alors que C# est un merveilleux langage ?"

Hum... où est le C++ natif dans tout ces sites Microsoft ??

Tags  | 
 28 January 2008, 23:00

Des vidéos et des photos en provenance de Chine montrent soi-disant des pré-versions de Windows 7, le successeur de Windows Vista.

Mais il y a mieux ! Voici ce à quoi ressemblera Windows 8 (qui sortira fin 2012 début 2013) :

Etonnant non ?

Tags  | 
 28 January 2008, 16:17
# Sunday, January 20, 2008

Windows Seven logo Depuis quelques jours, pas mal d'informations filtrent sur Internet à propos de la prochaine version de Windows. Le nom de code du successeur de Vista est actuellement Windows 7, après avoir été Vienna.

Quand sort la prochaine version de Windows ?

Selon diverses sources (TG Daily, repris par ZDNet, Infoworld...), le développement de Windows 7 est bien avancé puisqu'une version a été livrée ces derniers jours aux principaux constructeurs de PC partenaires de Microsoft.

Initialement prévue pour 2010, la sortie de Windows 7 aurait donc été avancée au deuxième semestre 2009. C'est dans un an et demi ! Et si on prévoit une large disponibilité de Windows 7 sur des PC préinstallés pour Noël 2009, cela veut dire que Windows 7 sera disponible à la fin de l'été 2009. Par conséquent, une version béta (non encore planifiée) sera sans doute disponible dans environ un an, début 2009.

Souvenons-nous des déboires et du retard de Microsoft lors de la sortie de Vista. Ils ne veulent pas rééditer le même scénario.

Il y aura quoi dedans ?

Il y a des fuites. Une taupe* a pu installer la version de Windows 7 qui vient d'être livrée aux partenaires Microsoft, et fait part de ses commentaires sur un forum du site Neowin.

- Il semble que certains accessoires de Windows 7 soient réécrits en WPF : Paint, la calculatrice,... une révolution ! ;) C'est vrai ça, dans Vista, rien (ou presque) n'est écrit avec WPF. Cela voudrait-il dire que Microsoft a amélioré la performance de WPF ? Cela serait vraiment, vraiment bien.

- On parle aussi d'une intégration de Windows Live avec Windows 7, ici et ici. Internet et Windows Live comme une extension naturelle de Windows, ma foi, ça semble tomber sous le sens. Faites chauffer votre passport MSN.

- Et de performance améliorée. Yesss !! On parle de Minwin, ici ou ... MinWin est un noyau Windows allégé, en 33 Mo. Et l'on se met à rêver de performance, de système rapide et moins gourmand en ressources...

Il y a quelques mois, le site Neowin, encore lui, avait publié une liste de souhaits qui a été présentée à l'équipe de Windows 7. Il a été confirmé que cette liste était bien réelle. Mais elle n'apporte pas grand chose en fin de compte : ce sont des souhaits qui ont été présentés à l'équipe Windows. Ce n'est pas une liste de fonctionnalités.

Voici un extrait de la liste. Cliquez pour voir la liste complète :


En même temps, Mike Nash (Microsoft VP, Windows) a déclaré que, s'il ne regrettait pas tous les changements apportés par Vista, il y aura moins de modifications d'architecture du système dans Windows 7.

On peut traduire cela par : "après les folies de Vista, on se calme pour Windows 7". Ou bien par "il y a eu tellement de modifications d'architecture dans Vista (UAC, drivers, réseau, gestion UI...) que maintenant on est tranquille". Ou encore par : "avec Vista, Microsoft a changé tellement de choses que beaucoup de logiciels ne fonctionnaient plus. Ce ne sera pas le cas avec Windows 7". Ouf.

Pourquoi si tôt ?

Parce que Microsoft a des soucis avec Vista : après être sorti en retard, peu d'utilisateurs l'ont adopté.

Au moins quand on est en avance, on n'est pas en retard.

Peu d'utilisateurs de PC utilisent Vista, ils restent sous XP. Chez Dell par exemple, on peut encore commander un PC neuf avec XP. Selon Xiti, 80% des internautes utilisent encore Windows XP. 12% utilisent Vista, et les 8% qui restent sont à partager entre MacOS, les autres versions de Windows (2000, 98, ...), Linux, les mobiles et les consoles.

Les grands comptes ont déjà payé la migration vers Vista même s'ils utilisent encore XP. Ce n'est donc pas une question de coût des licences. Eh oui, Microsoft est très fort : avec "l'assurance logicielle", les grands comptes paient les dernières versions, même s'ils ne les utilisent pas. Enfin, ce n'est pas nouveau que le marketing de Microsoft est efficace !

Ceux qui sont encore sous Windows XP pourront peut-être passer directement à Windows 7, sans passer par la case Vista. Dans un an, quand on commencera à pas mal parler de Windows 7, les utilisateurs de Windows XP passeront vraiment pour des dinosaures. Un peu comme les utilisateurs de Windows 98 maintenant.

Vista n'est pas un vrai succès : après être sorti en retard, peu d'utilisateurs l'ont adopté. Microsoft veut remédier à cela... avec Windows 7 !

 

Tags
 20 January 2008, 13:55
# Thursday, January 17, 2008

 

Mise à jour du 7 avril 2008 : la version finale du feature pack est disponible !

 

J'ai installé la version béta du Service Pack Feature pack de Visual Studio 2008. 300 Mo, quand même...

Attention ! Ce Feature Pack ne s'installe que sur une version anglaise de Visual Studio Professional (ou +). Il faut aussi que le DVD d'installation de Visual Studio soit inséré dans le lecteur si vous n'avez pas fait une installation complète de Visual C++.

Le feature pack de Visual C++ contient une version de TR1 de C++0x, et la nouvelle version des MFC. Je vais parler ici des MFC seulement.

Les MFC à la diète !

Première chose, je regarde la taille de la DLL redistribuable des MFC : mfc90.dll passe de 1130 Ko à 3666 Ko une fois le Feature Pack installé. Ouch, ce n'est pas rien ! D'où vient l'accroissement de la taille ? Des quatre thèmes office 2007 inclus. Il y a environ 500 fichiers PNG dans mfc90.dll. Chaque fichier PNG existe en 4 versions, une pour chacun des quatre thèmes de Office 2007 : Aqua, Black, Blue, Silver.

C'est pratique d'avoir une seule DLL, mais ça serait peut-être bien de mettre les bitmaps des 4 thèmes Office dans 4 DLL différentes. Genre MFC91UXBLUE.DLL. Histoire d'économiser 2 Mo. Oui, oui, il y a quand même encore des gens qui regardent la taille des exécutables qu'ils produisent...

Là où c'est encore plus gênant, c'est quand on "linke" statiquement avec les MFC. Toutes les images des 4 thèmes Office se retrouvent dans le fichier EXE, même si on ne les utilise pas. Ca, c'est pas bien du tout ! Du coup, la moindre application avec les MFC liées statiquement fait presque 3 Mo. Si on ouvre l'exécutable généré dans Visual Studio pour voir les ressources, on obtient... ça :

J'espère que les MFC9.1 feront une petite diète avant de sortir en version finale... un petit régime avant l'été, ça serait sympa ?

Exemples d'interfaces utilisateur

Que peut-on faire avec ces nouvelles MFC ? Ah, ça déchire, comme disent les jeunes de maintenant. Voici quelques captures d'écran, pour le plaisir des yeux. Je vous propose en plus ces programmes en téléchargement, pour que vous puissiez apprécier la richesse de l'interface. J'avoue que l'aperçu avant impression de l'application MFC91Ribbon est pas mal, ainsi que le changement de style à la volée, et.... etc, etc.

Voici un exemple d'application C++/MFC avec un Ribbon :

 

Un autre exemple avec une interface genre Visual Studio, et "Diamond Docking" :

 

Vous pouvez télécharger ces deux applications ci-dessous, si vous voulez jouer avec (pour Windows Vista seulement). J'ajouterai d'autres exemples très bientôt. Enjoy !

MFC90samples.zip (2,46 MB)

Tags  | 
 17 January 2008, 18:46
# Saturday, January 12, 2008

Pourquoi Vista est il plus lent que XP ?

Devil Mountain Software a fait des tests pour comparer les deux versions de Windows, avec et sans Service Pack, selon Yahoo News. XP SP3 est toujours plus rapide que Vista SP1, jusqu'à deux fois plus rapide dans certains cas. Et Windows XP SP3 serait 10% plus rapide que XP SP2. Par contre, Vista SP1 ne serait pas vraiment plus rapide que Vista "normal".

"Vivement le SP3" direz-vous, si vous utilisez encore Windows XP. Eh bien vous l'avez déjà, ce SP3 ! Enfin, vous l'avez quasiment si vous utilisez les mises à jour de Windows Update. Car un Service Pack n'est rien d'autre que la compilation de tous les correctifs déjà parus.

Dans tous les cas Vista est plus lent que XP ! Eh bien c'est tout à fait normal. Les nouvelles versions des logiciels (y compris les systèmes d'exploitation) sont généralement plus lents que leurs prédécesseurs, car ils apportent leur lot de nouvelles fonctionnalités, gourmandes en ressources. Souvenez-vous de Visual C++ 6.0 qui compilait un programme à la vitesse de la lumière; Visual Studio 2008 est beaucoup plus lent. C'est ainsi que de nouveaux PC plus puissants sont vendus, qui font vendre de nouveaux logiciels, et réciproquement. Cela fait quelques dizaines d'années que ce serpent qui se mord la queue me permet (entre autres) de manger. Et sans doute vous aussi, avouez !

Vista a de nombreux gadgets et nouvelles fonctionnalités, dont certaines sont gourmandes en ressources. Par exemple, Windows Vista a beaucoup plus d'animations graphiques que XP. Activez l'affichage classique de Vista - sans Aero - et vous gagnerez beaucoup en performance. Aero consomme tellement de mémoire que je me demande si certains gadgets visuels ne sont pas écrits en WPF ! La gestion du réseau de Vista est très différente, la sécurité n'a rien à voir... autant de nouveautés qui coûtent.

Pourquoi (ne pas) migrer vers Vista ?

En fait, si on se pose la question de savoir si Vista est plus lent que XP, c'est que les utilisateurs manquent de raisons pour migrer vers Vista. Sinon on ne se poserait même pas la question. Même si 100 millions de PC ont déjà adopté Vista selon Bill Gates au CES, les utilisateurs migrent moins vite vers Vista qu'ils ont migré vers XP.

Ce qui fait migrer les utilisateurs moyens, et notamment en entreprise, c'est quand ils sont obligés d'avoir la dernière version de Windows pour faire tourner ce logiciel dont ils ont besoin.

Où sont les logiciels qui fonctionnent sous Vista et pas sous XP ? Bonne question. Il ne doit pas y en avoir beaucoup... Quel éditeur serait assez fou pour se priver de la moitié + de son marché ? Quand Adobe ne supportera plus XP, plus personne n'utilisera ce système.

WPF est-il mort ?

Pourtant, dans les conférences Microsoft, quand ils nous parlaient de Vista avant sa sortie, on avait droit à des démos d'impressionnantes applications WPF. Et on se disait : "Vivement Vista qu'on puisse faire des applis démentes". On avait hâte que Vista sorte pour pouvoir proposer des applications avec une interface utilisateur réellement nouvelle. Or ces applications ne sont pas sorties. Pourtant, les technos WPF sont disponibles depuis presque deux ans...

Pour l'instant, faire une application au look Vista, c'est :

  • utiliser la police de caractère Segoe UI à la place de Tahoma ou de MS Sans Serif.
  • avoir un champ "Recherche" bien en évidence.
  • utiliser des boîtes de dialogue type "Task dialog", et des assistants au style Aero.
  • reprendre les messages de l'interface utilisateur pour les mettre au goût de Vista.

Pas de quoi fouetter un chat. En plus tout cela est accessible sous XP, et même sous Windows 98 !

WPF est trop lent, trop lourd, et trop gourmand en mémoire. Et encore, il paraît que l'équipe Windows en a bien amélioré les performances et le temps de chargement des applications, avant la sortie de Vista. Est-il possible de construire une application grand public avec WPF, et de la vendre dans le commerce aujourd'hui ? Je demande à voir.

Pour la plupart de leurs applications, y compris pour le Ribbon d'Office, Microsoft utilise une sorte de mini-XAML en code non managé qui s'appelle DirectUI (recherchez sur google). Jamais WPF. Mais ne rêvez pas non plus : DirectUI ne sera jamais disponible au commun des développeurs, car DirectUI est un produit à usage interne, pas suffisamment propre pour que Microsoft puisse le vendre et en assurer le support pendant 10 ans. C'est d'ailleurs pour cette raison que Microsoft a préféré acheter le code source d'un Ribbon à BCGSoft pour l'inclure dans les MFC, plutôt que de publier le leur.

WPF est-il déjà mort ? En fait, WPF est une version 1.0. WPF 2.0 sera - espérons le - plus rapide et moins gourmand : c'est à dire écrit en code natif ! Sinon, nous autres éditeurs d'applications, l'enterrerons dans le même cimetière que le langage Java.

WPF ou Silverlight ?

En attendant que WPF ne sorte un pied de la tombe (ou bien qu'il y mette les deux), Silverlight pointe le bout de son nez. Avant sa sortie officielle, Silverlight s'appelait WPF/Everywhere, souvenez-vous. Silverlight 2.0 (en alpha actuellement) sera une implémentation légère, rapide et compacte d'une partie de WPF.

Comment ? Microsoft aurait implémenté deux fois le support de WPF ? Oui : une fois de manière lente et non optimisée (en code "managed"), et une fois de manière légère et rapide (en code natif). C'est ça Silverlight : un redoutable concurrent de WPF.

Et, pour en revenir à Windows XP, Silverlight tourne bien sûr sous XP...

Cela en fait des modèles de programmation, je choisis lequel pour mes applications ?

Pour faire une application sous Windows, on peut utiliser :

  • L'API Windows native (Win32), généralement à travers les MFC ou les ATL. La technologie est ancienne, éprouvée, rapide, mais les programmeurs d'aujourd'hui ne veulent plus coder en C++, ils préfèrent .NET... ! Si vous codez en C++, demandez une augmentation à votre chef, vous le valez bien.
  • Windows Forms (.NET 1.0 à 2.0) : cette technologie fonctionne très bien pour les applications de gestion, les application d'entreprise, et également pour les petits logiciels qui mettent en forme le contenu d'une base de données (genre "1000 courriers types" ou "mes recettes de cuisine").
  • Silverlight : c'est WPF allégé, écrit en code natif, et donc rapide. Mais Silverlight 1.0 est trop limité (à mon avis), et Silverlight 2.0 encore en version alpha. Silverlight arrivera-t'il trop tard ? Silverlight est apparemment destiné à des applications internet à client riche (RIA), mais il est possible de l'utiliser dans une application classique. Et gageons que les évolutions futures rendront Silverlight plus polyvalent.
  • WPF : très complet, très puissant, trop lourd, trop gourmand. Il faudrait (faudra) qu'il soit réécrit en code natif. Vivement WPF 2.0.

En regardant la liste, c'est marrant, on voit tout de suite qu'il y en a un environnement de trop, entre WPF et Silverlight. Ces deux environnements sont deux implémentations très différentes d'un seul type d'application (XAML/C#). Microsoft a développé deux fois la même chose on dirait.

Depuis quelques mois, on dirait que Microsoft a redécouvert qu'ils pouvaient proposer des outils pour développer des applications en code natif. Les nouvelles MFC sont un exemple. Est-ce que la trop grande lourdeur de WPF leur a montré qu'ils étaient allés trop loin dans le tout "managed" ?

Bon, qui vivra verra. En attendant, de nombreux utilisateurs restent sous XP. Microsoft s'en fiche, ils ont payé leur licence Windows. Et les éditeurs n'osent pas encore sortir des applications spécifiques Vista.

 

Tags  |  |  | 
 12 January 2008, 23:32
# Tuesday, January 08, 2008

J'ai déjà parlé de cette nouvelle version, ici ou , elle est maintenant disponible en version beta. C'est annoncé sur le blog de l'équipe de Visual C++. Le téléchargement (en anglais) est sur le site MSDN. Si vous voulez juste lire la documentation, c'est ici.

La version béta des nouvelles MFC n'est pas encore disponible pour Visual C++ Express, mais cela viendra.

Quoi de neuf (selon le blog de l'équipe Visual C++) :

  • Le ruban office 2007
  • Le look and feel d'Office 2007, 2003 ou XP, au choix.
  • Les panneaux attachables (docking panes... on comprend mieux en anglais !), comme dans Visual Studio
  • Barres d'outils et menu paramétrables
  • De nouveaux contrôles avancés
  • Gestion des applications MDI avancée : onglets, ...

De plus, cette version des MFC inclut une implémentation de TR1. L'implémentation de TR1 est un pas vers l'adoption du standard C++0x. J'ai déjà parlé de C+=2 C++0x ici. L'implémentation TR1 proposée dans les MFC comprend :

  • Pointeurs intelligents (smart pointers)
  • Expression régulières.
  • Nouveaux types conteneurs : tuples, tableaux, ensembles non ordonnés, etc.
  • Générateur de nombres aléatoires avancé
  • Encapsulateurs de fonction polymorphique (polymorphic function wrapper)
  • Type traits
  • et d'autres.

Je n'ai pas tout compris à TR1 encore, mais ça a l'air pas mal :)

Bon allez, au boulot !

Tags  | 
 8 January 2008, 12:52
# Monday, January 07, 2008

C'était hier la douzième et dernière intervention de Bill Gates au CES de Las Vegas (Consumer Electronic Show, la grand-messe de l'électronique grand public). De très bonnes transcriptions de la conférence d'ouverture (keynote) sont déjà disponibles, comme sur engadget.com. La vidéo (en Silverlight) est disponible sur http://www.microsoft.com/ces/, et des billets sont déjà sur Channel10.


Image Engagdget

Que dit Bill ?

La tendance pour les 10 prochaines années : le logiciel (comprenez : le logiciel développé sur une plate-forme Microsoft) sera partout là où il y aura de la vidéo et du divertissement. Tout le monde aura un "Windows Live ID" pour pouvoir s'identifier et avoir toutes ses informations et son contenu disponibles partout. On utilisera une interface "naturelle", comme Microsoft Surface ou bien IPhone. Et de la vidéo HD avec Silverlight et la chaîne NBC pour le contenu, de la vidéo HD, de la vidéo HD. La plate forme est bien sûr Windows (sur un téléphone Windows mobile ou sur un PC) ou bien un matériel Microsoft comme Zune, XBOX, ou MediaRoom (la MicrosoftBox pour la télé sur IP, déjà adoptée par British Telecom).

Quelques chiffres : 10 millions de nouveaux terminaux Windows mobile en 2007, 20 millions prévus en 2008. 100 millions d'utilisateurs de Vista aujourd'hui.

Pourquoi parler du CES, de vidéo et de divertissement alors que sur ce blog on parle C++ ? Eh bien tout simplement parce que... les logiciels dont Bill parle ne sont pas encore écrits. Sans doute que certains d'entre eux le seront (partiellement ?) en C++ natif... Alors, techniquement, quelles pistes explorer ?

  • Silverlight est très bien pour gérer la vidéo. Apprenons Silverlight. Et comme Silverlight est un contrôle ActiveX, on peut l'inclure facilement dans une application écrite en C++ natif ! Silverlight 1.0 est très (trop) léger au point de vue fonctionnalités, mais Silverlight 2.0, déjà disponible en alpha, mérite un coup d'oeil. Le site de NBC pour les Jeux Olympiques 2008 de Pékin (www.NBCOlympics.com) sera tout en Silverlight : un sacré coup de pub pour ce concurrent de Flash !
  • L'API Live ID est à apprendre par coeur. Euh... en C++ natif il existe quelque chose pour attaquer les Web services ?

 

Tags  | 
 7 January 2008, 11:32
# Saturday, January 05, 2008

Oui, nous sommes en 2008 et la newsletter hebdomadaire "Microsoft download notification" du 4 janvier 2008 indique qu'il faut télécharger le SP2 de Windows Vista XP. Cette lettre d'information présente l'actualité des téléchargements Microsoft. Télécharger le SP2 de Windows XP est donc d'actualité, dixit Microsoft.

Microsoft aurait-il entendu les utilisateurs se plaindre que Windows Vista est trop lent ? Comme dans la lettre d'information de CNET du 4 janvier 2008 : "What can I do to improve the speed of my Vista machine ?" Un sondage (non représentatif) sur ce même site indique que 49% des utilisateurs ne veulent pas migrer de XP à Vista.

Les utilisateurs de PC en auraient-ils assez des fatwares : systèmes et des logiciels trop lents, trop gourmands en ressources ?

Est-ce que Bill Gates parlera de la difficulté à faire adopter Vista pas les utilisateurs de Windows XP, lors de son discours d'ouverture du CES, dimanche 6 janvier ? Je pense que oui. Enfin, il parlera du SP1 de Windows Vista. Il devrait aussi, dit-on, annoncer des nouveautés concernant Windows Mobile, Media Center, Home Server, XBOX 360, et Zune. Au fait, le site événementiel de Microsoft pour le CES est tout en silverlight... très joli design.

La difficulté de voir Vista être adopté par les utilisateurs de XP est un point que nous, éditeurs ou créateurs de logiciels, devons prendre en compte. Il y a un an, on pouvait se dire : "j'ai un nouveau développement, je le démarre en .NET 3.5, Vista sera adopté dans un an par tout le monde". Un an plus tard, Vista n'a pas envahi les PC. .NET 3.5 ne fonctionne pas très bien sous XP, qui reste une cible très importante pour nos logiciels. Les utilisateur ne veulent pas de fatware. Le C++ a encore un bel avenir.

 

Tags  | 
 5 January 2008, 15:25
# Wednesday, December 26, 2007

Codejock est l'éditeur de la librairie de classe MFC eXtreme Toolkit Pro. C'est le concurrent de BCG Soft, dont la technologie a été achetée par Microsoft pour être incluse dans la prochaine version de MFC.

Codejock est en train de développer une fonctionnalité assez étonnante : le support d'une partie de XAML en C++ natif. Noooon ?? Si !

C'est vrai après tout ! XAML est le langage de description d'interface de .NET 3.5 (WPF). Mais pourquoi être obligé d'utiliser .NET pour faire du XAML ? C'est la question que Codejock s'est posée. Du coup, nous allons bientôt avoir droit à une implémentation de XAML en C++ natif.

Hum, ça veut dire quoi "une implémentation de XAML en C++ natif" ? Eh bien tout simplement que nous aussi, développeurs C++/MFC, pourrons bientôt utiliser XAML et Expression Blend pour coder nos interfaces. Je dois avouer que j'enviais énormément ce privilège aux développeurs C# .NET 3.5.

Quel intérêt ? Développer des interfaces utilisateurs très sympa, sans s'encombrer de la lourdeur de WPF. Je ne sais pas si vous avez déjà lancé une application écrite en XAML pour WPF, mais c'est loooonnng à se lancer, et ça nécessite énormément de mémoire. Et WPF sous Windows XP, ce n'est pas tout à fait ça (à moins que quelqu'un ne me contredise...)

Voici quelques exemples d'interfaces écrite en XAML :

L'exemple ci-dessus est écrit entièrement en XAML (le code XAML est ici (12 Ko)). Ce code XAML peut au choix être utilisé avec WPF pour faire une application en code managé et WPF, ou alors être utilisé par le module XAML de Codejock pour faire une application C++ natif.

Ci-dessus, du code XAML est utilisé pour créer des contrôles dans une application C++/MFC. On reconnaît la listbox multi-ligne, multi-format : une spécialité de XAML et WPF !

Cette fonctionnalité de Codejock ne supportera pas tout XAML, du moins dans la première version ;). Je ne sais pas quand cela sera disponible, mais à vue de nez... sans doute en même temps que les nouvelles MFC !

En tous cas, le rachat d'une partie de la librairie de BCG Soft par Microsoft a pour effet de dynamiser le développement C++ ! Vivement la suite !

 

Tags  |  | 
 26 December 2007, 18:45
# Thursday, December 13, 2007

Les TechDays, c'est la grand-messe annuelle à Paris, où Microsoft nous présente pendant 3 jours les nouvelles technos de développement liées à Windows. Un événement d'autant plus incontournable qu'il est gratuit et ouvert à tous ceux qui s'intéressent au développement d'applications (et qu'il y a à manger :-p).

Grande première pour la prochaine édition : il y aura une session sur Visual C++ ! Microsoft associe à nouveau "Nouvelles technologies" et "C++".

Les nouveautés de Visual C++ 2008 animé par Eric Mittelette, Eric Vernié
Le lundi 11 février 2008, 11:00 - 12:00.

Une session consacrée aux nouveautés de Visual C++ 2008, à la fois pour le développeur C++ Natif, et pour le développeur C++/CLI (C++ qui cible .NET). Venez découvrir les nouvelles bibliothèques STL/CLR et marshalAs, qui font de C++/CLI, LE langage d'intéropérabilité entre le monde natif (Win32) et le monde .NET. Mais les développeurs natifs ne seront pas en reste, car une surprise les attend avec les nouvelles bibliothèques MFC.

La session sera dense : une heure pour présenter les nouveautés C++/CLI et MFC !

Pour tout savoir sur les Techdays 2008 et s'inscrire gratuitement, rendez-vous sur :

Retrouvez-moi aux Microsoft TechDays 2008

Tags  | 
 13 December 2007, 12:41
# Wednesday, November 28, 2007

Le site MSDN, c'est un peu comme le Musée du Louvre : même en y revenant plusieurs fois, on y trouve toujours quelque chose qu'on n'avait pas remarqué avant.

La page "How do I ?" Videos for Native Code contient une cinquantaine de vidéos (en anglais) de 15 à 20 minutes. S'il y a quelques sujets sur l'interopérabilité code natif/code managé, la plupart des vidéos concernent exclusivement le code natif C++. Le niveau va de l'initiation, à des sujets plus avancés comme le debogage distant ou encore l'utilisation du Kernel Transaction Manager de Vista !

 

Et pendant que je suis sur le site MSDN, un petit clin d'oeil. Comparez les trois pages ci-dessous. Il y en a une qui est à jour, les autres pas encore ;-) :

http://msdn2.microsoft.com/en-us/vstudio/default.aspx (page du site MSDN américain)
http://msdn2.microsoft.com/en-gb/vstudio/default.aspx (la même page, sur le site anglais UK)
http://msdn2.microsoft.com/fr-fr/vstudio/default.aspx (la même page, en français)

 

Tags  |  | 
 28 November 2007, 01:20

Une vidéo de 46 minutes sur channel 9 nous fait découvrir que C++ en tant que langage non managé existe, et continuera d'exister. La plate-forme C++/MFC, bien que quasiment non mise à jour depuis 6 à 8 ans, a toujours des utilisateurs. Microsoft commence (?) à entendre que C++/MFC ne peut pas forcément être remplacé par C++ managé ou C#/VB.

Steve Teixeira (Visual C++ manager) fait part de ses commentaires sur la sortie de la prochaine version des MFC/TR1 dans quelques mois. La plate forme C++/MFC continuera à évoluer indépendamment de la plate-forme .NET. Ouf !

Steve Teixeira au TechEd Barcelone
Steve Teixeira au TechEd de Barcelone

Au fait, Channel 9 utilise un player vidéo écrit en Silverlight... alors que ce site utilise un peu de F###H, désolé...;)

Justement, demain je me mets à Silverlight. Il y a une présentation de Silverlight à Paris. Quand j'aurai un moment je remplacerai mon animation F###H en haut de page par une animation Silverlight.

Voir la vidéo
Ecouter le podcast (MP3)
Ecouter le podcast(WMA)
Telecharger la Vidéo

Tags  |  | 
 28 November 2007, 00:28
# Wednesday, November 21, 2007

Ca y est, j'ai installé VS2008 et migré le projet C++ sur lequel je travaille.

Ce projet C++ est un projet moyen (40.000 lignes de C++). C'est une application d'imagerie médicale destinée à des chirurgiens, pour leur permettre de travailler avec leurs images au format spécifique Dicom. Ce projet utilise la bibliothèque Codejock, ainsi que les librairies OpenJpeg (jpeg2000), LibTiff, Jpeg Group.

L'installation de VS2008 est trèèèès longue. Elle dure plusieurs heures (plus d'une demi-journée). Faut dire qu'il y en a des composants .NET à installer ! Ne faites pas comme moi, ne l'installez pas un mardi, le jour des patches de Vista (patch tuesday), pour ne pas avoir à rebooter au milieu de l'installation ;). Lancez l'installation un soir, ce sera bon pour le lendemain matin.

Sous Vista x64, tout s'est bien passé. Pour l'instant je garde VS2005 et VS2008. Je n'avais pas installé de béta de VS2008 sur ce PC. D'après Scottgu, il faut désinstaller soigneusement une béta de VS2008 avant d'installer la version finale, et ça n'a pas l'air très simple.

Deuxième étape pour moi : compiler la librairie Codejock (xTreme Toolkit pro) avec VS2008. Là encore, tout se passe bien avec la dernière version (11.2.1), le programme d'installation de Codejock fait ça tout seul pour VS2008. Comme quoi ils sont bien chez Codejock : leur librairie fonctionne impeccablement sous VS2008. Il avaient sans doute anticipé avec les versions béta de VS2008. C'est dans ces cas là qu'on distingue les pros.

Lorsque j'ouvre mon projet C++/MFC sous VS2008, l'assistant de conversion de projet ne pose pas de problème. Je récupère bien mes environnements. La compilation du projet (en Unicode) se fait également sans problème, et le logiciel fonctionne.

Bon, je suis quand même surpris, ça s'est passé tout seul. Je ne sais pas si le compilateur a été modifié. Lors de la sortie de VS2005, le compilateur avait été modifié. La migration avait été plus longue. Il avait fallu modifier le code à plusieurs endroits. Là, non.

Résultat : en passant de VS2005 à VS2008, la taille du binaire diminue de 50 Ko (sur 3,4 Mo). Le temps de compilation diminue de 10 secondes (moyenne de 2"59 à 2"48).

Pour un utilisateur C++, pas grand chose ne change, donc. Ce qui est quand même une bonne nouvelle : la migration est facile. Ah si, j'ai quand même l'impression que l'IDE est un peu plus rapide. Je n'ai plus observé ces blocages assez fréquents avec VS2005.

Est-ce qu'il faut migrer votre projet C++ natif vers VS2008 ? Ma foi, si vous êtes abonné à MSDN et que vous avez VS2008, faites-le : ça a l'air de bien fonctionner. Mais si vous ne faites que du C++ natif, vous ne verrez pas beaucoup de différence entre VS2005 et VS2008. En attendant la nouvelle version des MFC et des librairies C++ dans quelques mois.

 

Tags  | 
 21 November 2007, 17:52
# Monday, November 19, 2007

Toute la famille des produits Visual Studio 2008 (Express, Professional, Team Suite) est disponible ici, y compris les versions gratuites, ou bien sur le site MSDN pour les abonnés.

A cette occasion, une vidéo très intéressante a été postée sur channel9 : une interview de S. Somasegar (Developer Division VP), Jeff Beehler (mon ex-boss et actuellement VS Team System manager), et Carol Grojean (program manager of VS2008 & .NET 3.5).

Dans cette vidéo, Soma annonce que pour nous, adeptes du C++, il faudra attendre 2 mois pour obtenir une béta de la nouvelle version des MFC et de C++ TR1. Rendez-vous donc au mois de janvier pour que Visual Studio 2008 devienne -enfin- un outil pour les "vrais" programmeurs ;). Car, si la plupart des nouveautés de VS2008 concernent le code managé (et notamment la révolution LINQ), la plupart des développeurs chez Microsoft programment en C++. Si, si ! C'est le grand chef qui le déclare.

Plein d'autres choses intéressantes dans cette vidéo...

Pour la liste des nouvelles fonctionnalités, voir l'article de Scottgu, ou celui de Jeff Beehler pour VSTS.

Et pour ceux qui voudraient avoir de la conversation dans les salons pendant les pauses des conférences Microsoft, j'ai vu sur le blog de Redo un lien vers un .NET Framework 3.5 Training Kit qui a l'air très intéressant...

Tags  | 
 19 November 2007, 19:32
# Wednesday, November 14, 2007

Comparaison n'est pas raison. Mais quand même...

Prenons trois petits programmes :

- Une application de gestion de comptes bancaires (Votre Budget) écrite en C++/MFC avec la librairie BCGSoft, linkée statiquement avec MFC et BCG (oui, la librairie qui va être intégrée dans la prochaine version des MFC)

- Un petit freeware écrit en VB.NET qui aide à arrêter de fumer, StopClope. On entre la date à laquelle on arrête de fumer, et puis on obtient des récompenses en fonction du nombre de jours qu'on tient sans fumer. Par exemple, j'ai arrêté il y a 101 jours, économisé 707 euros, et j'ai gagné 19 jours d'espérance de vie. Motivant non ?

- Une application WPF, LCI Intégrale qui affiche des vidéos en streaming.

Voici à quoi ressemble mon gestionnaire des tâches Vista quand je lance ces trois programmes en même temps :

Mémoire occupée par les trois applications :

- C++/MFC/BCG : 5 Mo (13 Mo)

- Winform : 15 Mo (28 Mo)

- WPF : 64 Mo (145 Mo)

A vue de nez, une application WPF occuperait 4 fois plus de mémoire qu'une application Windows Forms, et 12 fois plus qu'une application MFC/BCG.

Ces trois programmes sont des petites applications, mais les valeurs ne varient pas énormément. Pour donner un ordre de grandeur, j'ai aussi lancé Word 2007 (22 Mo), Photoshop (65 Mo), et Visual Studio (50 Mo).

Le confort ressenti à l'utilisation de ces applications est directement proportionnel à l'espace mémoire utilisé. Photoshop et Visual Studio sont lourds à utiliser, n'est-ce pas ?

Ah ! Quel plaisir d'utiliser des logiciels écrits en C++ ! Alors faites plaisir à vos clients, programmez en C++ !

Tags  |  | 
 14 November 2007, 00:48
# Tuesday, November 13, 2007

Mac & PC contiennent du cadmium, beryllium, plomb, mercure...

Les pubs originales sont là : www.apple.com/getamac/ads/

C'est un PC sur lequel on a installé trop d'applications .NET :p

Tags
 13 November 2007, 16:12
# Sunday, November 11, 2007

C'est officiel, une grande partie des nouveautés de la nouvelle version des MFC incluse dans Visual Studio 2008 ne sera pas (entièrement) développée par Microsoft, mais a d'ores et déjà été rachetée à la société russe BCGSoft. Il s'agit du produit BCG Controlbar Pro. Pour avoir une idée précise des nouveautés à venir, il suffit d'aller sur la page www.bcgsoft.com/FeatureTour/bcgcontrolbar-tour.htm, il y a de nombreuses captures d'écran.

J'ai déjà personnellement utilisé BCG Controlbar Pro pour créer différents produits C++/MFC/BCG depuis 2002, et j'ai été très satisfait du résultat. L'utilisation de BCG Controlbar dans une application MFC est relativement simple à mettre en oeuvre, la migration des applications existantes ne devrait pas poser de gros problème. Depuis 2004 j'ai aussi utilisé le concurrent direct, la librairie Codejock (www.codejock.com), plus complète et aussi un peu plus complexe à utiliser.

Avant que d'ici 6 mois environ, nous puissions disposer de la nouvelle version des MFC, il est déjà possible de télécharger une version d'évaluation de BCG ControlBar ici : www.bcgsoft.com/bcgcontrolbar-download.htm.

Que vont devenir les deux frères ennemis BCGSoft et Codejock, maintenant que leurs technologies sont "gratuites" avec Visual C++ ? BCGSoft propose aussi d'autres produits pour .NET, et Codejock... ?

Pour illustrer concrètement cette nouvelle étape des MFC, voici deux captures d'écran de l'exemple de code C++/MFC Drawcli qui est livré avec Visual C++ depuis longtemps... Le voici relooké ! Avant - Après. Sans commentaire !

Tags  | 
 11 November 2007, 22:10

En 1994, c'était Windows 3.1 (vous vous souvenez de l'horloge ??), les modems 4800 bauds (mille fois plus lent que ma box à 30 euros/mois), les imprimantes matricielles, les disquettes 5"1/4 (il y en avait encore), et.... le premier épisode pilote de 24 !! Sans son PDA, Jack Bauer est perdu, mais il sauve quand même le monde.


Jack Bauer appelle Nina en PCV depuis une cabine téléphonique, il n'a pas de monnaie sur lui.

Tags
 11 November 2007, 15:43

La prochaine version de C++ normalisée par l'ISO comitee s'appelle C++0x. Il s'agit d'une évolution de C++, un peu dans le langage lui-même, mais surtout dans les librairies qui seront livrées avec le compilateur.

La première question que je me suis posé en voyant C++0x, c'est bien sûr : "pourquoi 0x ??". En fait c'est tout simple : cela fait quelques années que Bjarne Stroustrup (l'inventeur du C++) et quelques autres pensent à une nouvelle version de C++, sans savoir en quelle année elle sortirait. Mais ils se sont quand même dit que la nouvelle version devrait quand même être normalisée par l'ISO et disponible avant la fin de la décennie. Donc, qu'elle s'appellerait C++07, C++08 ou C++09. Vu que nous sommes en 2007 et que l'ISO ne normalisera C++0x au plus tôt qu'en 2008, le x sera sans doute un 9.

Ce C++0x n'a donc rien à voir avec l'hexadécimal, et ne sera absolument pas suivi d'une version C++0xFF ! Personnellement je préfère C++0x à C++09, ça fait plus (C++0x > C++ ? (C++)++ : (C++)--). J'espère que C++0x continuera à s'appeler ainsi, et ne s'appellera pas C++09, même si on a déjà vu passer un C++98.

Bon, mais qu'est-ce qu'il y aura de 9/x (haha !) dans C++0x/9 ? Eh bien il y aura surtout les fonctionnalités décrites dans TR1 (Technical Report 1), et qui seront disponibles au printemps 2008 comme une mise à jour de VS2008. Je reviendrai bien sûr sur le sujet, mais en attendant que Microsoft nous propose leur implémentation de TR1, vous pouvez d'ores et déjà installer et utiliser les nouvelles fonctionnalités TR1 implémentées par la société Boost ! Téléchargez l'installateur de TR1 pour VS2003 ou VS2005 sur leur site www.boost-consulting.com.

Tags
 11 November 2007, 14:32
# Saturday, November 10, 2007

Aujourd'hui j'ai lu sur le blog de S. Somasegar que les MFC allaient subir une évolution conséquente l'année prochaine ! S. Somasegar est Corporate Vice President, Developer Division de Microsoft.

Après avoir participé au développement de Visual C++ 1.0, 1.5 et 2.0 en 1991/1992 avec Jeff Beehler et Olivier Ezratty, j'utilise les MFC depuis 15 ans pour (faire) développer de nombreux logiciels. Mais force est de constater que depuis 6-7 ans, les MFC n'évoluent (presque) plus, et que Microsoft ne communique auprès des développeurs qu'autour du code managé. Pourtant, on ne fait pas avec C#/.NET la même chose qu'en C++/MFC ! L'annonce d'une vraie nouvelle version des MFC est à mon avis un évenement réellement très important pour la communauté des développeurs Microsoft. Enfin, au moins ceux qui trouvent que, quand même, .net c'est facile à utiliser mais c'est pas ça.

Pour fêter ça, voilà, je crée un blog tout neuf !

 

Tags  | 
 10 November 2007, 21:43

Lu sur le blog de S. Somasegar :

" En aout, j'ai écrit un message early thinking on Visual C++ post Orcas. L'équipe C++ et moi avons eu beaucoup de retours très intéressants. Merci.

L'équipe C++ examine ces retours, et finalise les directions dans lesquelles nous devons orienter l'évolution de Visual C++. L'une des premières directions est un investissement dans des librairies écrites en code natif. L'équipe travaille sur une mise à jour significative des Microsoft Foundation Classes (MFC). Nous la livrerons au cours du premier semestre 2008 comme une mise à jour de Visual Studio 2008. Nous en aurons un aperçu au début de l'année prochaine.

Avec cette mise à jour des MFC, les développeurs pourront créer des applications avec le "look and feel" de Microsoft Office, Internet Explorer et Visual Studio. Les nouvelles fonctionnalités vont inclure le "ribbon" d'Office 2007, le look d'Internet Explorer avec ses "rebars" et "task panes", le look de Visual Studio avec sa fonctionnalité d'ancrage (docking) sophistiqué, les fenêtres qui se masquent automatiquement (auto-hide), les grilles de propriétés (property grid), et tout ce qui va avec. Vos utilisateurs pourront aussi paramétrer les menus et barres d'outils de vos application en utilisant le glisser déplacer (live drag and drop).

De plus, nous allons aussi supporter TR1. TR1 est la première évolution de la librairie standard C++. Notre implémentation de TR1 inclus des fonctionnalités importantes comme les pointeurs intelligents (smart pointers), les expressions régulières, de nouveaux conteneurs (tuple, tableaux, ensembles non ordonnés, etc.), un générateur de nombres aléatoires sphistiqué, des encapsulations de fonctions polymorphiques, les "type traits", et d'autres.

Rendez-vous au début de l'année prochaine pour de plus amples informations. En attendant, vous pouvez lire le blog de l'équipe C++. Vous pouvez aussi regarder la vidéo de channel 9 sur les nouvelles librairies MFC."

Quelle révolution après des années d'overdose de code managé. Microsoft se s'aperçoit enfin qu'ils n'ont pas (encore) tué tous les développeurs C++/MFC !

Précisions :

  • une version béta des nouvelles MFC sera dispo début 2008. La version finale au printemps (entre le 21 mars et le 21 juin !)
  • C++ TR1, "Technical Report 1", ce sont de nouvelles classes qui viennent enrichir la librairie standard C++. C++ TR1 n'est pas spécifique à Windows, est disponible sous d'autres systèmes d'exploitation, et supporté par d'autres compilateurs que VS. Il s'agit d'une étape importante vers l'implémentation dans VS2008 de la nouvelle version de C++, qui ne s'appelle pas C+=2, mais C++0x. J'y reviendrai très bientôt.

 

Tags  | 
 10 November 2007, 21:15