Sous Windows il y a /tmp, pardon "C:\temp"
Bah non, sous windows y'a pas C:\temp. Tu peux le créer si tu veux par contre.
- $HOME et d'ailleurs tu n'as pas le chois
demande au développeur :
"pourquoi t'as mis ca dans $HOME ?"
"ben parcque c'est le dossier de l'utilisateur !"
"ben pourquoi y'a un dossier pour l'utilisteur ?"
"ben parcqu'il peut y avoir plusieurs utilisateurs !"
tiens c'est marrant tu comprends mieux pourquoi il faut dire aux développeurs de programmer en penssant multi-utlisateurs, pour qu'ils y pensent, même si c'est pas toujours utile.
A part l'emploie de /tmp, vous ramez un peu. On trouve des entreprises qui ont vendu des programmes qui merdaient dans un environnement multi-utilisateur Windows.
On trouve ça sous Unix ? Non.
Un programme comme Gnome qui ne propose pas la possibilité de lancer un programme en tant que autre utilisateur n'est pour moi pas multi-utilisateur. Gnome peut par contre être lancé par plusieurs utilisateur, que ce soit sur le même PC ou sur des machines différentes, mais ce n'est pas celà le côté multi-utlisateurs, ça c'est du multi-tâches et on s'en balance.
Un programme multi-utilisateur, c'est un programme qui tient compte du fait qu'il y a plusieurs utilisateurs !!!
Les applications n'ont pas toutes à être multi-utilisateurs, mais elles doivent tenir compte du fait qu'elle peuvent tourner sur un OS multi utilisateur (et donc utiliser par exemple le $HOME, comme tu le dis c'est courant dans les Unix depuis 30 ans et c'est tant mieux).
Certaines applications doivent par contre être multi-utlisateurs, parcque c'est leur rôle d'en tenir compte, et je pense t'avoir donner suffisament d'exemple (Gnome, KDE, gdm, sudo, etc.)
Ce qui me fait chier, c'est que des raisonnement à la con (généralement pour nier les défauts techniques (vieu de plus) de Windows) s'installent tranquillement ici.
Mais ce n'est pas des raisonnement à la con, ce sont des raisonnements qui tiennent compte du fait que les applications sont :
- multi-plateformes si le développeur y met du siens (que ce soit en python, Java, C# ou autre, le développeur trouvera toujours un moyen de ne faire marcher son programme que sur une seule plateforme s'il fait pas gaffe à 1 ou 2 règles de bon sens de programmation)
- multi-utilisateurs si le développeur veut que son application tire parti du fait que l'OS est multi-utilisateur (sinon l'appli est mono-utilisateur)
- multi-threadé (ca se dit ca ?) si le développeur tient compte du fait que il peut avoir plus d'une UC à la fois. Ce critère va être de plus en plus prépondérant dans le future vu que tout porte à croire que même sur le PC de bureau on aura du multi-core.
Bref, si le développeur n'y met pas du siens, son programme peu n'avoir aucune de ses qualités. C'est pour celà que l'on sensibilise le développeur à ses concepts, pour qu'il en tienne compte le cas échéant.
[^] # Re: 007 versus Rest Of The World
Posté par TImaniac (site web personnel) . En réponse au journal Unix : ton esprit fout le camp. Évalué à 3.
Bah non, sous windows y'a pas C:\temp. Tu peux le créer si tu veux par contre.
- $HOME et d'ailleurs tu n'as pas le chois
demande au développeur :
"pourquoi t'as mis ca dans $HOME ?"
"ben parcque c'est le dossier de l'utilisateur !"
"ben pourquoi y'a un dossier pour l'utilisteur ?"
"ben parcqu'il peut y avoir plusieurs utilisateurs !"
tiens c'est marrant tu comprends mieux pourquoi il faut dire aux développeurs de programmer en penssant multi-utlisateurs, pour qu'ils y pensent, même si c'est pas toujours utile.
A part l'emploie de /tmp, vous ramez un peu.
On trouve des entreprises qui ont vendu des programmes qui merdaient dans un environnement multi-utilisateur Windows.
On trouve ça sous Unix ? Non.
Un programme comme Gnome qui ne propose pas la possibilité de lancer un programme en tant que autre utilisateur n'est pour moi pas multi-utilisateur. Gnome peut par contre être lancé par plusieurs utilisateur, que ce soit sur le même PC ou sur des machines différentes, mais ce n'est pas celà le côté multi-utlisateurs, ça c'est du multi-tâches et on s'en balance.
Un programme multi-utilisateur, c'est un programme qui tient compte du fait qu'il y a plusieurs utilisateurs !!!
Les applications n'ont pas toutes à être multi-utilisateurs, mais elles doivent tenir compte du fait qu'elle peuvent tourner sur un OS multi utilisateur (et donc utiliser par exemple le $HOME, comme tu le dis c'est courant dans les Unix depuis 30 ans et c'est tant mieux).
Certaines applications doivent par contre être multi-utlisateurs, parcque c'est leur rôle d'en tenir compte, et je pense t'avoir donner suffisament d'exemple (Gnome, KDE, gdm, sudo, etc.)
Ce qui me fait chier, c'est que des raisonnement à la con (généralement pour nier les défauts techniques (vieu de plus) de Windows) s'installent tranquillement ici.
Mais ce n'est pas des raisonnement à la con, ce sont des raisonnements qui tiennent compte du fait que les applications sont :
- multi-plateformes si le développeur y met du siens (que ce soit en python, Java, C# ou autre, le développeur trouvera toujours un moyen de ne faire marcher son programme que sur une seule plateforme s'il fait pas gaffe à 1 ou 2 règles de bon sens de programmation)
- multi-utilisateurs si le développeur veut que son application tire parti du fait que l'OS est multi-utilisateur (sinon l'appli est mono-utilisateur)
- multi-threadé (ca se dit ca ?) si le développeur tient compte du fait que il peut avoir plus d'une UC à la fois. Ce critère va être de plus en plus prépondérant dans le future vu que tout porte à croire que même sur le PC de bureau on aura du multi-core.
Bref, si le développeur n'y met pas du siens, son programme peu n'avoir aucune de ses qualités. C'est pour celà que l'on sensibilise le développeur à ses concepts, pour qu'il en tienne compte le cas échéant.