OVH Cloud OVH Cloud

A propos de linux 2.6

106 réponses
Avatar
Richard Delorme
Un article qui détaille les avancées du noyau 2.6 (aujourd'hui en phase de
test) :

http://www.kniggit.net/wwol26.html

En vrac :
Meilleur scalabilité vers le bas (système embarqué) et vers le haut (système
multiprocesseurs, NUMA), noyau préemptif (meilleur temps de réponse),
amélioration des entrées-sorties, meilleures performances, support de
l'hyperthreading, de l'opteron, meilleur support du multimédia (sound, TV),
etc.

--
Richard

10 réponses

Avatar
azathoth
In article (Dans l'article) ,
Stephane TOUGARD wrote (écrivait) :

Ce qui n'est aucunement incompatible avec ce que je disais plus haut. Il
y a des mauvais codeurs *et* il y a des langages qui permettent d'écrire
beaucoup de saletés.


TOUS les langages permettent d'ecrire des saletes, un mauvais codeur
fera du code de merde en Lisp comme en n'importe quoi d'autre.


Oui mais il en existe qui permette d'écrire des saletés beaucoup plus
facilement.

A noter que parmi les saletés je ne classe pas uniquement les
algorithmes tordus et irréfléchis mais également les possibilités que
le langage donne pour fabriquer des bugs tordus et introuvables et le
fait qu'il te laisse aller dans le mur si tu le desire sans même
t'avertir des effets de bord possible.

rigueur, on peut dire qu'il existe des langages que les mauvais codeurs
n'aiment pas.


Non.


Avatar
azathoth
In article (Dans l'article) ,
Patrice Karatchentzeff wrote (écrivait) :

Ce qui n'est aucunement incompatible avec ce que je disais plus haut. Il
y a des mauvais codeurs *et* il y a des langages qui permettent d'écrire
beaucoup de saletés.


Bof... tous les langages permettent un peu près tout... ceux qui ne le
permettent pas ne permettent pas grand chose.


L'essentiel ce n'est pas que le langage te permette de tout faire c'est
qu'il te permette de faire ce que tu veux faire avec.

Un langage capable de tout faire sans imposer aucune restriction au
programmeur est très bien mais il ne faut pas s'étonner si cela
favorise un certain laisser aller dans le code.

Par exemple j'avais entendu dire que des tests avaient été fait pour
voir si le noyau linux (hop) pouvait être écrit en C++. A priori ca
n'etait pas concluant parceque le C++ permettait vraiment plein de
trucs qui auraient amener une maintenance beaucoup plus difficile
qu'avec du C (à confirmer, j'avais lu cette histoire sur le net)

C'est un troll que j'aime beaucoup : les python(iens ?) aiment à dire
que leur langage est aussi puissant que Perl mais qu'il est
lisible... C'est ridicule. Obliger le codeur à rester dans des limites
stricts le limite.


Oui mais d'un autre coté cela peut aussi empecher certains bugs. Par
exemple tu peux avoir un langage ou tu peux programmer des
applis-multithreads utilisant des gadgets typique d'un langage orienté
objet en jouant avec l'arithmétique des pointeurs et peut être même
sans avoir besoin de déclarer tes variables mais je souhaite bien du
courage au type qui va devoir maintenir ca.

Maintenant un langage plus strict avec un compilateur capable de
detecter des erreurs bêtes (genre dépassement de tableau) ca limite
peut être un plus mais si ca permet de gagner du temps lors du
debuggage pourquoi pas.

Après chacun fait comme il veut.


Avatar
Patrice Karatchentzeff
azathoth writes:

In article (Dans l'article) ,
Patrice Karatchentzeff wrote (écrivait) :


[...]

Bof... tous les langages permettent un peu près tout... ceux qui ne le
permettent pas ne permettent pas grand chose.


L'essentiel ce n'est pas que le langage te permette de tout faire c'est
qu'il te permette de faire ce que tu veux faire avec.

Un langage capable de tout faire sans imposer aucune restriction au
programmeur est très bien mais il ne faut pas s'étonner si cela
favorise un certain laisser aller dans le code.


On en revient toujours au même : *le* point bloquant est le
codeur. Avec un goret, on aura toujours n'importe quoi. « bon »
langage ou pas.

De toute façon, la philosophie de Perl repose sur le principe que l'on
peut faire comme l'on veut (même s'il existe souvent une solution
meilleure, au sens où les performances sont optimales). Le but avoué
de Perl est d'arriver à ses fins rapidement, pas de passer 3 jours à
coder un truc utilisé une seule fois.

Mais rien n'empêche de faire des choses jolies et optimisée dans
Perl : la doc est bourrée de conseils sur le choix d'une façon de
faire plutôt que d'une autre en expliquant pourquoi.

[...]

C'est un troll que j'aime beaucoup : les python(iens ?) aiment à dire
que leur langage est aussi puissant que Perl mais qu'il est
lisible... C'est ridicule. Obliger le codeur à rester dans des limites
stricts le limite.


Oui mais d'un autre coté cela peut aussi empecher certains bugs. Par
exemple tu peux avoir un langage ou tu peux programmer des
applis-multithreads utilisant des gadgets typique d'un langage orienté
objet en jouant avec l'arithmétique des pointeurs et peut être même
sans avoir besoin de déclarer tes variables mais je souhaite bien du
courage au type qui va devoir maintenir ca.


À la rigueur, on s'en fout : le but d'un langage n'est pas de
contrôler le codeur mais de fournir un moyen de se sortir d'une
situation.

Si tu veux mettre des garde-fous à Perl, tu utilises les pragmas
strict et -w et déjà, le codeur-goret a du mal...

Maintenant un langage plus strict avec un compilateur capable de
detecter des erreurs bêtes (genre dépassement de tableau) ca limite
peut être un plus mais si ca permet de gagner du temps lors du
debuggage pourquoi pas.


MDR. Perl ne permet justement pas le dépassement de tableau car si tu
tapes dans un endroit non définit, au pire il te renvoie undef et
sinon, il attribut une valeur à cet endroit, en agrandissant le
tableau jusqu'à cette valeur et en complétant en undef toutes les
valeurs non définies... Plus souple, tu meurs.

PK

--
      |      _,,,---,,_       Patrice KARATCHENTZEFF
ZZZzz /,`.-'`'    -.  ;-;;,_   mailto:
     |,4-  ) )-,_. , (  `'-'  http://p.karatchentzeff.free.fr
    '---''(_/--'  `-'_)       


Avatar
azathoth
In article (Dans l'article) ,
Patrice Karatchentzeff wrote (écrivait) :

Un langage capable de tout faire sans imposer aucune restriction au
programmeur est très bien mais il ne faut pas s'étonner si cela
favorise un certain laisser aller dans le code.


On en revient toujours au même : *le* point bloquant est le
codeur.


C'est à dire que l'humain est souvent le point bloquant vu que c'est
lui qui fait tout.

Avec un goret, on aura toujours n'importe quoi. « bon »
langage ou pas.


Oui mais il ne faut pas non plus avoir une vision bi-polaire goret/bon
codeur.

De toute façon, la philosophie de Perl repose sur le principe que l'on
peut faire comme l'on veut (même s'il existe souvent une solution
meilleure, au sens où les performances sont optimales). Le but avoué
de Perl est d'arriver à ses fins rapidement, pas de passer 3 jours à
coder un truc utilisé une seule fois.


Ne pense tu pas que la philosophie "arriver à ses fins rapidement"
n'est pas toujours compatible avec la philosophie "faire un code propre
et maintenable" ?

Oui mais d'un autre coté cela peut aussi empecher certains bugs. Par
exemple tu peux avoir un langage ou tu peux programmer des
applis-multithreads utilisant des gadgets typique d'un langage orienté
objet en jouant avec l'arithmétique des pointeurs et peut être même
sans avoir besoin de déclarer tes variables mais je souhaite bien du
courage au type qui va devoir maintenir ca.


À la rigueur, on s'en fout : le but d'un langage n'est pas de
contrôler le codeur mais de fournir un moyen de se sortir d'une
situation.


Sauf que si groupe de développeur derrière il y a, ils vont être bien
content d'avoir un code maintenable.

Si tu veux mettre des garde-fous à Perl, tu utilises les pragmas
strict et -w et déjà, le codeur-goret a du mal...


Entendons nous bien : je ne veux pas dire qu'avec Perl on ne peut pas
faire de code lisible. Je veux juste dire que si un langage donne la
possibilité aux codeurs de faire tout ce qu'ils veulent, alor ils ne
faut pas s'étonner si on y trouve plus de programme crade qu'ailleurs.

MDR. Perl ne permet justement pas le dépassement de tableau car si tu
tapes dans un endroit non définit, au pire il te renvoie undef sinon,
il attribut une valeur à cet endroit, en agrandissant le
tableau jusqu'à cette valeur et en complétant en undef toutes les
valeurs non définies... Plus souple, tu meurs.


C'est le genre de truc qui peuvent te déclencher un bug plus loin dans
ton programme par effet de bord et bonjour la recherche après.
Personnellement je prefere que le compilateur m'avertisse de la chose
pour que je puisse le corriger tout de suite.


Avatar
Patrice Karatchentzeff
azathoth writes:

In article (Dans l'article) ,
Patrice Karatchentzeff wrote (écrivait) :

Encore faut t'il voir le temps (et les moyens) de le faire.


Quand on se permet de changer entièrement les specs d'un projet en
cours de route, on peut tout se permettre...


T'as pas du faire beaucoup de stage de développement dans des boites
non-informatique toi :-)


Ben si justement. Quand on change les specs, on change les données du
problème et donc le planning..

PK

--
      |      _,,,---,,_       Patrice KARATCHENTZEFF
ZZZzz /,`.-'`'    -.  ;-;;,_   mailto:
     |,4-  ) )-,_. , (  `'-'  http://p.karatchentzeff.free.fr
    '---''(_/--'  `-'_)       



Avatar
Patrice Karatchentzeff
azathoth writes:

In article (Dans l'article) ,
Patrice Karatchentzeff wrote (écrivait) :


[...]

On en revient toujours au même : *le* point bloquant est le
codeur.


C'est à dire que l'humain est souvent le point bloquant vu que c'est
lui qui fait tout.


Pas forcément. Utiliser du C pour manipuler du texte n'est pas
forcément très malin : on risque d'introduire des tas d'erreurs dû à
des conneries (genre pointeurs & co) alors que la même chose s'écrit
parfaitement sous Perl (et plein d'autres langages) sans avoir jamais
ce genre d'erreur.

Ici, le point bloquant serait le C, pas aussi adapté qu'un autre
langage pour cela (même si cela reste tout à fait envisageable).

[...]

Ne pense tu pas que la philosophie "arriver à ses fins rapidement"
n'est pas toujours compatible avec la philosophie "faire un code propre
et maintenable" ?


Non.

Quand on code un truc crade, c'est généralement pour une utilisation
unique. Sinon, on s'y met correctement et le truc est propre. Il n'y a
pas incompatibilité, au contraire : et la très grande force de Perl
est d'autoriser tout cela.

[...]

Sauf que si groupe de développeur derrière il y a, ils vont être bien
content d'avoir un code maintenable.


S'il y a un groupe, c'est qu'il y a un gros projet et donc que le
logiciel a dû être écrit par quelqu'un de propre. Sinon, c'est encore
et toujours la faute du codeur initial... pas du langage.

[...]

Entendons nous bien : je ne veux pas dire qu'avec Perl on ne peut pas
faire de code lisible. Je veux juste dire que si un langage donne la
possibilité aux codeurs de faire tout ce qu'ils veulent, alor ils ne
faut pas s'étonner si on y trouve plus de programme crade qu'ailleurs.


Je ne sais pas bien comment tu peux juger de cela... Il y a beaucoup
plus de codeurs en Perl dans le monde que de codeurs dans les autres
langages, justement parce que Perl répond à toute un série de besoins.

La majorité de ces codeurs ne sont pas informaticiens, ce qui explique
des programmes « bancaux ». On ne peut le leur reprocher. Maintenant,
réduis les codeurs Perl à des informaticiens, et compare les codes
respectifs avec ceux des autres langages... m'étonnerait que tu
trouves beaucoup de différence...

Au contraire aurai-je tendance à dire : par définition, Perl est
plutôt bien lisible... le langage est assez naturel, les variables
aisées à déterminer, bref, si l'on omet les variables internes de
Perl, cela ne pose pas bien de difficultés...

[...]

C'est le genre de truc qui peuvent te déclencher un bug plus loin dans
ton programme par effet de bord et bonjour la recherche après.
Personnellement je prefere que le compilateur m'avertisse de la chose
pour que je puisse le corriger tout de suite.


Si tu utilises les pragma qui vont bien, (strict, vars, refs, subs),
Perl t'indique bien des choses qui t'empêcheront ces effets de bord.

Coder proprement en Perl ne s'improvise pas plus que dans un autre
langage.

PK

--
      |      _,,,---,,_       Patrice KARATCHENTZEFF
ZZZzz /,`.-'`'    -.  ;-;;,_   mailto:
     |,4-  ) )-,_. , (  `'-'  http://p.karatchentzeff.free.fr
    '---''(_/--'  `-'_)       


Avatar
azathoth
In article (Dans l'article) ,
Patrice Karatchentzeff wrote (écrivait) :

T'as pas du faire beaucoup de stage de développement dans des boites
non-informatique toi :-)


Ben si justement. Quand on change les specs, on change les données du
problème et donc le planning..


Changer le planning d'un stage ?

C'est possible en prenant un autre stagiaire alors.


Avatar
azathoth
In article (Dans l'article) ,
Patrice Karatchentzeff wrote (écrivait) :

C'est à dire que l'humain est souvent le point bloquant vu que c'est
lui qui fait tout.


Pas forcément. Utiliser du C pour manipuler du texte n'est pas
forcément très malin : on risque d'introduire des tas d'erreurs dû à
des conneries (genre pointeurs & co) alors que la même chose s'écrit
parfaitement sous Perl (et plein d'autres langages) sans avoir jamais
ce genre d'erreur.


Tu viens de me donner un argument qui va dans mon sens : tu as des
langages qui permettent beaucoup de choses et donc il ne faut pas
s'étonner si ca permet aussi de faire des conneries.

Si je voulais aller dans ton sens je dirais que dans le cas du C c'est
le codeur qui fera une connerie en introduisant des erreurs, donc que
c'est toujours de la faute du codeur. Mais comme tu l'as reconnu ce
n'est pas tout à fait vrai parceque la structure du langage C l'a un
peu aidé à faire sa connerie, alors qu'un langage comme le Perl aurait
empeché ce genre de gag.

Sauf que si groupe de développeur derrière il y a, ils vont être bien
content d'avoir un code maintenable.


S'il y a un groupe, c'est qu'il y a un gros projet et donc que le
logiciel a dû être écrit par quelqu'un de propre. Sinon, c'est encore
et toujours la faute du codeur initial... pas du langage.


Je reprends ton argument : si on a pris un presta et qu'on lui a
demandé d'utiliser du C pour manipuler du texte les problèmes pourront
aussi venir du langage.

Entendons nous bien : je ne veux pas dire qu'avec Perl on ne peut pas
faire de code lisible. Je veux juste dire que si un langage donne la
possibilité aux codeurs de faire tout ce qu'ils veulent, alor ils ne
faut pas s'étonner si on y trouve plus de programme crade qu'ailleurs.


Je ne sais pas bien comment tu peux juger de cela... Il y a beaucoup
plus de codeurs en Perl dans le monde que de codeurs dans les autres
langages, justement parce que Perl répond à toute un série de besoins.


Pareil : comment tu peux juger de cela ? tu as des sources fiables ?

Coder proprement en Perl ne s'improvise pas plus que dans un autre
langage.


Je n'ai jamais dit le contraire.


Avatar
Nicolas LS
Je dis pas que ce n'est pas de ma faute, je pense que la principale
raison c'est que je ne connaissais pas du tout le language au début,
donc que je n'avais pas une vue assez globale des solutions qui
deux problèmes différents : tu as une vision du problème à résoudre un

peu près complète (et donc grosso modo une solution technique). Le
langage importe alors peu car la solution est connue. Ensuite,


J'ai eu du mal au début a mettre en forme un solution précise, c'est
surement lié a mon manque d'expérience par exemple...

l'apprentissage avancé du langage permet souvent d'écrire une solution
optimisée.


Oui, et mieux structuré, mais la, c'est aussi lié a l'apprentissage
d'un autre style de programmation, je n'ai , pour le moment, appris de
manière formelle et complete que de la programmation structurée, donc
je prend mes habitudes en programmation plus

Mais on a coutume de dire qu'avec Perl, la solution qui marche est
déjà une bonne solution...


:-)

Et aussi un peu parce qu'on m'a changé les spécifications au milieu du
"projet"... (Et pas qu'un tout petit peu :-) ).
Il est alors souvent plus propre de repartir de zéro.



Heureusement, le code était quand meme découpé, donc, pour une partie
du code, c'est ce qui s'est passé.

--
Nicolas Le Scouarnec
http://nlsn.free.fr (Slrnfr, Docs Linux/BSD, La grippe, ... )


Avatar
Nicolas LS
Il est alors souvent plus propre de repartir de zéro.
Encore faut t'il voir le temps (et les moyens) de le faire.

Quand on se permet de changer entièrement les specs d'un projet en

cours de route, on peut tout se permettre...


Effectivement, je n'ai pas de date précise, seulement plus ca sera
avancé a la fin de mon stage, mieux ce sera.

--
Nicolas Le Scouarnec
http://nlsn.free.fr (Slrnfr, Docs Linux/BSD, La grippe, ... )