# 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