Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

go

1 view
Skip to first unread message

remy

unread,
Nov 26, 2009, 4:51:05 AM11/26/09
to

bonjour

quelqu'un a déjà testé ou essayé

http://www.al-aide.com/article/linux-4/go-nouveau-langage-chez-google-548540/

c'est une vraie question merci remy

--
http://remyaumeunier.chez-alice.fr/

batyann811

unread,
Nov 26, 2009, 5:44:11 AM11/26/09
to
remy a �crit :
>
> bonjour
>
> quelqu'un a d�j� test� ou essay�Oui

remy

unread,
Nov 26, 2009, 5:44:38 AM11/26/09
to
batyann811 a écrit :
> remy a écrit :

>>
>> bonjour
>>
>> quelqu'un a déjà testé ou essayé
>>
>> http://www.al-aide.com/article/linux-4/go-nouveau-langage-chez-google-548540/
>>
>>
>> c'est une vraie question merci remy
>>
> Oui
et alors


--
http://remyaumeunier.chez-alice.fr/

batyann811

unread,
Nov 26, 2009, 5:50:02 AM11/26/09
to
remy a �crit :
> batyann811 a �crit :

>> remy a �crit :
>>>
>>> bonjour
>>>
>>> quelqu'un a d�j� test� ou essay�
>>>
>>> http://www.al-aide.com/article/linux-4/go-nouveau-langage-chez-google-548540/
>>>
>>>
>>> c'est une vraie question merci remy
>>>
>> Oui
> et alors
>
>
J'en sais rien. Je ne l'ai pas essay� mais quelqu'un l'a fait c'est sur.

Mais � mon avis c'est � chier comme tous les langages plus ou moins
d�riv�s du C.

Mihamina Rakotomandimby

unread,
Nov 26, 2009, 5:54:07 AM11/26/09
to
11/26/2009 01:44 PM, remy:

>>> quelqu'un a d�j� test� ou essay�
>> Oui
> et alors

Il a repondu a ta question, tu veux chercher la petite bete?

--
Administration syst�me
Recherche & D�veloppement
GulfSat/Blueline, Madagascar
Tel: +261 33 11 207 36

remy

unread,
Nov 26, 2009, 6:04:22 AM11/26/09
to
batyann811 a écrit :
> remy a écrit :
>> batyann811 a écrit :
>>> remy a écrit :
>>>>
>>>> bonjour
>>>>
>>>> quelqu'un a déjà testé ou essayé
>>>>
>>>> http://www.al-aide.com/article/linux-4/go-nouveau-langage-chez-google-548540/
>>>>
>>>>
>>>> c'est une vraie question merci remy
>>>>
>>> Oui
>> et alors
>>
>>
> J'en sais rien. Je ne l'ai pas essayé mais quelqu'un l'a fait c'est sur.
>
> Mais à mon avis c'est à chier comme tous les langages plus ou moins
> dérivés du C.


pas sûr puisque le principal défaut du C c'est la gestion de la
mémoire et comme il y a un garbage collector
cela donne un langage sécu de manière structurelle
pas de débordement de tampon

si tu rajoutes le fait qu'il soit compilé et multi threads par nature
tu as un environnement rapide

j'ai juste un petit problème de compréhension
avec la programmation système surtout si système veut dire noyau

qui gère la mémoire ?


remy


--
http://remyaumeunier.chez-alice.fr/

remy

unread,
Nov 26, 2009, 6:04:46 AM11/26/09
to
Mihamina Rakotomandimby a écrit :

> 11/26/2009 01:44 PM, remy:
>>>> quelqu'un a déjà testé ou essayé

>>> Oui
>> et alors
>
> Il a repondu a ta question, tu veux chercher la petite bete?
>
oui

--
http://remyaumeunier.chez-alice.fr/

JKB

unread,
Nov 26, 2009, 6:13:31 AM11/26/09
to
Le 26-11-2009, ? propos de
Re: go,
remy ?crivait dans fr.comp.os.linux.debats :

> batyann811 a écrit :
>> remy a écrit :
>>> batyann811 a écrit :
>>>> remy a écrit :
>>>>>
>>>>> bonjour
>>>>>
>>>>> quelqu'un a déjà testé ou essayé
>>>>>
>>>>> http://www.al-aide.com/article/linux-4/go-nouveau-langage-chez-google-548540/
>>>>>
>>>>>
>>>>> c'est une vraie question merci remy
>>>>>
>>>> Oui
>>> et alors
>>>
>>>
>> J'en sais rien. Je ne l'ai pas essayé mais quelqu'un l'a fait c'est sur.
>>
>> Mais à mon avis c'est à chier comme tous les langages plus ou moins
>> dérivés du C.
>
>
> pas sûr puisque le principal défaut du C c'est la gestion de la
> mémoire et comme il y a un garbage collector
> cela donne un langage sécu de manière structurelle
> pas de débordement de tampon

Tu te rends compte de ce que tu es capable d'écrire ? Je te rappelle
que Java est un langage à GC, ce n'est pas ce qui empêche les fuites
mémoire partout, parce qu'en général, il faut déréférencer les
objets pour que le GC récupère la mémoire (et au prix d'une
consommation de ressources sans aucune mesure).

Bref, le GC, c'est une rustine pour les gens qui ne savent pas
programmer (ou qui utilisent la mémoire comme des gorets).

> si tu rajoutes le fait qu'il soit compilé et multi threads par nature
> tu as un environnement rapide

Multithread par nature... J'aimerais bien qu'on m'explique le
concept. C'est assez marketteux. _Aucun_ langage n'est multithread
par nature dès lors qu'il s'appuie sur un OS. Il va toujours
terminer par un appel à un truc qui gère les threads à sa place.
Qu'il fournisse un mécanisme pour gérer les threads de façon
portable, peut-être. Il y a juste un truc qui risque de coincer si
ce truc n'utilise pas une VM, c'est les limitations de l'OS hôte (le
coup des threads et de la préemption de Windows risque d'être assez
marrant en terme de portabilité).

> j'ai juste un petit problème de compréhension
> avec la programmation système surtout si système veut dire noyau
>
> qui gère la mémoire ?

C'est _toujours_ le programmeur qui gère de manière directe ou
indirecte la mémoire. Après, on peut le faire efficacement façon C
ou le masquer dans un tas de trucs abscons façon C++ ou Java. Mais
au final, c'est _toujours_ le programmeur qui fait.

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.

batyann811

unread,
Nov 26, 2009, 6:19:22 AM11/26/09
to
remy a �crit :
>
>
> pas s�r puisque le principal d�faut du C c'est la gestion de la
> m�moire et comme il y a un garbage collector
> cela donne un langage s�cu de mani�re structurelle
> pas de d�bordement de tampon
>

Pour moi les 2 principaux d�fauts du C c'est
1 - Typage pas assez strict (pas de bool�en, pas d'enum, pas de type
intervalle, ...)
2 - Permet trop facilement de faire des trucs illisibles

Bref c'est et �a aurait du rester une sorte d'assembleur un peu �volu�.

Mihamina Rakotomandimby

unread,
Nov 26, 2009, 6:21:12 AM11/26/09
to
11/26/2009 02:04 PM, remy:
>> Mais � mon avis c'est � chier comme tous les langages plus ou moins

>> d�riv�s du C.
> pas s�r puisque le principal d�faut du C

Au lieu de faire semblant de savoir des choses,
tu aurais pu savoir faire une recherche et
tomber sur ceci:

http://groups.google.com/group/fr.comp.lang.c/browse_thread/thread/82c1fdd4a591d3a6#

JKB

unread,
Nov 26, 2009, 6:21:18 AM11/26/09
to
Le 26-11-2009, ? propos de
Re: go,
batyann811 ?crivait dans fr.comp.os.linux.debats :
> remy a écrit :

>>
>>
>> pas sûr puisque le principal défaut du C c'est la gestion de la
>> mémoire et comme il y a un garbage collector
>> cela donne un langage sécu de manière structurelle
>> pas de débordement de tampon
>>
>
> Pour moi les 2 principaux défauts du C c'est
> 1 - Typage pas assez strict (pas de booléen, pas d'enum, pas de type
> intervalle, ...)
> 2 - Permet trop facilement de faire des trucs illisibles

Je peux de faire des trucs illisibles en Fortran95 ou en ADA...

> Bref c'est et ça aurait du rester une sorte d'assembleur un peu évolué.

Le problème du C, c'est qu'il devrait se cantonner à son domaine, à
savoir la programmation système.

batyann811

unread,
Nov 26, 2009, 6:25:00 AM11/26/09
to
JKB a écrit :

>
> Je peux de faire des trucs illisibles en Fortran95 ou en ADA...
>

Oui mais en ADA c'est plus dur. Pas && << >> % ++ -- et toutes ces
conneries.

>
> Le problème du C, c'est qu'il devrait se cantonner à son domaine, à
> savoir la programmation système.
>

Oui un assembleur evolué.

Kojak

unread,
Nov 26, 2009, 6:37:18 AM11/26/09
to
Le Thu, 26 Nov 2009 11:13:31 +0000 (UTC),
JKB <knat...@koenigsberg.fr> a écrit :

> Le 26-11-2009, ? propos de Re: go,
> remy ?crivait dans fr.comp.os.linux.debats :

> > pas sûr puisque le principal défaut du C c'est la gestion de la

> > pas de débordement de tampon [...]


>
> Tu te rends compte de ce que tu es capable d'écrire ? Je te
> rappelle que Java est un langage à GC, ce n'est pas ce qui empêche
> les fuites mémoire partout, parce qu'en général, il faut déréférencer
> les objets pour que le GC récupère la mémoire (et au prix d'une
> consommation de ressources sans aucune mesure).

T'énerve pas ! Tu sais très bien que dès qu'un nouveau langage sort,
t'as tout les gogos qui se jettent dessus croyant que ça va résoudre
tous leurs problèmes.

> Bref, le GC, c'est une rustine pour les gens qui ne savent pas
> programmer (ou qui utilisent la mémoire comme des gorets).

Ah là non ! Ne crache pas sur Lisp, s'il te plaît ! :-)

--
Jacques.

JKB

unread,
Nov 26, 2009, 6:41:08 AM11/26/09
to
Le 26-11-2009, ? propos de
Re: go,
batyann811 ?crivait dans fr.comp.os.linux.debats :
> JKB a écrit :
>>
>> Je peux de faire des trucs illisibles en Fortran95 ou en ADA...
>>
>
> Oui mais en ADA c'est plus dur. Pas && << >> % ++ -- et toutes ces
> conneries.

Il y a longtemps que tu n'as pas fait d'ADA, toi. L'intérêt d'ADA,
c'est d'écrire un code dont le comportement est reproductible. On se
contrefiche de la lisibilité de la syntaxe. Avec ADA, il est
parfaitement possible d'écrire du code objet et ça peut rapidement
devenir illisible (de la même façon qu'en C, on peut écrire des
choses propres).


>>
>> Le problème du C, c'est qu'il devrait se cantonner à son domaine, à
>> savoir la programmation système.
>>
>
> Oui un assembleur evolué.

Certainement pas. Le C n'est pas un assembleur évolué. Un assembleur
évolué, ce serait Macro32 de VMS. Ce n'est pas un assembleur évolué
parce qu'il ne permet l'accès à un paquet de structures de contrôle,
parce qu'il ne garantit pas l'exécution dans un ordre donné, ni
l'atomicité, ni d'ailleurs rien d'autre qui est faisable en
assembleur. C'est même pour cela qu'au fond des OS, il y a quasiment
toujours des routines écrites directement en assembleur !

batyann811

unread,
Nov 26, 2009, 6:56:55 AM11/26/09
to
>
> Il y a longtemps que tu n'as pas fait d'ADA, toi. L'intérêt d'ADA,
> c'est d'écrire un code dont le comportement est reproductible. On se
> contrefiche de la lisibilité de la syntaxe. Avec ADA, il est
> parfaitement possible d'écrire du code objet et ça peut rapidement
> devenir illisible (de la même façon qu'en C, on peut écrire des
> choses propres).

Je ne me contrefiche pas de la lisibilité de la syntaxe.

On peut écrire du code propre en C si on veut oui mais c'est plus facile
à faire en ADA : le compilateur t'aide.

>
> Certainement pas. Le C n'est pas un assembleur évolué. Un assembleur
> évolué, ce serait Macro32 de VMS. Ce n'est pas un assembleur évolué
> parce qu'il ne permet l'accès à un paquet de structures de contrôle,
> parce qu'il ne garantit pas l'exécution dans un ordre donné, ni
> l'atomicité, ni d'ailleurs rien d'autre qui est faisable en
> assembleur. C'est même pour cela qu'au fond des OS, il y a quasiment
> toujours des routines écrites directement en assembleur !

Allez si ça peut te faire plaisir je vais dire que c'est un assembleur++

Stéphane CARPENTIER

unread,
Nov 26, 2009, 7:34:26 AM11/26/09
to
JKB wrote:
> Le 26-11-2009, ? propos de
> Re: go,
> batyann811 ?crivait dans fr.comp.os.linux.debats :
>> 2 - Permet trop facilement de faire des trucs illisibles
>
> Je peux de faire des trucs illisibles en Fortran95 ou en ADA...

Pour le programme le plus illisible, il doit être dur de faire pire qu'APL.

Stéphane CARPENTIER

unread,
Nov 26, 2009, 7:36:08 AM11/26/09
to
Mihamina Rakotomandimby wrote:
> 11/26/2009 01:44 PM, remy:
>>>> quelqu'un a d�j� test� ou essay�
>>> Oui
>> et alors
>
> Il a repondu a ta question, tu veux chercher la petite bete?

Il essaye de faire vivre son troll, il ne faut pas lui en vouloir.

Kojak

unread,
Nov 26, 2009, 7:42:55 AM11/26/09
to
Le Thu, 26 Nov 2009 13:34:26 +0100,
Stéphane CARPENTIER <stef.ca...@gratuit.fr.invalid> a écrit :

C'est reconnu comme un langage «write only». Par contre, pour la
concision, il n'y a pas mieux.

--
Jacques.

batyann811

unread,
Nov 26, 2009, 7:44:19 AM11/26/09
to
remy a �crit :

>
> pas s�r puisque le principal d�faut du C c'est la gestion de la
> m�moire et comme il y a un garbage collector
> cela donne un langage s�cu de mani�re structurelle
> pas de d�bordement de tampon

J'avais pas vu � la premi�re lecture mais c'est quoi le rapport entre un
GC et un d�bordement de tampon ?

Kojak

unread,
Nov 26, 2009, 7:48:17 AM11/26/09
to
Le Thu, 26 Nov 2009 13:44:19 +0100,
batyann811 <batya...@invalid.fre> a écrit :

> J'avais pas vu à la première lecture mais c'est quoi le rapport entre
> un GC et un débordement de tampon ?

Des histoires de bonnes femmes, à tous les coups. :-)


--
Jacques.

debug this fifo

unread,
Nov 26, 2009, 7:49:07 AM11/26/09
to
batyann811 wrote:

> On peut écrire du code propre en C si on veut oui mais c'est plus facile
> à faire en ADA : le compilateur t'aide.
>

Ada, c'est le langage que quand tu reviens du marche, que tu as achete
quatre poires et six pommes, tu peux pas savoir combien tu as de fruits.


batyann811

unread,
Nov 26, 2009, 7:55:27 AM11/26/09
to
debug this fifo a écrit :

> Ada, c'est le langage que quand tu reviens du marche, que tu as achete
> quatre poires et six pommes, tu peux pas savoir combien tu as de fruits.
>

:-)

Disons si tu veux ça peut conduire à ça mais on peut contourner en
appelant une fonction C. ;-)

debug this fifo

unread,
Nov 26, 2009, 7:56:33 AM11/26/09
to
batyann811 wrote:
>
> Pour moi les 2 principaux d�fauts du C c'est
> 1 - Typage pas assez strict (pas de bool�en, pas d'enum, pas de type
^^^^^^^^^^
fud detected...

> intervalle, ...)
> 2 - Permet trop facilement de faire des trucs illisibles

comme la plupart des langages de programmation, en fait.

batyann811

unread,
Nov 26, 2009, 7:57:17 AM11/26/09
to
Kojak a écrit :

>
> Des histoires de bonnes femmes, à tous les coups. :-)
>

C'est vrai que si GC veut dire Gros Cul...

batyann811

unread,
Nov 26, 2009, 8:05:48 AM11/26/09
to
debug this fifo a �crit :

> batyann811 wrote:
>>
>> Pour moi les 2 principaux d�fauts du C c'est
>> 1 - Typage pas assez strict (pas de bool�en, pas d'enum, pas de type
> ^^^^^^^^^^
> fud detected...

Non non. Je suis s�rieux je ne consid�re pas les enums du C comme un
vrai type �num�r�.

>> intervalle, ...)
>> 2 - Permet trop facilement de faire des trucs illisibles
>
> comme la plupart des langages de programmation, en fait.

Sauf qu'en C, quand tu le fais, tu passes pour un pro au lieu de passer
pour un con. ;-)

Nicolas George

unread,
Nov 26, 2009, 8:10:41 AM11/26/09
to
batyann811 , dans le message <4b0e642f$0$942$ba4a...@news.orange.fr>, a
�crit�:

> Pour moi les 2 principaux d�fauts du C c'est
> 1 - Typage pas assez strict (pas de bool�en, pas d'enum

Donc le probl�me du C, c'est que tu n'y connais rien.

remy

unread,
Nov 26, 2009, 8:13:03 AM11/26/09
to
JKB a écrit :

je n'ai jamais vu de fuite mémoire ou plutôt
je ne l'ai jamais rencontrée avec du code java

maintenant qu'une implémentation d'un gc soit foireuse, je veux bien te
l'accorder, de tout manière je n'ai pas parlé de fuite mémoire
mais de débordement de tampon

en gros mais en très gros hein
un gc c'est quoi ?

c'est un programme qui tourne tout seul dans son coin type démon
il te renvoie un pointeur et ce pointeur est accompagné
d'un compteur qui explique combien il y a de copies de cette donnée
ou de pointeurs qui pointent sur cette zone au choix
quand le compteur est à zéro le système libère la zone

alors que cette zone ne soit pas libérée de manière instantanée je te
l'accorde, mais ce n'est pas une fuite mémoire, juste une zone qui n'est
pas encore libérée sauf si il merde dans son décompte ou comptage bien
sûr

ensuite ce genre de gestion rend impossible l'exécution de cette zone
et en plus elle est allouée dans une partie non connue et qui change
pratiquement à chaque exécution du code


>> si tu rajoutes le fait qu'il soit compilé et multi threads par nature
>> tu as un environnement rapide
>
> Multithread par nature... J'aimerais bien qu'on m'explique le
> concept. C'est assez marketteux. _Aucun_ langage n'est multithread
> par nature dès lors qu'il s'appuie sur un OS. Il va toujours
> terminer par un appel à un truc qui gère les threads à sa place.
> Qu'il fournisse un mécanisme pour gérer les threads de façon
> portable, peut-être.

voilà, je me suis mal exprimé, désolé, je voulais dire de manière
portable et simple , sans usine à gaz

en java si cela n'a pas changé, le code s'exécute par défaut dans le
thread de l'interface graphique, c'est moyen je trouve


Il y a juste un truc qui risque de coincer si
> ce truc n'utilise pas une VM, c'est les limitations de l'OS hôte (le
> coup des threads et de la préemption de Windows risque d'être assez
> marrant en terme de portabilité).
>
>> j'ai juste un petit problème de compréhension
>> avec la programmation système surtout si système veut dire noyau
>>
>> qui gère la mémoire ?
>
> C'est _toujours_ le programmeur qui gère de manière directe ou
> indirecte la mémoire. Après, on peut le faire efficacement façon C
> ou le masquer dans un tas de trucs abscons façon C++ ou Java. Mais
> au final, c'est _toujours_ le programmeur qui fait.
>

ben comme je suis une grosse faignace, je veux qu'on le fasse à ma
place,j'ai autre chose à faire qu'à compter les octets utilisés
non mais

> JKB
>

remy

--
http://remyaumeunier.chez-alice.fr/

Nicolas George

unread,
Nov 26, 2009, 8:14:15 AM11/26/09
to
St�phane CARPENTIER
, dans le message <4b0e75d2$0$25799$426a...@news.free.fr>, a �crit�:
> Pour le programme le plus illisible, il doit �tre dur de faire pire qu'APL.

Je suis, et je monte avec Unlambda.

batyann811

unread,
Nov 26, 2009, 8:15:39 AM11/26/09
to
Nicolas George a �crit :
Tu montres ou sont les *vrais* types �num�r�s et le *vrai* type bool�en
en C pas des types entiers d�tourn�s.

Nicolas George

unread,
Nov 26, 2009, 8:20:21 AM11/26/09
to
batyann811 , dans le message <4b0e7f6f$0$909$ba4a...@news.orange.fr>, a
�crit�:

> Tu montres ou sont les *vrais* types �num�r�s et le *vrai* type bool�en
> en C pas des types entiers d�tourn�s.

Les types �num�r�s et les bool�ens _sont_ des entiers, tu n'y peux rien.

batyann811

unread,
Nov 26, 2009, 8:20:39 AM11/26/09
to
batyann811 a �crit :

> Tu montres ou sont les *vrais* types �num�r�s et le *vrai* type bool�en
> en C pas des types entiers d�tourn�s.
>
Et pas non plus une merde � base de struct...

remy

unread,
Nov 26, 2009, 8:21:49 AM11/26/09
to
debug this fifo a écrit :
excellent +1
remy

--
http://remyaumeunier.chez-alice.fr/

batyann811

unread,
Nov 26, 2009, 8:22:54 AM11/26/09
to
Nicolas George a �crit :

>
> Les types �num�r�s et les bool�ens _sont_ des entiers, tu n'y peux rien.

Super ! Donc vrai + rouge = 6 ! La classe. Merci.

batyann811

unread,
Nov 26, 2009, 8:47:06 AM11/26/09
to
Nicolas George a �crit :

>
> Les types �num�r�s et les bool�ens _sont_ des entiers, tu n'y peux rien.

Ce sont des entiers en C dans un vrai langage ce sont juste des types
scalaires. Les entiers aussi sont des types scalaires mais en aucun cas
les types �num�r�s et le type bool�en ne sont des entiers.

debug this fifo

unread,
Nov 26, 2009, 8:53:53 AM11/26/09
to
batyann811 wrote:

> les types �num�r�s et le type bool�en ne sont des entiers.
>

le booleen non entier, c'est pour la logique floue.

batyann811

unread,
Nov 26, 2009, 9:01:49 AM11/26/09
to
debug this fifo a �crit :
>
> le booleen non entier, c'est pour la logique floue.

:-)

En fait un boole�n et un entier c'est un peu comme un CD d'Annie Cordy
et un sous marin nucl�aire. Pas grand chose � voir.

Mais pas mal la blague sur la logique floue.

doug713705

unread,
Nov 26, 2009, 9:23:05 AM11/26/09
to
On Thu, 26 Nov 2009 13:57:17 +0100, batyann811 wrote:

>> Des histoires de bonnes femmes, ᅵ tous les coups. :-)


>>
>
> C'est vrai que si GC veut dire Gros Cul...

Si le tampon dᅵborde par le cul c'est qu'il faut relire la page de man
affᅵrante,

--
Doug713705

Yliur

unread,
Nov 26, 2009, 9:39:22 AM11/26/09
to

> > Tu te rends compte de ce que tu es capable d'écrire ? Je te
> > rappelle que Java est un langage à GC, ce n'est pas ce qui empêche
> > les fuites mémoire partout, parce qu'en général, il faut
> > déréférencer les objets pour que le GC récupère la mémoire (et au
> > prix d'une consommation de ressources sans aucune mesure).
> >
> > Bref, le GC, c'est une rustine pour les gens qui ne savent
> > pas programmer (ou qui utilisent la mémoire comme des gorets).
> >
>
> je n'ai jamais vu de fuite mémoire ou plutôt
> je ne l'ai jamais rencontrée avec du code java

Les cas où il faut "déréferencer" des variables sont en effet assez
rares en Java. C'est juste quand la variable est référencée dans un
endroit "annexe", par exemple elle est stockée dans une table de
hachage (indexation). Et encore, l'utilisation de références
faibles permet de ne pas s'occuper de ça dans ce cas.


> en java si cela n'a pas changé, le code s'exécute par défaut dans le
> thread de l'interface graphique, c'est moyen je trouve

Ben il s'agit uniquement du code en réaction aux événements
utilisateurs (quand il clique sur un bouton par exemple). Et ça peut
être ça que tu veux, pour éviter que l'utilisateur puisse cliquer sur
plusieurs boutons "en même temps" (c'est-à-dire que le code exécuté
en réaction aux clics s'exécute en parallèle). Si le traitement
déclenché est long et que tu veux l'exécuter dans un autre fil
d'exécution, il faut effectivement créer toi-même le nouveau fil.

Yliur

unread,
Nov 26, 2009, 9:41:23 AM11/26/09
to

> >
> > Certainement pas. Le C n'est pas un assembleur évolué. Un
> > assembleur évolué, ce serait Macro32 de VMS. Ce n'est pas un
> > assembleur évolué parce qu'il ne permet l'accès à un paquet de
> > structures de contrôle, parce qu'il ne garantit pas l'exécution
> > dans un ordre donné, ni l'atomicité, ni d'ailleurs rien d'autre qui
> > est faisable en assembleur. C'est même pour cela qu'au fond des OS,
> > il y a quasiment toujours des routines écrites directement en
> > assembleur !
>
> Allez si ça peut te faire plaisir je vais dire que c'est un
> assembleur++
>

++assembleur, il faut l'améliorer avant de l'utiliser.

Yliur

unread,
Nov 26, 2009, 9:44:50 AM11/26/09
to
Le Thu, 26 Nov 2009 14:05:48 +0100
batyann811 <batya...@invalid.fre> a écrit :

> debug this fifo a écrit :

> > batyann811 wrote:
> >>
> >> Pour moi les 2 principaux défauts du C c'est
> >> 1 - Typage pas assez strict (pas de booléen, pas d'enum, pas de
> >> type
> > ^^^^^^^^^^
> > fud detected...
>
> Non non. Je suis sérieux je ne considère pas les enums du C comme un
> vrai type énuméré.

Si on est un peu strict/méchant, il n'y a pas non plus de tableaux ni
de caractères en C. Il y a bien des éléments de syntaxe pour gérer
des tableaux ou des caractères, mais c'est pour faire semblant :
- un "tableau" c'est juste un pointeur, ce qui fait qu'il faut
noter à côté sa taille.
- un "caractère" c'est juste un octet, on ne peut pas faire de
correspondance non ambiguë avec un caractère parce que l'encodage
n'est pas spécifié.

batyann811

unread,
Nov 26, 2009, 9:46:52 AM11/26/09
to
Yliur a �crit :
>
> Si on est un peu strict/m�chant, il n'y a pas non plus de tableaux ni
> de caract�res en C. Il y a bien des �l�ments de syntaxe pour g�rer
> des tableaux ou des caract�res, mais c'est pour faire semblant :

> - un "tableau" c'est juste un pointeur, ce qui fait qu'il faut
> noter � c�t� sa taille.
> - un "caract�re" c'est juste un octet, on ne peut pas faire de
> correspondance non ambigu� avec un caract�re parce que l'encodage
> n'est pas sp�cifi�.
>

100% d'accord. Et c'est m�me pas �tre m�chant.

doug713705

unread,
Nov 26, 2009, 9:49:08 AM11/26/09
to
On Thu, 26 Nov 2009 14:53:53 +0100, debug this fifo wrote:

>> les types ᅵnumᅵrᅵs et le type boolᅵen ne sont des entiers.


>>
>
> le booleen non entier, c'est pour la logique floue.

if (bool == 0.5){
printf "ptet bin qu'oui, ptet ben qu'non"
}else{
printf "vous n'etes pas Normand."
}

--
Doug713705

Nicolas George

unread,
Nov 26, 2009, 9:56:16 AM11/26/09
to
batyann811 , dans le message <4b0e86cf$0$923$ba4a...@news.orange.fr>, a
�crit�:

> Ce sont des entiers en C dans un vrai langage ce sont juste des types
> scalaires. Les entiers aussi sont des types scalaires mais en aucun cas
> les types �num�r�s et le type bool�en ne sont des entiers.

C'est fondamentalement la m�me chose.

batyann811

unread,
Nov 26, 2009, 10:01:55 AM11/26/09
to
Nicolas George a �crit :

>
> C'est fondamentalement la m�me chose.

En C oui... Dans la plupart des autres langages non.

remy

unread,
Nov 26, 2009, 10:18:37 AM11/26/09
to
Yliur a écrit :

>>> Tu te rends compte de ce que tu es capable d'écrire ? Je te
>>> rappelle que Java est un langage à GC, ce n'est pas ce qui empêche
>>> les fuites mémoire partout, parce qu'en général, il faut
>>> déréférencer les objets pour que le GC récupère la mémoire (et au
>>> prix d'une consommation de ressources sans aucune mesure).
>>>
>>> Bref, le GC, c'est une rustine pour les gens qui ne savent
>>> pas programmer (ou qui utilisent la mémoire comme des gorets).
>>>
>> je n'ai jamais vu de fuite mémoire ou plutôt
>> je ne l'ai jamais rencontrée avec du code java
>
> Les cas où il faut "déréferencer" des variables sont en effet assez
> rares en Java. C'est juste quand la variable est référencée dans un
> endroit "annexe", par exemple elle est stockée dans une table de
> hachage (indexation). Et encore, l'utilisation de références
> faibles permet de ne pas s'occuper de ça dans ce cas.
>
>

j'avais fait un peu exprès
je savais que jdk y fait une allergie
et qu'il a eu des gros problèmes avec


>> en java si cela n'a pas changé, le code s'exécute par défaut dans le
>> thread de l'interface graphique, c'est moyen je trouve
>
> Ben il s'agit uniquement du code en réaction aux événements
> utilisateurs (quand il clique sur un bouton par exemple). Et ça peut
> être ça que tu veux, pour éviter que l'utilisateur puisse cliquer sur
> plusieurs boutons "en même temps" (c'est-à-dire que le code exécuté
> en réaction aux clics s'exécute en parallèle). Si le traitement
> déclenché est long et que tu veux l'exécuter dans un autre fil
> d'exécution, il faut effectivement créer toi-même le nouveau fil.
>


cela ne se voit pas trop parce que les machines sont surpuissantes
mais il était assez courant d'avoir des interfaces gelées
parce que les traitements d'une action étaient longs

tiens au hasard un tri à la con au début pas de problème très peu de
données

6 mois après, 10 secondes avant de pouvoir utiliser l'interface
et en particulier le bouton stop


--
http://remyaumeunier.chez-alice.fr/

remy

unread,
Nov 26, 2009, 10:21:12 AM11/26/09
to
Nicolas George a écrit :

> batyann811 , dans le message <4b0e86cf$0$923$ba4a...@news.orange.fr>, a
> écrit :

>> Ce sont des entiers en C dans un vrai langage ce sont juste des types
>> scalaires. Les entiers aussi sont des types scalaires mais en aucun cas
>> les types énumérés et le type booléen ne sont des entiers.
>
> C'est fondamentalement la même chose.

http://www.idris.fr/su/Vectoriel/brodie/cc_sizeof.html

au mieux 16 bits et un int sur un proc de 64 bits
il a quelle taille ?

bon bref, tout ça pour juste 2 états

et je l'ai relu, donc pas trop de fautes
par contre pour le c ce sont des souvenirs

remy


--
http://remyaumeunier.chez-alice.fr/

remy

unread,
Nov 26, 2009, 10:28:03 AM11/26/09
to
Yliur a écrit :

>>> Tu te rends compte de ce que tu es capable d'écrire ? Je te
>>> rappelle que Java est un langage à GC, ce n'est pas ce qui empêche
>>> les fuites mémoire partout, parce qu'en général, il faut
>>> déréférencer les objets pour que le GC récupère la mémoire (et au
>>> prix d'une consommation de ressources sans aucune mesure).
>>>
>>> Bref, le GC, c'est une rustine pour les gens qui ne savent
>>> pas programmer (ou qui utilisent la mémoire comme des gorets).
>>>
>> je n'ai jamais vu de fuite mémoire ou plutôt
>> je ne l'ai jamais rencontrée avec du code java
>
> Les cas où il faut "déréferencer" des variables sont en effet assez
> rares en Java. C'est juste quand la variable est référencée dans un
> endroit "annexe", par exemple elle est stockée dans une table de
> hachage (indexation). Et encore, l'utilisation de références
> faibles permet de ne pas s'occuper de ça dans ce cas.
>
j'avais fait un peu exprès
je savais que JKB y fait une allergie

et qu'il a eu des gros problèmes avec

>

>> en java si cela n'a pas changé, le code s'exécute par défaut dans le
>> thread de l'interface graphique, c'est moyen je trouve
>
> Ben il s'agit uniquement du code en réaction aux événements
> utilisateurs (quand il clique sur un bouton par exemple). Et ça peut
> être ça que tu veux, pour éviter que l'utilisateur puisse cliquer sur
> plusieurs boutons "en même temps" (c'est-à-dire que le code exécuté
> en réaction aux clics s'exécute en parallèle). Si le traitement
> déclenché est long et que tu veux l'exécuter dans un autre fil
> d'exécution, il faut effectivement créer toi-même le nouveau fil.
>

ela ne se voit pas trop parce que les machines sont surpuissantes

Richard Delorme

unread,
Nov 26, 2009, 10:26:29 AM11/26/09
to
Le 26/11/2009 15:44, Yliur a �crit :

> Si on est un peu strict/m�chant, il n'y a pas non plus de tableaux ni
> de caract�res en C. Il y a bien des �l�ments de syntaxe pour g�rer

> des tableaux ou des caract�res, mais c'est pour faire semblant :


> - un "tableau" c'est juste un pointeur, ce qui fait qu'il faut

> noter � c�t� sa taille.

C'est faux. En C un tableau n'est pas un pointeur et leur taille,
mesur�e par sizeof, diff�re.

int t[100];
int n_element = sizeof (t)/ sizeof (t[0]);
int *p = t;
int nimporte_quoi = sizeof (p)/ sizeof (p[0]);

n_element vaut 100, tandis que nimporte_qoui a une valeur d�pendant de
l'impl�mentation (g�n�ralement 1 ou 2).

--
Richard

Bruno Ducrot

unread,
Nov 26, 2009, 10:40:44 AM11/26/09
to

N'importe quoi.

> cat t.c
#include <stdio.h>
#include <stdbool.h>

enum color {
red = 41,
green,
blue,
};

int
main(void)
{
enum color rouge = red;
bool vrai = true;

printf("vrai + rouge == %d\n", vrai + rouge);
return 0;
}
> gcc t.c
> ./a.out
vrai + rouge == 42

--
Bruno Ducrot

-- Which is worse: ignorance or apathy?
-- Don't know. Don't care.

JKB

unread,
Nov 26, 2009, 10:45:46 AM11/26/09
to
Le 26-11-2009, ? propos de
Re: go,
remy ?crivait dans fr.comp.os.linux.debats :
> Yliur a écrit :
>>>> Tu te rends compte de ce que tu es capable d'écrire ? Je te
>>>> rappelle que Java est un langage à GC, ce n'est pas ce qui empêche
>>>> les fuites mémoire partout, parce qu'en général, il faut
>>>> déréférencer les objets pour que le GC récupère la mémoire (et au
>>>> prix d'une consommation de ressources sans aucune mesure).
>>>>
>>>> Bref, le GC, c'est une rustine pour les gens qui ne savent
>>>> pas programmer (ou qui utilisent la mémoire comme des gorets).
>>>>
>>> je n'ai jamais vu de fuite mémoire ou plutôt
>>> je ne l'ai jamais rencontrée avec du code java
>>
>> Les cas où il faut "déréferencer" des variables sont en effet assez
>> rares en Java. C'est juste quand la variable est référencée dans un
>> endroit "annexe", par exemple elle est stockée dans une table de
>> hachage (indexation). Et encore, l'utilisation de références
>> faibles permet de ne pas s'occuper de ça dans ce cas.
>>
> j'avais fait un peu exprès
> je savais que JKB y fait une allergie
> et qu'il a eu des gros problèmes avec

Disons que j'ai un soft qui est un serveur en java et qui tourne
24h/24. Là, tu es _obligé_ de faire le ménage toi-même si tu ne veux
pas que le truc se mette à bouffer toute la mémoire avec des
connexions TCP (et donc des threads) mortes qui continuent à polluer
la JVM. Les problèmes, ça arrive _très_ vite avec ce genre de gag.

Le problème de cette gestion des ressources, c'est que ça cache
tout et que le programmeur qui n'est pas passé par la case C ne sait
plus exactement ce qui se passe.

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.

Yliur

unread,
Nov 26, 2009, 10:48:00 AM11/26/09
to

> >> en java si cela n'a pas changé, le code s'exécute par défaut dans
> >> le thread de l'interface graphique, c'est moyen je trouve
> >
> > Ben il s'agit uniquement du code en réaction aux événements
> > utilisateurs (quand il clique sur un bouton par exemple). Et ça
> > peut être ça que tu veux, pour éviter que l'utilisateur puisse
> > cliquer sur plusieurs boutons "en même temps" (c'est-à-dire que le
> > code exécuté en réaction aux clics s'exécute en parallèle). Si le
> > traitement déclenché est long et que tu veux l'exécuter dans un
> > autre fil d'exécution, il faut effectivement créer toi-même le
> > nouveau fil.
> >
>
> ela ne se voit pas trop parce que les machines sont surpuissantes
> mais il était assez courant d'avoir des interfaces gelées
> parce que les traitements d'une action étaient longs
>
> tiens au hasard un tri à la con au début pas de problème très peu de
> données
>
> 6 mois après, 10 secondes avant de pouvoir utiliser l'interface
> et en particulier le bouton stop

Oui mais en général quand tu cliques sur un bouton l'action est
quasiment instantanée et tu ne veux pas qu'autre chose puisse
s'exécuter en même temps dans l'interface, pour des raisons de
cohérence (si les deux actions modifient l'interface graphique,
elles doivent se dérouler l'une après l'autre, ne serait-ce que si
l'utilisateur a cliqué deux fois par mégarde sur le bouton).
C'est à toi de déterminer que telle action risque de prendre du temps
et de gérer l'exécution parallèle, ce n'est pas le cas de la plupart
des actions. Et effectivement si on n'a pas pensé qu'une action
donnée risquait de poser problème on peut avoir des surprises :) . Et
si tu t'es donné la peine de faire un bouton stop, il faut aussi de
donner la peine de tester qu'il sert à quelque chose ;) .
Et euh... pour avoir des tris de 10 secondes, c'est un tri à bulles ou
il y a des millions (milliards ?) de données ?

Yliur

unread,
Nov 26, 2009, 10:51:39 AM11/26/09
to
Le Thu, 26 Nov 2009 16:26:29 +0100
Richard Delorme <abu...@nospam.fr> a écrit :

> Le 26/11/2009 15:44, Yliur a écrit :
>
> > Si on est un peu strict/méchant, il n'y a pas non plus de tableaux
> > ni de caractères en C. Il y a bien des éléments de syntaxe pour
> > gérer des tableaux ou des caractères, mais c'est pour faire


> > semblant :
> > - un "tableau" c'est juste un pointeur, ce qui fait qu'il faut

> > noter à côté sa taille.


>
> C'est faux. En C un tableau n'est pas un pointeur et leur taille,

> mesurée par sizeof, diffère.


>
> int t[100];
> int n_element = sizeof (t)/ sizeof (t[0]);
> int *p = t;
> int nimporte_quoi = sizeof (p)/ sizeof (p[0]);
>

> n_element vaut 100, tandis que nimporte_qoui a une valeur dépendant
> de l'implémentation (généralement 1 ou 2).
>

Mais ça ne marche que pour les tableaux statiques, parce que le
compilateur peut retrouver la taille du tableau. Donc par exemple si
tu passes le tableau en paramètre à une fonction, tu ne peux pas
avoir sa taille, si ?

Yliur

unread,
Nov 26, 2009, 10:55:22 AM11/26/09
to
Le Thu, 26 Nov 2009 16:21:12 +0100
remy <re...@fctpas.fr> a écrit :

Il me semblait qu'en C la taille (en octets) des types numériques
n'était pas spécifiée ? Et que selon le compilateur et la plate-forme
on pouvait avoir des tailles différentes, la seule garantie étant que
short <= int <= long (en nombre d'octets) ?
D'ailleurs je suis presque sûr d'avoir vu des int stockés par un
programme C dans un fichier et qui étaient sur 2 octets (compilateur
Borland).

Yliur

unread,
Nov 26, 2009, 10:58:52 AM11/26/09
to

> Disons que j'ai un soft qui est un serveur en java et qui
> tourne 24h/24. Là, tu es _obligé_ de faire le ménage toi-même si tu
> ne veux pas que le truc se mette à bouffer toute la mémoire avec des
> connexions TCP (et donc des threads) mortes qui continuent à
> polluer la JVM. Les problèmes, ça arrive _très_ vite avec ce genre de
> gag.
>

Des serveurs d'application java qui tournent 24h/24 ce n'est pas
exceptionnel. Je ne vois pas dans quel cas des connexions TCP
pourraient être conservées comme ça. Tu as un exemple (sur un
serveur d'application ou un serveur que tu écris toi-même, qui est
peut-être le cas dont tu parles) ?


> Le problème de cette gestion des ressources, c'est que ça
> cache tout et que le programmeur qui n'est pas passé par la case C ne
> sait plus exactement ce qui se passe.
>
> JKB
>

Oui, s'il n'a pas appris à programme il fait vite des bêtises ;) .

JKB

unread,
Nov 26, 2009, 11:03:02 AM11/26/09
to
Le 26-11-2009, ? propos de
Re: go,
Yliur ?crivait dans fr.comp.os.linux.debats :

>
>> Disons que j'ai un soft qui est un serveur en java et qui
>> tourne 24h/24. Là, tu es _obligé_ de faire le ménage toi-même si tu
>> ne veux pas que le truc se mette à bouffer toute la mémoire avec des
>> connexions TCP (et donc des threads) mortes qui continuent à
>> polluer la JVM. Les problèmes, ça arrive _très_ vite avec ce genre de
>> gag.
>>
>
> Des serveurs d'application java qui tournent 24h/24 ce n'est pas
> exceptionnel. Je ne vois pas dans quel cas des connexions TCP
> pourraient être conservées comme ça. Tu as un exemple (sur un
> serveur d'application ou un serveur que tu écris toi-même, qui est
> peut-être le cas dont tu parles) ?

J'ai des exemples avec un progiciel écrit en java effectivement
développé par une équipe maison (qui connaît parfaitement ces
technos). Le truc était utilisé entre la France et des pays à accès
internet aléatoires que je ne citerais pas. Il a fallu bricoler tout
un système pour faire le ménage dans les threads morts sur des
timeout de sockets et des trucs plus bizarres encore. Au début, ça se
soldait par un redémarrage du truc tous les jours à 6h00 du matin.
Aujourd'hui, la chose est stabilisée, mais ça n'a pas été simple.
La solution a été de coller un thread de surveillance qui 'pingue'
le client. Si le client ne répond pas à trois ping consécutifs, sa
session sur le serveur est libérée. Tous les mécanismes prévus par
Java fonctionnaient parfaitement avec une socket locale, mais plus
avec une socket réseau dès lors que l'accès était de mauvaise
qualité.

>> Le problème de cette gestion des ressources, c'est que ça
>> cache tout et que le programmeur qui n'est pas passé par la case C ne
>> sait plus exactement ce qui se passe.
>>
>> JKB
>>
>
> Oui, s'il n'a pas appris à programme il fait vite des bêtises ;) .

La question est donc : peut-on directement attaquer par un truc
comme java ?

batyann811

unread,
Nov 26, 2009, 11:08:28 AM11/26/09
to
Bruno Ducrot a �crit :

>> cat t.c
> #include <stdio.h>
> #include <stdbool.h>
>
> enum color {
> red = 41,
> green,
> blue,
> };
>
> int
> main(void)
> {
> enum color rouge = red;
> bool vrai = true;
>
> printf("vrai + rouge == %d\n", vrai + rouge);
> return 0;
> }
>> gcc t.c
>> ./a.out
> vrai + rouge == 42
>

Et oui malheureusement... Tout � fait le genre de truc qui ne devrait
m�me pas �tre compil�.

$ cat test_enum_bool.adb
with Ada.Text_IO;
use Ada.Text_IO;

procedure Test_Enum_Bool is
type Color is (Red, Green, Blue);

Rouge : Color := Red;
Vrai : Boolean := True;
begin
Put("Vrai + Rouge =");
Put(Rouge + Vrai);
New_Line;
end Test_Enum_Bool;

$ gnatmake test_enum_bool.adb
gcc -c test_enum_bool.adb
test_enum_bool.adb:11:14: invalid operand types for operator "+"
test_enum_bool.adb:11:14: left operand has type "Color" defined at line 5
test_enum_bool.adb:11:14: right operand has type "Standard.Boolean"
gnatmake: "test_enum_bool.adb" compilation error

remy

unread,
Nov 26, 2009, 11:13:22 AM11/26/09
to
JKB a écrit :
c'est un très vieux bug connu qui doit dater du 1.1 ou 1.2 peut être
même plus vieux

le time out n'était pas remonté de mémoire
donc pas de désalocation du socket puisqu'il n'était pas fermé
ce n'est pas un problème de gc

change de jmv

remy

>>> Le problème de cette gestion des ressources, c'est que ça
>>> cache tout et que le programmeur qui n'est pas passé par la case C ne
>>> sait plus exactement ce qui se passe.
>>>
>>> JKB
>>>
>> Oui, s'il n'a pas appris à programme il fait vite des bêtises ;) .
>
> La question est donc : peut-on directement attaquer par un truc
> comme java ?
>
> JKB
>


--
http://remyaumeunier.chez-alice.fr/

Nicolas George

unread,
Nov 26, 2009, 11:14:20 AM11/26/09
to
batyann811 , dans le message <4b0e9857$0$992$ba4a...@news.orange.fr>, a
�crit�:
> En C oui...

Non, fondamentalement. Cherche ce mot dans le dictionnaire si tu as des
doutes sur son sens.

Nicolas George

unread,
Nov 26, 2009, 11:17:51 AM11/26/09
to
Yliur , dans le message <20091126165139.256c4a5f@alcheringa>, a �crit�:
> Mais �a ne marche que pour les tableaux statiques

Non, les VLA sont standards depuis dix ans.

> tu passes le tableau en param�tre � une fonction, tu ne peux pas


> avoir sa taille, si ?

On ne peut pas passer un tableau en param�tre.

batyann811

unread,
Nov 26, 2009, 11:24:08 AM11/26/09
to
Nicolas George a �crit :

> Non, fondamentalement. Cherche ce mot dans le dictionnaire si tu as des
> doutes sur son sens.

Non. Entiers et �num�r�s (les bool�ens n'�tant qu'un cas particulier
d'�num�r�s) sont "fondamentalement" et ont des usages "fondamentalement"
diff�rents.

remy

unread,
Nov 26, 2009, 11:26:53 AM11/26/09
to
Yliur a écrit :

http://www.commentcamarche.net/contents/cpp/cpptype.php3

int Entier
2 (sur processeur 16 bits)
4 (sur processeur 32 bits)

bool Booléen
Même taille que le type int, parfois 1 sur quelques compilateurs

un bool sur un sur processeur 64 bits 8 octets peut etre?
super pour 2 état


remy

--
http://remyaumeunier.chez-alice.fr/

batyann811

unread,
Nov 26, 2009, 11:29:55 AM11/26/09
to
Nicolas George a �crit :

>
> On ne peut pas passer un tableau en param�tre.

Justement parce que c'est juste un pointeur d�guis�.

remy

unread,
Nov 26, 2009, 11:37:07 AM11/26/09
to
batyann811 a écrit :
> Nicolas George a écrit :
>>
>> On ne peut pas passer un tableau en paramètre.
>
> Justement parce que c'est juste un pointeur déguisé.

parce qu' en plus c'est carnaval


remy

--
http://remyaumeunier.chez-alice.fr/

remy

unread,
Nov 26, 2009, 11:44:25 AM11/26/09
to

debug this fifo

unread,
Nov 26, 2009, 11:45:24 AM11/26/09
to
remy wrote:

> int Entier
> 2 (sur processeur 16 bits)

pas toujours.

Nicolas George

unread,
Nov 26, 2009, 12:32:20 PM11/26/09
to
batyann811 , dans le message <4b0eab9d$0$991$ba4a...@news.orange.fr>, a
�crit�:

> Non. Entiers et �num�r�s (les bool�ens n'�tant qu'un cas particulier
> d'�num�r�s) sont "fondamentalement" et ont des usages "fondamentalement"
> diff�rents.

Les usages ne sont pas les m�mes, mais le concept math�matique derri�re est
exactement le m�me.

Nicolas George

unread,
Nov 26, 2009, 12:32:38 PM11/26/09
to
batyann811 , dans le message <4b0eacf7$0$991$ba4a...@news.orange.fr>, a
�crit�:

> Justement parce que c'est juste un pointeur d�guis�.

Non.

batyann811

unread,
Nov 26, 2009, 12:57:56 PM11/26/09
to
Nicolas George a �crit :

>
> Les usages ne sont pas les m�mes, mais le concept math�matique derri�re est
> exactement le m�me.

Il se trouve que je parlais d'informatique pas de math.

Stéphane CARPENTIER

unread,
Nov 26, 2009, 1:59:19 PM11/26/09
to
JKB wrote:
> le client. Si le client ne répond pas à trois ping consécutifs, sa
> session sur le serveur est libérée.

Si la politique sécurité du client est de ne pas répondre au ping (je
sais que c'est de la sécurité d'imbéciles, mais ça existe) ça se passe
comment ?

Stéphane CARPENTIER

unread,
Nov 26, 2009, 2:06:08 PM11/26/09
to
Nicolas George wrote:
> St�phane CARPENTIER
> , dans le message <4b0e75d2$0$25799$426a...@news.free.fr>, a �crit :
>> Pour le programme le plus illisible, il doit �tre dur de faire pire qu'APL.
>
> Je suis, et je monte avec Unlambda.

Je ne connaissais pas.

D'apr�s ce que j'en ai vu, �a doit �tre possible de faire plus illisible
qu'APL, mais je ne suis pas s�r.

Par contre, d'apr�s ce que j'en ai vu, pour faire la m�me chose, APL
utilisera beaucoup moins de caract�res pour �tre illisible.

Patrick Lamaizière

unread,
Nov 26, 2009, 2:58:38 PM11/26/09
to
remy :

> en gros mais en tr�s gros hein
> un gc c'est quoi ?
>
> c'est un programme qui tourne tout seul dans son coin type d�mon
> il te renvoie un pointeur et ce pointeur est accompagn�
> d'un compteur qui explique combien il y a de copies de cette donn�e
> ou de pointeurs qui pointent sur cette zone au choix
> quand le compteur est � z�ro le syst�me lib�re la zone

Ben non pas vraiment. �a ne fonctionne pas par comptage de r�f�rence
mais sur *l'accessibilit�* de la donn�e. Tu peux avoir des r�f�rences
cycliques : A pointe sur B qui pointe sur C qui pointe sur B.

Si la r�f�rence de A vers B est supprim�e, B n'est plus *accessible* et
il faut supprimer B et C. M�me si tu as toujours des r�f�rences entre
B et C.


Patrice Karatchentzeff

unread,
Nov 26, 2009, 4:03:37 PM11/26/09
to
Stᅵphane CARPENTIER <stef.ca...@gratuit.fr.invalid> a ᅵcritᅵ:

> Par contre, d'aprᅵs ce que j'en ai vu, pour faire la mᅵme chose, APL
> utilisera beaucoup moins de caractᅵres pour ᅵtre illisible.

Bof... un binaire dans le texte sera beaucoup moins lisible et ne
comportera que deux caractᅵresᅵ;-)

PK

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

batyann811

unread,
Nov 26, 2009, 4:18:21 PM11/26/09
to
Nicolas George a �crit :
>
> Non.

Et pourtant...

Nicolas George

unread,
Nov 26, 2009, 4:27:20 PM11/26/09
to
batyann811 , dans le message <4b0ef09e$0$959$ba4a...@news.orange.fr>, a
�crit�:
> Et pourtant...

Tu illustres encore une fois que ceux qui gueulent le plus fort sur le C
sont ceux qui ne le connaissent que m�diocrement.

batyann811

unread,
Nov 26, 2009, 4:35:49 PM11/26/09
to
Nicolas George a �crit :

>
> Tu illustres encore une fois que ceux qui gueulent le plus fort sur le C
> sont ceux qui ne le connaissent que m�diocrement.

Je le connais assez pour en faire le moins possible.

J'attends toujours que tu me montres ou sont les *vrais* types �num�r�s
et les *vrais* bool�ens en C. �a doit �tre simple pour un connaisseur...

Stéphane CARPENTIER

unread,
Nov 26, 2009, 6:28:10 PM11/26/09
to
Patrice Karatchentzeff wrote:
> Stᅵphane CARPENTIER <stef.ca...@gratuit.fr.invalid> a ᅵcrit :

>
>> Par contre, d'aprᅵs ce que j'en ai vu, pour faire la mᅵme chose, APL
>> utilisera beaucoup moins de caractᅵres pour ᅵtre illisible.
>
> Bof... un binaire dans le texte sera beaucoup moins lisible et ne
> comportera que deux caractᅵres ;-)

Quand je parle du nombre de caractᅵres, c'est le nombre de caractᅵres
dans le programme, pas le nombre de caractᅵres diffᅵrents.

Par exemple, regarde lᅵ :

http://www.afapl.asso.fr/Aplmtlab.htm

et compare le nombre de caractᅵres utilisᅵs entre les programmes Matlab
et APL. Un programme en APL est plus court, c'est flagrant.

Regarde par exemple le programme pour trouver 8 dames sur l'ᅵchiquier.
Essaye de faire un programme (dans le langage de ton choix) qui fait la
mᅵme chose en appuyant sur autant de touches. Pour faire ᅵa en cobol, il
doit falloir 1000 lignes de code.

Nicolas George

unread,
Nov 26, 2009, 6:48:17 PM11/26/09
to
batyann811 , dans le message <4b0ef4b7$0$893$ba4a...@news.orange.fr>, a
�crit�:

> Je le connais assez pour en faire le moins possible.

Oui, �a se voit. Je te conseille d'en parler le moins possible �galement.

Emmanuel Florac

unread,
Nov 27, 2009, 2:14:19 AM11/27/09
to
Le Thu, 26 Nov 2009 12:19:22 +0100, batyann811 a écrit:

> 1 - Typage pas assez strict (pas de booléen, pas d'enum, pas de type
> intervalle, ...)

Le typage "fort" c'est nullissime, tu passes ta vie à faire du
transtypage, les 3/4 de ton code ne sert à rien.

--
De longs désirs, une longue admiration sans espérance, voilà le moyen
d'adorer les femmes, et de rendre l'amour une passion délicieuse!
N. Rétif de la Bretonne.

batyann811

unread,
Nov 27, 2009, 2:31:52 AM11/27/09
to
Nicolas George a �crit :

Comme toi des des enums et des booleens du C ?

batyann811

unread,
Nov 27, 2009, 2:37:34 AM11/27/09
to
Emmanuel Florac a écrit :

>
> Le typage "fort" c'est nullissime, tu passes ta vie à faire du
> transtypage, les 3/4 de ton code ne sert à rien.
>

On peut dire ça pour les types entiers. Encore que ça peut permettre de
détecter quelques erreurs et que ton 3/4 est largement exagéré. En ce
qui concerne les types énuméré et le booléen c'est plutôt le point de
vue du C (de ne pas en avoir) qui est nullissime. Et ça me parait
autrement plus grave.

JKB

unread,
Nov 27, 2009, 4:24:32 AM11/27/09
to
Le 26-11-2009, ? propos de
Re: go,
remy ?crivait dans fr.comp.os.linux.debats :

Ouaips ! Le problème existe sur :

cauchy:[~] > java -version
java version "1.6.0_0"
OpenJDK Runtime Environment (IcedTea6 1.5) (6b16-4)
OpenJDK 64-Bit Server VM (build 14.0-b15, mixed mode)
cauchy:[~] > uname -a
Linux cauchy 2.6.30.5 #2 SMP PREEMPT Wed Sep 2 15:14:49 CEST 2009 x86_64
GNU/Linux

lebegue:[~] > java -version
java version "1.4.2_08"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_08-b03)
Java HotSpot(TM) Client VM (build 1.4.2_08-b03, mixed mode)
lebegue:[~] > /opt/jdk1.6.0_01/bin/java -version
java version "1.6.0_01"
Java(TM) SE Runtime Environment (build 1.6.0_01-b06)
Java HotSpot(TM) Server VM (build 1.6.0_01-b06, mixed mode)
lebegue:[~] > uname -a
SunOS lebegue 5.9 Generic_122300-44 sun4u sparc SUNW,Ultra-2

tchaikovski:[~] > java -version
java version "1.5.0_17"
Java(TM) Platform, Standard Edition for Business (build 1.5.0_17-b04)
Java HotSpot(TM) Server VM (build 1.5.0_17-b04, mixed mode)
tchaikovski:[~] > uname -a
SunOS tchaikovski 5.10 Generic_127127-11 sun4v sparc
SUNW,SPARC-Enterprise-T1000

Je pense que Sun ne sait donc pas écrire une JVM correcte. Quant aux
versions 1.1 ou 1.2, tu repasseras puisque en 1.6, le problèem est
_toujours_ là. Par ailleurs, le problème est indépendant de l'OS
comme tu le vois.

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.

JKB

unread,
Nov 27, 2009, 4:27:30 AM11/27/09
to
Le 26-11-2009, ? propos de
Re: go,
remy ?crivait dans fr.comp.os.linux.debats :

Tu as fini de raconter des conneries ? Le Turbo C que j'utilisais
sur mon PS/2 (i386DX, donc vrai 32 bits) avait des ints sur 16 bits.
Pour avoir des 32 bits, il fallait utiliser un long.

> bool Booléen
> Même taille que le type int, parfois 1 sur quelques compilateurs
>
> un bool sur un sur processeur 64 bits 8 octets peut etre?
> super pour 2 état

Et ce n'est pas idiot. C'est même pour cela qu'il y a des logical*8
en Fortran pour permettre des alignements de données. C'est fou le
temps qu'on peu perdre en n'alignant pas les données !

JKB

unread,
Nov 27, 2009, 4:28:30 AM11/27/09
to
Le 26-11-2009, ? propos de
Re: go,
Stéphane CARPENTIER ?crivait dans fr.comp.os.linux.debats :

C'est un ping entre le client et le serveur sur la socket utilisée
par l'application, pas un ping au sens ICMP du terme. Si le client
ferme sa socket applicative, son client ne fonctionnera pas, donc la
remarque est caduque.

Stephane TOUGARD

unread,
Nov 27, 2009, 10:27:11 AM11/27/09
to
JKB wrote:

> La question est donc : peut-on directement attaquer par un truc
> comme java ?

Et la reponse est "Oui, bien sur !".


Richard Delorme

unread,
Nov 27, 2009, 10:32:10 AM11/27/09
to

Je plussois avec Emmanuel. L'intérêt du typage booléen et des
énumérations tel qu'il est défini dans le langage C (C99 pour les
booléens), c'est de rendre le code plus clair, en ajoutant une sorte de
commentaire aux valeurs que peut avoir une variable.
Maintenant interdire des opérations entre énums, entiers, booléen, etc.
au nom du typage fort, n'apporte qu'un blocage stupide qu'on est obligé
de contourner par du code inutile. Quel intérêt d'interdire :
enum coordinate x, y;
enum offset dx;
/* initialisations */
y = x + dx;

--
Richard

Stephane TOUGARD

unread,
Nov 27, 2009, 10:34:57 AM11/27/09
to
Nicolas George wrote:
> Donc le problème du C, c'est que tu n'y connais rien.

Le C est un excellent language. D'ailleurs, Perl est ecrit en C.

Nicolas George

unread,
Nov 27, 2009, 1:01:21 PM11/27/09
to
Emmanuel Florac , dans le message
<4b0f7c4b$0$9771$426a...@news.free.fr>, a �crit�:
> Le typage "fort" c'est nullissime, tu passes ta vie � faire du
> transtypage

Quand on ne sait pas programmer. Comme en C, d'ailleurs.

Jo Kerr

unread,
Nov 27, 2009, 2:30:35 PM11/27/09
to
batyann811 a couchᅵ sur son ᅵcran :
> Emmanuel Florac a ᅵcrit :
>>
>> Le typage "fort" c'est nullissime, tu passes ta vie ᅵ faire du transtypage,
>> les 3/4 de ton code ne sert ᅵ rien.
>>
>
> On peut dire ᅵa pour les types entiers. Encore que ᅵa peut permettre de
> dᅵtecter quelques erreurs et que ton 3/4 est largement exagᅵrᅵ. En ce qui
> concerne les types ᅵnumᅵrᅵ et le boolᅵen c'est plutᅵt le point de vue du C
> (de ne pas en avoir) qui est nullissime. Et ᅵa me parait autrement plus
> grave.

Quel gros nul ce Ritchie !
Il aurait pu demander conseil ᅵ batyann811. ;-)

--
In gold we trust (c)


Patrice Karatchentzeff

unread,
Nov 28, 2009, 4:29:57 AM11/28/09
to
Stephane TOUGARD <step...@unices.org> a ᅵcritᅵ:

> Le C est un excellent language. D'ailleurs, Perl est ecrit en C.

Perl est aussi ᅵcrit en perl.

Stephane TOUGARD

unread,
Nov 28, 2009, 6:50:32 AM11/28/09
to
Patrice Karatchentzeff wrote:
>> Le C est un excellent language. D'ailleurs, Perl est ecrit en C.
> Perl est aussi écrit en perl.

Ce qui prouve que perl est un excellent language aussi.

batyann811

unread,
Nov 28, 2009, 7:47:51 AM11/28/09
to
Richard Delorme a écrit :

> Je plussois avec Emmanuel. L'intérêt du typage booléen et des
> énumérations tel qu'il est défini dans le langage C (C99 pour les
> booléens), c'est de rendre le code plus clair, en ajoutant une sorte de
> commentaire aux valeurs que peut avoir une variable.
> Maintenant interdire des opérations entre énums, entiers, booléen, etc.
> au nom du typage fort, n'apporte qu'un blocage stupide qu'on est obligé
> de contourner par du code inutile. Quel intérêt d'interdire :
> enum coordinate x, y;
> enum offset dx;
> /* initialisations */
> y = x + dx;

Quel intérêt d'autoriser :

int i;

enum couleur col;
bool condition;

col = rouge;
i = (57 * col + contition) / 42;

batyann811

unread,
Nov 28, 2009, 7:59:06 AM11/28/09
to
Jo Kerr a ᅵcrit :

>
> Quel gros nul ce Ritchie !
> Il aurait pu demander conseil ᅵ batyann811. ;-)
>

A l'ᅵpoque j'ᅵtais beaucoup trop jeune et donc pas dispo. Cependant il y
avait 100000 fois mieux : Niklaus Wirth.

De plus les idᅵes de Ritchie sur les enums ou l'absence de booleens ne
devaient pas ᅵtre si bonne puisque Stroustrup s'est senti obligᅵ d'y
apporter quelques corrections. Cependant je ne doute pas que Ritchie a
fait ces choix en toute conscience. Il voulait un langage d'assez bas
niveau et certainement un compilateur assez simple ᅵ ᅵcrire. Le drame
c'est que son langage a trop bien marchᅵ...

Nicolas George

unread,
Nov 28, 2009, 8:04:24 AM11/28/09
to
batyann811 , dans le message <her6pl$kcv$1...@aioe.org>, a �crit�:
> De plus les id�es de Ritchie sur les enums ou l'absence de booleens ne
> devaient pas �tre si bonne puisque Stroustrup s'est senti oblig� d'y
> apporter quelques corrections.

Ne me fais pas rire. Prendre Stroustrup comme r�f�rence�!

JKB

unread,
Nov 28, 2009, 8:13:32 AM11/28/09
to
Le 28-11-2009, ? propos de
Re: go,
batyann811 ?crivait dans fr.comp.os.linux.debats :
> Jo Kerr a écrit :

>>
>> Quel gros nul ce Ritchie !
>> Il aurait pu demander conseil à batyann811. ;-)
>>
>
> A l'époque j'étais beaucoup trop jeune et donc pas dispo. Cependant il y
> avait 100000 fois mieux : Niklaus Wirth.

Mouais... Affaire de goût. Le seul avantage de ce type, c'est
d'avoir rué contre le goto.

> De plus les idées de Ritchie sur les enums ou l'absence de booleens ne
> devaient pas être si bonne puisque Stroustrup s'est senti obligé d'y
> apporter quelques corrections.

Remouais. Une autre référence pas controversée du tout.
Personnellement, l'évocation de ce type aurait plutôt tendance à me
faire vomir.

> Cependant je ne doute pas que Ritchie a
> fait ces choix en toute conscience. Il voulait un langage d'assez bas

> niveau et certainement un compilateur assez simple à écrire. Le drame
> c'est que son langage a trop bien marché...

Le drame, ce n'est pas que ce langage ait bien marché. Son drame,
c'est qu'il est utilisé dans plein de domaines où il existe des
langages bien mieux fichus. Le C, c'est avant tout pour de
l'écriture système. Lorsqu'on fait du calcul, on devrait utiliser le
Fortran qui a été écrit pour cela. Pour l'embarqué ou le sensible,
ADA est tout indiqué. Le problème est qu'on utilise du C (ou C++,
même combat) partout en partant du principe que c'est une panacée,
ce qui n'est pas le cas. Écrire un code C parfaitement portable et
qui récupère toutes les erreurs de toutes le fonctions, c'est un
sacré boulot et quasiment personne ne le fait, alors que c'est assez
trivial dans d'autres langages.

batyann811

unread,
Nov 28, 2009, 8:20:02 AM11/28/09
to
Nicolas George a �crit :

>
> Ne me fais pas rire. Prendre Stroustrup comme r�f�rence !

Rire ! Mais c'est une bonne id�e �a. Tu devrais essayer de temps en temps.

Je ne dis que Stroustrup est une r�f�rence (quel nom p�nible au
passage). Niklaus Wirth en revanche...

batyann811

unread,
Nov 28, 2009, 8:29:48 AM11/28/09
to
JKB a écrit :

>
> Mouais... Affaire de goût. Le seul avantage de ce type, c'est
> d'avoir rué contre le goto.
>

Je trouve qu'il a quand même pondu des langages pas mal : Pascal, Modula-2.

>
> Remouais. Une autre référence pas controversée du tout.
> Personnellement, l'évocation de ce type aurait plutôt tendance à me
> faire vomir.
>

Je dis juste qu'il a essayé de corriger (un peu) les enums du C et d'y
ajouter des booléens. Rien de plus. Et comme de toutes façons il a voulu
garder une certaine compatibilité avec le C...

>
> Le drame, ce n'est pas que ce langage ait bien marché. Son drame,
> c'est qu'il est utilisé dans plein de domaines où il existe des
> langages bien mieux fichus. Le C, c'est avant tout pour de
> l'écriture système. Lorsqu'on fait du calcul, on devrait utiliser le
> Fortran qui a été écrit pour cela. Pour l'embarqué ou le sensible,
> ADA est tout indiqué. Le problème est qu'on utilise du C (ou C++,
> même combat) partout en partant du principe que c'est une panacée,
> ce qui n'est pas le cas. Écrire un code C parfaitement portable et
> qui récupère toutes les erreurs de toutes le fonctions, c'est un
> sacré boulot et quasiment personne ne le fait, alors que c'est assez
> trivial dans d'autres langages.

Je souscris à 100%. Quand je disait "trop bien marché" je voulais dire
qu'il a été utilisé par tout et pour tout.

JKB

unread,
Nov 28, 2009, 9:18:17 AM11/28/09
to
Le 28-11-2009, ? propos de
Re: go,
batyann811 ?crivait dans fr.comp.os.linux.debats :
> JKB a écrit :
>>
>> Mouais... Affaire de goût. Le seul avantage de ce type, c'est
>> d'avoir rué contre le goto.
>>
>
> Je trouve qu'il a quand même pondu des langages pas mal : Pascal,

Il faudra un jour qu'on m'explique la différence _fondamentale_
entre C et Pascal. J'ai beau chercher, je ne vois pas bien.
On peut écrire un compilo Pascal à l'aide d'un préprocesseur et de
gcc (c'est même comme ça qu'on compile généralement du Pascal sous Unix).

> Modula-2.

Même remarque.

>> Remouais. Une autre référence pas controversée du tout.
>> Personnellement, l'évocation de ce type aurait plutôt tendance à me
>> faire vomir.
>>
>
> Je dis juste qu'il a essayé de corriger (un peu) les enums du C et d'y
> ajouter des booléens. Rien de plus. Et comme de toutes façons il a voulu
> garder une certaine compatibilité avec le C...

Et alors ? C'est au programmeur de faire la différence. Entier,
booléen, énumération, pour le processeur, ça termine en entier
quel que soit le langage (sauf à adresser des bits directement).
La différence, c'est l'autorisation ou non du transtypage.
Maintenant, très clairement, si on interdit le transtypage
implicite, il faut _aussi_ pour être cohérent que le langage vérifie
à la volée les indices de tableaux, les longueurs de buffers et tous
les dépassements entiers qui peuvent survenir. Donc, soit on utilise
le C en étant conscient des problèmes de transtypages et de
dépassements de tous acabits, soit on utilise un langage plus
strict (mais avec tout ce qui vient dans le paquet).

>> Le drame, ce n'est pas que ce langage ait bien marché. Son drame,
>> c'est qu'il est utilisé dans plein de domaines où il existe des
>> langages bien mieux fichus. Le C, c'est avant tout pour de
>> l'écriture système. Lorsqu'on fait du calcul, on devrait utiliser le
>> Fortran qui a été écrit pour cela. Pour l'embarqué ou le sensible,
>> ADA est tout indiqué. Le problème est qu'on utilise du C (ou C++,
>> même combat) partout en partant du principe que c'est une panacée,
>> ce qui n'est pas le cas. Écrire un code C parfaitement portable et
>> qui récupère toutes les erreurs de toutes le fonctions, c'est un
>> sacré boulot et quasiment personne ne le fait, alors que c'est assez
>> trivial dans d'autres langages.
>
> Je souscris à 100%. Quand je disait "trop bien marché" je voulais dire
> qu'il a été utilisé par tout et pour tout.

JKB

Stephane TOUGARD

unread,
Nov 28, 2009, 9:00:32 AM11/28/09
to
JKB wrote:

> Mouais... Affaire de goût. Le seul avantage de ce type, c'est
> d'avoir rué contre le goto.

Je ne vois aucun probleme a utiliser GOTO quand cela est necessaire. En
particulier quand cela permet de ne pas s'embarquer dans des
imbrications de if.

JKB

unread,
Nov 28, 2009, 9:43:10 AM11/28/09
to
Le 28-11-2009, ? propos de
Re: go,
Stephane TOUGARD ?crivait dans fr.comp.os.linux.debats :

Depuis que je ne code plus en Basic de base (le truc avec les
numéros de lignes, parce que même en Turbo Basic, je n'ai jamais
utilisé de goto), je n'ai plus _jamais_ utilisé ce truc et sans
imbriquer des if à n'en plus finir. Si pour éviter des constructions
de structures conditionnelles tu es contraint à l'utilisation du goto,
c'est que ton code a un sérieux problème de conception.

J'attends aussi l'argument du "le goto, ça évite au programme de
gérer la pile en passant d'un point à un autre d'une routine", parce
que c'est trivialement faux. Le goto en question, il fait beaucoup
plus de choses que de sauter à l'étiquette (il vire les varables
locales aux blocs, bidouille la pile, bref, plein de choses dans le
dos de l'utilisateur). Dans tous les cas, c'est préjudiciable
(lisibilité du code, côté spaghetti et surtout opérations sur la
pile et le tas).

batyann811

unread,
Nov 28, 2009, 11:38:54 AM11/28/09
to
JKB a écrit :

>
> Il faudra un jour qu'on m'explique la différence _fondamentale_
> entre C et Pascal. J'ai beau chercher, je ne vois pas bien.
Quelques trucs plutôt sympas à mon goût : de vrais enums, des types
intervales, les ensembles, le contrôle des bornes bornes des tableaux,
la gestion des chaînes de caractères largement plus simple qu'en C, pas
besoins de se faire chier avec un makefile et des '.h'. Tu peux trouver
que ça n'est pas fondamentale mais qu'est ce que c'est agréable à l'usage !

Il y a bien sûr des trucs en moins (les champs de bits) ou qui sont un
peu plus pénible : le point virgule en séparateur d'instruction (ça
c'est une vraie connerie).

> On peut écrire un compilo Pascal à l'aide d'un préprocesseur et de
> gcc (c'est même comme ça qu'on compile généralement du Pascal sous Unix).
>

Pas le préprocesseur du C alors... Après tout dépend de ce qu'est un
préprocesseur pour toi.

>> Modula-2.
>
> Même remarque.
>

Assez peu de différences par rapport au pascal. Principalement un
système de module qui se rapproche plus des packages d'ADA et une
syntaxe qui evite les begin/end à répétition.

>
> Et alors ? C'est au programmeur de faire la différence. Entier,
> booléen, énumération, pour le processeur, ça termine en entier
> quel que soit le langage (sauf à adresser des bits directement).
> La différence, c'est l'autorisation ou non du transtypage.

Bof. Le programmeur c'est un être humain, il fait des erreurs alors
autant que le compilo en détecte un maximum. Après je ne sais pas
l'usage que tu as des enums mais pour l'usage que j'en ai je ne vois que
très peu de raisons de pourvoir les mélanger avec des entiers dans des
expressions ou de pouvoir les additionner entre eux. Mais si tu as des
exemples...

> Maintenant, très clairement, si on interdit le transtypage
> implicite, il faut _aussi_ pour être cohérent que le langage vérifie
> à la volée les indices de tableaux, les longueurs de buffers et tous
> les dépassements entiers qui peuvent survenir. Donc, soit on utilise
> le C en étant conscient des problèmes de transtypages et de
> dépassements de tous acabits, soit on utilise un langage plus
> strict (mais avec tout ce qui vient dans le paquet).

Sinon Pascal, Modula et ADA font tous les contrôles dont tu parles et
c'est très bien. Aller pour te faire râler je rajoute Java à la liste
(sauf pour les dépassements d'entiers).

It is loading more messages.
0 new messages