Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1141 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2  3
Page Suivante
Auteur Sujet :

C vs Java > c ti quoi dont la différence

n°243678
BifaceMcLe​OD
The HighGlandeur
Posté le 12-11-2002 à 18:11:53  profilanswer
 

Reprise du message précédent :
[:rofl]  [:xp1700]

mood
Publicité
Posté le 12-11-2002 à 18:11:53  profilanswer
 

n°243685
Cherrytree
cn=?
Posté le 12-11-2002 à 18:27:47  profilanswer
 

BifaceMcLeOD a écrit a écrit :

 
Non, non, je reconnais que ce n'était pas clair.  ;)  
Y a pas de malaise.  :D  



La prochaine fois, j'amènerai des madeleines, cher ami. :D


---------------
Le site de ma maman
n°244902
Musaran
Cerveaulté
Posté le 14-11-2002 à 03:18:05  profilanswer
 

BifaceMcLeOD a écrit a écrit :

Pour moi, là, ça revient à détourner le principe de la généricité, qui est, je le rappelle, d'offrir la possibilité de définir un type de données dont on ne sait rien, puis ensuite d'écrire du code utilisant ce type. Déjà, pouvoir avoir un paramètre numérique dans les arguments génériques, je trouve cela limite (mais pas inutile, je le reconnais, je l'ai même utilisé une fois).


Comme d'habitude en C++, la spécification est la moins restrictive possible.
Cela dit, je me souviens d'un texte ou un expert évoquait le fait qu'on avait peut-être amené trop loin les templates C++.
 

BifaceMcLeOD a écrit a écrit :

Il devrait y avoir d'autres moyens de disposer d'une constante pé-calculée par le compilateur. Par exemple, par une directive genre pragma et une fonction garantie sans effet de bord (comme C++ sait le signifier) ; le compilateur devrait ensuite, ainsi que le pragma lui demande, être capable d'exécuter la fonction comme si le programme s'exécutait déjà pour trouver la valeur.


:jap:
J'imagine...

  • spécificateur d'objet "trueconst": exige une valeur de compilation (vraie constante).
  • directive "evaluate": pré-calcule une expression/fonction.
  • spécificateur de fonction "reproductible": pour les mêmes entrées, on a les mêmes résultats.
  • spécificateur de fonction "transparent": elle n'a aucune incidence sur l'état du programme/système (pas d'allocation, d'E/S, de variable statique/globale modifiée).


Comment le C++ signifie-t'il une fonction sans effet de bord ?
méthode const ? Cela ne concerne que l'objet.
 

BifaceMcLeOD a écrit a écrit :

Ca ne marche pas, ça ?    
Si tu peux définir une valeur d'enum par une expression conditionnelle, je ne vois pas trop pourquoi le compilateur râlerait. Ou alors j'ai loupé un truc.


Mon exemple est foireux... On pourrait le faire marcher avec un patron reproduisant le principe de "?:".
Mais je ne trouve pas d'exemple simple, je dois donc faire fausse route ici.
 

BifaceMcLeOD a écrit a écrit :

Ceci dit, je redis que j'ai dit plus haut sur le type des paramètres génériques. On est en train de vouloir utiliser la généricité non pour écrire du code plus général (plus générique) mais à des fins d'optimisation, ce qui est en soi une mauvaise idée.


Ce qui est sûr, c'est que ça trahit une lacune du langage.
On ne nous a pas attendu pour s'en rendre compte, j'ai lu des allusions la-dessus.
 

BifaceMcLeOD a écrit a écrit :

Ce n'est pas parce que Java utilise le principe de la durée de vie par attachement (en anglais, on dirait "by reachability", par "atteignabilité" ) qu'elle n'est pas maîtrisable.


Je pense à un objet s'allouant une ressource importante, et dont il est crucial de maîtriser le moment de la libération.
La méthode finalize laisse l'objet dans un état zombie qu'il faut savoir gérer.
Cela dit, c'est un petit prix à payer pour le confort d'objets se désallouant tout seuls.
 
Petit jeu:
Combien ceci fait-il d'allocations dynamiques en Java et en C++ ?

Code :
  1. new MaClasse[x][y][2];


 

BifaceMcLeOD a écrit a écrit :

Pour les types numériques -- je suppose que tu voulais parler d'étendre le jeu des types atomiques --, peu de langages permettent réellement de le faire. Java ne permet en effet de créer que des classes. Tu vas trouver que je la ramène encore, mais c'est une des choses que sait très bien faire Ada : :D

-- Un type réel en virgule flottante à 10 chiffres
 -- significatifs, à valeurs comprises entre -1 et 1.
type Coefficient is digits 10 range -1.0 .. 1.0;  
 
 -- Un type réel en virgule fixe, à valeurs comprises
 -- entre 0 et 255, et dont la différence entre 2 valeurs
 -- possibles est toujours de 1/8.
type Volt is delta 0.125 range 0.0 .. 255.0;




Ça c'est beau... Ça manque complètement au C++.
On peut se débrouiller avec les templates, mais c'est prise de tête, non-standard, et la compilation/optimisation n'a pas de prise directe dessus.
 

BifaceMcLeOD a écrit a écrit :

De toute façon, la surcharge des opérateurs n'est qu'une aide syntaxique qui n'ajoute rien à la puissance d'expression


Ça rend le code plus lisible, ce qui est très appréciable:

Code :
  1. v[n]= a*b + x;
  2. v.at(n).set(a.mul(b).add(x));

Pour ce qui est du risque... On est libre de faire toutes les stupidités qu'on veut en C++.
 

BifaceMcLeOD a écrit a écrit :

Pour la performance et le bas niveau, je persiste à croire qu'il existe d'autres langages beaucoup plus industriels. Quant aux "trucs de ouf"... en a-t-on vraiment besoin dans l'industrie ?


J'ai commencé à lire ceci A Critique of C++ (3rd Ed.).
Pour l'instant c'est bien, mais trop abstrait à mon goût.
 
Disons que le C++ reste le langage dans lequel on peut faire ce qui n'est pas possible avec les autres... à condition d'être un dieu de la programmation.
Très puissant, conçis mais peu commode, très efficace pour se tirer une balle dans le pied.
Il est un terrain d'expérimentation qui peut ouvrir de nouveaux domaines, il bénéficie donc du soutien et du travail d'experts de haut vol.
 
Si il s'agit de produire régulièrement du code de façon fiable, c'est un choix discutable, c'est vrai.
 
 
Java a repris la syntaxe du C++, mais on a tort de les comparer, ils n'ont pas le but, ni la même utilisation.
 
 
Je connaît un peu BASIC, Pascal, VB, Java; et relativement bien C et C++.
Donc, mon avis manque d'expérience, mais je le donne quand même.


Message édité par Musaran le 15-11-2002 à 02:55:01

---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
n°244953
BifaceMcLe​OD
The HighGlandeur
Posté le 14-11-2002 à 10:05:45  profilanswer
 

Cherrytree a écrit a écrit :

Biface > Les infos sur les templates et le futur JDK 1.5, je peux les obtenir où s'il te plait ?




Tu peux déjà télécharger un JDK1.3 modifié pour supporter les génériques sur http://developer.java.sun.com/deve [...] rics/?s=03

n°244958
BifaceMcLe​OD
The HighGlandeur
Posté le 14-11-2002 à 10:11:09  profilanswer
 

Musaran a écrit a écrit :

Citation :

Pas seulement C/C++ : la plupart des langages procéduraux ou objet impératifs le font aussi. Quelle différence entre C et, par exemple, Pascal (dès lors qu'il est compilé en natif).

Mon Pascal date de pas mal.
Le Pascal moderne permet-il d'appeler un pointeur de fonction dans un tableau retourné par une fonction ?




J'ai enfin regardé ce matin. :D
 
En Pascal (et ce n'est pas propre à Turbo Pascal, car cela fait partie de la norme ANSI), il est possible de définir un type procédure ou un type fonction. Equivalent au type pointeur sur fonction typé de C. Tu peux aussi définir un type tableau de procédures/fonctions. Donc une procédure ou une fonction peut retourner une variable d'un tel type, et tu peux ensuite accéder à un élément de ton tableau et invoquer la procédure/fonction correspondante.
 
Par contre, pour continuer sur les différences entre Pasca et C, j'ai trouvé une fonctionnalité syntaxique existant en C et pas en Pascal : les paramètres variables. Mais à mon avis, on peut toujours se débrouiller sans (par exemple avec un tableau).

n°245033
BifaceMcLe​OD
The HighGlandeur
Posté le 14-11-2002 à 11:56:01  profilanswer
 

Musaran a écrit a écrit :

 
Comment le C++ signifie-t-il une fonction sans effet de bord ?
méthode const ? Cela ne concerne que l'objet.



Bien sûr, il faut un minimum de bonne foi de la part du programmeur (genre pas de variable locale pointeur qui récupère un argument const ou this et qui le caste en non-const). Mais si tous les paramètres sont const et que la fonction l'est aussi, cela devrait pouvoir marcher pas trop mal.
 

Citation :

Je pense à un objet s'allouant une ressource importante, et dont il est crucial de maîtriser le moment de la libération.
La méthode finalize laisse l'objet dans un état zombie qu'il faut savoir gérer.
Cela dit, c'est un petit prix à payer pour le confort d'objets se désallouant tout seuls.


Oui, c'est vrai que du coup, tu es obligé de prévoir un état "en fin de vie" de l'objet explicite, avec appel explicite de méthode pour que l'utilisatur puisse libérer cette ressource quand il faut, et levée d'exception si on essaie d'utiliser l'objet après libération de la ressource.
 

Citation :


Petit jeu:
Combien ceci fait-il d'allocations dynamiques en Java et en C++ ?
MaClasse tableau[x][y][2];


En Java, zéro : il faut faire des new explicites. :D
Bon, OK, j'ai répondu exprès à côté... ;)
 

Citation :

La surcharge d'opérateurs, ça rend le code plus lisible, ce qui est très appréciable:

Code :
  1. v[n]= a*b + x;
  2. v.at(n).set(a.mul(b).add(x));

Pour ce qui est du risque... On est libre de faire toutes les stupidités qu'on veut en C++.


Pour info, la surcharge des opérateurs existe aussi en Ada : "+" et "-" unaires et binaires, "*", "/", "mod" et "rem" binaires ("rem" est un modulo arithmétique), et, pour certains types bien précis, pour lesquels l'affectation et la comparaison n'existe pas (c'est le programmeur qui le dit explicitement par ailleurs), les opérateurs ":=" (affectation) et "=" (comparaison).
 

Citation :


Disons que le C++ reste le langage dans lequel on peut faire ce qui n'est pas possible avec les autres... à condition d'être un dieu de la programmation.
Très puissant, concis mais peu commode, très efficace pour se tirer une balle dans le pied.
Il est un terrain d'expérimentation qui peut ouvrir de nouveaux domaines, il bénéficie donc du soutien et du travail d'experts de haut vol.
 
Si il s'agit de produire régulièrement du code de façon fiable, c'est un choix discutable, c'est vrai.


Le problème, c'est que l'expérience montre qu'il vaut mieux ne pas faire totalement confiance à l'humain qu'est le programmeur : quand il a des outils, il a très fortement tendance à les utiliser (cette remarque n'est pas propre à la programmation).
D'oùu l'utilité de fournir des outils alternatifs à côté des outils très puissants, plus spécialisés mais aussi plus sûrs.
 
Un seul exemple : il y a 30 ans, certains ne juraient que par le "goto". On a montré à ce moment-là que les structures de contrôles "for" et "while do"/"repeat until" étaient beaucoup plus sûres et permettaient de masquer le goto dans 99,9 % des cas tout en en gardant l'efficacité (j'ai bien dit "masquer", puisque dans la réalité, cela revient à ça).
Restaient encore, il y a 10-15 ans, quelques cas où le "goto" restait nettement plus difficile à éviter : la récupération sur erreur, et en particulier quand on avait besoin de libérer des ressources après la détection de l'erreur. Aujourd'hui, le mécanisme de traitement d'exceptions ("try/catch/finally" ), beaucoup plus sûr, remplace avantageusement tous ces cas résiduels, et on n'a plus jamais besoin du "goto".
(en fait, si, il y a un cas : quand on veut implémenter la gestion logicielle de threads légers non préemptifs en C, on a besoin des "long-jumps" : je me suis déjà amusé à ça... :D Mais bon, c'est très localisé dans le code qui encapsule le changement de contexte)
 

Citation :

Java a repris la syntaxe du C++, mais on a tort de les comparer, ils n'ont pas le but, ni la même utilisation.

:jap:  
 

Citation :

Je ne connaîs un peu BASIC, Pascal, VB, Java; et relativement bien C et C++.
Donc, mon avis manque d'expérience, mais je le donne quand même.


Et tu as raison, il est très intéressant.  :jap:

n°245696
Musaran
Cerveaulté
Posté le 15-11-2002 à 02:58:17  profilanswer
 

J'ai corrigé la question du tableau :na: .
 

BifaceMcLeOD a écrit a écrit :

D'où l'utilité de fournir des outils alternatifs à côté des outils très puissants, plus spécialisés mais aussi plus sûrs.


J'ai lu des articles de Bjarne Stroustrup.
Il souhaite un langage avec un jeu réduit de fonctionnalités fondamentales très puissantes, ce qui est le cas actuellement.
Pour lui, tout le reste doit pouvoir venir de librairies, à étoffer maintenant.
 
Il a raison dans le sens où on ne peut pas préjuger de l'emploi du langage, ni des attentes du futurs.
L'histoire de l'informatique est jonchée de langages taillés sur mesure pour un usage spécifique, mais qui n'ont pas survécu à l'évolution.
 
Il a tort dans la mesure où certaines choses basiques sont compliquées à obtenir, et cela gêne tout le monde.
Il y a des choses époustouflantes dans les librairies boost, mais est-ce raisonnable ? Ça n'est vraiment pas à la portée des néophytes.
 
 
 
Pour le coup j'ai épuisé mes pensées, je n'ai plus rien à ajouter... pour l'instant :ange: .


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
n°245743
BifaceMcLe​OD
The HighGlandeur
Posté le 15-11-2002 à 10:25:21  profilanswer
 

Musaran a écrit a écrit :

J'ai corrigé la question du tableau :na: .




En Java, tu ne peux pas allouer plusieurs niveaux de tableaux en même temps. Seul un tableau est alloué, de la taille indiquée, puis il est rempli de null.
Donc pour créer un tableau tri-dimensionnel, tu dois forcément écrire :

Code :
  1. MaClasse[][][] tableau = new MaClasse[][][2];
  2. for (int i = 0; i < tableau.length; i++) {
  3.   tableau = new MaClasse[][y];
  4.   for (int j = 0; j < tableau[i].length; j++) {
  5.     tableau[j] = new MaClasse[x];
  6.   }
  7. }


Et là, tu as alloué [i]2 * x * y tableaux, c'est clair.

n°246296
Musaran
Cerveaulté
Posté le 15-11-2002 à 22:07:08  profilanswer
 

Tu es vraiment sûr ?
Ma mémoire me joues des tours et me faire voire Java meilleur qu'il ne l'est.
 
A propos des contraintes de paramètres de patrons, voici des extraits de cette interview de Bjarne Stroutrup: http://www.research.att.com/~bs/01chinese.html.
 

(traduction) a écrit :

C++ pourrait être plus simple et plus facile à utilisé (plus "pur" en quelque sorte), mais ne pourrait pas continuer à supporter des demandes "insolites". Je suis personnellement très attentif à soutenir les gens qui construisent des systèmes avec des demandes de fiabilité, performance d'exécution, et maintenabilité qui sont bien plus élévés que le moyenne de industrielle. Je conjecture que sur la portée d'une décennie la plupart des programmeurs doivent affronter des nécessités techniques "insolites" qui profiteront de la structure multi-paradigme du C++, tout en étant mal servie par des langages "simplifiés" comme Java et C#.
...
http://www.research.att.com/~bs/bs [...] onstraints Pourquoi ne puis-je définir des contraintes pour mes paramètres de patrons ?
...
Nous devons faire attention à n'étendre le langage que là où les extensions fournissent des avantages majeurs en ce qui peut être exprimé. Par exemple, je ne soutiens pas les idées de support direct par le langage de vérification de contraintes de paramètres de patrons. Nous pouvons déjà faire plus avec des patrons de contraintes/vérifications que ne pourrait être fait avec avec les diverses extensions de langage proposées pour C++ et des langages similaires.



 

(original) a écrit :

C++ could be simpler and easier to use ("purer, if you must), but not while still supporting users with "unusual" demands. I am personally very concerned to support people building systems with demands for reliability, run-time performance, and maintainability that are far greater than the industry average. My conjecture is that over the span of a decade most programmers will face "unusual" technical requirements that will benefit from C++'s multi-paradigm structure while not being well served by "simplified" languages such as Java and C#.  
...
http://www.research.att.com/~bs/bs [...] onstraints Why can't I define constraints for my template parameters ?
...
We have to be careful to extend the language only where extensions provide major advantages in what can be expressed. For example, I don't support ideas of direct language support for template argument constraints checking. We can already do more with constraints/concept checking templates than could be done with the various language extensions proposed for C++ and similar languages.



 
J'aime bien ce qu'il dit.
Il a visiblement un bon recul, une bonne vue d'ensemble, des idées claires.
Je recommande la lecture de son site, c'est très instructif.
 
 
Un avantage de s'investir en C++ est que le plafond est très haut.
C'est à dire qu'on peut toujours s'améliorer, jusqu'à un niveau très élévé, avec très peu de chance de toucher une limite du langage.
Si on s'y prends bien, le code est extensible et réutilisable à volonté, mais ça demande de la maîtrise.
C++ est complexe.


Message édité par Musaran le 19-11-2002 à 23:39:32

---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
n°247599
BifaceMcLe​OD
The HighGlandeur
Posté le 18-11-2002 à 13:55:41  profilanswer
 

Rien à ajouter.
 
PS : le mot anglais "decade" se traduit en français par "décennie". En français, une décade est un groupe de 10 jours, comme défini dans le calendrier révolutionnaire (au même titre que les noms de mois "brumaire", "vendémiaire", "nivose", "pluviose", etc).


Message édité par BifaceMcLeOD le 18-11-2002 à 13:56:05
mood
Publicité
Posté le 18-11-2002 à 13:55:41  profilanswer
 

n°248162
Musaran
Cerveaulté
Posté le 19-11-2002 à 04:12:40  profilanswer
 

Arf... 10 jours ça fait un peu court. Un faux ami m'a trahi, je ne me suis rendu compte de rien.
 
Ah tiens, les dimensions commencent à droite en Java ?
Je crois que tu as raté le "tableau[i][j]".
 
Bref, en Java chaque tableau est un objet, et il n'y a pas vraiment de tableaux multi-dimensions.

Code :
  1. tableau          //     1 MaClasse[][][]
  2. tableau      [z] //+    z MaClasse[][]
  3. tableau   [y][z] //+  y*z MaClasse[]
  4. tableau[x][y][z] //+x*y*z MaClasse

Total: 1 + z + y*z + x*y*z allocations dynamiques, ce qui peut être beaucoup.
Du coup, il semble qu'il vaut mieux mettre les plus grandes dimensions en dernier (donc à droite ?).
 
En C++, entre 0 et (1 + x + x*y) selon que les dimensions soient constante, variables, ou un mélange des 2.
Il y a même des combinaisons intermédiaires.
Et il vaut mieux mettre les plus grandes dimensions en premier (à droite ).
 
Ça reste dur à gérer et propice au bogues !


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
n°248167
gilou
Modérateur
Modzilla
Posté le 19-11-2002 à 05:20:09  profilanswer
 

Pour BiFace & Musaran,  
Je suis assez d'accord avec le fait que Ada est un bon langage avec nombre de possibilites avancees que l'on ne trouve pas ailleurs et une bonne methodologie (le premier compilo Ada (Thomson?) que j'ai utilise tournait sur un 386).
Mais il a une syntaxe que l'on aime ou pas (j'aime pas trop).
Il a de plus une precedence de l'operateur - assez inhabituelle.
 
BiFace, entre Eiffel et Ada, tu pourrais nous faire un recapitulatif des points forts/faiblesses, si tu connais bien les deux langages?
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°248215
BifaceMcLe​OD
The HighGlandeur
Posté le 19-11-2002 à 10:39:28  profilanswer
 

Je connais très mal Eiffel, et je ne l'ai jamais utilisé, désolé.
 
De ce que je m'en souviens, une des principales caractéristiques d'Eiffel est de pouvoir définir des préconditions et des postconditions pour chaque méthode, ainsi que des invariants (sorte de conditions toujours vérifiées) valables pour l'ensemble du code. Ces conditions qui sont automatiquement vérifiées par le compilateur. Ceci permet de définir une sorte de programmation par contrat, puisque l'implémenteur s'engage à ce qu'un certain nombre de conditions écrites dans le code soient toujours respectées.
Je me trompe ?
 
Tiens, au détour de mes pérégrinations, j'ai trouvé ceci (rien à voir avec la discussion qui précède, mais ça ne fait rien) :  
http://perso.club-internet.fr/ppra [...] ation.html
Intéressant.


Message édité par BifaceMcLeOD le 19-11-2002 à 10:39:48
n°248235
falip
Elevé à la GUINNESS!
Posté le 19-11-2002 à 10:59:33  profilanswer
 

Juste une chose, je sais pas si kk'un l'a déja dit, je pense ke oui!!!!
 
Vu ke le java est un langage interpretet, il est totalement portable ss n'importe kel OS, alors ke le C ben le faire passer ne seresse ke de Unix à Linux et bien la merde ke c qd ca commence à etre un peu compliké le code.
 
Alors ke le java, compliké ou pas, tu prends ton prog, et ca roule n'importe ou!!!!!!!!!!!!!!!!!!
 
Ca c vraiment un gros avantage, et ds ma boite on pleure ne ce moment car on porte tt de unix à linux et ca fait ke merder!!!!!

n°248315
BifaceMcLe​OD
The HighGlandeur
Posté le 19-11-2002 à 12:46:37  profilanswer
 

Ecrire du code portable tous Unix et NT en C/C++ requiert une grande expérience et une grande rigueur. Mais ça a longtemps été le lot de tous ceux qui développaient des applications systèmes portables (exemple, un SGBD).
Dans ces situations-là, on apprécie le principe d'encapsulation, et surtout, on apprécie les développeurs qui écrivent proprement...  :sarcastic:

n°248398
falip
Elevé à la GUINNESS!
Posté le 19-11-2002 à 14:26:27  profilanswer
 

oui peut etre, mais essaye de faire un multi threading portable en c de unix vers linux ou vers win.(ou le mappage mémoire diffère aussi!!)
 
Ou alors un mappage mémoire,,vu ke les instructions "shell" different:
 
genre "pthread" est différent, alorsd ke si tu fait du multi threadé avec du java, ben t'as aucun problème de potage.
 
Je sais ceux st des cas peut utilisés, mais tu vois on a beau programmer portable, tt ne l'est pas en c!!!!!!!!!
 
Voila c tout!

n°248962
BifaceMcLe​OD
The HighGlandeur
Posté le 19-11-2002 à 19:36:18  profilanswer
 

Le multithreading portable en C, c'est tout à fait possible : je l'ai fait. Mais c'est clair qu'il faut écrire une surcouche pour encapsuler les différentes implémentations de threads (pthreads/green threads/threads Sun/threads NT/...), avec moult #ifdef en son sein suivant la plate-forme.

n°249240
falip
Elevé à la GUINNESS!
Posté le 20-11-2002 à 09:10:12  profilanswer
 

J'imagine meme pas la gueule du code à vomir.
 
Et puis le code k'on avait à porter a été écrit il y a 7 ou 8 ans, et ils ne pensaient pas du tout le faire passer un jour de HP-RT à pentium.
Mais vu aujourd'hui les différences prix/performances, ils ont changé le fusil d'épaule.
 
Alors ke si ca avait était fait direct en java, tu code ss te soucier du portage et vlam ca passe.
 
Et puis bon le java c plus sympa à écrire je trouve (y en a ki diront surement moins rigoureux!!!!)

n°249259
BifaceMcLe​OD
The HighGlandeur
Posté le 20-11-2002 à 09:44:39  profilanswer
 

falip a écrit a écrit :

J'imagine meme pas la gueule du code à vomir.




Non, non, ça restait assez lisible. Mais surtout, c'était localisé. Et le reste du code, qui reposait sur cette couche d'encapsulation, était tout à fait propre, puisque lui était parfaitement portable.

n°250376
Musaran
Cerveaulté
Posté le 21-11-2002 à 04:05:45  profilanswer
 

falip a écrit a écrit :

Et puis le code k'on avait à porter a été écrit il y a 7 ou 8 ans, et ils ne pensaient pas du tout le faire passer un jour de HP-RT à pentium.
Mais vu aujourd'hui les différences prix/performances, ils ont changé le fusil d'épaule.
 
Alors ke si ca avait était fait direct en java, tu code ss te soucier du portage et vlam ca passe.


7-8 ans, c'est bigrement long en informatique.
Il est difficile de savoir ce que nous réserve l'avenir, et je ne suis pas sûr qu'on y trouve Java si portable que ça.
A commencer par l'imminent passage à 64 bits.


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
n°250399
benou
Posté le 21-11-2002 à 09:26:43  profilanswer
 

Musaran a écrit a écrit :

7-8 ans, c'est bigrement long en informatique.
Il est difficile de savoir ce que nous réserve l'avenir, et je ne suis pas sûr qu'on y trouve Java si portable que ça.
A commencer par l'imminent passage à 64 bits.




? qu'est ce que ca changerat pour java ???
t'aura une JVM 64 bits et point bart !
 
 
et puis ca fait déjà quelques années qu'il est iminent le passage ! ;)

n°250439
BifaceMcLe​OD
The HighGlandeur
Posté le 21-11-2002 à 10:12:39  profilanswer
 

Oui, je suis d'accord avec benou. Les principaux points de non-portabilité des programmes Java sont leurs parties natives. Mais la définition du langage proprement dite ne suppose rien sur la taille du mot machine (ni de son "boutisme" d'ailleurs, qui, pour m'y être confronté, est encore plus compliquée à gérer dans du code C/C++, soit dit en passant).

n°251047
Musaran
Cerveaulté
Posté le 21-11-2002 à 23:57:38  profilanswer
 

J'avais lu que l'int Java est défini comme 32 bits.
 
Pour ce qui est du boutisme, je suppose que Java offre des fonctions de communication qui le gèrent.


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
n°251235
BifaceMcLe​OD
The HighGlandeur
Posté le 22-11-2002 à 10:27:59  profilanswer
 

Les types de base Java ont une type fixe quelle que soit la taille du mot pour le processeur, alors qu'en C, le type "int" a pour taille celle du registre processeur (donc 16 bits sur le 8086 ou le 68000, 32 bits sur un 80386, et 64 bits sur l'Alpha ou un processeur SPARC64).

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
JNI Utiliser une connection Java dans une dll C/C++[JAVA] obtenir la précision voulue pour un nombre....
[Java] Tranfert de fichier client/server ????[java] comment faire une application en plein ecran ?
[JAVA] Help! upload + envoi d'email avec pièce jointe[java] il se fou du monde le jbuilder !!!!
[Delphi]Interface 1 Wire Micro Lan avec Driver Java ! c est possible ?[Java]TCP Client ne marche que partiellement pkoi?[Resolu]
[Perl, C, C++, JAVA, etc.] besoin de conseil sur prog à faire[VISUAL C++]Difference entre Release/Debug
Plus de sujets relatifs à : C vs Java > c ti quoi dont la différence


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR