« D'ailleurs, quand on débute en C++, on a tendance à coder C plutôt qu'en C++ (genre préférer les structures aux objets). »
Qui est ce « on » ? J'ai appris C et C++ la même année (6 mois de C globalement, 2-3 mois de C++, mais juste la partie « C avec classes », donc pas de templates, pas d'utilisation de namespaces, etc). Dès le départ, on nous avait fait utiliser cout. Alors oui, il s'agissait de cours d'IUT, et oui, le fait de choisir C++ plutôt que Java n'était sans doute pas anodin, mais dès le départ, pas mal de choses étaient claires.
Les gens qui font « du C » en C++ ce sont des gens qui font du procédural dans un langage orienté objet, selon moi (donc utilisation de méthodes de classes ou de fonctions, utilisation de codes de retour plutôt qu'utiliser les exception quand clairement ça se justifierait, etc). Et ça par contre, je l'ai déjà vu faire, même (surtout ?) avec des gens qui avaient 20 ans d'expérience.
Ben justement, vu qu'il n'y a pas d'ambiguïté sur la prononciation des mots hébreux (enfin, c'est toujours une hypothèse, faudrait que j'en parle à un intéressé qui sait mieux que moi), même avec les voyelles manquantes, alors pas de problème. Tu ne prononces pas, mais la lecture n'en est pas moins claire.
« Pour ces deux raisons la prononciation exacte du Tétragramme, à supposer qu’elle soit possible, demeure incertaine. »
Mouais. Je demanderai à ma référence en la matière, mais ça me semble étrange qu'on ne sache pas prononcer le mot, sachant qu'en Hébreux les voyelles sont facultatives à l'écrit, mais qu'à la lecture il n'y a normalement pas d'ambiguïté.
« Je me demande comment tu fais pour éclipser le côté religieux d'une fête religieuse ... »
C'est très simple : à l'école, PERSONNE ne parle de Jesus, Marie, Joseph, Moïse ou Mohammed quand on parle des fêtes de fin d'année.
Prenons les vacances scolaires dans l'ordre :
1/ Vacances dites de Toussaint (ou « automne ») : 7 à 10 jours de vacances (selon qu'on est pré- ou post-bac) : suivant les régions, si je ne me trompe pas, on n'a pas exactement le même calendrier. J'ai bien l'impression qu'en ce moment chez les jeunes, on assimile plus ça à des « vacances d'Halloween » qu'à la fête des morts et de tous les saints.
2/ Vacances de fin d'année (« vacances de Noël ») : la connotation religieuse est certes plus forte chez les gens pratiquants, mais j'aimerais que tu m'expliques quand, à l'école, on te parle religion. Où, dans la rue, on te parle religion (si ce n'est devant les églises ou autres lieux de cultes, et donc là c'est différent).
3/ Vacances de février (pas les mêmes pour tout le monde, pas la même durée, tout pareil que pour la Toussaint).
4/ Vacances de printemps (dites de « Pâques »). Idem. À l'école on parle bien des vacances de Pâques, mais aucune référence à la religion n'y est faite. C'est juste que le nom est resté, vues les centaines d'années où on a appelé cette période de l'année ainsi. Sinon je te propose de débaptiser le Dimanche, parce que bon, Dominus Die (ou quelle que soit l'expression latine consacrée), c'est clairement une connotation religieuse, impardonnable dans un état laïc avec une école laïque.
5/ « Grandes vacances » (vacances d'été).
« Ce qaue je constate, c'est qu'aujourd'hui, pour des raisons historiques, les religions chrétiennes sont favorisées, et c'est une situation qui me parait anormale. »
Je ne vois pas en quoi. Ou alors, autant discuter l'utilité du calendrier grégorien, repartir sur le renommage des mois tel qu'il avait été fait lors de la Révolution, etc. Sauf que non, pour des raisons historiques et pratiques on garde ce dernier. À quelques exceptions près, c'est le calendrier qui fait consensus dans le monde. Pas parce qu'il est chrétien/juif/musulman/boudhiste/que sais-je, mais parce qu'à une époque, une majorité de gens (ou éventuellement les gens qui avaient les moyens de l'imposer par la force) l'ont utilisé.
« Laisser ça comme ça juste parce que c'est historique, c'est malsain (sinon, on aurait pu ne pas accorder le droit de vote aux femmes pour raison historique, etc ...). »
Je trouve l'argument facile. Ça n'est absolument pas comparable selon moi. Au moment où l'école laïque est promulguée, la France est effectivement majoritairement catholique. Du coup forcément, on essaie quand même de se caler sur leurs périodes de fêtes afin d'arranger tout le monde à l'époque. Maintenant, nous avons une population bien plus diversifiée, c'est vrai; mais le choix du moment où on met les vacances est (je trouve) tout de même assez logique, et ce indépendamment de la religion :
2 mois de cours (Sept/Oct) => 1 à 2 semaines de vacances;
2 mois de cours (Nov/Déc) => 2 semaines de vacances;
1,5 mois de cours (Janvier/Fév) => 1 à 2 semaines de vacances;
2 mois de cours (Mar/Avr) => 2 semaines de vacances;
1,5 mois de cours (Mai - jours feriés ;)/Juin) => 2 mois de vacances
Dis-moi ce qui te choque là-dedans.
La France est de moins en moins catholique (au sens du nombre de personnes pratiquantes). Et pourtant, tout le monde arrive peu ou prou à se débrouiller de ces dates-ci. Il doit bien y avoir quelque chose qui fait que ça marche quand même, non ?
« Tiens dans le même ordre d'idées, on refuse le port du voile à l'école alors qu'on fête Noel, Paques et autres dans les écoles. C'est inadmissible. »
Je ne savais pas qu'on fêtait réellement Saint Nicolas dans les écoles, qu'on faisait le carême à Pâques, etc.
Ce qu'on « fête » à Noël, c'est la mise en place de décos plus ou moins kitsch et d'un sapin. Le côté chrétien de la fête est totalement eclipsé (que je sache, on n'envoie pas les enfants à la messe pendant les périodes de fête...). À Pâques, on peint éventuellement des oeufs, et on parle cloches et lapins. Même s'il y a une connotation religieuse au départ, elle n'a pas de sens pour un gamin qui n'a pas d'éducation religieuse chrétienne. Je me souviens aussi avoir fêté Mardi Gras quand j'étais tout petit. Mise à part l'opportunité de me déguiser, je ne vois pas trop en quoi j'ai été conditionné religieusement.
Dernière chose : « laïc » ne signifie pas « anti-clérical ».
« Saud qu'il n'a pas besoin de la stdlib pour cela. »
Oui et non. Là j'ai donné un exemple de code où le compilateur finit par appeler du code déjà optimisé (ici, memcpy). Mais par exemple, il est possible d'imaginer que le compilateur reconnaît des patterns déjà bien définis (par ex, strlen(toto), strncat(dst,toto,...), etc), et que du coup le compilateur joue un peu avec tous ces paramètres là où il ne le ferait pas d'habitude, car les fonctions de la libc sont magiques. Donc même si en toute logique, « on ne sait pas » ce qui peut se passer dans une fonction du point de vue du compilateur, dans le cas des fonctions de la libc, ce n'est pas le cas, et le compilo peut réellement faire des choses bizarres/intelligentes (suivant le point de vue).
Concernant la disponibilité des bibliothèques externes, je ne suis pas d'accord. la glibc par exemple fournit énormément de fonctions en plus de ce que propose la libc-tout-court. GTK est portée à peu près partout. Après tu peux me dire que ces bibliothèques ne sont pas d'assez bonne qualité pour toi (rapport empreinte mémoire/performance, par exemple), mais c'est un autre débat. Idem pour SDL.
« Même Pascal avait des chaines de longueur préfixée… »
Préfixées oui, mais la taille de l'entier était d'un octet. Super pratique pour des chaînes trèèèèèèèèès longues. Cela dit, je suis d'accord avec toi, faire un bête typedef struct string_s { char *str; unsigned len; } string_t;
c'est quand même pas bien compliqué.
« Le probème ici c'est que justement la bibliothèque standard du C n'est pas vraiment ce qu'on appelle un runtime au 21 siècle. Elle propose à peu près rien comme fonctions par rapport à ce que l'on attend maintenant d'un runtime. »
Ça franchement ce n'est pas grave, vu le nombre de bibliothèques externes de qualité qui ont été produites depuis. Ensuite, l'intérêt de la libC, c'est que le compilateur a le droit de considérer que toutes ses fonctions sont magiques. Par exemple, un bête code du genre : for (i=0;i<N;++i) dst[i] = src[i];
peut être remplacé légalement par le compilateur en memcpy(dst,src,N*sizeof(*dst));. Bref, les fonctions de la libc ne sont pas de simples fonctions, elles font partie de la norme et peuvent être manipulées de façon très bizarre par le compilateur s'il décide que ça en vaut la peine ...
Donc les fonctions de manipulation de chaîne n'y échappent pas, et si un compilateur assez futé [1] s'aperçoit qu'il peut simplifier du code de manip de chaîne fait avec les fonctions str*, il ne va pas se gêner pour le faire.
[1] Ce n'est pas toujours évident cependant, bien entendu. Et je ne suis pas certain que les compilos fassent grand chose en général.
À mon avis, plutôt que parler de « variables conditionnelles », on veut plutôt dire « variables de conditions ». Et dans ce cas là, ça prend tout son sens (cf man pthread_cond_wait par exemple).
Je ne suis pas certain de ce que tu veux dire, mais Linpack est un programme réclamant très peu de communications, donc l'important, c'est la puissance brute de calcul, et pas le nombre de coeurs en lui même. Si tu as un super-ordinateur qui est capable de faire 1 PFLOPS avec un seul processeur, il vaut donc autant que 1000 coeurs à 1 TFLOP.
Concernant l'utilisation d'instructions vectorielles, si on prend un compilo non-libre (icc), oui, il vectorise (mieux que gcc dans l'ensemble, mais gcc est en train de sérieusement combler son retard). Par contre, il faut des contraintes fortes à garantir à la compilateur (ou facilement vérifiable à l'exécution sans prendre trois plombes). Du coup, hors des cas « faciles », il faut encore se faire l'appel d'intrinsics à la main dans le code là où ça a du sens.
Je déteste les numéros « automatiques ». Centralisés pourquoi pas, mais centralisé avec quelqu'un qui peut me rediriger là où je veux. Parce que le coup du « robot » qui m'explique qu'il faut que je tape 1 ou 2 ou #, ça me donne envie d'exploser mon téléphone. Sauf à être habitué du service, tu es obligé de te taper les 3 minutes (surtaxées) d'explications sur les différents choix qui s'offrent à moi. Lorsqu'enfin je tape sur (disons ) 9 ( « autre choix » ) je dois encore patienter quelques instants pour que quelqu'un veuille finalement me prendre.
Au final, j'aurai perdu des sous ET du temps avec leurs machins automatiques à la con.
Sauf que si ton programme a été optimisé et que du coup il utilise plus d'unités fonctionnelles à la fois (et donc rend le temps de calcul plus court), est-ce qu'il ne fera pas monter la consommation électrique du CPU ? :)
En fait c'est exactement le problème que je rencontre parfois avec certaines personnes : on leur explique (par exemple) que le seul moyen de piger où se trouve le goulot d'étranglement dans leur programme n'est plus dans l'algo, mais dans le code asm lui-même (comprendre ce qu'a fait le compilateur, etc.), et ils préfèrent améliorer les constantes de leurs algos plutôt que de se dire « si on faisait ça mieux, ça tiendrait dans les caches d'instruction/de données »...
J'aime bien les notes, ça me permet de ne pas me distraire. Je lis, puis je clique. Plutôt que « je lis, oh tiens un lien, je clique, et du coup j'oublie de lire la fin ».
« La plupart des utilisateurs de linux connaissent pourtant la notion de dépendances logicielles et savent choisir la version d'un programme qui correspond à leur architecture matérielle et leur distribution. »
Parce que la plupart des linuxiens sont des power users. Ce que je comprends de tout ça, c'est que justement, la cible du binaire est les utilisateurs « normaux » -- c'est-à-dire : les même utilisateurs que sous Windows ou Mac. Ces utilisateurs, ils ont un nom : « mon papa », « ma maman », « ma tante », mais aussi « mes copains technophobes ». Ceux-là on besoin d'un binaire qui juste marche.
En même temps, on parle de 50 Mo à l'ère des PC avec 1 Tio de disque et 4Gio de RAM... Non, je n'ai pas ça chez moi, mais même mon PC vieux de 7 ans a 768 Mio de RAM et plusieurs dizaines de giga-octets ...
[^] # Re: Une si bonne API
Posté par lasher . En réponse à la dépêche Sortie de Qt 4.6. Évalué à 4.
Qui est ce « on » ? J'ai appris C et C++ la même année (6 mois de C globalement, 2-3 mois de C++, mais juste la partie « C avec classes », donc pas de templates, pas d'utilisation de namespaces, etc). Dès le départ, on nous avait fait utiliser cout. Alors oui, il s'agissait de cours d'IUT, et oui, le fait de choisir C++ plutôt que Java n'était sans doute pas anodin, mais dès le départ, pas mal de choses étaient claires.
Les gens qui font « du C » en C++ ce sont des gens qui font du procédural dans un langage orienté objet, selon moi (donc utilisation de méthodes de classes ou de fonctions, utilisation de codes de retour plutôt qu'utiliser les exception quand clairement ça se justifierait, etc). Et ça par contre, je l'ai déjà vu faire, même (surtout ?) avec des gens qui avaient 20 ans d'expérience.
[^] # Re: Le Chabbat
Posté par lasher . En réponse au journal Intel ne respecterait pas le Sabbat.... Évalué à 2.
[^] # Re: Le Chabbat
Posté par lasher . En réponse au journal Intel ne respecterait pas le Sabbat.... Évalué à 2.
[^] # Re: Le Chabbat
Posté par lasher . En réponse au journal Intel ne respecterait pas le Sabbat.... Évalué à 2.
Mouais. Je demanderai à ma référence en la matière, mais ça me semble étrange qu'on ne sache pas prononcer le mot, sachant qu'en Hébreux les voyelles sont facultatives à l'écrit, mais qu'à la lecture il n'y a normalement pas d'ambiguïté.
[^] # Re: Bof .....
Posté par lasher . En réponse au journal Intel ne respecterait pas le Sabbat.... Évalué à 5.
C'est très simple : à l'école, PERSONNE ne parle de Jesus, Marie, Joseph, Moïse ou Mohammed quand on parle des fêtes de fin d'année.
Prenons les vacances scolaires dans l'ordre :
1/ Vacances dites de Toussaint (ou « automne ») : 7 à 10 jours de vacances (selon qu'on est pré- ou post-bac) : suivant les régions, si je ne me trompe pas, on n'a pas exactement le même calendrier. J'ai bien l'impression qu'en ce moment chez les jeunes, on assimile plus ça à des « vacances d'Halloween » qu'à la fête des morts et de tous les saints.
2/ Vacances de fin d'année (« vacances de Noël ») : la connotation religieuse est certes plus forte chez les gens pratiquants, mais j'aimerais que tu m'expliques quand, à l'école, on te parle religion. Où, dans la rue, on te parle religion (si ce n'est devant les églises ou autres lieux de cultes, et donc là c'est différent).
3/ Vacances de février (pas les mêmes pour tout le monde, pas la même durée, tout pareil que pour la Toussaint).
4/ Vacances de printemps (dites de « Pâques »). Idem. À l'école on parle bien des vacances de Pâques, mais aucune référence à la religion n'y est faite. C'est juste que le nom est resté, vues les centaines d'années où on a appelé cette période de l'année ainsi. Sinon je te propose de débaptiser le Dimanche, parce que bon, Dominus Die (ou quelle que soit l'expression latine consacrée), c'est clairement une connotation religieuse, impardonnable dans un état laïc avec une école laïque.
5/ « Grandes vacances » (vacances d'été).
« Ce qaue je constate, c'est qu'aujourd'hui, pour des raisons historiques, les religions chrétiennes sont favorisées, et c'est une situation qui me parait anormale. »
Je ne vois pas en quoi. Ou alors, autant discuter l'utilité du calendrier grégorien, repartir sur le renommage des mois tel qu'il avait été fait lors de la Révolution, etc. Sauf que non, pour des raisons historiques et pratiques on garde ce dernier. À quelques exceptions près, c'est le calendrier qui fait consensus dans le monde. Pas parce qu'il est chrétien/juif/musulman/boudhiste/que sais-je, mais parce qu'à une époque, une majorité de gens (ou éventuellement les gens qui avaient les moyens de l'imposer par la force) l'ont utilisé.
« Laisser ça comme ça juste parce que c'est historique, c'est malsain (sinon, on aurait pu ne pas accorder le droit de vote aux femmes pour raison historique, etc ...). »
Je trouve l'argument facile. Ça n'est absolument pas comparable selon moi. Au moment où l'école laïque est promulguée, la France est effectivement majoritairement catholique. Du coup forcément, on essaie quand même de se caler sur leurs périodes de fêtes afin d'arranger tout le monde à l'époque. Maintenant, nous avons une population bien plus diversifiée, c'est vrai; mais le choix du moment où on met les vacances est (je trouve) tout de même assez logique, et ce indépendamment de la religion :
2 mois de cours (Sept/Oct) => 1 à 2 semaines de vacances;
2 mois de cours (Nov/Déc) => 2 semaines de vacances;
1,5 mois de cours (Janvier/Fév) => 1 à 2 semaines de vacances;
2 mois de cours (Mar/Avr) => 2 semaines de vacances;
1,5 mois de cours (Mai - jours feriés ;)/Juin) => 2 mois de vacances
Dis-moi ce qui te choque là-dedans.
La France est de moins en moins catholique (au sens du nombre de personnes pratiquantes). Et pourtant, tout le monde arrive peu ou prou à se débrouiller de ces dates-ci. Il doit bien y avoir quelque chose qui fait que ça marche quand même, non ?
[^] # Re: Bof .....
Posté par lasher . En réponse au journal Intel ne respecterait pas le Sabbat.... Évalué à 3.
Je ne savais pas qu'on fêtait réellement Saint Nicolas dans les écoles, qu'on faisait le carême à Pâques, etc.
Ce qu'on « fête » à Noël, c'est la mise en place de décos plus ou moins kitsch et d'un sapin. Le côté chrétien de la fête est totalement eclipsé (que je sache, on n'envoie pas les enfants à la messe pendant les périodes de fête...). À Pâques, on peint éventuellement des oeufs, et on parle cloches et lapins. Même s'il y a une connotation religieuse au départ, elle n'a pas de sens pour un gamin qui n'a pas d'éducation religieuse chrétienne. Je me souviens aussi avoir fêté Mardi Gras quand j'étais tout petit. Mise à part l'opportunité de me déguiser, je ne vois pas trop en quoi j'ai été conditionné religieusement.
Dernière chose : « laïc » ne signifie pas « anti-clérical ».
[^] # Re: Humm...
Posté par lasher . En réponse à la dépêche Sortie de la version 2.11 de la bibliothèque standard C GNU (glibc). Évalué à 2.
Oui et non. Là j'ai donné un exemple de code où le compilateur finit par appeler du code déjà optimisé (ici, memcpy). Mais par exemple, il est possible d'imaginer que le compilateur reconnaît des patterns déjà bien définis (par ex, strlen(toto), strncat(dst,toto,...), etc), et que du coup le compilateur joue un peu avec tous ces paramètres là où il ne le ferait pas d'habitude, car les fonctions de la libc sont magiques. Donc même si en toute logique, « on ne sait pas » ce qui peut se passer dans une fonction du point de vue du compilateur, dans le cas des fonctions de la libc, ce n'est pas le cas, et le compilo peut réellement faire des choses bizarres/intelligentes (suivant le point de vue).
Concernant la disponibilité des bibliothèques externes, je ne suis pas d'accord. la glibc par exemple fournit énormément de fonctions en plus de ce que propose la libc-tout-court. GTK est portée à peu près partout. Après tu peux me dire que ces bibliothèques ne sont pas d'assez bonne qualité pour toi (rapport empreinte mémoire/performance, par exemple), mais c'est un autre débat. Idem pour SDL.
[^] # Re: Humm...
Posté par lasher . En réponse à la dépêche Sortie de la version 2.11 de la bibliothèque standard C GNU (glibc). Évalué à 2.
Préfixées oui, mais la taille de l'entier était d'un octet. Super pratique pour des chaînes trèèèèèèèèès longues. Cela dit, je suis d'accord avec toi, faire un bête
typedef struct string_s { char *str; unsigned len; } string_t;
c'est quand même pas bien compliqué.
[^] # Re: Humm...
Posté par lasher . En réponse à la dépêche Sortie de la version 2.11 de la bibliothèque standard C GNU (glibc). Évalué à 2.
Ça franchement ce n'est pas grave, vu le nombre de bibliothèques externes de qualité qui ont été produites depuis. Ensuite, l'intérêt de la libC, c'est que le compilateur a le droit de considérer que toutes ses fonctions sont magiques. Par exemple, un bête code du genre :
for (i=0;i<N;++i) dst[i] = src[i];
peut être remplacé légalement par le compilateur en
memcpy(dst,src,N*sizeof(*dst));
. Bref, les fonctions de la libc ne sont pas de simples fonctions, elles font partie de la norme et peuvent être manipulées de façon très bizarre par le compilateur s'il décide que ça en vaut la peine ...Donc les fonctions de manipulation de chaîne n'y échappent pas, et si un compilateur assez futé [1] s'aperçoit qu'il peut simplifier du code de manip de chaîne fait avec les fonctions str*, il ne va pas se gêner pour le faire.
[1] Ce n'est pas toujours évident cependant, bien entendu. Et je ne suis pas certain que les compilos fassent grand chose en général.
[^] # Re: Libre ou pas libre ?
Posté par lasher . En réponse au journal GoogleOS / ChromeOS / minitel 2. Évalué à 1.
[^] # Re: Humm...
Posté par lasher . En réponse à la dépêche Sortie de la version 2.11 de la bibliothèque standard C GNU (glibc). Évalué à 4.
[^] # Re: Statistique
Posté par lasher . En réponse à la dépêche Le Top 500 de novembre 2009. Évalué à 2.
[^] # Re: hégémonie d'Intel et AMD
Posté par lasher . En réponse à la dépêche Le Top 500 de novembre 2009. Évalué à 2.
[^] # Re: Microsoft va-t-il LIBÉRER .net ?
Posté par lasher . En réponse à la dépêche Tomboy vs Gnote. Évalué à 2.
[^] # Re: système et garbage collector?
Posté par lasher . En réponse à la dépêche Go : Un nouveau langage chez Google. Évalué à 2.
[^] # Re: La classe
Posté par lasher . En réponse au journal Mode de merde !. Évalué à 1.
Et « George » (avec l'accent angliche), c'est pour un homme dont le prénom est pas français.
[^] # Re: Déchargement des bureaux
Posté par lasher . En réponse au journal Chiottes de "plateformes" de renseignement. Évalué à 2.
Au final, j'aurai perdu des sous ET du temps avec leurs machins automatiques à la con.
[^] # Re: Cela confirme ce que je pense
Posté par lasher . En réponse au journal Linux, Gentoo, et gcc dans un bateau.... Évalué à 2.
[^] # Re: dbench
Posté par lasher . En réponse au journal Linux, Gentoo, et gcc dans un bateau.... Évalué à 4.
[^] # Re: Manque un lien...
Posté par lasher . En réponse au journal Un exemple interessant de ce qui se fait au Venezuela. Évalué à 3.
... De la mauvaise foi ? Où ça ?
[^] # Re: Compliqué !
Posté par lasher . En réponse à la dépêche Les 10 ans de Scenari. Évalué à 3.
Parce que la plupart des linuxiens sont des power users. Ce que je comprends de tout ça, c'est que justement, la cible du binaire est les utilisateurs « normaux » -- c'est-à-dire : les même utilisateurs que sous Windows ou Mac. Ces utilisateurs, ils ont un nom : « mon papa », « ma maman », « ma tante », mais aussi « mes copains technophobes ». Ceux-là on besoin d'un binaire qui juste marche.
[^] # Re: Compliqué !
Posté par lasher . En réponse à la dépêche Les 10 ans de Scenari. Évalué à 1.
[^] # Re: Langage idéal...
Posté par lasher . En réponse au journal Nimrod, ça se rapproche du langage idéal. Évalué à 3.
http://www.literateprogramming.com/
literate%20programming
[^] # Re: « hackage »
Posté par lasher . En réponse au journal Concours de hackage de machines à vote électronique. Évalué à 3.
[^] # Re: il fait beau
Posté par lasher . En réponse au journal [H.S] Je suis content.. Évalué à 2.