Mercredi 16 juillet 2008

Avant j'étais :

Avant de commencer je voudrais dire que j'ai changé. Oui, vous m'avez surement rencontré sous une forme ou une autre. C'est moi le troll, je vous est parlé pendant des heures en vous disant que le C++ était mieux que le C, à la fin du débat cela finissait en "Conception Objet VS Conception Fonctionnelle" (et encore il y avait toujours l'argument du C-Objet). Et surtout à la fin des débats les points GodWin fusaient de ci et de là. Je suis las de cette vie allant de forums en forums à défier qui voudrait essayer de me faire croire que le DirectX était mieux que l'OpenGL ou que faire du multiplateforme Qt était mieux que wxWidGets....Que nenni ! J'ai roulé ma bosse un peu partout, je suis devenu un vieux routard de la programmation... Je suis passé du Basic au Visuel, de Javascript au Python (je sais...), du C au C++, du PHP à l'ASP et du Java au C# et là je suis tombé de haut ! Je n'aurais juré que par le C++ qui m'aurait fait gagner 1/10 de seconde par rapport à mon programme fait en ADA. Mais un jour j'ai découvert les délais de livraison d'un programme toujours trop court... Alors, là le C# répondais à tous mes soucis pas besoin d'être programmeur pour faire du C# il faut juste avoir un peu de logique (c'est comme le bateau).

Demain c'est loin :

Ne vous êtes-vous jamais demandé où va la programmation ? Bien que je sois jeune, j'ai vu le visage de la programmation changer (alors imaginer les "vieux" programmeurs comme Fortran ou Cobol). Après l'avènement des langages de programmation objet qui a été un pas de géant dans la programmation, (ceci est une vision personnelle en aucun cas cela est un fait établit, bien que pour moi ce soit le cas) la notion d'objet est devenue très importante dans les langages modernes ce n'est pas ce qui les caractérise le plus.

Quoi ? Qu'entends-je ? Que sont ces langages modernes ?

Les langages qui ajoutent des notions telles que les fonctions Lambda, les fonctions anonymes, l'introduction de nouvelles syntaxes qui permet de passer du code en paramètre (en fait ce qui se passe vraiment c'est que l'on envoie un pointeur de fonction qui a le code (envoyer en paramètre)). Donc dans la liste des langages modernes il y a la collection de chez microsoft : C# en particulier, mais aussi le tant attendu C++x0 (TR1). En gros un nouveau combat fera rage dans l'avenir même si le C# a pris une bonne avance.

.NET

Qu'elle est la philosophie du C#.NET (de mon point de vu) :
Pourquoi réinventer la roue et surtout pourquoi faire compliqué quand on peut faire simple ? Par exemple en C++ pour convertir un float en std::string comment fait-on ?
#include <sstream>
// créer un flux de sortie
std::ostringstream oss;







// écrire un nombre dans le flux
oss << 51.0f;







// récupérer une chaîne de caractères
std::string result = oss.str();








Oui et regardons en C# :
private float x = 42; // décalaration d'un nombre
x.ToString(); // retour de ce nombre en string

Et pour l'inverse (std::string en float) ?
#include <sstream>
// créer un flux à partir de la chaîne à convertir
std::istringstream iss( "
51.0f" );







// convertir en un int
float nombre;







iss >> nombre; // nombre vaut
51.0f







Et maintenant en C# :
private string x = "51.0f";
float.Parse(x); // retour d'un nombre flottant

Alors, avec ce genre de librairie (.NET) avec le C# plus vraiment besoin de se prendre la tête à chercher comment récupérer tel ou tel chose venant de tel ou tel autre chose... Et ceci n'est qu'une infime capacité du .NET (attendez je vous vois venir il existe le C++.NET mais j'y arrive microsoft à apparemment envie de jeter le C++ à la poubelle). Ce code dit manager permet de réduire considérablement les temps développement. Et bien sûr au détriment des performances des applications (et les pertes de performance ne s'arrêtent pas là j'arrive après au WPF).

Un vidéo :

Fonction Lambda :

Func<int, bool> myFunc = x => x == 5;







bool result = myFunc(4); // returns false bien sur puisque 4 != 5








Vous voyez ce petit bout de code et bien "c'est magique" non ? En gros on définie un pointeur de fonction, le tout est caché :) pas mal comme syntaxe. Pour faire simple les fonctions Lambda en C# c'est :

(param0, param1, param2, ...) => (code).

Quel est l'utilisation imaginons 3 boutons (A, B, C) C ne fait rien. Lorsque je clics que sur A "il" envoi au bouton C la fonction calculer les premiers nombres premiers < 100, je clics sur C il le fait (2, 3, 5, ..., 97), je clics sur le bouton B il envoi le code écrire bonjour au bouton C. Je clics sur C il écrit bonjour. Tous cela dans la plus grande transparence. Mon ancien moi (le troll) disait je n'aime pas les algos qui cachent la complexité des algos. En effet ici tout est caché les pointeurs, les fonctions (je rappel que chaque appel de fonction grille plusieurs centaines de coup d'horloge il faut vider tous les registres et les remettre après 300 à 400 coups par appel attention donc aux fonctions récurrentes bref). Mais les fonctions Lambda ne sont pas faites pour être performantes mais, juste là pour être une aide au coder et accélérer le temps de développement d'un logiciel. Et de plus si nous voulons vraiment connaitre la vraie complexité d'un algo rien n'empêche d'aller voir en mode DEBUG le code ASM (assembleur).

LINQ c'est plus fort que toi :

Avant de commencer il faut connaître un minimum sur les requêtes SQL par exemple pour demander dans une table d'une base de donnée tous les éléments dont l'élément âge < 42 nous faisons :

SELECT * FROM ma_table WHERE âge < '42'. Et là SGBD s'exécute. Mais ne vous êtes jamais demandé un truc du genre : "Ah ça serait vraiment cool de pouvoir faire ça sur mon tableau". Et bien LINQ est là pour ça. Avec bien sûr un gros "blabla" de microsoft sur la convergence des données. Certes très intéréssant mais là n'est pas la question si vous voulez en savoir plus sur le pourquoi du comment ; je vous conseille de demander à google WebCast Microsoft LINQ et vous aurez plusieurs vidéos en français (et en anglais bien sûr et il faudrait pour certaine télécharger SilverLight). Exemple de requête LINQ sur un tableau :

// Specify the data source
int[] scores = new int[] { 97, 92, 81, 60 };







// Define the query expression.








IEnumerable<int> scoreQuery = from score in scores score > 80 select score;








En gros on récupère une requête SQL dans scores où le score est > 80. Pas mal non ? Encore du temps de gagner. Plus besoin de coder les algos de rechercher. Les requêtes LINQ fonction pour les nombres, string et autre objet fantaisiste du moment qu'ils ont les opérateurs de comparaison adéquat.
Petit vidéo :

WPF : naissance d'un nouveau besoin : designer

Microsoft nous gâtes (ceci n'est pas un jeu de mot avec les accents de prononciations), en nous présentant WPF Windows Presentation Foundation qu'est ce ? Et bien une méthode pour faire des fenêtres sans toucher au code. Une méthode pour séparer le code pur, du design. Si vous êtes un coder chercheur vous allez me dire qu'il en existe plusieurs autres méthode. Et bien pas comme les WPF. Nous pouvons faire des applications 3D accélérer par la carte graphique avec plein d'effet. Le tout gérer en XML (xaml). Bien sûr nous pouvons faire des fenêtres standard, le tout est "véctorialisé". En gros c'est un vrai petit moteur 2D/3D en XML. En autre grâce à la vectorialisation WPF assure un rendu graphique identique quel que soit les machines au pire il passera du Hard (GPU) au Soft (CPU) mais le rendu sera le même mais avec une carte minimum DX7. Et comme d'habitude au détriment des perfs. Bien sûr le tout vendu avec une nouvelle vision de la programmation, nouvelle ergonomie des programmes, ...

2 Vidéos montrant ce qu'on peut faire avec :



Avec toutes ces avancées nous pouvons nous demander où va le monde de la programmation. Et bien avec la simplification des outils pour la création de site dynamique (à coup de middleware (un middleware est entre les outils de création simplifier et les outils de programmation)), les tentatives de middleware (sans grand succès pour l'instant) pour la création de logiciel. Nous pouvons penser qu'un jour le programmeur sera inutile et qu'il faudra simplement utiliser un logiciel pour faire des logiciels. Avec les processus d'automatisation qui se généralise et les API spécialisé gratuite qui se démocratise. Le jour viendra où l'on utilisera les COM, DLL et autre directement dans des logiciels pour créer d'autre logiciel. Par exemple je prenderais la DLL "OpenGLRender.dll" d'un moteur 3D mon logiciel listera les fonctions que j'utiliserais en simple drag&drop. Je vous le dis la fin des programmeurs est proche surtout avec les nouvelles techniques d'apprentissage pour les IA. Un jour les programmeurs seront appelés seulement pour faire des tâches qui demandent de la création et non la réutilisation de librairie (ou frameworks) comme ce que les programmeurs font en ce moment. Bien sûr je ne parle pas de recherche. Je parle dans une optique professionnelle. En pro on ne perd pas de temps à réinventer la roue. Voilà le sombre présage que j'annonce pour nous.

La démarche a déjà commencé. Avec la naissance d'une nouvelle profession dans le monde du développement logiciel. Les designer ! Il s'était déjà immiscé dans notre monde à l'époque nous n'avions pas besoin d'eux pour faire des sites. Dorénavant notre travail sur les sites est quasiment mineur. Maintenant pour les logiciels cela commence. Tous a commencé avec les RAD et la génération code (plus ou moins moche) pour la création d'interface graphique (GUI ou IHM). Et regarder microsoft qui nous dit : "Vous programmeur arrêter de faire des designs pour vos applications nous avons la collection expression qui sera bien mieux utilisée par des graphistes habituer au flash !". Je vous le dis nous allons être jetés à la poubelle.


Par Chkone - Publié dans : Pensées
Ecrire un commentaire - Voir les commentaires - Recommander
Jeudi 10 juillet 2008
Le Way Khru en muay thaï est une cérémonie où les guerriers rendent hommages au plus vieux pour le savoir transmis. Ici je vous montre quelque téchnique de boxe thaï "assez" impressionnante et aérienne (donc pas très utile enfin pas toutes).

Par Chkone - Publié dans : Boxe
Ecrire un commentaire - Voir les 1 commentaires - Recommander
Jeudi 10 juillet 2008
Ce n'est pas vraiment l'objet de cette vidéo mais "dans le fond un peu quand même", et la question est mais qui aura le sac, monsieur Taekondo, monsieur kyusho (l'art des points vitaux), monsieur karaté, monsieur kapuera, ou madame jujistu, monsieur boxe thaï, monsieur tazer, les jeunes nunchaku wushu, taïchi en herbe, et surtout qui y a t-il dans le sac ?

Par Chkone - Publié dans : Boxe
Ecrire un commentaire - Voir les 1 commentaires - Recommander
Mercredi 2 juillet 2008

La nouvelle est tombée il y a quelques minutes.

L'otage franco-colombienne Ingrid Betancourt, les trois otages Américains et onze militaires colombiens ont été libérés par l'armée colombienne, a annoncé mercredi à Bogota le ministre colombien de la
Défense, Juan Manuel Santos.

Les otages, parmi lesquels les Américains Marc Gonsalves, Thomas Howes et Keith Stansell, ont été libérés lors d'une opération héliportée de l'armée, a ajouté le ministre au cours d'une conférence de presse.

Onze militaires colombiens, principalement des officiers, ont également pu retrouver la liberté lors de cette opération, menée dans la province de Guaviare, dans le sud-est de la Colombie, selon le ministre.

"Les otages ont été libérés lors d'une opération militaire au cours de laquelle il a été possible d'infiltrer le premier cercle des Forces armées révolutionnaires de Colombie (Farc, marxistes), celui qui a surveillé pendant les dernières années un important groupe d'otages", a précisé le ministre de la Défense.

Ingrid Betancourt, 46 ans, ex-candidate écologiste à la présidence de la Colombie, était otage des Farc depuis plus de six ans.

"Une joie indescriptible"

"C'est une immense joie, une joie indescriptible. je n'arrive pas à y croire", a déclaré mercredi Lorenzo Delloye, le fils de la Franco-colombienne Ingrid Betancourt, libérée mercredi selon Bogota après être restée six années otage de la guérilla colombienne des Farc.


Par Chkone - Publié dans : Pensées
Ecrire un commentaire - Voir les 1 commentaires - Recommander
Vendredi 27 juin 2008
Par Chkone - Publié dans : 3DJeux vidéo
Ecrire un commentaire - Voir les commentaires - Recommander
Vendredi 27 juin 2008
Bonne question mais ce n'est pas la bonne question :
Avant les mémoires critalographiques il y avait les CD holographique
Avant les CD Holographique il y avait les CD BluRay
Avant les CD BluRay il y avait les CD DVD
Avant les CD DVD il y avait les "CD CD"
Avant les "CD CD" il avait les disquettes.
Bien sur au mileu de tous celà les Clef USB, les Mémoires Flash, les Puces, et j'en passe...

Mais parlons de la disquette le monsieur du musée de l'informatique à la Défense vous en parlera mieux que moi écoutez le :
Par Chkone - Publié dans : Téchnologie
Ecrire un commentaire - Voir les commentaires - Recommander
Vendredi 27 juin 2008
La réponse est probablement l'éléphant. Toujours chez nos amis les bêtes la naissance d'un éléphant au PAL (à ne pas confondre avec les cartes PAL de Metal Gear).
Le PAL Parc d'Attractions et Parc Animalier
Une naissance exceptionnelle, Jade une femelle éléphanteau d'Asie est née le 4 mai 2008 au parc Le PAL. Le PAL participe à un programme de reproduction pour les éléphants d'Asie ( EEP ), cette espèce étant menacée dans son milieu d'origine.
Par Chkone - Publié dans : Insolite
Ecrire un commentaire - Voir les commentaires - Recommander
Vendredi 27 juin 2008
Pour quel raison un chat voudrait-il entrer dans un bocal ?
Preuve en image :
Par Chkone - Publié dans : Humour
Ecrire un commentaire - Voir les commentaires - Recommander
Mercredi 18 juin 2008
Correction Une manette Wii + une bras articulé + une clef bluetouth + une API wiimote = un jouer geek
Mais pas n'importe quel Geek. Des geeks de l'université de Munich.Regarder ce qu'il nous on fait avec un Stäubli TX robot industriel 60 un beau bras articuler industrielle :


Par Chkone - Publié dans : Téchnologie
Ecrire un commentaire - Voir les commentaires - Recommander
Mardi 17 juin 2008

La PNL nous en avons déjà parler mais pas rigoureusement. A partir de là j'entamme une série d'article du la PNL.

Avant de commencer :

La PNL offre une palette de méthode et d'outils de communication aux personnes qui souhaitent progresser dans leur vie personnelle et professionnelle.
La PNL n'est ni une théorie, ni une science. Elle ne propose pas d'hypothèse pour expliquer le fonctionnement, le "pourquoi" des choses. Elle se focalise sur le "comment" des processus qui réussissent.
Pourquoi ce nom de Programmation Neuro Linguitique ?

Programmation : De part notre éducation et nos expériences passées, nous sommes programmés en vue de reproduire ce que nous appelons  comportements, habitudes, automatismes...

Neuro : C'est notre cerveau qui est le maître d'œuvre de cette programmation.

Linguistique : Ils se manifestent au travers de notre langage verbal et non verbal.

"Un nom aussi compliqué donnera certainement aux gens l'envie de venir nous voir pour en savoir plus..." R. Bandler

Historique :

La PNL a été développée dans les années 1970 à la suite des recherches de 2 chercheurs américains : John Grinder et Richerd Bandler. Leur méthode filmer des personnes connues comme des références dans leur domaine (psychanalyse, journalisme, ...) et identifier les méthodes utilisées par ces personnes. Et il se rend compte alors que la réussite des experts résides plus dans leur savoir-faire que dans leur savoir. Alors J.Grinder et R.Bandler ont réussi à modéliser de nombreux comportement.

Que permet la PNL :

  • De mieux communiquer
  • D'exploiter au mieux nos qualités
  • De maîtriser nos émotions
  • De résoudre nos problèmee
  • De comprendre notre fonctionnement et celui des autres
  • De modéliser nos savoir-faire et ceux des autres
A la base la PNL est enseignée et appliquée dans le domaine médical. Par la suite la PNL a vu son influence se développez dans les domaines du marketing, management, la communication et la vente...

Les éléments de la communication


La communication est une boucle :
Le sens de notre message est déterminé en grande partie par le retour oral ou visuel qu'il suscite. C'est ce qu'on appel le "feed-back".
Nous régulons quasi-automatiquement notre message en fonction des réactions du récepteur et souvent cette régulation est inconsciente.

Schéma de la communcation interactive :

  1. Emetteur : Emet des informations (consciemment et inconsciemment)
  2. Récepteur : Capte les informations (consciemment et inconsciemment)
  3. Récepteur : Réagit (consciemment et inconsciemment)
  4. Emetteur : Capte les informations (consciemment et inconsciemment), retour 1
Cela nous fait penser à une "machine d'état" ou à un programme ; c'est un des buts de la PNL la formalisation, la modélisation des comportements. Si vous pensez pouvoir programmer une IA avec ces informations et faire un programme qui réagira comme un Humain allez y ;)

Pour mieux communiquer il faut faire passer les informations inconscientes au niveau conscient.

L'émetteur communique consciemment et inconsciemment :

"On ne peut pas ne pas, ne pas communiquer"

Nous pratiquons la communication à chaque instant de notre vie. C'est ce qui nous fait croire que nous la maîtrisons. Alors qu'il n'en est rien ce n'est que funeste chimère onirique ! Pour s'en convaincre filmer vous lors d'un ébat communicatif (discutions, débat, ...) et vos gestes, vos paroles, vous semblerons ceux d'un étranger.

L'importance de travailler sa gestuelle et sa tonalité de voix :

Des études américaines (rassurez vous pas une étude de la NASA (les habitués à mon blog comprenderont)) montre qu'un discourt est retenu à :

  • 10% pour le sens (les mots) (le chiffre exact est 7%)
  • 30% pour le rythme et la onalité de la voix
  • 60% pour la gestuelle
Voilà la prochaine fois nous parlerons des filtres de réceptions
Par Chkone - Publié dans : PNL
Ecrire un commentaire - Voir les commentaires - Recommander

Présentation

Catégories

Recherche

Calendrier

Novembre 2009
L M M J V S D
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            
<< < > >>

Syndication

  • Flux RSS des articles

Liens

Créer un blog sur over-blog.com - Contact - C.G.U. - Rémunération en droits d'auteur - Signaler un abus