Extrait:
"Ce livre doit se voir soit comme une introduction au langage Java, visant les néophytes, soit comme un rappel occasionnel des concepts "de base" pour un public un peu plus averti. En aucun cas il ne faut en attendre plus"
Java la synthèse - Vers la maturité avec le JDK 1.2 | |
Auteur | G. Clavet/N. Mirouze/S. Munerot/E. Pichon/M. Soukal |
Editeur | InterEditions( Dunod ) |
ISBN | 2-225-83416-4 |
Pages | 286 |
Prix | Prix constate 195FF |
Rédacteur | Next |
<!-- Ceci est a mettre comme texte de la news annoncant la revue<br/> du livre -->
Ce livre doit se voir soit comme une introduction au langage Java,
visant les néophytes, soit comme un rappel occasionnel des concepts
"de base" pour un public un peu plus averti.
En aucun cas il ne faut en attendre plus!
<!-- Fin du texte de la news -->
Personnellement, j'ai commencé le développement Java
avec ce livre. Il est à la fois simple, clair et concis.
Contrairement à ce que l'on trouve dans certains autres ouvrages,
je n'y ai pas detecté d'erreurs facheuses!
Les concepts abordés dans java la synthese sont:
Le concept objet
- classe
- encapsulation
- accesseurs
- methodes
- modificateurs d'acces
- packages
les types primitifs et objets
- operateurs
- héritages
- transtypage
- polymorphisme
les outils avancés de java
- classes abstraites
- héritage simple et multiple
- interface
- implémentation dynamique de classe
- gestion des exceptions
- gestions des fluxs
- sérialisation
Interface graphique sous AWT
- conteneurs et composants
- barre d'état
- barre d'outils
- barre de menu
- applet
- gestion des evenements
- dessin
Applet et thread
- thread et synchronisation
- médiatracker
- double buffer
En raison de sa date de parution (octobre 1998)
Ce livre ne traite pas des évolutions actuelles de Java 2
et ne traite pas non plus en détail de la maniere de construire et gerer
les JAR (Java ARchive) ni de la gestion de projet sous Java/UML.
La critique majeure que l'on pourrait emettre est que les exemples sont
parfois fournis uniquement en tant qu'applet. Il eu été bon de les
fournir également en tant qu'application.
En conclusion, étant un livre "d'introduction à java", on ne saurait
toutefois lui en tenir rigueur.
Après s'être fait la main sur 'Java la synthèse', on passera tout naturellement
à d'autres ouvrages qui traitent, eux, des points sus-cités.
NB: une nouvelle édition est à paraitre pour septembre 2000
sous l'ISBN 2-10-005040-0
Table des matières
- chapitre 1 - Java et les objets
- chapitre 2 - Des types primitifs à l'héritage
- chapitre 3 - Les outils avancés du langage
- chapitre 4 - Construire une interface graphique
- chapitre 5 - Applets et threads
- chapitre 6 - Développer des composants réutilisables avec les JavaBeans
- chapitre 7 - Java, aujourd'hui et demain
Références
Editeur:
Auteurs
Gilles Clavel est le directeur de Soleri ima.
Nicolas Mirouze, Sandrine Munerot, Emmanuel Pichon et Mohamed Soukal sont
consultant des équipes Java/intranet de Soleri ima.
Contacts:
Site Java chez Sun Microsystem
Site contenant la javadoc
Adresse ou télécharger le jdk
- Standard Edition
Enterprise Edition
# Penser en Java
Posté par Daniel Le Berre (site web personnel) . Évalué à 4.
Le site officiel de la traduction est a:
http://penserenjava.free.fr/(...)
La traduction n'est pas terminee mais les premiers chapitres sont deja disponibles.
Ce livre s'adresse aux debutants aussi bien qu'aux programmeurs avertis. La lecture du bouquin est plus facile si l'on a quelques connaissances en C.
Le livre est interessant car il a ete ecrit un peu dans l'esprit open-source: il a toujours ete disponible sous version electronique a divers stades d'avancement. Des milliers de lecteurs ont contribue a enlever la plupart des erreurs et imprecisions du livre. Il s'agit de sa deuxieme edition, couvrant Java 2 Standard Edition (Swing est largement traite) plus une partie de Java 2 Enterprise Edition (Servlets/JSP/JNDI...).
Pour en savoir plus, consultez le site de Bruce Eckel (en anglais):
http://www.MindView.net/(...)
[^] # Re: Penser en Java
Posté par Anonyme . Évalué à 0.
tutorial 12M, avec de nombreux exemples.
http://www.javasoft.com(...)
# vous débutez en JAVA...
Posté par Anonyme . Évalué à 0.
Plus sérieusement il est encore temps d'étudier les alternatives avant de vous engager (en particulier Python, réellement multiplateforme et évolué, mais il existe bien d'autre langages ! Voir étude http://wwwipd.ira.uka.de/~prechelt/Biblio/jccpprtTR.pdf(...)).
Problèmes de JAVA :
- verbeux (c'est comme du C++, les pointeurs en moins)
- faut encore compiler
- statiquement typé (aussi coincé au niveau objet que le C++)
- pas d'héritage multiple (sémantique floue des "interfaces")
- grosse conso mémoire des JVMs qui manquent de maturité
Le seul avantage sur C++ : des tonnes de librairies *encore* standards (mais attention aux changement d'API sans préavis ; ce langage n'a rien d'ouvert, il est verouillé par SUN).
[^] # Re: vous débutez en JAVA...
Posté par Anonyme . Évalué à 0.
comme tu le dis. Y'en a qui considere que c'est un AVANTAGE de compiler
et si java c'est si "merdique", tu expliques jPython ?
et de toute facon, comme le rappelle sans arret les "vrais" trolleurs:
USE THE RIGHT LANGUAGE FOR THE RIGHT JOB
(pour ceuz qui cause pas l'angolais: une tondeuse pour couper l'herbe, une porsche pour l'autoroute, une twingo pour Paris)
[^] # Re: vous débutez en JAVA...
Posté par Anonyme . Évalué à 0.
[^] # Re: vous débutez en JAVA...
Posté par Henri Cault . Évalué à 1.
[^] # Python reellement multiplateforme
Posté par Anonyme . Évalué à 0.
c'est quoi le GUI standard pour Python ?
et c'est ou l'equivalent de jBuilder pour python ?
[^] # Re: Python reellement multiplateforme
Posté par Anonyme . Évalué à 0.
- AWT: c'est le seul qui est vraiment disponible partout, mais au niveau API beurk! Carrement beurk!
- Swing: nettement mieux au niveau API!
Dans les cotes negatifs:
-Ca n'est pas disponible partout.
-L'API est bien, mais l'implementation est(etait?) pourrie: lente, buggee, quasiment impossible d'imprimer!,avec une consommation memoire pas sympa, plus des fuites memoires..
Peut-etre qu'avec le JDK 1.3 ca va mieux, je ne sais pas, mais il vient a peine de sortir de la Beta alors il ne doit pas etre tres repandu.
Bref utiliser Java pour faire des interfaces graphiques, ce n'est pas forcement une bonne idee!
PS:
je ne poste pas tres souvent, donc j'en ai marre de m'authentifier a chaque fois, mais mon login est renoX.
[^] # Re: Python reellement multiplateforme
Posté par boubou (site web personnel) . Évalué à 1.
Tu parles des navigateurs. Effectivement, il faut java 2 pour utiliser swing et java 2 est quand même disponible sur pas mal de plateforme. Donc faudrait pas pousser.
<< mais au niveau API beurk! Carrement beurk!>>
Bof. J'espère que tu parles de la 1.1. Parce que bien sûr si tu parles de la 1.0, nous sommes d'accord, mais c'est profondément débile. La 1.0 est morte. Parler d'une version obsolète du langage, ce n'est pas très fair play.
[^] # Re: Python reellement multiplateforme
Posté par Henri Cault . Évalué à 1.
- wxWindow (qui te fait à partir d'un code standard, un GUI natif à ta plateforme, donc tu tintègre bein)
- Tkinter (le fameux Tk, qu'on adore detester, mais qui est quasi-universel)
sinon, c'est tellement facile d'étendre le langage, qu'en plus, t'as le choix en des toolkits spécifiques : ça peut toujours servir.
[^] # Re: Python reellement multiplateforme
Posté par Anonyme . Évalué à 0.
qui a fait ses preuves (NeXtStep-MacOS X) c'est Obj-C et l'API openstep.
Note : Il est désormais possible de faire des appels à des objets Java à partir de GNUstep et inversement.
http://gnustep.net(...)
http://gnustep.org/information/machines_toc.html(...)
http://www.gnustep.it/jigs/index.html(...)
[^] # Java et OpenStep
Posté par Anonyme . Évalué à 0.
USE THE RIGHT TOOL FOR THE RIGHT TASK
pour ceux qui parle pas l'angolais,
c'est beurre pour derriere et preliminaires pour devant
[^] # Re: vous débutez en JAVA...
Posté par Franck Yvonnet . Évalué à 1.
Et tu te sent d'attaque pour convaincre une société qui a déja un existant en Java, de tout porter dans un langage dont les « décideurs » n'ont jamais entendu parler ?
[^] # Re: vous débutez en JAVA...
Posté par Anonyme . Évalué à 0.
[^] # Re: vous débutez en JAVA...
Posté par Anonyme . Évalué à 0.
http://www.zope.org(...)
Une petite recherche sur le net pour des benchmarks Zope vs. servlet et tu pleures.
[^] # Re: vous débutez en JAVA...
Posté par Anonyme . Évalué à 0.
pour que je pleure...
et puis certains racontent que Zope c'est une grosse usine a gaz aussi... c'est fou comme on trouve de tout sur le web hein ?
http://www.linuxworld.com/linuxworld/lw-2000-07/lw-07-penguin_3.htm(...)
http://slashdot.org/askslashdot/99/07/01/0615214.shtml(...)
USE THE RIGHT TOOL FOR THE RIGHT TASK
pour ceux qui parle pas l'angolais,
c'est K2R pour les couleurs et la Javel pour le blanc
[^] # Re: vous débutez en JAVA...
Posté par Anonyme . Évalué à 0.
Answer(s):
- Don't know about that - but there is some strong evidence that Zope
(python based application server) is faster than servelets:
http://www.zope.org/Members/BwanaZulia/zope_benchmarks/tomcat1.html(...)
I think any major web project should consider Zope. It has
transformaed the way I think of web development. FWIW, I work at a
moderate sized telco and we do all of our web sites in Zope.
More on Zope at: http://www.zope.org(...)
- In theory Java code should be faster; it does a lot more optimizing.
In practice however..
Zope seems to outspeed some Java servlet servers:
http://www.zope.org/Members/BwanaZulia/zope_benchmarks/benchmarks.h(...)
More on Zope: http://www.zope.org(...)
Zope is based on Python. Definitely do look at Zope if you're into
web programming.
[^] # Re: vous débutez en JAVA...
Posté par boubou (site web personnel) . Évalué à 1.
[^] # Re: vous débutez en JAVA...
Posté par boubou (site web personnel) . Évalué à 1.
Question de goût.
<<(c'est comme du C++, les pointeurs en moins)>>
N'importe quoi.
<<- faut encore compiler>>
Et alors ? Vraiment n'importe quoi.
<<- statiquement typé>>
Et alors ? N'importe qui avec une formation minimale en génie logiciel te dira que c'est justement une très bonne chose.
<<(aussi coincé au niveau objet que le C++)>>
Qu'est ce que ça veut dire ?
<<- pas d'héritage multiple>>
Soit, c'est un vrai défaut.
<<(sémantique floue des "interfaces")>>
J'ai l'impression que tu utilises le mot sémantique sans le comprendre. La sémantique des interfaces de Java est parfaitement claire. Ce sont des types abstraits.
<<- grosse conso mémoire des JVMs qui manquent de maturité>>
Effectivement, mais ça n'a pas grand chose à voir avec le langage lui-même.
[^] # Re: vous débutez en JAVA...
Posté par Anonyme . Évalué à 0.
Par "sémantique", je pense que le gars (ou la fille) voulait parler du "sens", du rôle, bref, qu'est ce que ça fout là à part boucher le trou laissé par l'abscence d'héritage multiple. D'ailleurs, les déveleppeurs de chez Sun n' utilisent pas beaucoup les interfaces - cf code de SWING).
Une qualité majeure d'un langage, c'est la rapidité de développement. Dans ce cas en effet, la passe compilation, ou l'absence de mode interactif peut retarder, ou du moins fatiguer. Mais le pire, c'est bien le côté verbeux : + de lignes, + de temps passé à taper, + de risque d'erreur. C'est pas un progrès en matière de langage.
POur ce qui est des types statiques, les deux approches se valent :
1) un type est défini (et limité) par le nom qui lui a été attribué et pas seulement par ses propriétés.
2) un type est défini d'abord par ses propriétés (comme en maths). Je trouve sympa de pouvoir passer en argument de fonction un objet fichier, buffer, chaîne ou socket dès lors qu'ils ont les mêmes attributs et méthodes. Ajouter dynamiquement des attributs à un objet ne changeant pas ses propriétés, c'est tout à fait acceptable d'imaginer qu'une fonction y colle ses propres "étiquettes" ou marqueurs pour usage privé. Voire même que l'objet s'auto-modifie ou se "questionne" (détection des méthodes ou attributs), ou se fasse questionner. De même, générer une définition de classe de façon dynamique et instancier ensuite des objets est génialement pratique. C'est super clean, on va au fond du concept objet. Et ça me manque en JAVA. C'est pour ça que moi aussi, je me tourne vers Python (moins connu en effet, mais ça vaut le coup de jeter un oeil, pour ceux que le concept objet passionne).
Bon, moi aussi j'attends toujours, comme d'autres, les différences fondammentales, niveau langage pur, entre Java et un C++ à qui on aurait enlevé les pointeurs et autres. "n'importe quoi" n'avance pas, comme réponse. Qu'il n'y en ai pas tant n'est pas une tarre, car le but de JAVA étant de se répandre, il doit être facile de l'apprendre quand on connaît C ou C++ (très répandus).
[^] # Re: vous débutez en JAVA...
Posté par boubou (site web personnel) . Évalué à 1.
J'ai dit que cela n'avait pas de rapport direct avec le langage lui-même, ce qui n'est pas exactement le même chose. Les JVM s'améliorent à chaque génération. Je pense qu'à terme, la consommation de mémoire ne sera plus un problème, car intrinsèquement, Java n'implique pas nécessairement une grosse consommation mémoire.
<<Par "sémantique", je pense que le gars (ou la fille) voulait parler du "sens", du rôle, bref, qu'est ce que ça fout là à part boucher le trou laissé par l'abscence d'héritage multiple.>>
Ca sert effectivement à remplacer (en partie seulement) l'héritage multiple, mais ça n'a rien à voir avec la sémantique. Quand on parle de langage de programmation, le minimum est d'utiliser correctement le vocabulaire technique. Sémantique, ça n'a jamais voulu dire "utilité". De plus, les interfaces permettent une séparation propre entre le sous-typage (dire que A et B ont même type) et l'héritage. Pour des raisons un peu longues à développer ici, c'est une très bonne idée (cf les documents de conception de Sather, par exemple).
<<D'ailleurs, les déveleppeurs de chez Sun n' utilisent pas beaucoup les interfaces>>.
Affirmation fausse. Cf le code des Collections. Ils utilisent les interfaces quand elles sont utiles.
<<Une qualité majeure d'un langage, c'est la rapidité de développement.>>
Ce n'est pas l'avis des spécialistes en génie logiciel. Pour certaines applications, il faut effectivement développer rapidement. Pour d'autres ce n'est pas le cas.
<<Mais le pire, c'est bien le côté verbeux : + de lignes, + de temps passé à taper, + de risque d'erreur. C'est pas un progrès en matière de langage. >>
Etrange que le DoD ait choisi en son temps ADA qui est pourtant très verbeux. Etrange que C/C++/Java trustent l'écrasante majorité du développement, avec VB pour le in-house. Ces langages sont pas mal verbeux (et encore).
Je ne quote pas le passage sur le typage qui est risible. Comme tu ne sembles pas le savoir, je te précise simplement qu'il est effectivement possible en Java d'engendrer une définition de classe dynamiquement, d'instancier les objets, etc. On peut "questionner" les objets, comme tu dis. Va lire une doc Java et reviens discuter ensuite.
<<"n'importe quoi" n'avance pas, comme réponse.>>
En effet, mais face à des affirmations stupides, je ne sais pas quoi répondre. Les pointeurs existent en Java. D'ailleurs les objets sont tous manipulés par pointeurs. C'est pas parce que les ponteurs sont déréférencés et qu'on ne peut pas faire d'arithmétique avec eux qu'ils ont disparus. Quand je lis "Java c'est comme du C++, les pointeurs en moins", j'ai envie de baffer l'auteur. Comme je suis au fond un gentil garçon, je me contente de dire "n'importe quoi".
[^] # Re: vous débutez en JAVA...
Posté par Henri Cault . Évalué à 1.
[^] # Re: vous débutez en JAVA...
Posté par boubou (site web personnel) . Évalué à 1.
Ouaip, c'est Object. Va voir dans la doc tout ce qui tourne autour de la "reflection".
[^] # Re: vous débutez en JAVA...
Posté par Alexis Muller (site web personnel) . Évalué à 1.
Je ne pense pas que vous puissiez vous mettre d'accord sur le "meillieur" langage avec une approche comme la votre...
C'est comme répondre à : un pull ou un T-shirt.
Pour moi c'est simple :
- les langagues de scriptes pour les petites
tâches.
- L'ADA pour les "grosses" application ou le
temps réel ( partout ou c critique )
- Le JAVA pour les applications devant "voyager"
( pour moi son avantage c sa portabilité )
- Et le C/C++ pour le reste...
Vous ne pensez pas que chaque langage à un avantage pour un certain type d'application ?
Sinon je ne pense pas que le java soit un bon langage pour débuter.
Attention, j'adore la programmation objet mais je pense qu'il est préférable de débuter par la programmation procédurale.
[^] # Re: vous débutez en JAVA...
Posté par boubou (site web personnel) . Évalué à 1.
Là n'est pas la question. Je me contente de répondre aux conneries dites.
<<Vous ne pensez pas que chaque langage à un avantage pour un certain type d'application ? >>
Si, bien que je ne sois pas d'accord avec votre classification.
<<Sinon je ne pense pas que le java soit un bon langage pour débuter. Attention, j'adore la programmation objet mais je pense qu'il est préférable de débuter par la programmation procédurale.>>
C'est faux pour deux raisons :
1) on peut faire de la programmation procédurale en Java, donc votre objection n'a pas de sens
2) j'enseigne Java comme premier langage depuis trois ans en Fac, et c'est une réussite totale : les élèves sont bien meilleurs qu'avant (je peux développer, mais c'est vraiment très hors sujet).
[^] # Re: vous débutez en JAVA...
Posté par Anonyme . Évalué à 0.
Cependant, je ne pense pas que Java soit génial comme premier langage, justement à cause de l'aspect orienté-objet... Même si on peut éviter la POO avec Java, mieux vaut utiliser C ou Pascal
[^] # Re: vous débutez en JAVA...
Posté par Alexis Muller (site web personnel) . Évalué à 1.
( même le main doit étre dans un objet... )
J'ai constaté que les étudiants ne connaissant
que le java sont incapable de faire la différence
entre une méthode et une fonction...
Ils ne savent plus détacher les données des methodes ( ce qui est trés bien avec une approche
objet ).
De plus s'ils programment en java sans les conceptes objets, les class qu'ils codent ne
sont pas logique ( comment savoir quel méthodes grouper dans tel class sans approche objet )
[^] # Re: vous débutez en JAVA...
Posté par boubou (site web personnel) . Évalué à 1.
( même le main doit étre dans un objet... ) >>
Faux. Le main doit être dans une classe. Il est vrai que Java utilise le terme de classe pour désigner deux choses différentes : un modèle pour des objets MAIS AUSSI un système d'organisation du code. Il n'y a AUCUN BESOIN de comprendre les objets pour écrire un main.
<<J'ai constaté que les étudiants ne connaissant que le java sont incapable de faire la différence entre une méthode et une fonction...>>
Question de vocabulaire. En Java, tout est méthode. Mes étudiants font la différence entre méthode de classe (i.e., fonction) et méthode d'instance (i.e., méthode au sens du C++).
<<Ils ne savent plus détacher les données des methodes ( ce qui est trés bien avec une approche
objet ). >>
Je ne comprends pas cette phrase.
<<De plus s'ils programment en java sans les conceptes objets, les class qu'ils codent ne sont pas logique ( comment savoir quel méthodes grouper dans tel class sans approche objet )>>
Avec une approche procédurale. Il est aussi difficile de faire un .h cohérent que de faire une classe cohérente (vu que c'est la même chose pour le deuxième sens de classe).
[^] # Re: vous débutez en JAVA...
Posté par Anonyme . Évalué à 0.
[^] # Re: vous débutez en JAVA...
Posté par Anonyme . Évalué à 0.
Ce sont deux langages différents.
Non mais.
[^] # Re: vous débutez en JAVA...
Posté par Alexis Muller (site web personnel) . Évalué à 1.
Je sais bien que le C et le C++ sont deux
langages !=
Mais je trouve qu'ils "s'attaquent" pratiquement
au même type de probléme.
[^] # Typage statique vs. typage dynamique
Posté par Anonyme . Évalué à 0.
1. plus qu'un type abstrait algebrique, une interface Java est la declaration du type d'une certaine categorie d'objets.
2. le typage statique n'est *absolument pas* incompatible avec la genericite qui, comme tu le dis, permet de manipuler des objets sans se soucier de leur classe, du moment qu'ils possedent les memes methodes. Cf. la theorie des types abstraits algebriques.
3. Le type "induit" par une classe est constitue par l'ensemble de ses methodes, mais *pas* par ses attributs (qui constituent, eux, l'etat de l'objet, et non pas son comportement).
4. Le fait de pouvoir s'auto-inspecter et de pouvoir generer des classes a la volee est peut-etre interessant, amis on ne peut pas dire que ce soit *elegant*. Ce concept -la reflexivite- est tres complexe et pose de serieux risques de plantage (quoique, concernant Java, la encore, il s'agit d'une restriction de la reflexivite). Notons que c'etait deja present dans Lisp il y a deja un bon moment.
5. Quant a dire que Java est type statiquement, c'est un peu fort. On parle generalement de typage mixte, car une forte phase de compilation dynamique est effectuee (d'ou la lenteur du lancement d'un programme).
6. Non seulement Java manque de l'heritage multiple, mais il lui faudrait aussi la genericite et la contravariance pour arriver a quelque chose de vraiment puissant. Je conseille a ceux que ca interesse de regarder du cote d'Eiffel (qui peut generer du bytecode Java ou du C) ou de son cousin (plus rigoureux sur certains aspects) Sather.
Rogue.
[^] # Re: Typage statique vs. typage dynamique
Posté par boubou (site web personnel) . Évalué à 1.
[^] # Hors-sujet: livre
Posté par MetalX . Évalué à 1.
Y'a t'il un bon bouquin en francais (ou en anglais) qui parle de tous ces concepts ( et accessoirement comment les langages les utilisent) : généricité, variance, reflexivité, ...? J'en apprend tous les jours sur les langages de programmation, mais j'aimerai bien le faire plus vite :-)
Quant au post original, j'ajouterai qu'il est vrai que Python est un langage très agréable à utiliser, mais la plupart des différences sont des choix qui influencent la rapidité et la sécurité de l'implémantation du langage.
Ainsi, Java est + rapide et + sur que Python AMHA.
Par exemple, c'est pratique de pouvoir ajouter un champ dans un objet a tout moment, mais ca implique soit de vérifier à chaque fois les champs qu'il contient quand on l'utilise, soit de faire confiance au programmeur ...
Enfin, concernant la rapidité de Java, c'est tout le langage qui en profite chaque fois qu'on améliore une VM ou qu'on trouve de nouvelles techniques pour optimiser le bytecode statiquement ( et hop un peu de pub: www.sable.mcgill.ca )
[^] # Re: Typage statique vs. typage dynamique
Posté par Anonyme . Évalué à 0.
Effectivement, la covariance d'Eiffel implique un typage theoriquement indecidable, et c'est pour ca que j'apprecie Sather qui en retablissant la covariance resoud ce choix (en connaissance de cause, de la part de Meyer) de conception. Evidemment, c'est un peu moins puissant, mais on ne se sert generalement de la covariance que pour les methodes binaires, ce que permet Sather (avec son operateur a la "like Current" qui conserve la decidabilite).
Pour l'autre post s'interessant aux concepts objets, je conseille personnellement, pour commencer, Object Oriented Software Construction 2eme ed., de Meyer, et le tutorial Sather qui est tres interessant (je suis tres agreablement surpris). Ensuite, je crains qu'il ne faille etudier des textes plus academiques comme les cours de l'X ou de l'ENS, par des gars comme Roberto Di Cosmo, http://www.pps.jussieu.fr/~dicosmo(...) ou Didier Remy, http://cristal.inria.fr/~remy.(...)
Rogue
[^] # Re: Typage statique vs. typage dynamique
Posté par boubou (site web personnel) . Évalué à 1.
En effet, et c'est le cas dans beaucoup de langages objets (Sather y compris). Tout dépend ce qu'on entend par typage. Je pense qu'il faut séparer le typage au niveau de l'interface qui doit être aussi statique que possible (d'où l'intérêt de la contravariance par rapport à la covariance) et l'exécution du code, effectivement dynamique.
[^] # Re: Typage statique vs. typage dynamique
Posté par Anonyme . Évalué à 0.
Java, avec son obligation de de typer dynamiquement la liaison tardive, qui constitue quand meme une des parties les plus importantes (en temps de calcul, disons) de son typage procede donc bien par typage mixte. La partie statique du typage consiste uniquement en de la verification, comme tu le dis, de coherence dans les interfaces.
M'enfin, on pinaille, la :-)
Rogue
[^] # Re: vous débutez en JAVA...
Posté par Guillaume Laurent (site web personnel) . Évalué à 1.
Si tu en es encore à utiliser 'vi', oui. Avec les IDEs modernes, ça n'est pas un pb. La verbosité d'un langage influe bien moins sur la rapidité de dév. que des choses comme sa simplicité ou la qualité des libs standards. Java est plus verbeux que C++, mais on développe bien plus vite en Java.
En ce qui concerne la consommation mémoire, il y a pas mal de cas où on s'en fout, par exemple pour les serveurs. C'est pas pour rien que Java marche très bien dans ce domaine. Il suffit d'acheter des machines plus grosses. C'est un cout prévisible, qui diminue avec le temps, alors que le cout de développement avec un autre langage moins gourmand (genre C++) est presque impossible à évaluer (mais il est de toute façon supérieur à celui du hardware), et ne risque pas de diminuer :-).
[^] # Re: vous débutez en JAVA...
Posté par Anonyme . Évalué à 0.
[^] # Re: vous débutez en JAVA...
Posté par Anonyme . Évalué à 0.
Il faut que quand on repasse sur le code, on soit capable de comprendre aisément la pensée de l'auteur...
Bref, pour des petits scripts vite torchés, c'est pratique d'Avoir un langage peu verbeux, mais pour faire des choses claires voire transparentes, je n'en suis pas sur ...
[^] # Re: vous débutez en JAVA...
Posté par Anonyme . Évalué à 0.
Interfaces = types abstraits ??? Tu as été chercher ça où ? Tu veux peut être parler de classes abstraites ? (ce qui n'est pas la même chose car celui qui étend une classe abstraite ne doit pas implémenter toutes ses méthodes)
# le nouveau Cobol
Posté par Anonyme . Évalué à 0.
vivement l'an trois mille qu'on rigole
je suis identifie, c'est juste que anonyme c'est mon login
[^] # Anonyme
Posté par Slache Rat d'auteur . Évalué à 1.
c'est pas vrai,
JE suis AnonymeAnonyme
[^] # Re: Anonyme
Posté par Slache Rat d'auteur . Évalué à 1.
# oui mais java c très lent
Posté par vincent L . Évalué à 1.
Pouvez vous m expliquer pourquoi java est si lourd ? est ce du micro$oft ou kwa ?
[^] # Re: oui mais java c très lent
Posté par boubou (site web personnel) . Évalué à 1.
Nous parlons ici du langage Java. Tu parles d'une application de ce langage : les applets. Je suis d'accord avec toi, c'est débile. Je ne suis pas d'accord avec toi, flash n'est pas mieux.
Le fait que les applets rament n'a pas grand chose à voir avec le langage lui-même, mais plutôt avec les navigateurs (et aussi avec la programmation des débiles qui font des applets).
[^] # Re: oui mais java c très lent
Posté par Slache Rat d'auteur . Évalué à 1.
la jvm MS est/etait plus rapide que la jvm sun
Abandonnez Flash, tout le monde a le plugin:
l'elite utilise SVG
[^] # Re: oui mais java c très lent
Posté par Anonyme . Évalué à 0.
-- << flash n'est pas mieux >> ...
Tu préfères Gnome ou KDE ?
-- << Le fait que les applets rament n'a pas grand chose à voir avec le langage lui-même, mais plutôt avec les navigateurs >> ...
Dans le même ordre d'idées : une application écrite en Java rame parce que les CPU ne sont encore pas assez puissants ...
2/ Quelle prétention !
-- << Cher béotien >>
-- << la programmation des débiles qui font des applets >>
Allez boubou, toi qui sait tout, apportes nous la bonne parole.
P.S. : je suis preneur de references qui appuieraient toutes tes affirmations. Sans rancune mais avec un peu de méfiance à l'égard du "scientifique qui sait tout".
[^] # la preuve par neuf
Posté par Slache Rat d'auteur . Évalué à 1.
la plupart des interfaces en Flash sont du simple "tapaloeil"
http://webword.com/flashusability.html(...)
( comme 95% des applets (grand classique la baniere qui scrolle et l'image avec les reflets)
les 5% restants sont la preuve que tu peux faire des bonnes choses avec une applet (ex le truc de simulation de robot passe DEUX fois au moins sur LinuxFR )
<<les applets rament>>
en fait les applets rament pas,
c'est l'invocation du JRE qui rame.
Par exemple, si le JRE est demarre au debut du navigateur (comme NS le faisait a un moment) alors ca rame que dans la mesure ou faut patienter pour le chargement de l'applet (taille qui depend ENTIEREMENT de la capacite du programmeur. La plupart du temps, cedit programmeur etant FrontPage ou assimile, l'adjectif NEUNEU s'applique tres bien)
Il dit "je ne connais pas grand chose en Java"
et mon dictionnaire dit a propos de beotien
béotien, enne adj. et n.
1. De la Béotie. || Subst. Habitant, personne originaire de ce pays. Un(e) Béotien(ne). 2. Lourd d'esprit, ignorant (les Béotiens passaient pour tels parmi les anciens Grecs).
Sinon WindowMaker c'est pas mal par rapport a WindowsPourLinux et Geant
[^] # Re: oui mais java c très lent
Posté par boubou (site web personnel) . Évalué à 1.
raz donne lui-même l'argument : flash est propriétaire.
<<Dans le même ordre d'idées : une application écrite en Java rame parce que les CPU ne sont encore pas assez puissants ... >>
Si tu es trop borné pour comprendre que l'implantation de la machine virtuelle est déterminante pour les performances du langage, je ne peux rien pour toi. Va voir http://www.volano.com/report.html(...) par exemple. Il existe aussi des benchs pour les applets, je te laisse chercher, j'ai autre chose à faire que de prouver des trivialités à des incultes.
<< Quelle prétention ! >>
En effet, je trouve incroyable que quelqu'un vienne nous dire qu'il n'aime pas Java parce que les applets rament. Je trouve ça pathétique et j'y vois une preuve d'une grande inculture. J'ai effectivement la prétention de bien connaître Java, d'où ma réponse.
[^] # Re: oui mais java c très lent
Posté par Anonyme . Évalué à 0.
Comme java, les spécifs du format SWIFF sont disponibles et on peut implémenter un interpréteur ou éditeur sans licence.
Sun ne donne pas le code source de son JVM, si ?
Sun peut changer les termes quand il veut, non ?
[^] # Re: oui mais java c très lent
Posté par boubou (site web personnel) . Évalué à 1.
Ba si. La licence n'est pas vraiment open source, mais c'est mieux que rien et il y a effectivement une grosse différence entre donner une spec et une implantation.
<<Sun peut changer les termes quand il veut, non ?>>
C'est plus compliqué que ça. Il existe des comités et ça discute dur pour déterminer l'avenir du langage. Ce n'est pas aussi ouvert que d'autres choses, mais à mon avis, c'est mieux que flash.
[^] # Re: oui mais java c très lent
Posté par Guillaume Rousse (site web personnel) . Évalué à 1.
http://www.sun.com/software/communitysource/java2(...)
Mais ce n'est pas libre :
Modified source code cannot be distributed without the express written permission of Sun
Binary programs built using modified Java 2 SDK source code may not be distributed, internally or externally, without meeting the compatibility and royalty requirements described in the License Agreement
[^] # Re: oui mais java c très lent
Posté par Frank-N-Furter . Évalué à 1.
Depending on the time of day, the French go either way.
[^] # Re: oui mais java c très lent
Posté par boubou (site web personnel) . Évalué à 1.
# Cooool !
Posté par Henri Cault . Évalué à 1.
Mais bon, on ne va pas non plus condamner défnitivement JAVA. Après tout, vive la diversité, c'est ainsi que l'on fini par trouver son bonheur.
Attention cependant au désirs d'hégémonie et du tout langage X partout !
[^] # Re: Cooool !
Posté par boubou (site web personnel) . Évalué à 1.
Moi aussi. Je trouve simplement débile de raconter n'importe quoi sur le langage. Je trouve aussi débile de faire des applets (mais c'est une autre histoire et ça n'a pas vraiment de rapport avec Java lui-même). Enfin, je trouve pathétique de s'intéresser aux anciennes versions du langage. Il me semble malhonnête de critiquer en se basant sur des versions antérieures à 1.2.
[^] # Bof.
Posté par reno . Évalué à 1.
Moi j'ai succombe a la mode Java apres avoir lu 2 revue sur Byte et Dr Dobbs (A PRIORI des revues serieuse sur le point de vue technique), bin je m'en suis mordu les doigts (ca depend surement de l'application evidemment).
Quand tu regardait le contenu du BugParade sur le site de Sun, tu comprends mieux l'ampleur du probleme: il y a des bugs pour lesquels plein de gens avaient votes qui sont restes 2/3 ans sans corrections, ca c'est de la reactivite!
Pour conclure sur une note optimiste le JDK1.3 a l'air (d'apres la BugParade) de contenir moins de bug...
# les bons vieux trolls
Posté par Anonyme . Évalué à 0.
news sur le C++ => 'C++ c'est incoherent, java roulaize'
news sur java => 'java c'est nul, python c mieux'
news sur python => 'python c'est interpreté, faites du C'
[^] # Re: les bons vieux trolls
Posté par boubou (site web personnel) . Évalué à 1.
# C#
Posté par Anonyme . Évalué à 0.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.