C'est assez folklo le passage où le code source est passé aux regexp
pour retrouver le nom des classes publiques et enregistrer dans des
fichiers ".java" le code avant de le compiler...
C'est assez folklo le passage où le code source est passé aux regexp
pour retrouver le nom des classes publiques et enregistrer dans des
fichiers ".java" le code avant de le compiler...
C'est assez folklo le passage où le code source est passé aux regexp
pour retrouver le nom des classes publiques et enregistrer dans des
fichiers ".java" le code avant de le compiler...
Et la souplesse, qu'en fais tu?
niobe% gcl
GCL (GNU Common Lisp) 2.6.7 ANSI Mar 17 2006 21:52:37
...(+ 1 2)
3(+ "Hello" "World!")
Error in + [or a callee]: "Hello" is not of type NUMBER.
Et la souplesse, qu'en fais tu?
niobe% gcl
GCL (GNU Common Lisp) 2.6.7 ANSI Mar 17 2006 21:52:37
...
(+ 1 2)
3
(+ "Hello" "World!")
Error in + [or a callee]: "Hello" is not of type NUMBER.
Et la souplesse, qu'en fais tu?
niobe% gcl
GCL (GNU Common Lisp) 2.6.7 ANSI Mar 17 2006 21:52:37
...(+ 1 2)
3(+ "Hello" "World!")
Error in + [or a callee]: "Hello" is not of type NUMBER.
Merci beaucoup, mais justement "reparlons-en", tout en ayant déjà
utilisé (peu c'est vrai) ces trois langages, je trouve quand même que
Java a une plus belle syntaxe.
La syntaxe du Java est héritée de celle du C et emprunte un peu de celle du
Pour ce qui est de SmallTalk, le concept est intéressant mais c'est en
grande partie la syntaxe qui m'a génée.
C'est normal, venant de la famille C, la syntaxe Smalltalk impose de changer
Idem pour Objective C, même si le concept de typage dyanmique est assez
pratique dans ce genre de langage.
Elle permet surtoût de garder la simplicité recharchée par Java à ses
Et toujours idem pour Eiffel même si c'est vrai que j'apprécie le fait
qu'il soit contrairement à Java, 100% objet.
Pourtant c'est un langage à parenthèses, mais il est vrai plus de la lignée
Merci beaucoup, mais justement "reparlons-en", tout en ayant déjà
utilisé (peu c'est vrai) ces trois langages, je trouve quand même que
Java a une plus belle syntaxe.
La syntaxe du Java est héritée de celle du C et emprunte un peu de celle du
Pour ce qui est de SmallTalk, le concept est intéressant mais c'est en
grande partie la syntaxe qui m'a génée.
C'est normal, venant de la famille C, la syntaxe Smalltalk impose de changer
Idem pour Objective C, même si le concept de typage dyanmique est assez
pratique dans ce genre de langage.
Elle permet surtoût de garder la simplicité recharchée par Java à ses
Et toujours idem pour Eiffel même si c'est vrai que j'apprécie le fait
qu'il soit contrairement à Java, 100% objet.
Pourtant c'est un langage à parenthèses, mais il est vrai plus de la lignée
Merci beaucoup, mais justement "reparlons-en", tout en ayant déjà
utilisé (peu c'est vrai) ces trois langages, je trouve quand même que
Java a une plus belle syntaxe.
La syntaxe du Java est héritée de celle du C et emprunte un peu de celle du
Pour ce qui est de SmallTalk, le concept est intéressant mais c'est en
grande partie la syntaxe qui m'a génée.
C'est normal, venant de la famille C, la syntaxe Smalltalk impose de changer
Idem pour Objective C, même si le concept de typage dyanmique est assez
pratique dans ce genre de langage.
Elle permet surtoût de garder la simplicité recharchée par Java à ses
Et toujours idem pour Eiffel même si c'est vrai que j'apprécie le fait
qu'il soit contrairement à Java, 100% objet.
Pourtant c'est un langage à parenthèses, mais il est vrai plus de la lignée
Un langage orienté sujet (Smalltalk,
Lisaac, ...) est, à mon avis, pour avoir programmé avec des langages de ces
deux catégories, plus adapté à la conception objet et est, surtoût, plus
facile à relire.
Toutefois, pour moi, le plus gros pb de Java vient des exceptions : son
implémentation de celles-ci fait que les exceptions ne sont plus vraiment
utilisées pour gérer des exceptions comme il devrait être, et sont
utilisées même pour manipuler des erreurs (qui sont, rappelons le, des cas
"normaux" d'un programme).
Idem pour Objective C, même si le concept de typage dyanmique est assez
pratique dans ce genre de langage.
Elle permet surtoût de garder la simplicité recharchée par Java à ses
débuts, tout en gardant flexibilité et expressivité, ce qu'a perdu Java en
privilégiant le typage statique sans support de la généricité contrainte
(ce que fait maintenant Java 5). Toutefois, il est vrai, la généricité
contrainte complexifie le langage, mais ceci est /obligatoire/ si on désire
faire correctement de l'objet avec un langage à typage statique. A moins
qu'une solution de type de l'attribut de type 'class d'Ada dans Java
pouvait permettre à celui-ci de garder à la fois simplicité et une certaine
flexibilité et expressivité.
Un langage orienté sujet (Smalltalk,
Lisaac, ...) est, à mon avis, pour avoir programmé avec des langages de ces
deux catégories, plus adapté à la conception objet et est, surtoût, plus
facile à relire.
Toutefois, pour moi, le plus gros pb de Java vient des exceptions : son
implémentation de celles-ci fait que les exceptions ne sont plus vraiment
utilisées pour gérer des exceptions comme il devrait être, et sont
utilisées même pour manipuler des erreurs (qui sont, rappelons le, des cas
"normaux" d'un programme).
Idem pour Objective C, même si le concept de typage dyanmique est assez
pratique dans ce genre de langage.
Elle permet surtoût de garder la simplicité recharchée par Java à ses
débuts, tout en gardant flexibilité et expressivité, ce qu'a perdu Java en
privilégiant le typage statique sans support de la généricité contrainte
(ce que fait maintenant Java 5). Toutefois, il est vrai, la généricité
contrainte complexifie le langage, mais ceci est /obligatoire/ si on désire
faire correctement de l'objet avec un langage à typage statique. A moins
qu'une solution de type de l'attribut de type 'class d'Ada dans Java
pouvait permettre à celui-ci de garder à la fois simplicité et une certaine
flexibilité et expressivité.
Un langage orienté sujet (Smalltalk,
Lisaac, ...) est, à mon avis, pour avoir programmé avec des langages de ces
deux catégories, plus adapté à la conception objet et est, surtoût, plus
facile à relire.
Toutefois, pour moi, le plus gros pb de Java vient des exceptions : son
implémentation de celles-ci fait que les exceptions ne sont plus vraiment
utilisées pour gérer des exceptions comme il devrait être, et sont
utilisées même pour manipuler des erreurs (qui sont, rappelons le, des cas
"normaux" d'un programme).
Idem pour Objective C, même si le concept de typage dyanmique est assez
pratique dans ce genre de langage.
Elle permet surtoût de garder la simplicité recharchée par Java à ses
débuts, tout en gardant flexibilité et expressivité, ce qu'a perdu Java en
privilégiant le typage statique sans support de la généricité contrainte
(ce que fait maintenant Java 5). Toutefois, il est vrai, la généricité
contrainte complexifie le langage, mais ceci est /obligatoire/ si on désire
faire correctement de l'objet avec un langage à typage statique. A moins
qu'une solution de type de l'attribut de type 'class d'Ada dans Java
pouvait permettre à celui-ci de garder à la fois simplicité et une certaine
flexibilité et expressivité.
Toutefois, pour moi, le plus gros pb de Java vient des exceptions : son
implémentation de celles-ci fait que les exceptions ne sont plus vraiment
utilisées pour gérer des exceptions comme il devrait être, et sont
utilisées même pour manipuler des erreurs (qui sont, rappelons le, des
cas "normaux" d'un programme).
Tout dépend de comment le développeur les utilisent.
Je trouve que les exceptions générées par les classes de l'API, sont
bien faite.
Je dirais non. En général, les exceptions relèvent de l'application et non
Je me trompe peut-être, mais est-ce qu'un langage à typage dynamique
(surtout dans le cas de langages interprétés ou pseudo-compilé) n'est
pas plus gourmand en ressources qu'un langage à typage statique ?
Non, tu ne te trompes pas. Mais ce qui est vraiment gourmand, ce sont les
De plus, je trouve les langages à typage assez dangereux, surtout pour
les débutants et même encore un peu plus tard (l'erreur est humaine ;-) ).
Il m'est souvent arrivé d'avoir quelques soucis avec PHP à ce sujet, et
de chercher le type et le contenu de certaines variables.
PHP est un autre pb. Dans ce langage, tout est global ce qui amène souvent à
Toutefois, pour moi, le plus gros pb de Java vient des exceptions : son
implémentation de celles-ci fait que les exceptions ne sont plus vraiment
utilisées pour gérer des exceptions comme il devrait être, et sont
utilisées même pour manipuler des erreurs (qui sont, rappelons le, des
cas "normaux" d'un programme).
Tout dépend de comment le développeur les utilisent.
Je trouve que les exceptions générées par les classes de l'API, sont
bien faite.
Je dirais non. En général, les exceptions relèvent de l'application et non
Je me trompe peut-être, mais est-ce qu'un langage à typage dynamique
(surtout dans le cas de langages interprétés ou pseudo-compilé) n'est
pas plus gourmand en ressources qu'un langage à typage statique ?
Non, tu ne te trompes pas. Mais ce qui est vraiment gourmand, ce sont les
De plus, je trouve les langages à typage assez dangereux, surtout pour
les débutants et même encore un peu plus tard (l'erreur est humaine ;-) ).
Il m'est souvent arrivé d'avoir quelques soucis avec PHP à ce sujet, et
de chercher le type et le contenu de certaines variables.
PHP est un autre pb. Dans ce langage, tout est global ce qui amène souvent à
Toutefois, pour moi, le plus gros pb de Java vient des exceptions : son
implémentation de celles-ci fait que les exceptions ne sont plus vraiment
utilisées pour gérer des exceptions comme il devrait être, et sont
utilisées même pour manipuler des erreurs (qui sont, rappelons le, des
cas "normaux" d'un programme).
Tout dépend de comment le développeur les utilisent.
Je trouve que les exceptions générées par les classes de l'API, sont
bien faite.
Je dirais non. En général, les exceptions relèvent de l'application et non
Je me trompe peut-être, mais est-ce qu'un langage à typage dynamique
(surtout dans le cas de langages interprétés ou pseudo-compilé) n'est
pas plus gourmand en ressources qu'un langage à typage statique ?
Non, tu ne te trompes pas. Mais ce qui est vraiment gourmand, ce sont les
De plus, je trouve les langages à typage assez dangereux, surtout pour
les débutants et même encore un peu plus tard (l'erreur est humaine ;-) ).
Il m'est souvent arrivé d'avoir quelques soucis avec PHP à ce sujet, et
de chercher le type et le contenu de certaines variables.
PHP est un autre pb. Dans ce langage, tout est global ce qui amène souvent à
Ceci signifie que ce
fichier peut-être modifié par l'utilisateur. Si ce fichier n'est pas trouvé
ou ne peut être lu, ceci est une erreur et pas une exception parce que, en
le mettant à disposition du tout à chacun, le cas que ce produit ce genre
d'erreur ne peut être considéré comme une excéption.
Ceci signifie que ce
fichier peut-être modifié par l'utilisateur. Si ce fichier n'est pas trouvé
ou ne peut être lu, ceci est une erreur et pas une exception parce que, en
le mettant à disposition du tout à chacun, le cas que ce produit ce genre
d'erreur ne peut être considéré comme une excéption.
Ceci signifie que ce
fichier peut-être modifié par l'utilisateur. Si ce fichier n'est pas trouvé
ou ne peut être lu, ceci est une erreur et pas une exception parce que, en
le mettant à disposition du tout à chacun, le cas que ce produit ce genre
d'erreur ne peut être considéré comme une excéption.
Miguel Moquillon , dans le message
<447c4710$0$19575$, a écrit :Ceci signifie que ce
fichier peut-être modifié par l'utilisateur. Si ce fichier n'est pas
trouvé ou ne peut être lu, ceci est une erreur et pas une exception parce
que, en le mettant à disposition du tout à chacun, le cas que ce produit
ce genre d'erreur ne peut être considéré comme une excéption.
Là, c'est toi qui a des idées préconçues sur ce que doivent être les
exceptions, probablement orienté par un des cens que peut avoir ce mot en
français courant.
Non, je ne crois pas. C'est ce que l'on apprend en Génie Logiciel.
Miguel Moquillon , dans le message
<447c4710$0$19575$636a55ce@news.free.fr>, a écrit :
Ceci signifie que ce
fichier peut-être modifié par l'utilisateur. Si ce fichier n'est pas
trouvé ou ne peut être lu, ceci est une erreur et pas une exception parce
que, en le mettant à disposition du tout à chacun, le cas que ce produit
ce genre d'erreur ne peut être considéré comme une excéption.
Là, c'est toi qui a des idées préconçues sur ce que doivent être les
exceptions, probablement orienté par un des cens que peut avoir ce mot en
français courant.
Non, je ne crois pas. C'est ce que l'on apprend en Génie Logiciel.
Miguel Moquillon , dans le message
<447c4710$0$19575$, a écrit :Ceci signifie que ce
fichier peut-être modifié par l'utilisateur. Si ce fichier n'est pas
trouvé ou ne peut être lu, ceci est une erreur et pas une exception parce
que, en le mettant à disposition du tout à chacun, le cas que ce produit
ce genre d'erreur ne peut être considéré comme une excéption.
Là, c'est toi qui a des idées préconçues sur ce que doivent être les
exceptions, probablement orienté par un des cens que peut avoir ce mot en
français courant.
Non, je ne crois pas. C'est ce que l'on apprend en Génie Logiciel.
Non, je ne crois pas. C'est ce que l'on apprend en Génie Logiciel.
Je suis concepteur et effectivement j'ai appris à bien faire attention au
sens des mots car ceci peut avoir un impact important aussi bien en
architecture qu'en conception.
Non, je ne crois pas. C'est ce que l'on apprend en Génie Logiciel.
Je suis concepteur et effectivement j'ai appris à bien faire attention au
sens des mots car ceci peut avoir un impact important aussi bien en
architecture qu'en conception.
Non, je ne crois pas. C'est ce que l'on apprend en Génie Logiciel.
Je suis concepteur et effectivement j'ai appris à bien faire attention au
sens des mots car ceci peut avoir un impact important aussi bien en
architecture qu'en conception.
En général, les exceptions relèvent de l'application et non
d'une API. Exemple de FileInputStream. Dans le cas d'une application qui
souhaite lire un fichier de conf placé dans /etc. Ceci signifie que ce
fichier peut-être modifié par l'utilisateur. Si ce fichier n'est pas trouvé
ou ne peut être lu, ceci est une erreur et pas une exception parce que, en
le mettant à disposition du tout à chacun, le cas que ce produit ce genre
d'erreur ne peut être considéré comme une excéption. Donc, la déclaration
de l'exception FileNotFoundException est conceptuellement fausse car ceci
relève de l'erreur (cas "normal") et non de l'exception. Maintenant, si le
fichier de conf est mis dans un lieu caché (par exemple un jar) et qu'il
n'est pas trouvé ou ne peut être lu par l'application relève lui de
l'exception et non de l'erreur car ce cas ne devrait pas se produire si
l'application est correctement construite et déployée.
Nous avons donc un exemple où une exception est mal utilisée. Et ceci
conduit finalement avec le temps aux développeurs à ne plus penser
correctement les exceptions, ce qui amène souvent à alourdir la conception
d'un programme. N'oublions pas que notre façon de percevoir les choses et
conditionné par les outils que l'on utilise, et plus particulièrement par
le langage.
Je me trompe peut-être, mais est-ce qu'un langage à typage dynamique
(surtout dans le cas de langages interprétés ou pseudo-compilé) n'est
pas plus gourmand en ressources qu'un langage à typage statique ?
Non, tu ne te trompes pas. Mais ce qui est vraiment gourmand, ce sont les
VM, et plus particulièrement les JVM (ce sont les VM les plus lourdes que
j'ai rencontré).
De plus, je trouve les langages à typage assez dangereux, surtout pour
les débutants et même encore un peu plus tard (l'erreur est humaine ;-) ).
Il m'est souvent arrivé d'avoir quelques soucis avec PHP à ce sujet, et
de chercher le type et le contenu de certaines variables.
PHP est un autre pb. Dans ce langage, tout est global ce qui amène souvent à
de désagréables surprises (je n'ai pas touché à PHP 5).
Avec des langages comme Smalltalk par exmple, tu n'as pas ce genre de pb.
Par exemple, en cours de codage, lorsque tu écris un envoi de message à un
objet qui n'y répond pas, l'environnement de dév. te le signale.
En général, les exceptions relèvent de l'application et non
d'une API. Exemple de FileInputStream. Dans le cas d'une application qui
souhaite lire un fichier de conf placé dans /etc. Ceci signifie que ce
fichier peut-être modifié par l'utilisateur. Si ce fichier n'est pas trouvé
ou ne peut être lu, ceci est une erreur et pas une exception parce que, en
le mettant à disposition du tout à chacun, le cas que ce produit ce genre
d'erreur ne peut être considéré comme une excéption. Donc, la déclaration
de l'exception FileNotFoundException est conceptuellement fausse car ceci
relève de l'erreur (cas "normal") et non de l'exception. Maintenant, si le
fichier de conf est mis dans un lieu caché (par exemple un jar) et qu'il
n'est pas trouvé ou ne peut être lu par l'application relève lui de
l'exception et non de l'erreur car ce cas ne devrait pas se produire si
l'application est correctement construite et déployée.
Nous avons donc un exemple où une exception est mal utilisée. Et ceci
conduit finalement avec le temps aux développeurs à ne plus penser
correctement les exceptions, ce qui amène souvent à alourdir la conception
d'un programme. N'oublions pas que notre façon de percevoir les choses et
conditionné par les outils que l'on utilise, et plus particulièrement par
le langage.
Je me trompe peut-être, mais est-ce qu'un langage à typage dynamique
(surtout dans le cas de langages interprétés ou pseudo-compilé) n'est
pas plus gourmand en ressources qu'un langage à typage statique ?
Non, tu ne te trompes pas. Mais ce qui est vraiment gourmand, ce sont les
VM, et plus particulièrement les JVM (ce sont les VM les plus lourdes que
j'ai rencontré).
De plus, je trouve les langages à typage assez dangereux, surtout pour
les débutants et même encore un peu plus tard (l'erreur est humaine ;-) ).
Il m'est souvent arrivé d'avoir quelques soucis avec PHP à ce sujet, et
de chercher le type et le contenu de certaines variables.
PHP est un autre pb. Dans ce langage, tout est global ce qui amène souvent à
de désagréables surprises (je n'ai pas touché à PHP 5).
Avec des langages comme Smalltalk par exmple, tu n'as pas ce genre de pb.
Par exemple, en cours de codage, lorsque tu écris un envoi de message à un
objet qui n'y répond pas, l'environnement de dév. te le signale.
En général, les exceptions relèvent de l'application et non
d'une API. Exemple de FileInputStream. Dans le cas d'une application qui
souhaite lire un fichier de conf placé dans /etc. Ceci signifie que ce
fichier peut-être modifié par l'utilisateur. Si ce fichier n'est pas trouvé
ou ne peut être lu, ceci est une erreur et pas une exception parce que, en
le mettant à disposition du tout à chacun, le cas que ce produit ce genre
d'erreur ne peut être considéré comme une excéption. Donc, la déclaration
de l'exception FileNotFoundException est conceptuellement fausse car ceci
relève de l'erreur (cas "normal") et non de l'exception. Maintenant, si le
fichier de conf est mis dans un lieu caché (par exemple un jar) et qu'il
n'est pas trouvé ou ne peut être lu par l'application relève lui de
l'exception et non de l'erreur car ce cas ne devrait pas se produire si
l'application est correctement construite et déployée.
Nous avons donc un exemple où une exception est mal utilisée. Et ceci
conduit finalement avec le temps aux développeurs à ne plus penser
correctement les exceptions, ce qui amène souvent à alourdir la conception
d'un programme. N'oublions pas que notre façon de percevoir les choses et
conditionné par les outils que l'on utilise, et plus particulièrement par
le langage.
Je me trompe peut-être, mais est-ce qu'un langage à typage dynamique
(surtout dans le cas de langages interprétés ou pseudo-compilé) n'est
pas plus gourmand en ressources qu'un langage à typage statique ?
Non, tu ne te trompes pas. Mais ce qui est vraiment gourmand, ce sont les
VM, et plus particulièrement les JVM (ce sont les VM les plus lourdes que
j'ai rencontré).
De plus, je trouve les langages à typage assez dangereux, surtout pour
les débutants et même encore un peu plus tard (l'erreur est humaine ;-) ).
Il m'est souvent arrivé d'avoir quelques soucis avec PHP à ce sujet, et
de chercher le type et le contenu de certaines variables.
PHP est un autre pb. Dans ce langage, tout est global ce qui amène souvent à
de désagréables surprises (je n'ai pas touché à PHP 5).
Avec des langages comme Smalltalk par exmple, tu n'as pas ce genre de pb.
Par exemple, en cours de codage, lorsque tu écris un envoi de message à un
objet qui n'y répond pas, l'environnement de dév. te le signale.
J'ai vu des gens apprendre à mettre des underscores au début des
identificateurs en C, alors ce qu'on apprend...
Le « génie logiciel », c'est fait pour que des gens médiocres arrivent à
pondre des programmes pas trop buggés pour répondre à des besoins simples.
Ce n'est pas vraiment une référence pour ce qui est de la qualité du code.
Je suis concepteur et effectivement j'ai appris à bien faire attention au
sens des mots car ceci peut avoir un impact important aussi bien en
architecture qu'en conception.
Le sens des mots dans un jargon technique ne coïncide que rarement avec le
sens commun des mêmes mots. Si on n'a pas compris ça, ça va mal se passer.
J'ai vu des gens apprendre à mettre des underscores au début des
identificateurs en C, alors ce qu'on apprend...
Le « génie logiciel », c'est fait pour que des gens médiocres arrivent à
pondre des programmes pas trop buggés pour répondre à des besoins simples.
Ce n'est pas vraiment une référence pour ce qui est de la qualité du code.
Je suis concepteur et effectivement j'ai appris à bien faire attention au
sens des mots car ceci peut avoir un impact important aussi bien en
architecture qu'en conception.
Le sens des mots dans un jargon technique ne coïncide que rarement avec le
sens commun des mêmes mots. Si on n'a pas compris ça, ça va mal se passer.
J'ai vu des gens apprendre à mettre des underscores au début des
identificateurs en C, alors ce qu'on apprend...
Le « génie logiciel », c'est fait pour que des gens médiocres arrivent à
pondre des programmes pas trop buggés pour répondre à des besoins simples.
Ce n'est pas vraiment une référence pour ce qui est de la qualité du code.
Je suis concepteur et effectivement j'ai appris à bien faire attention au
sens des mots car ceci peut avoir un impact important aussi bien en
architecture qu'en conception.
Le sens des mots dans un jargon technique ne coïncide que rarement avec le
sens commun des mêmes mots. Si on n'a pas compris ça, ça va mal se passer.