[Squeak-fr] Smalltalk vs C++/Java

stéphane ducasse ducasse at iam.unibe.ch
Jeu 6 Oct 16:57:50 CEST 2005


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 at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
>
>




More information about the Squeak-fr mailing list