A supposer qu'une entreprise veuille mettre son parc sous Linux.
Et qu'elle reçoive des documents venant d'Access, Excel,... peut-elle
les lire , les travailler et les renvoyer de manière que le
destinantaire sur produits Microsoft puisse les lire, etc...
?
Et alors ? Ca prouve justement qu'il y a une différence _fondamentale_ entre un tableau et une simple fonction échantillonnée fut-ce sur les entiers positifs.
Ça c'est très fort ! Question mauvaise foi, on fait difficilement mieux : un tableau et une fonction c'est fondamentalement différent puisque l'un peut être remplacé par l'autre.
Bon, j'en ai marre de répondre à des arguments aussi médiocres.
JKB , dans le message <slrnce5cdd.285.bertrand@grossebaf.systella.fr>, a
écrit :
Et alors ? Ca prouve justement qu'il y a une différence
_fondamentale_ entre un tableau et une simple fonction
échantillonnée fut-ce sur les entiers positifs.
Ça c'est très fort ! Question mauvaise foi, on fait difficilement
mieux : un tableau et une fonction c'est fondamentalement différent
puisque l'un peut être remplacé par l'autre.
Bon, j'en ai marre de répondre à des arguments aussi médiocres.
Et alors ? Ca prouve justement qu'il y a une différence _fondamentale_ entre un tableau et une simple fonction échantillonnée fut-ce sur les entiers positifs.
Ça c'est très fort ! Question mauvaise foi, on fait difficilement mieux : un tableau et une fonction c'est fondamentalement différent puisque l'un peut être remplacé par l'autre.
Bon, j'en ai marre de répondre à des arguments aussi médiocres.
Richard Delorme
Le 30-06-2004, à propos de Re: Fichier Windows et matériel Linux, Nicolas George écrivait dans fr.comp.os.linux.debats :
JKB , dans le message , a
Non, ou alors on n'a pas lu la même norme. Il est écrit dans la norme ANSI que c[3][3] déclarait un tableau de 3 lignes et 3 colonnes, que les élements étaient accessibles directement, mais _jamais_ quelle était la structure en mémoire de l'objet.
Cette norme évite la redondance, elle ne répète pas ce qu'elle a déjà dit par ailleurs. En l'occurence, il est spécifié dans le chapitre parlant des tableaux en général qu' un tableau est la juxtaposition (au sens de l'arithmétique des pointeurs) des objets qui le composent. Ça suffit pour lever l'ambiguïté.
Non. Cela ne suffit pas car la norme (ANSI) est assez floue sur ce point particulier (et sur d'autres d'ailleurs). Au passage, la norme n'impose même pas de pouvoir utiliser un pointeur sur le tableau en question. Si vous déclarez c[3][3], la seule façon d'utiliser ce tableau est d'y accéder par c[i][j]. *c peut tout à fait être invalide (si le tableau statique est créé dans la pile au hasard sur processeur Sparc), même si dans la grande majorité des cas, ça passe (et je ne parle pas de **c voire de c[3*i+j], ce dernier type d'accès étant autorisé dans la norme ANSI sur ce type de déclaration de tableau).
Non. c[i] est équivalent à *(c + i), et donc *c à c[0], ce qui fait que *c a pour type un tableau de 3 int et non un des éléments du tableau bidimensionnel. **c est équivalent à c[0][0], c[3*i+j] invoque un comportement indéfini si 3*i+j dépasse 3, sinon il s'agit d'un tableau de 3 int et non d'un élément du tableau bidimensionnel.
sans utiliser l'écriture c[i][j] et sans invoquer aucun comportement indéfini.
-- Richard
Le 30-06-2004, à propos de
Re: Fichier Windows et matériel Linux,
Nicolas George écrivait dans fr.comp.os.linux.debats :
JKB , dans le message <slrnce5bmq.285.bertrand@grossebaf.systella.fr>, a
Non, ou alors on n'a pas lu la même norme. Il est écrit dans la
norme ANSI que c[3][3] déclarait un tableau de 3 lignes et 3
colonnes, que les élements étaient accessibles directement, mais
_jamais_ quelle était la structure en mémoire de l'objet.
Cette norme évite la redondance, elle ne répète pas ce qu'elle a déjà
dit par ailleurs. En l'occurence, il est spécifié dans le chapitre
parlant des tableaux en général qu' un tableau est la juxtaposition (au
sens de l'arithmétique des pointeurs) des objets qui le composent. Ça
suffit pour lever l'ambiguïté.
Non. Cela ne suffit pas car la norme (ANSI) est assez floue sur ce
point particulier (et sur d'autres d'ailleurs). Au passage, la norme
n'impose même pas de pouvoir utiliser un pointeur sur le tableau en
question. Si vous déclarez c[3][3], la seule façon d'utiliser ce
tableau est d'y accéder par c[i][j]. *c peut tout à fait être
invalide (si le tableau statique est créé dans la pile au hasard sur
processeur Sparc), même si dans la grande majorité des cas, ça passe
(et je ne parle pas de **c voire de c[3*i+j], ce dernier type d'accès étant
autorisé dans la norme ANSI sur ce type de déclaration de tableau).
Non. c[i] est équivalent à *(c + i), et donc *c à c[0], ce qui fait que
*c a pour type un tableau de 3 int et non un des éléments du tableau
bidimensionnel. **c est équivalent à c[0][0], c[3*i+j] invoque un
comportement indéfini si 3*i+j dépasse 3, sinon il s'agit d'un tableau
de 3 int et non d'un élément du tableau bidimensionnel.
Le 30-06-2004, à propos de Re: Fichier Windows et matériel Linux, Nicolas George écrivait dans fr.comp.os.linux.debats :
JKB , dans le message , a
Non, ou alors on n'a pas lu la même norme. Il est écrit dans la norme ANSI que c[3][3] déclarait un tableau de 3 lignes et 3 colonnes, que les élements étaient accessibles directement, mais _jamais_ quelle était la structure en mémoire de l'objet.
Cette norme évite la redondance, elle ne répète pas ce qu'elle a déjà dit par ailleurs. En l'occurence, il est spécifié dans le chapitre parlant des tableaux en général qu' un tableau est la juxtaposition (au sens de l'arithmétique des pointeurs) des objets qui le composent. Ça suffit pour lever l'ambiguïté.
Non. Cela ne suffit pas car la norme (ANSI) est assez floue sur ce point particulier (et sur d'autres d'ailleurs). Au passage, la norme n'impose même pas de pouvoir utiliser un pointeur sur le tableau en question. Si vous déclarez c[3][3], la seule façon d'utiliser ce tableau est d'y accéder par c[i][j]. *c peut tout à fait être invalide (si le tableau statique est créé dans la pile au hasard sur processeur Sparc), même si dans la grande majorité des cas, ça passe (et je ne parle pas de **c voire de c[3*i+j], ce dernier type d'accès étant autorisé dans la norme ANSI sur ce type de déclaration de tableau).
Non. c[i] est équivalent à *(c + i), et donc *c à c[0], ce qui fait que *c a pour type un tableau de 3 int et non un des éléments du tableau bidimensionnel. **c est équivalent à c[0][0], c[3*i+j] invoque un comportement indéfini si 3*i+j dépasse 3, sinon il s'agit d'un tableau de 3 int et non d'un élément du tableau bidimensionnel.
sans utiliser l'écriture c[i][j] et sans invoquer aucun comportement indéfini.
-- Richard
Manuel Leclerc
Oui, mais peux-tu m'expliquer le rapport entre ta question et ma question ?
Simplement que je vois plein de cas où l'ajustement est inutile (soit parce que l'information n'est plus nécessaire, soit parce qu'on va pouvoir le faire plus tard avec une information qu'on a par ailleurs),
Si on gère les chaînes avec un type ad-hoc du genre structure avec un pointeur et une taille, la mise à jour de la taille n'est ni PLUS, ni MOINS nécessaire que la préservation du zéro binaire en fin de chaîne dans la gestion classique. Je ne comprends pas l'argument "plein de cas". Il faudrait un exemple.
que ça me saute aux yeux, et que je pensais que ça sauterait aux yeux de n'importe qui assez familier du C.
Ben non.
Oui, mais peux-tu m'expliquer le rapport entre
ta question et ma question ?
Simplement que je vois plein de cas où l'ajustement
est inutile (soit parce que l'information n'est plus
nécessaire, soit parce qu'on va pouvoir le faire plus
tard avec une information qu'on a par ailleurs),
Si on gère les chaînes avec un type ad-hoc du genre
structure avec un pointeur et une taille, la mise
à jour de la taille n'est ni PLUS, ni MOINS nécessaire
que la préservation du zéro binaire en fin de chaîne
dans la gestion classique. Je ne comprends pas
l'argument "plein de cas". Il faudrait un exemple.
que ça me saute aux yeux, et que je pensais que ça
sauterait aux yeux de n'importe qui assez familier du C.
Oui, mais peux-tu m'expliquer le rapport entre ta question et ma question ?
Simplement que je vois plein de cas où l'ajustement est inutile (soit parce que l'information n'est plus nécessaire, soit parce qu'on va pouvoir le faire plus tard avec une information qu'on a par ailleurs),
Si on gère les chaînes avec un type ad-hoc du genre structure avec un pointeur et une taille, la mise à jour de la taille n'est ni PLUS, ni MOINS nécessaire que la préservation du zéro binaire en fin de chaîne dans la gestion classique. Je ne comprends pas l'argument "plein de cas". Il faudrait un exemple.
que ça me saute aux yeux, et que je pensais que ça sauterait aux yeux de n'importe qui assez familier du C.
Ben non.
remy
"Nicolas George" a écrit dans le message de news: cbu4sg$120i$
"remy" , dans le message <cbtrd4$fs1$, a
cela cree une liste chaine de pointeur sur la structure de depart
Ce n'est pas le cas. exact
import java.awt.*; public class test { public static void main(String args[])throws Exception { String t0=new String("123"); String t1=new String("456"); String t2=new String(); t2=t2+t0; t2=t2+t1; System.out.println(t2); t1.concat("789"); System.out.println(t2);
et franchement les quelques milli secondes que je perds ou que je gagne ne me pertube pas si je veux un code qui bouste je ne prends pas java
En l'occurence, ça peut être plusieurs minutes, plusieurs heures, selon comment c'est utilisé.
JKB
Le 30-06-2004, à propos de Re: Fichier Windows et matériel Linux, Nicolas George écrivait dans fr.comp.os.linux.debats :
JKB , dans le message , a écrit :
Et alors ? Ca prouve justement qu'il y a une différence _fondamentale_ entre un tableau et une simple fonction échantillonnée fut-ce sur les entiers positifs.
Ça c'est très fort ! Question mauvaise foi, on fait difficilement mieux : un tableau et une fonction c'est fondamentalement différent puisque l'un peut être remplacé par l'autre.
Bon, j'en ai marre de répondre à des arguments aussi médiocres.
Moi aussi ;-) Je ne sais pas ce que vous faites dans la vie, mais si vous êtes prof de maths, j'espère simplement que vous ne dites pas cela à vos élèves. Maintenant, si vous êtes trop obtus ou si vous avez trop d'égo pour comprendre qu'un vecteur n'est pas qu'une simple fonction échantillonnée sur les entiers, et que sémantiquement parlant cela ne _peut_ pas être traité de la même façon même si le résultat est le même, je ne puis rien pour vous. Je ne répondrai plus à ce genre de débat avec vous.
Allez, je vous donne une dernière piste : un vecteur est un objet _algébrique_, une fonction, un objet _analytique_. Je ne sais pas bien si vous percevez la différence entre ces deux concepts car j'ai l'impression pour vous qu'un vecteur n'est que la tabulation d'une fonction. Je comprends mieux maintenant le mélange des concepts que font certains de mes étudiants.
JKB
Le 30-06-2004, à propos de
Re: Fichier Windows et matériel Linux,
Nicolas George écrivait dans fr.comp.os.linux.debats :
JKB , dans le message <slrnce5cdd.285.bertrand@grossebaf.systella.fr>, a
écrit :
Et alors ? Ca prouve justement qu'il y a une différence
_fondamentale_ entre un tableau et une simple fonction
échantillonnée fut-ce sur les entiers positifs.
Ça c'est très fort ! Question mauvaise foi, on fait difficilement
mieux : un tableau et une fonction c'est fondamentalement différent
puisque l'un peut être remplacé par l'autre.
Bon, j'en ai marre de répondre à des arguments aussi médiocres.
Moi aussi ;-) Je ne sais pas ce que vous faites dans la vie, mais si
vous êtes prof de maths, j'espère simplement que vous ne dites pas
cela à vos élèves. Maintenant, si vous êtes trop obtus ou si vous
avez trop d'égo pour comprendre qu'un vecteur n'est pas qu'une
simple fonction échantillonnée sur les entiers, et que
sémantiquement parlant cela ne _peut_ pas être traité de la même
façon même si le résultat est le même, je ne puis rien pour vous.
Je ne répondrai plus à ce genre de débat avec vous.
Allez, je vous donne une dernière piste : un vecteur est un objet
_algébrique_, une fonction, un objet _analytique_. Je ne sais pas
bien si vous percevez la différence entre ces deux concepts car j'ai
l'impression pour vous qu'un vecteur n'est que la tabulation d'une
fonction. Je comprends mieux maintenant le mélange des concepts que
font certains de mes étudiants.
Le 30-06-2004, à propos de Re: Fichier Windows et matériel Linux, Nicolas George écrivait dans fr.comp.os.linux.debats :
JKB , dans le message , a écrit :
Et alors ? Ca prouve justement qu'il y a une différence _fondamentale_ entre un tableau et une simple fonction échantillonnée fut-ce sur les entiers positifs.
Ça c'est très fort ! Question mauvaise foi, on fait difficilement mieux : un tableau et une fonction c'est fondamentalement différent puisque l'un peut être remplacé par l'autre.
Bon, j'en ai marre de répondre à des arguments aussi médiocres.
Moi aussi ;-) Je ne sais pas ce que vous faites dans la vie, mais si vous êtes prof de maths, j'espère simplement que vous ne dites pas cela à vos élèves. Maintenant, si vous êtes trop obtus ou si vous avez trop d'égo pour comprendre qu'un vecteur n'est pas qu'une simple fonction échantillonnée sur les entiers, et que sémantiquement parlant cela ne _peut_ pas être traité de la même façon même si le résultat est le même, je ne puis rien pour vous. Je ne répondrai plus à ce genre de débat avec vous.
Allez, je vous donne une dernière piste : un vecteur est un objet _algébrique_, une fonction, un objet _analytique_. Je ne sais pas bien si vous percevez la différence entre ces deux concepts car j'ai l'impression pour vous qu'un vecteur n'est que la tabulation d'une fonction. Je comprends mieux maintenant le mélange des concepts que font certains de mes étudiants.
JKB
george
JKB , dans le message , a écrit :
Moi aussi ;-) Je ne sais pas ce que vous faites dans la vie, mais si vous êtes prof de maths, j'espère simplement que vous ne dites pas cela à vos élèves.
Je ne considère pas les contributeurs de ce groupe comme mes élèves.
sémantiquement parlant cela ne _peut_ pas être traité de la même façon
D'une part c'est faux, d'autre part on parlait de syntaxe. Bref, doublement perdu.
JKB , dans le message <slrnce5fcg.285.bertrand@grossebaf.systella.fr>, a
écrit :
Moi aussi ;-) Je ne sais pas ce que vous faites dans la vie, mais si
vous êtes prof de maths, j'espère simplement que vous ne dites pas
cela à vos élèves.
Je ne considère pas les contributeurs de ce groupe comme mes élèves.
sémantiquement parlant cela ne _peut_ pas être traité de la même
façon
D'une part c'est faux, d'autre part on parlait de syntaxe. Bref,
doublement perdu.
Moi aussi ;-) Je ne sais pas ce que vous faites dans la vie, mais si vous êtes prof de maths, j'espère simplement que vous ne dites pas cela à vos élèves.
Je ne considère pas les contributeurs de ce groupe comme mes élèves.
sémantiquement parlant cela ne _peut_ pas être traité de la même façon
D'une part c'est faux, d'autre part on parlait de syntaxe. Bref, doublement perdu.
JKB
Le 30-06-2004, à propos de Re: Fichier Windows et matériel Linux, Richard Delorme écrivait dans fr.comp.os.linux.debats :
sans utiliser l'écriture c[i][j] et sans invoquer aucun comportement indéfini.
D'accord. Vous me réessayez ça avec le compilo Sun de Solaris 2.5 qui suit la norme lui-aussi si on lui met l'option ANSI et on en reparle si vous le voulez-bien.
Maintenant, je suis entièrement d'accord avec vous, et votre syntaxe passe sur la plupart des systèmes, mais pas tous, car la gestion mémoire des tableaux dépend en partie de l'implantation (alignement et gestion des variables locales).
JKB
Le 30-06-2004, à propos de
Re: Fichier Windows et matériel Linux,
Richard Delorme écrivait dans fr.comp.os.linux.debats :
sans utiliser l'écriture c[i][j] et sans invoquer aucun comportement
indéfini.
D'accord. Vous me réessayez ça avec le compilo Sun de Solaris 2.5
qui suit la norme lui-aussi si on lui met l'option ANSI et on en reparle
si vous le voulez-bien.
Maintenant, je suis entièrement d'accord avec vous, et votre syntaxe
passe sur la plupart des systèmes, mais pas tous, car la gestion
mémoire des tableaux dépend en partie de l'implantation (alignement
et gestion des variables locales).
sans utiliser l'écriture c[i][j] et sans invoquer aucun comportement indéfini.
D'accord. Vous me réessayez ça avec le compilo Sun de Solaris 2.5 qui suit la norme lui-aussi si on lui met l'option ANSI et on en reparle si vous le voulez-bien.
Maintenant, je suis entièrement d'accord avec vous, et votre syntaxe passe sur la plupart des systèmes, mais pas tous, car la gestion mémoire des tableaux dépend en partie de l'implantation (alignement et gestion des variables locales).
JKB
JKB
Le 30-06-2004, à propos de Re: Fichier Windows et matériel Linux, Nicolas George écrivait dans fr.comp.os.linux.debats :
JKB , dans le message , a écrit :
sémantiquement parlant cela ne _peut_ pas être traité de la même façon
D'une part c'est faux, d'autre part on parlait de syntaxe. Bref, doublement perdu.
On parlait du sens qu'il y avait derrière la syntaxe et du fait que le traitement d'un vecteur n'est pas le traitement d'une fonction. Ni plus, ni moins, mais avec votre manie de couper les discussions, on n'arrive plus à suivre.
JKB
Le 30-06-2004, à propos de
Re: Fichier Windows et matériel Linux,
Nicolas George écrivait dans fr.comp.os.linux.debats :
JKB , dans le message <slrnce5fcg.285.bertrand@grossebaf.systella.fr>, a
écrit :
sémantiquement parlant cela ne _peut_ pas être traité de la même
façon
D'une part c'est faux, d'autre part on parlait de syntaxe. Bref,
doublement perdu.
On parlait du sens qu'il y avait derrière la syntaxe et du fait que
le traitement d'un vecteur n'est pas le traitement d'une fonction.
Ni plus, ni moins, mais avec votre manie de couper les discussions,
on n'arrive plus à suivre.
Le 30-06-2004, à propos de Re: Fichier Windows et matériel Linux, Nicolas George écrivait dans fr.comp.os.linux.debats :
JKB , dans le message , a écrit :
sémantiquement parlant cela ne _peut_ pas être traité de la même façon
D'une part c'est faux, d'autre part on parlait de syntaxe. Bref, doublement perdu.
On parlait du sens qu'il y avait derrière la syntaxe et du fait que le traitement d'un vecteur n'est pas le traitement d'une fonction. Ni plus, ni moins, mais avec votre manie de couper les discussions, on n'arrive plus à suivre.
JKB
george
JKB , dans le message , a écrit :
On parlait du sens qu'il y avait derrière la syntaxe et du fait que le traitement d'un vecteur n'est pas le traitement d'une fonction.
Non, on parlait du fait que g(x) pouvait s'interpréter comme g(x) ou comme g(x). Effectivement, c'est dramatiquement différent.
JKB , dans le message <slrnce5g34.285.bertrand@grossebaf.systella.fr>, a
écrit :
On parlait du sens qu'il y avait derrière la syntaxe et du fait que
le traitement d'un vecteur n'est pas le traitement d'une fonction.
Non, on parlait du fait que g(x) pouvait s'interpréter comme g(x) ou
comme g(x). Effectivement, c'est dramatiquement différent.
sans utiliser l'écriture c[i][j] et sans invoquer aucun comportement indéfini.
D'accord. Vous me réessayez ça avec le compilo Sun de Solaris 2.5 qui suit la norme lui-aussi si on lui met l'option ANSI et on en reparle si vous le voulez-bien.
Dans ce cas, c'est que le compilateur n'est pas conforme à la norme.
-- Richard
Le 30-06-2004, à propos de
Re: Fichier Windows et matériel Linux,
Richard Delorme écrivait dans fr.comp.os.linux.debats :
sans utiliser l'écriture c[i][j] et sans invoquer aucun comportement
indéfini.
D'accord. Vous me réessayez ça avec le compilo Sun de Solaris 2.5
qui suit la norme lui-aussi si on lui met l'option ANSI et on en reparle
si vous le voulez-bien.
Dans ce cas, c'est que le compilateur n'est pas conforme à la norme.
sans utiliser l'écriture c[i][j] et sans invoquer aucun comportement indéfini.
D'accord. Vous me réessayez ça avec le compilo Sun de Solaris 2.5 qui suit la norme lui-aussi si on lui met l'option ANSI et on en reparle si vous le voulez-bien.
Dans ce cas, c'est que le compilateur n'est pas conforme à la norme.