Posté par pifou .
En réponse au journal C# vs java.
Évalué à 2.
Je suis d'accord avec toi pour réutiliser l'existant, d'ailleur, ça existe en Java (SDL, OpenGL, GTK ...) mais c'est vrai que ce n'est pas la mentalité de cette plateforme.
Pour en revenir à l'histoire des pointeurs, j'avoue que ma conception d'un "bon" langage objet étant basée sur SmallTalk, je n'en vois pas l'intêret. Pour ce qui est des performances, je n'ai pas la même vision que toi du problème. Pour ma part, je suis convaincu que les optimisations de code dans les langages sans compilation ciblée sur une plateforme de type C# et Java (Eiffel, Smalltalk, Python, Ruby, Perl ...) doivent être réalisées par le compilateur/machine virtuelle (JIT).
Le plus important pour ma part dans les langages dit de "haut niveau" c'est le pouvoir d'abstration ... qui est souvent lié au pouvoir d'expression. Par exemple l'introspection dans un langage apporte de réelles fonctionnalités (mais c'est comme tout, il ne faut pas en abuser). Par contre, les pointeurs j'ai du mal à voir ce que ça peut apporter au niveau abstraction puisque de fait c'est une "technique" bas niveau. Tu as l'air de bien connaître ton sujet et tu pourras peut être me montrer l'avantage des pointeurs au niveau conception objet (bien que tu n'ai jamais dit clairement que c'était un plus, je te l'accorde), et dans c'est cas là, je serais heureux de me repencher sur cette technique.
Personnelement, je m'en fout un peu des perfs quand je conçois et développe une appli haut niveau (en gros tout ce qui n'est pas noyau/couche multimédia), il est toujours possible en fin de compte de switcher les parties gourmandes (par une lib native par exemple avec JNI) si ton design est bien fait (notion de composant).
En parlant de tout ça, je me demande si finalement, C# ne serait pas plus près de Python que de Java :). Comme on a pu le voir dans la discussion, la mentalité de C# et de réutiliser l'existant au contraire de Java (même si c'est possible), on retrouve cette mentalité dans les langages tels que Python (qui ressemble finalement "le plus" à C# niveau fonctionnalité du langage), Perl (bon là on est assez loin pour l'instant) ou Ruby (là, c'est mon petit préféré, je trouve qu'on gagne enormément en pouvoir d'expression (bloc, tout objet ...)).
[^] # Re: navrant
Posté par pifou . En réponse au journal C# vs java. Évalué à 2.
Pour en revenir à l'histoire des pointeurs, j'avoue que ma conception d'un "bon" langage objet étant basée sur SmallTalk, je n'en vois pas l'intêret. Pour ce qui est des performances, je n'ai pas la même vision que toi du problème. Pour ma part, je suis convaincu que les optimisations de code dans les langages sans compilation ciblée sur une plateforme de type C# et Java (Eiffel, Smalltalk, Python, Ruby, Perl ...) doivent être réalisées par le compilateur/machine virtuelle (JIT).
Le plus important pour ma part dans les langages dit de "haut niveau" c'est le pouvoir d'abstration ... qui est souvent lié au pouvoir d'expression. Par exemple l'introspection dans un langage apporte de réelles fonctionnalités (mais c'est comme tout, il ne faut pas en abuser). Par contre, les pointeurs j'ai du mal à voir ce que ça peut apporter au niveau abstraction puisque de fait c'est une "technique" bas niveau. Tu as l'air de bien connaître ton sujet et tu pourras peut être me montrer l'avantage des pointeurs au niveau conception objet (bien que tu n'ai jamais dit clairement que c'était un plus, je te l'accorde), et dans c'est cas là, je serais heureux de me repencher sur cette technique.
Personnelement, je m'en fout un peu des perfs quand je conçois et développe une appli haut niveau (en gros tout ce qui n'est pas noyau/couche multimédia), il est toujours possible en fin de compte de switcher les parties gourmandes (par une lib native par exemple avec JNI) si ton design est bien fait (notion de composant).
En parlant de tout ça, je me demande si finalement, C# ne serait pas plus près de Python que de Java :). Comme on a pu le voir dans la discussion, la mentalité de C# et de réutiliser l'existant au contraire de Java (même si c'est possible), on retrouve cette mentalité dans les langages tels que Python (qui ressemble finalement "le plus" à C# niveau fonctionnalité du langage), Perl (bon là on est assez loin pour l'instant) ou Ruby (là, c'est mon petit préféré, je trouve qu'on gagne enormément en pouvoir d'expression (bloc, tout objet ...)).