Bonjour à tous,
J'aurai besoin d'aiguiser mes arguments lorsqu'il s'agit de comparer Smalltalk et d'autres langages objets comme C++ ou Java.
Il y a la page https://community.ofset.org/wiki/Evang%C3%A9liser_les_entreprises_%C3%A0_Sma... qui fait quelques comparaisons, quoique le dernier exemple me dépasse.
Il y a aussi la page http://www.esug.org/whyusingsmalltalktoteachoop/ qui donne quelques pistes.
En balançant des exemples en vrac sur la liste, on pourrait raffiner les arguments.
Par exemple en voici quelques uns (à l'avantage ou l'inconvénient de Squeak) où il y a peut être des bêtises :
* JAVA a réussi l'exploit de n'avoir ni l'avantage des langages compilés - vitesse d'exécution - tout en n'ayant pas l'avantage des langages à byte code - développement incrémental. En plus de cela il a les inconvénients des langages compilés - phase de compilation barbante - et des langages byte code - lenteur.
* Avec Squeak il est impossible d'écrire une applications autonome.
* En C++ je suis toujours obligé de regarder dans un manuel de programmation pour me rappeler de la différence entre des attributs de type 'private' et 'protected' au niveau des droits d'accès des attributs lors d'héritage.
* Squeak s'intègre très mal à l'environnement hôte: différence de look and fell par exemple.
* Développer du C/C++ avec Emacs ou VI c'est développer avec des outils de l'age de pierre par rapport à ceux de l'IDE de Squeak.
* Avec Squeak, on est toujours obligé de naviguer entre 5-10 classes pour comprendre ce qui se passe dans un programme. Du coup la mémoire humaine SWAP et ça ralentit le travail de développement. (je retourne l'argument donné dans le page pointée par 1e lien ci-dessus)
Hilaire
Le 6 oct. 05 à 14:28, Hilaire Fernandes a écrit :
Bonjour à tous,
J'aurai besoin d'aiguiser mes arguments lorsqu'il s'agit de comparer Smalltalk et d'autres langages objets comme C++ ou Java.
Il y a la page https://community.ofset.org/wiki/ Evangéliser_les_entreprises_à_Smalltalk qui fait quelques comparaisons, quoique le dernier exemple me dépasse.
Il y a aussi la page http://www.esug.org/ whyusingsmalltalktoteachoop/ qui donne quelques pistes.
En balançant des exemples en vrac sur la liste, on pourrait raffiner les arguments.
Par exemple en voici quelques uns (à l'avantage ou l'inconvénient de Squeak) où il y a peut être des bêtises :
- JAVA a réussi l'exploit de n'avoir ni l'avantage des langages
compilés - vitesse d'exécution - tout en n'ayant pas l'avantage des langages à byte code - développement incrémental. En plus de cela il a les inconvénients des langages compilés - phase de compilation barbante - et des langages byte code - lenteur.
Il faudrait utiliser les benchmarks développés sur de nouveaux langages du site : http://shootout.alioth.debian.org/ Il y a une version GST, mais pas Squeak pour l'instant.
- Avec Squeak il est impossible d'écrire une applications autonome.
Cees de Groot a parlé récemment dans la liste squeak-dev d'une application indépendante qu'il a développé qui utilise WxWidget.
- En C++ je suis toujours obligé de regarder dans un manuel de
programmation pour me rappeler de la différence entre des attributs de type 'private' et 'protected' au niveau des droits d'accès des attributs lors d'héritage.
- Squeak s'intègre très mal à l'environnement hôte: différence de
look and fell par exemple.
- Développer du C/C++ avec Emacs ou VI c'est développer avec des
outils de l'age de pierre par rapport à ceux de l'IDE de Squeak.
- Avec Squeak, on est toujours obligé de naviguer entre 5-10
classes pour comprendre ce qui se passe dans un programme. Du coup la mémoire humaine SWAP et ça ralentit le travail de développement. (je retourne l'argument donné dans le page pointée par 1e lien ci- dessus)
Je pense que tu peux rajouter tous ces arguments dans la page, que ce soit positif ou négatif pour Smalltalk. Certains arguments peuvent être donné pour Smalltalk, d'autres spécifiques à Squeak (comme le look&feel).
-- oooo Dr. Serge Stinckwich OOOOOOOO Université de Caen>CNRS UMR 6072>GREYC>MAD OOESUGOO http://purl.org/net/SergeStinckwich oooooo Smalltalkers do: [:it | All with: Class, (And love: it)] \ / ##
Je n'arrive pas à me désinscrire. Comment faire, s'il vous plaît ? Merci.
Pascal ----- Original Message ----- From: "Serge Stinckwich" Serge.Stinckwich@info.unicaen.fr To: ""Squeak in french / Squeak en français"" squeak-fr@lists.squeakfoundation.org Sent: Thursday, October 06, 2005 2:39 PM Subject: Re: [Squeak-fr] Smalltalk vs C++/Java
Le 6 oct. 05 à 14:28, Hilaire Fernandes a écrit :
Bonjour à tous,
J'aurai besoin d'aiguiser mes arguments lorsqu'il s'agit de comparer Smalltalk et d'autres langages objets comme C++ ou Java.
Il y a la page https://community.ofset.org/wiki/ Evangéliser_les_entreprises_à_Smalltalk qui fait quelques comparaisons, quoique le dernier exemple me dépasse.
Il y a aussi la page http://www.esug.org/ whyusingsmalltalktoteachoop/ qui donne quelques pistes.
En balançant des exemples en vrac sur la liste, on pourrait raffiner les arguments.
Par exemple en voici quelques uns (à l'avantage ou l'inconvénient de Squeak) où il y a peut être des bêtises :
- JAVA a réussi l'exploit de n'avoir ni l'avantage des langages
compilés - vitesse d'exécution - tout en n'ayant pas l'avantage des langages à byte code - développement incrémental. En plus de cela il a les inconvénients des langages compilés - phase de compilation barbante - et des langages byte code - lenteur.
Il faudrait utiliser les benchmarks développés sur de nouveaux langages du site : http://shootout.alioth.debian.org/ Il y a une version GST, mais pas Squeak pour l'instant.
- Avec Squeak il est impossible d'écrire une applications autonome.
Cees de Groot a parlé récemment dans la liste squeak-dev d'une application indépendante qu'il a développé qui utilise WxWidget.
- En C++ je suis toujours obligé de regarder dans un manuel de
programmation pour me rappeler de la différence entre des attributs de type 'private' et 'protected' au niveau des droits d'accès des attributs lors d'héritage.
- Squeak s'intègre très mal à l'environnement hôte: différence de look
and fell par exemple.
- Développer du C/C++ avec Emacs ou VI c'est développer avec des outils
de l'age de pierre par rapport à ceux de l'IDE de Squeak.
- Avec Squeak, on est toujours obligé de naviguer entre 5-10 classes pour
comprendre ce qui se passe dans un programme. Du coup la mémoire humaine SWAP et ça ralentit le travail de développement. (je retourne l'argument donné dans le page pointée par 1e lien ci- dessus)
Je pense que tu peux rajouter tous ces arguments dans la page, que ce soit positif ou négatif pour Smalltalk. Certains arguments peuvent être donné pour Smalltalk, d'autres spécifiques à Squeak (comme le look&feel).
-- oooo Dr. Serge Stinckwich OOOOOOOO Université de Caen>CNRS UMR 6072>GREYC>MAD OOESUGOO http://purl.org/net/SergeStinckwich oooooo Smalltalkers do: [:it | All with: Class, (And love: it)] \ / ##
_______________________________________________ Squeak-fr mailing list Squeak-fr@lists.squeakfoundation.org http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Le 8 oct. 05 à 09:24, p.pouillard a écrit :
Je n'arrive pas à me désinscrire. Comment faire, s'il vous plaît ?
Cela se passe ici : http://lists.squeakfoundation.org/cgi-bin/mailman/ listinfo/squeak-fr
Cordialement, -- oooo Dr. Serge Stinckwich OOOOOOOO Université de Caen>CNRS UMR 6072>GREYC>MAD OOESUGOO http://purl.org/net/SergeStinckwich oooooo Smalltalkers do: [:it | All with: Class, (And love: it)] \ / ##
On 6 oct. 05, at 14:28, Hilaire Fernandes wrote:
Bonjour à tous,
J'aurai besoin d'aiguiser mes arguments lorsqu'il s'agit de comparer Smalltalk et d'autres langages objets comme C++ ou Java.
Il y a la page https://community.ofset.org/wiki/ Evangéliser_les_entreprises_à_Smalltalk qui fait quelques comparaisons, quoique le dernier exemple me dépasse.
Il y a aussi la page http://www.esug.org/ whyusingsmalltalktoteachoop/ qui donne quelques pistes.
En balançant des exemples en vrac sur la liste, on pourrait raffiner les arguments.
Par exemple en voici quelques uns (à l'avantage ou l'inconvénient de Squeak) où il y a peut être des bêtises :
- JAVA a réussi l'exploit de n'avoir ni l'avantage des langages
compilés - vitesse d'exécution - tout en n'ayant pas l'avantage des langages à byte code - développement incrémental. En plus de cela il a les inconvénients des langages compilés - phase de compilation barbante - et des langages byte code - lenteur.
pas genial. comme argument
- Avec Squeak il est impossible d'écrire une applications autonome.
pourquoi c'est quoi une application. Si tu renommes l'image resources et la VM app.exe tu obtiens une application autonome.
- En C++ je suis toujours obligé de regarder dans un manuel de
programmation pour me rappeler de la différence entre des attributs de type 'private' et 'protected' au niveau des droits d'accès des attributs lors d'héritage.
Pire que cela en java
essaye de trouver les reponses a cet exemple et pourquoi?
class A { void m(A a) { println("A.m(A)"); } } class B extends A { void m(B b) { println("B.m(B)"); } } B b = new B(); A a = b;
a.m(a); a.m(b); b.m(a); b.m(b);
- Squeak s'intègre très mal à l'environnement hôte: différence de
look and fell par exemple.
c'est vrai mais avec vwWx cela marche pas mal
- Développer du C/C++ avec Emacs ou VI c'est développer avec des
outils de l'age de pierre par rapport à ceux de l'IDE de Squeak.
Oui mais en squeak tu as aussi les emacs binding.
- Avec Squeak, on est toujours obligé de naviguer entre 5-10
classes pour comprendre ce qui se passe dans un programme. Du coup la mémoire humaine SWAP et ça ralentit le travail de développement. (je retourne l'argument donné dans le page pointée par 1e lien ci- dessus)
comme ailleurs je dirais si tu ecris une classe qui utilisent 10 autres dans n'importe langage tu dois les lire....
Hilaire
-- ADD R0,R1,R2,LSL #2 _______________________________________________ Squeak-fr mailing list Squeak-fr@lists.squeakfoundation.org http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
stéphane ducasse a écrit :
- JAVA a réussi l'exploit de n'avoir ni l'avantage des langages
compilés - vitesse d'exécution - tout en n'ayant pas l'avantage des langages à byte code - développement incrémental. En plus de cela il a les inconvénients des langages compilés - phase de compilation barbante - et des langages byte code - lenteur.
pas genial. comme argument
Pourquoi, pourquoi, j'ai besoin de savoir.
- Avec Squeak il est impossible d'écrire une applications autonome.
pourquoi c'est quoi une application. Si tu renommes l'image resources et la VM app.exe
Okay. Existe-t-il des procédés (pas trop compliqués) pour obtenir une image épurée ? Est-il possible de se passer du .change et du .source ?
tu obtiens une application autonome.
Ok, j'affine alors ;-)
* Avec Squeak il est impossible d'obtenir une application compilée
- En C++ je suis toujours obligé de regarder dans un manuel de
programmation pour me rappeler de la différence entre des attributs de type 'private' et 'protected' au niveau des droits d'accès des attributs lors d'héritage.
Pire que cela en java
essaye de trouver les reponses a cet exemple et pourquoi?
class A { void m(A a) { println("A.m(A)"); } } class B extends A { void m(B b) { println("B.m(B)"); } } B b = new B(); A a = b;
a.m(a); a.m(b); b.m(a); b.m(b);
Je ne connais pas le JAVA, qq vagues restes. Je suppose que la réponse est assez tordue.
- Développer du C/C++ avec Emacs ou VI c'est développer avec des
outils de l'age de pierre par rapport à ceux de l'IDE de Squeak.
Oui mais en squeak tu as aussi les emacs binding.
Tu veux dire qu'on peut revenir à l'age de pierre avec Squeak :-o (Là c'était un argument pour Squeak)
- Avec Squeak, on est toujours obligé de naviguer entre 5-10 classes
pour comprendre ce qui se passe dans un programme. Du coup la mémoire humaine SWAP et ça ralentit le travail de développement. (je retourne l'argument donné dans le page pointée par 1e lien ci- dessus)
comme ailleurs je dirais si tu ecris une classe qui utilisent 10 autres dans n'importe langage tu dois les lire....
Ok, j'affine:
* Avec Squeak, on est toujours obligé de naviguer entre 50 méthodes d'instances et de classes pour comprendre ce qui se passe dans un programme. Du coup la mémoire humaine SWAP et ça ralentit le travail de développement.
Hilaire
2005/10/6, Hilaire Fernandes hilaire@ext.cri74.org:
stéphane ducasse a écrit :
- JAVA a réussi l'exploit de n'avoir ni l'avantage des langages
compilés - vitesse d'exécution - tout en n'ayant pas l'avantage des langages à byte code - développement incrémental. En plus de cela il a les inconvénients des langages compilés - phase de compilation barbante - et des langages byte code - lenteur.
pas genial. comme argument
Pourquoi, pourquoi, j'ai besoin de savoir.
C'est faux de dire que Java est lent. Il exite des machines virtuelles qui battent du C++ sans soucis (cf Hotspot) et surtout, tout depend de quel type d'applications on parle. cf http://www.idiom.com/~zilla/Computer/javaCbenchmark.html , en particulier la fin.
- En C++ je suis toujours obligé de regarder dans un manuel de
programmation pour me rappeler de la différence entre des attributs de type 'private' et 'protected' au niveau des droits d'accès des attributs lors d'héritage.
...hum...
Pire que cela en java
essaye de trouver les reponses a cet exemple et pourquoi?
class A { void m(A a) { println("A.m(A)"); } } class B extends A { void m(B b) { println("B.m(B)"); } } B b = new B(); A a = b;
a.m(a); a.m(b); b.m(a); b.m(b);
franchement... qui ecrirait du code source avec des A, a, B, b, m ? c'est illisible, et c'est un peu facile pour faire "peur". Apres, des constructions tordues, tous les langages sont capables d'en produire, et je ne pense pas que le smalltalk, avec le système des messages, soit mieux que les autres à ce niveau (faire du smalltalk un peu bourrin sans coloration syntaxique, ça fait vite mal à la tête...)
- Développer du C/C++ avec Emacs ou VI c'est développer avec des
outils de l'age de pierre par rapport à ceux de l'IDE de Squeak.
Je pense qu'à un certain niveau, les programmeurs ne cherchent pas une IDE jolie, mais plutôt la "productivité" comme on appelle ça, et Emacs ou VI ont certains atouts à ce niveau qui n'ont rien à voir avec l'âge de pierre. Et de toute façon, il y a sans doute plus de programmeurs sous Visual Studio .NET ou sous Eclipse que sous Emacs.
- Avec Squeak, on est toujours obligé de naviguer entre 50 méthodes
d'instances et de classes pour comprendre ce qui se passe dans un programme. Du coup la mémoire humaine SWAP et ça ralentit le travail de développement.
Là je suis d'accord :) mais ça à l'avantage de comprendre de bout en bout ce qu'on fait :)
* Je rajouterai dans les points positifs, l'immense quantités de classes haut niveau pretes à l'emploi.
...à l'arrivée, je ne suis pas vraiment sûr que ce soit pertinent de comparer Smalltalk, et a fortiori Squeak, avec Java ou le C/C++. Ces langages n'ont pas du tout la même finalité, et même si je veux bien croire que Smalltalk puisse être ponctuellement utile dans l'industrie par exemple, c'est avant tout, à travers Squeak, un formidable outil éducatif ! et ça, on le trouve nulle part ailleurs :)
A+ Séverin
Pire que cela en java
essaye de trouver les reponses a cet exemple et pourquoi?
class A { void m(A a) { println("A.m(A)"); } } class B extends A { void m(B b) { println("B.m(B)"); } } B b = new B(); A a = b;
a.m(a); a.m(b); b.m(a); b.m(b);
franchement... qui ecrirait du code source avec des A, a, B, b, m ? c'est illisible, et c'est un peu facile pour faire "peur".
Mais lis bien l'exemple et cela n'a rien avoir avec les symboles utilises. Comment marche le lookup java. En une ligne? Est-ce que tu es capable de me le dire (sans private...)
Et bien....
Apres, des constructions tordues, tous les langages sont capables d'en produire, et je ne pense pas que le smalltalk, avec le système des messages, soit mieux que les autres à ce niveau (faire du smalltalk un peu bourrin sans coloration syntaxique, ça fait vite mal à la tête...)
mais le lookup de methode est trivial: on part de la classe du receveur et on remonte.... c'est pas le cas en java. Car le type statique des variables entre en jeu.
On 6 oct. 05, at 16:12, Hilaire Fernandes wrote:
stéphane ducasse a écrit :
- JAVA a réussi l'exploit de n'avoir ni l'avantage des langages
compilés - vitesse d'exécution - tout en n'ayant pas l'avantage des langages à byte code - développement incrémental. En plus de cela il a les inconvénients des langages compilés - phase de compilation barbante - et des langages byte code - lenteur.
pas genial. comme argument
Pourquoi, pourquoi, j'ai besoin de savoir.
Ben java a un JIT tout comme VisualWorks. Donc la plupart des methodes sont transformees en code natifs (assembleur). Squeak n'a pas de JIT mais c'est parce que cela coute cher un JIT. Par contre c'est vrai que java a un systeme de type pas tres bon.
- Avec Squeak il est impossible d'écrire une applications autonome.
pourquoi c'est quoi une application. Si tu renommes l'image resources et la VM app.exe
Okay. Existe-t-il des procédés (pas trop compliqués) pour obtenir une image épurée ?
oui si tu regardes sur le cd de 3.8 il y a une image de 500k. Donc c'est sure que c'est pas simple et que l'on doit arriver a un noyau petit.
Est-il possible de se passer du .change et du .source ?
Bien sur la VM n'a pas besoin du source et change (ca c'est pour les humain)
tu obtiens une application autonome.
Ok, j'affine alors ;-)
- Avec Squeak il est impossible d'obtenir une application compilée
- En C++ je suis toujours obligé de regarder dans un manuel de
programmation pour me rappeler de la différence entre des attributs de type 'private' et 'protected' au niveau des droits d'accès des attributs lors d'héritage.
Pire que cela en java essaye de trouver les reponses a cet exemple et pourquoi? class A { void m(A a) { println("A.m(A)"); } } class B extends A { void m(B b) { println("B.m(B)"); } } B b = new B(); A a = b; a.m(a); a.m(b); b.m(a); b.m(b);
Je ne connais pas le JAVA, qq vagues restes. Je suppose que la réponse est assez tordue.
Tres!!!!
- Développer du C/C++ avec Emacs ou VI c'est développer avec des
outils de l'age de pierre par rapport à ceux de l'IDE de Squeak.
Oui mais en squeak tu as aussi les emacs binding.
Tu veux dire qu'on peut revenir à l'age de pierre avec Squeak :-o (Là c'était un argument pour Squeak).
non on marie les deux.
- Avec Squeak, on est toujours obligé de naviguer entre 5-10
classes pour comprendre ce qui se passe dans un programme. Du coup la mémoire humaine SWAP et ça ralentit le travail de développement. (je retourne l'argument donné dans le page pointée par 1e lien ci- dessus)
comme ailleurs je dirais si tu ecris une classe qui utilisent 10 autres dans n'importe langage tu dois les lire....
Ok, j'affine:
- Avec Squeak, on est toujours obligé de naviguer entre 50 méthodes
d'instances et de classes pour comprendre ce qui se passe dans un programme. Du coup la mémoire humaine SWAP et ça ralentit le travail de développement.
mais tu fais la meme chose dans n'importequel language ou alors tu ecris des methodes trop longues et donc ton code est.... moisi :)
Hilaire _______________________________________________ Squeak-fr mailing list Squeak-fr@lists.squeakfoundation.org http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
stéphane ducasse a écrit :
Pourquoi, pourquoi, j'ai besoin de savoir.
Ben java a un JIT tout comme VisualWorks. Donc la plupart des methodes sont transformees en code natifs (assembleur). Squeak n'a pas de JIT mais c'est parce que cela coute cher un JIT. Par contre c'est vrai que java a un systeme de type pas tres bon.
ok, ok, argument à ne surtout pas sortir.
Okay. Existe-t-il des procédés (pas trop compliqués) pour obtenir une image épurée ?
oui si tu regardes sur le cd de 3.8 il y a une image de 500k. Donc c'est sure que c'est pas simple et que l'on doit arriver a un noyau petit.
Et il y a une procédure décrite quelque part. C'est juste une question en l'air pour le moment, au cas où on me le demanderait.
Merci pour les autres précisions.
Hilaire
Quelqu'un saurait-il retirer (shrinker ?) proprement Morphic d'une image récente ? Proprement s'entend; ça marche toujours après. Je voudrais un petit squeak tout simple (essentiel ?) mais avec toutes les ressources de l'image 3.8. Quelqu'un ne préparait-il pas un squeak récent pour micromachine ?
Jean-Marie Zajac
serge m'a parlé d'un "spoon" une fois, c'est un tout petit squeak qu'on peut embarquer
mais ca se base sur une image de 2.2, j'ai pas mieux...
jean-marie.zajac a écrit :
Quelqu'un saurait-il retirer (shrinker ?) proprement Morphic d'une image récente ? Proprement s'entend; ça marche toujours après. Je voudrais un petit squeak tout simple (essentiel ?) mais avec toutes les ressources de l'image 3.8. Quelqu'un ne préparait-il pas un squeak récent pour micromachine ?
Jean-Marie Zajac
Squeak-fr mailing list Squeak-fr@lists.squeakfoundation.org http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Le 7 oct. 05 à 11:52, Simon Le Gloannec a écrit :
serge m'a parlé d'un "spoon" une fois, c'est un tout petit squeak qu'on peut embarquer
mais ca se base sur une image de 2.2, j'ai pas mieux...
Craig qui a fait Spoon est en train de refaire une image minimale, c'est documenté ici :
http://people.squeakfoundation.org/person/Craig/
-- oooo Dr. Serge Stinckwich OOOOOOOO Université de Caen>CNRS UMR 6072>GREYC>MAD OOESUGOO http://purl.org/net/SergeStinckwich oooooo Smalltalkers do: [:it | All with: Class, (And love: it)] \ / ##
Salut,
Est-ce que quelqu'un sait comment accéder au $home du système en smalltlk ?
Merci Luc.
Est-ce que quelqu'un sait comment accéder au $home du système en smalltlk ?
avec le package OSProcess:
OSProcess thisOSProcess environment
te donne un dictionaire avec les variables d'environnement
Merci :-)
Mais j'avais espéré une solution qui fonctionne aussi sous VW ;-)
Squeak 3.8
je viens de ma battre avec FileStream oldFileOrNoneNamed: fileName je réalise qu'il encode (décode) du texte très différemment de FileStream oldFileNamed: fileName
Quelqu'un connaît-il ce bug bien français ? Les anglophones ne voient jamais les problèmes d'encodage de caractère accentués, il y en a d'ailleurs beaucoup dans squeak.
Jean-Marie Zajac
regarde dans mon project Comix car je me rappelle m'etre battu avec Comix est dispo sur squeaksource.
Stef
On 10 oct. 05, at 12:04, jean-marie.zajac wrote:
Squeak 3.8
je viens de ma battre avec FileStream oldFileOrNoneNamed: fileName je réalise qu'il encode (décode) du texte très différemment de FileStream oldFileNamed: fileName
Quelqu'un connaît-il ce bug bien français ? Les anglophones ne voient jamais les problèmes d'encodage de caractère accentués, il y en a d'ailleurs beaucoup dans squeak.
Jean-Marie Zajac
Squeak-fr mailing list Squeak-fr@lists.squeakfoundation.org http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
squeak-fr@lists.squeakfoundation.org