Les 3 façons de déclarer des constantes, dans cet article, s'écrivent aussi exactement comme cela en C, et avec les mêmes avantages et inconvénients. Fallait-il vraiment mettre cet exemple-la en avant dans l'article ? Ce n'est pas très alléchant.
je trouve toujours étrange le fait de parler de "technologie" pour un logiciel. Les termes "bibliothèque" ou
"GUI toolkit" sont plus appropriés et moins marketing.
Sur Android, Java est uniquement utilisé pour produire un APK, qui ensuite est traduit au vol en assembleur sur la machine cible une fois installé. Ils utilisent java parce que le langage est simple à compiler, d'où l'efficacité d'eclipse.
Hors du contexte Android, je ne vois pas en quoi Python serait moins efficace que Java : ils sont tous les deux compilés en bytecode qui tourne ensuite dans une machine virtuelle. Personnellement je les trouve assez comparables en vitesse d'exécution (plus rapide que Ruby, dommage pour ce dernier que j'aime bien).
Dave Taylor n'écrit pas toujours des scripts élégants ; par exemple il utilise beaucoup awk et sed pour des choses simples, que bash permet de faire avec de simples substitutions de paramètres. Cela alourdit le script inutilement et enlève en portabilité, même avec awk et sed.
NB : je code en bash, ruby, python et php pour ne citer que des langages interprétés, ils ont chacun des domaines de prédilections, il n'y a pas de langage ultime qui remplace tous les autres, ça se saurait.
L'avancement dans la carrière et la prime d'excellence scientifique (PES) prennent en compte des mesures telles que le H-index (on a un H-index de n si on a au moins n papiers cités chacun n fois).
Le problème est que ce H-index est calculé sur une base telle que DBLP ou le CNRS, mais pas Google Scholar (ni microsoft academic). Ces bases de citations sont extraites des catalogues des grands éditeurs ! Donc si vous boycottez ces éditeurs, la base ne contiendra qu'une petite partie de vos citations et votre H-index sera tout petit ...
Une bonne stratégie pour se faire connaitre consiste a publier dans tous les bouquets de revues : du Springer, du Elsevier, du IEEE, etc, pour toucher les chercheurs des différentes communautés (et abonnés à l'un ou l'autre de ces bouquets, donc qui n'ont pas accès à tout).
Les reviewer sont "payés" par des utilisation gratuites pendant un temps donné d'outils tels que Scopus, mais je n'ai jamais pris la peine de tester ces trucs. Reviewer sert avant tout à contrôler et vérifier la qualité des papiers dans son domaine, et être informé en primeur des avancées. Ça vaut le travail (enfin pas toujours).
Je pense que dans le 1er message il est question des stations Sun du début
des années 1990, qui coûtaient un bras, mais c'était du même ordre que les
Silicon Graphics de l'époque (à partir de 100KF). Ces Sun fonctionnaient
sous Solaris encore BSD, et l'interface était OpenWindows, vraiment superbe
voire révolutionnaire à l'époque ! Au laboratoire on avait côte à côte des
Sun, SGI et Next (quand il est sorti), le Next faisait un peu jouet à côté ;
avec le mérite d'être abordable, toutefois ! C'était le début du déclin
des stations Apollo ... Tout ça pour vous dire que le Next n'avait pas grand
chose de révolutionnaire, par rapport aux stations de travail Sun et SGI.
Au lieu de me moinsser, ne serait-il pas plus intéressant de contre-argumenter, par exemple avec les formules magiques d'incrémentation de pid si quelqu'un les connait ?
Il devrait être capable de couper complètement un service. Cela semble facile mais est en réalité très difficile. Sous UNIX, un processus qui fait un double fork (le programme se relance lui‐même en tâche de fond) sort complètement de la supervision du processus qui l’a lancé. Prenons par exemple un script CGI lancé par un serveur Web. Lorsqu’il fait un double fork, il devient orphelin et est rattaché au processus de PID 1. L’arrêt du serveur Web ne le concerne pas, et aucun script système n’est en mesure de le retrouver automatiquement pour le couper.
Ce n'est pas tout-à-fait exact :
un processus devient orphelin lorsque son père se termine (il est alors adopté par init).
Si un processus A fait un "double-fork", entendez par là qu'il fait un fils B puis B fait un petit-fils C, alors C n'est pas orphelin tant que B n'est pas mort ; ça n'a rien à voir avec le fait de faire un double fork.
En pratique, les démons font souvent un fork pour changer de PID et se détacher du terminal ; puis ils font des fils spécilisés sur des traitements et des connexions. Ces fils sont donc des petits-fils du démon initial, mais ils ne sont pas orphelins puisque le démon forké est vivant ! Mais avec un PID différent du PID initial.
Comme tout ceci est difficile à suivre (pas tant que ça grâce à pstree), la notion de groupe de processus peut simplifier certaines opérations, en effet.
Une métrique intéressante est le PID du premier processus utilisable une fois le système démarré. Avec les noyaux actuels, cela donne une bonne idée du nombre de processus lancés. Amorcer le système, lancer un terminal, faire « echo $$ » : sous Linux, le PID est 1823, sous Mac OS X c’est 154.
Cette métrique souffre d'un biais : les OS n'incrémentent pas le PID de la même façon entre 2 forks. Sous Ubuntu, j'ai constaté un incrément moyen de 48, sous Solaris de 16, sous MacOS de 2 (le tout modulo 65536 probablement). On ne peut donc pas conclure grand chose de echo $$.
Si je ne m'abuse, sur les x86_64 seuls les 48 premiers bits sont utilisés pour les adresses, ce qui laisse 16 bits disponibles. Est-ce que le bit SMEP est de ceux-là ?
Le site http://langpop.com/ présente des chiffres intéressants sur la popularité des langages.
Pour compléter, n'oublions pas que java, pour des raisons qui m'échappent, a plus de succès en France que dans d'autres pays, en particulier aux USA où le C++ lui est largement préféré.
L'histoire des langages de programmation est récente mais déjà dense ; on peut consulter
l'article dédié sur wikipédia ou le très complet site de Levenez par exemple pour s'en convaincre.
Chaque langage a son design, sa philosophie, sa communauté qui le trouve génial, et bien entendu ses détracteurs.
Critiquer des langages parce qu'ils existent depuis longtemps n'a guère de sens. Par exemple, allez expliquer aux physiciens que les montagnes de librairies en Fortran qu'ils utilisent seraient mieux écrites en java ou en python, ils vous riront au nez : leur code marche, est validé, est optimisé pour leurs architecture, les fermes de calcul, les très grands volumes de données, etc. Allez comprendre pourquoi on développe des langages assembleur tels que pour la machine Parrot ? Mais pourquoi dans le monde de la finance on continue à utiliser le Cobol ?
Il y a de la place pour tous les langages. Tout dépend de l'emploi que l'on fait. Par exemple si je vais enseigner aux biologistes, ceux-ci auront besoin d'un langage permissif, qui tombe en marche, avec une solide boîte à outils : python est un excellent choix. Si je vais enseigner à de futur sys-admin, je vais en priorité leur enseigner sh et bash, ainsi que vi. Si je vais enseigner à de futurs développeurs pour SSII, ce sera du java ou du C# ; à des collégiens, pourquoi pas du VB ?
Pour en venir au C : sa syntaxe a été reprise pro ou prou en C++, C#, objective C, java, javascript, php, et on retrouve aussi sa syntaxe dans les expressions en python et ruby. Il est facile de faire ses premiers pas dans ces langages une fois que l'on a bien acquis les bases du C.
En ce qui concerne les interfaces graphiques, il est clair que py-gtk ou ruby-gtk sont beaucoup plus simple à aborder que GTK+ en C (rien que par la quantité de code ..). Le but de EZ-Draw était justement de compenser cela et de fournir un moyen simple de faire du graphisme, en quelques lignes et avec un minimum de paramétrage.
L'expérience montre que écrire de petites interfaces graphiques motive beaucoup les étudiants, qui quelques années plus tard, se régalent ensuite avec C++/java/python/ruby/etc en GTK/Qt/etc ...
La question du premier langage est un éternel troll ... sans rapport avec cette nouvelle.
Quelques pistes : quel est le père de tous les langages actuels ? Quel est le plus simple à comprendre ? Le plus proche de la machine ? Un struct est-il plus simple à comprendre qu'une classe ? Un compilateur n'aide-t'il pas à trouver certaines erreurs telles que des variables non-initialisées ? etc.
Oui ça m'intéresse de le savoir ; par exemple avec limesurvey, impossible d'organiser un vote public où chacun peut voir ce que les autres ont voté au fur et à mesure, on n'a que les stats globales. Est-ce que ce nouveau soft peut le faire ?
Et vu que des processus il n'y en as pas une tétra-chiée
Ce n'est pas très élégant ; en outre le préfixe tétra signifie quatre.
Un synonyme serait "une quadri-fèce", mais on sent moins le sens.
Le mot "floppée" correspond bien, ça fait "flop" quand ça tombe.
# Forums en anglais
Posté par gato . En réponse à la dépêche C : Science et éducation : EZ-Draw 1.2 est sorti. Évalué à 1.
J'aimerais faire connaître EZ-Draw sur des forums en langue anglaise, maintenant que la doc est bilingue ; quels forums pourriez-vous me conseiller ?
[^] # Re: Réponses en vrac
Posté par gato . En réponse à la dépêche Coder efficacement, bonnes pratiques et erreurs à éviter. Évalué à 1.
Les 3 façons de déclarer des constantes, dans cet article, s'écrivent aussi exactement comme cela en C, et avec les mêmes avantages et inconvénients. Fallait-il vraiment mettre cet exemple-la en avant dans l'article ? Ce n'est pas très alléchant.
[^] # Re: Nouvelle "technologie"
Posté par gato . En réponse à la dépêche GCompris change de moteur. Évalué à -4.
La technologie se brevète …
C'est avec ce genre d'amalgame logiciel = technologie que les partisants du tout-brevet gagnent du terrain.
# Nouvelle "technologie"
Posté par gato . En réponse à la dépêche GCompris change de moteur. Évalué à -5.
je trouve toujours étrange le fait de parler de "technologie" pour un logiciel. Les termes "bibliothèque" ou
"GUI toolkit" sont plus appropriés et moins marketing.
[^] # Re: En somme
Posté par gato . En réponse à la dépêche Firefox 27. Évalué à 4.
http://geek-and-poke.com/geekandpoke/2011/10/4/hyperinflation.html
[^] # Re: Présence dans Debian
Posté par gato . En réponse à la dépêche Mesa 9.1 est sorti. Évalué à 0.
Cette version "rolling unstable" de Debian existe depuis quelques années ; elle commence par "ubu" et finit par "ntu".
# La démo n'est pas multilingue
Posté par gato . En réponse à la dépêche doorGets CMS, très jeune CMS Open Source français. Évalué à 0.
Quand on clique sur anglais, presque tout reste en français … bug ou pas fini ?
[^] # Re: Petit commentaire
Posté par gato . En réponse au journal J'ai installé ubuntu sur une nexus 7. Évalué à 0.
Sur Android, Java est uniquement utilisé pour produire un APK, qui ensuite est traduit au vol en assembleur sur la machine cible une fois installé. Ils utilisent java parce que le langage est simple à compiler, d'où l'efficacité d'eclipse.
Hors du contexte Android, je ne vois pas en quoi Python serait moins efficace que Java : ils sont tous les deux compilés en bytecode qui tourne ensuite dans une machine virtuelle. Personnellement je les trouve assez comparables en vitesse d'exécution (plus rapide que Ruby, dommage pour ce dernier que j'aime bien).
# Peut mieux faire
Posté par gato . En réponse au journal 100 scripts shell UNIX. Évalué à 2.
Dave Taylor n'écrit pas toujours des scripts élégants ; par exemple il utilise beaucoup awk et sed pour des choses simples, que bash permet de faire avec de simples substitutions de paramètres. Cela alourdit le script inutilement et enlève en portabilité, même avec awk et sed.
Pour moi il n'y a aucun doute, pour approfondir bash il faut lire l'ABSG http://tldp.org/LDP/abs/html/ (version française : http://abs.traduc.org/abs-fr/ ).
NB : je code en bash, ruby, python et php pour ne citer que des langages interprétés, ils ont chacun des domaines de prédilections, il n'y a pas de langage ultime qui remplace tous les autres, ça se saurait.
[^] # Re: Migrations libres
Posté par gato . En réponse à la dépêche Pourquoi Wayland veut remplacer X. Évalué à -3.
Ce Sidi, ils viennent de supprimer le serveur X dans Mac OS 10.7 ... histoire d'enfermer un peu plus leurs utilisateurs.
# H-index
Posté par gato . En réponse à la dépêche Le libre accès et l'appel au boycott contre Elsevier. Évalué à 4.
L'avancement dans la carrière et la prime d'excellence scientifique (PES) prennent en compte des mesures telles que le H-index (on a un H-index de n si on a au moins n papiers cités chacun n fois).
Le problème est que ce H-index est calculé sur une base telle que DBLP ou le CNRS, mais pas Google Scholar (ni microsoft academic). Ces bases de citations sont extraites des catalogues des grands éditeurs ! Donc si vous boycottez ces éditeurs, la base ne contiendra qu'une petite partie de vos citations et votre H-index sera tout petit ...
Une bonne stratégie pour se faire connaitre consiste a publier dans tous les bouquets de revues : du Springer, du Elsevier, du IEEE, etc, pour toucher les chercheurs des différentes communautés (et abonnés à l'un ou l'autre de ces bouquets, donc qui n'ont pas accès à tout).
Les reviewer sont "payés" par des utilisation gratuites pendant un temps donné d'outils tels que Scopus, mais je n'ai jamais pris la peine de tester ces trucs. Reviewer sert avant tout à contrôler et vérifier la qualité des papiers dans son domaine, et être informé en primeur des avancées. Ça vaut le travail (enfin pas toujours).
[^] # Re: [X] Un CD/DVD
Posté par gato . En réponse au sondage Je démarre l'installation de ma distribution par :. Évalué à 3.
par un fichier .iso pour virtualbox
# Perl vs Ruby
Posté par gato . En réponse à la dépêche Calendriers de l'avent Perl 5 et Perl 6. Évalué à 1.
Par pure curiosité, quels sont les avantages qui restent à Perl vis-à-vis du langage Ruby qui a pris la suite ?
[^] # Re: Nextstep ...
Posté par gato . En réponse à la dépêche Steve Jobs (1955-2011). Évalué à 5.
Je pense que dans le 1er message il est question des stations Sun du début
des années 1990, qui coûtaient un bras, mais c'était du même ordre que les
Silicon Graphics de l'époque (à partir de 100KF). Ces Sun fonctionnaient
sous Solaris encore BSD, et l'interface était OpenWindows, vraiment superbe
voire révolutionnaire à l'époque ! Au laboratoire on avait côte à côte des
Sun, SGI et Next (quand il est sorti), le Next faisait un peu jouet à côté ;
avec le mérite d'être abordable, toutefois ! C'était le début du déclin
des stations Apollo ... Tout ça pour vous dire que le Next n'avait pas grand
chose de révolutionnaire, par rapport aux stations de travail Sun et SGI.
[^] # Re: Petits PIDs
Posté par gato . En réponse à la dépêche Évolutions techniques de systemd. Évalué à 2.
Au lieu de me moinsser, ne serait-il pas plus intéressant de contre-argumenter, par exemple avec les formules magiques d'incrémentation de pid si quelqu'un les connait ?
# double fork
Posté par gato . En réponse à la dépêche Évolutions techniques de systemd. Évalué à 5.
Ce n'est pas tout-à-fait exact :
un processus devient orphelin lorsque son père se termine (il est alors adopté par init).
Si un processus A fait un "double-fork", entendez par là qu'il fait un fils B puis B fait un petit-fils C, alors C n'est pas orphelin tant que B n'est pas mort ; ça n'a rien à voir avec le fait de faire un double fork.
En pratique, les démons font souvent un fork pour changer de PID et se détacher du terminal ; puis ils font des fils spécilisés sur des traitements et des connexions. Ces fils sont donc des petits-fils du démon initial, mais ils ne sont pas orphelins puisque le démon forké est vivant ! Mais avec un PID différent du PID initial.
Comme tout ceci est difficile à suivre (pas tant que ça grâce à pstree), la notion de groupe de processus peut simplifier certaines opérations, en effet.
# Petits PIDs
Posté par gato . En réponse à la dépêche Évolutions techniques de systemd. Évalué à 9.
Cette métrique souffre d'un biais : les OS n'incrémentent pas le PID de la même façon entre 2 forks. Sous Ubuntu, j'ai constaté un incrément moyen de 48, sous Solaris de 16, sous MacOS de 2 (le tout modulo 65536 probablement). On ne peut donc pas conclure grand chose de echo $$.
[^] # Re: SMEP et la segmentation
Posté par gato . En réponse à la dépêche Le noyau Linux est disponible en version 3.0. Évalué à 0.
Si je ne m'abuse, sur les x86_64 seuls les 48 premiers bits sont utilisés pour les adresses, ce qui laisse 16 bits disponibles. Est-ce que le bit SMEP est de ceux-là ?
# Popularité des langages
Posté par gato . En réponse à la dépêche Naissance d'un géant : Java. Évalué à 1.
Le site http://langpop.com/ présente des chiffres intéressants sur la popularité des langages.
Pour compléter, n'oublions pas que java, pour des raisons qui m'échappent, a plus de succès en France que dans d'autres pays, en particulier aux USA où le C++ lui est largement préféré.
[^] # Re: Apprentissage
Posté par gato . En réponse à la dépêche Science et éducation : EZ-Draw 1.0 est sorti. Évalué à 1.
D'après Levenez, c'est le contraire : Algol 60 descend de Fortran 54.
# Captures d'écran
Posté par gato . En réponse à la dépêche Science et éducation : EZ-Draw 1.0 est sorti. Évalué à 3.
Quelques captures d'écran ont été rajoutées ici.
[^] # Re: Apprentissage
Posté par gato . En réponse à la dépêche Science et éducation : EZ-Draw 1.0 est sorti. Évalué à 10.
L'histoire des langages de programmation est récente mais déjà dense ; on peut consulter
l'article dédié sur wikipédia ou le très complet site de Levenez par exemple pour s'en convaincre.
Chaque langage a son design, sa philosophie, sa communauté qui le trouve génial, et bien entendu ses détracteurs.
Critiquer des langages parce qu'ils existent depuis longtemps n'a guère de sens. Par exemple, allez expliquer aux physiciens que les montagnes de librairies en Fortran qu'ils utilisent seraient mieux écrites en java ou en python, ils vous riront au nez : leur code marche, est validé, est optimisé pour leurs architecture, les fermes de calcul, les très grands volumes de données, etc. Allez comprendre pourquoi on développe des langages assembleur tels que pour la machine Parrot ? Mais pourquoi dans le monde de la finance on continue à utiliser le Cobol ?
Il y a de la place pour tous les langages. Tout dépend de l'emploi que l'on fait. Par exemple si je vais enseigner aux biologistes, ceux-ci auront besoin d'un langage permissif, qui tombe en marche, avec une solide boîte à outils : python est un excellent choix. Si je vais enseigner à de futur sys-admin, je vais en priorité leur enseigner sh et bash, ainsi que vi. Si je vais enseigner à de futurs développeurs pour SSII, ce sera du java ou du C# ; à des collégiens, pourquoi pas du VB ?
Pour en venir au C : sa syntaxe a été reprise pro ou prou en C++, C#, objective C, java, javascript, php, et on retrouve aussi sa syntaxe dans les expressions en python et ruby. Il est facile de faire ses premiers pas dans ces langages une fois que l'on a bien acquis les bases du C.
En ce qui concerne les interfaces graphiques, il est clair que py-gtk ou ruby-gtk sont beaucoup plus simple à aborder que GTK+ en C (rien que par la quantité de code ..). Le but de EZ-Draw était justement de compenser cela et de fournir un moyen simple de faire du graphisme, en quelques lignes et avec un minimum de paramétrage.
L'expérience montre que écrire de petites interfaces graphiques motive beaucoup les étudiants, qui quelques années plus tard, se régalent ensuite avec C++/java/python/ruby/etc en GTK/Qt/etc ...
[^] # Re: Apprentissage
Posté par gato . En réponse à la dépêche Science et éducation : EZ-Draw 1.0 est sorti. Évalué à 6.
La question du premier langage est un éternel troll ... sans rapport avec cette nouvelle.
Quelques pistes : quel est le père de tous les langages actuels ? Quel est le plus simple à comprendre ? Le plus proche de la machine ? Un struct est-il plus simple à comprendre qu'une classe ? Un compilateur n'aide-t'il pas à trouver certaines erreurs telles que des variables non-initialisées ? etc.
[^] # Re: En savoir plus
Posté par gato . En réponse à la dépêche Lancement de Poll-O, enquêtes et votes en ligne.. Évalué à 4.
Oui ça m'intéresse de le savoir ; par exemple avec limesurvey, impossible d'organiser un vote public où chacun peut voir ce que les autres ont voté au fur et à mesure, on n'a que les stats globales. Est-ce que ce nouveau soft peut le faire ?
[^] # Re: Transparent huge pages
Posté par gato . En réponse à la dépêche Le noyau Linux est disponible en version 2.6.38. Évalué à 2.
Ce n'est pas très élégant ; en outre le préfixe tétra signifie quatre. Un synonyme serait "une quadri-fèce", mais on sent moins le sens. Le mot "floppée" correspond bien, ça fait "flop" quand ça tombe.