Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Microsoft et Java

295 réponses
Avatar
Wykaaa
Microsoft semble reconnaître que Java permet de développer plus
rapidement que C# et qu'il y a moins de failles de sécurité dans Java
que dans .net :
http://dsi.silicon.fr/nouveautes/microsoft-java-forever%E2%80%A6-1366

10 réponses

Avatar
talon
Toxico Nimbus wrote:
c'est le default du switch. Par ailleurs toutes les valeurs de errno
forment partie du standard POSIX, donc c'est assez peu sujet à
changement. Sinon c'est "erreur inconnue".




De toute façon tout ça est complètement académique, car si le
programme plante, que ce soit suite à une exception ou une erreur non
traîtée, il est planté et donc la programmation était mauvaise. Si la
programmation avait été correcte, il n'aurait jamais avoir du y avoir
un cas d'erreur. Qu'est ce que tu vas dire si ton OS se plante et te sort
un écran bleu? que c'est une saloperie de Microsoft, et le message
d'erreur te fait une belle jambe. Pour moi les traceback Java, Python,
etc. ça sert en phase de debugging, point.

--

Michel TALON
Avatar
Dellara
Yliur a papoté sur Usenet le 22 juin 2011 07:58:

Tu sais, ce serait beaucoup mieux si tu citais le contribruiteur à
qui tu réponds.



Son nom, tu veux dire ?



À peu de chose près oui, puisque la majorité des contribruiteurs de ce
fora utilisent un pseudo ;)
Avatar
totof01
On 22 juin, 18:27, Aeris Imirhil wrote:
On 22 juin, 17:35, "Mihamina Rakotomandimby (R12y)"

wrote:
> On Mon, 20 Jun 2011 22:42:16 +0200, Aéris wrote:
> > Il y en a surtout une qui avantage énormément les GC : les mecs d e chez
> > Sun, Oracle ou IBM sont bien plus compétents que nous pour savoir
> > comment gérer (proprement si possible) la mémoire.

> Et merde, tu viens de baisser le niveau de l'équipe qui est ici.
> Prends le temps de faire des recherches sur tes correspondants.
> C'est pratique quand on poste avec son vrai nom. Pas comme toi.

Comprendre le « nous » au sens « le commun des développeurs ».
J'ai jamais dis qu'il n'y avait pas d'exception à la règle, mais une
discussion est centrée autour du « développeur moyen », pas « d e la
dreamteam de dev »



Ya pas de "ccommun des développeurs" en C : il n'y a que des bons.
Les autres, ils se rendent vite compte que "le C c'est trop compliqué,
faut gérer la mémoire et des pointeurs", et ils se mettent à faire du
Java, ou pire, du Python. Les plus gorets d'entre eux font du Perl ou
du Visual Basic.
Avatar
talon
Aeris Imirhil wrote:
On 22 juin, 17:35, "Mihamina Rakotomandimby (R12y)"
wrote:
> On Mon, 20 Jun 2011 22:42:16 +0200, Aéris wrote:
> > Il y en a surtout une qui avantage énormément les GC : les mecs de chez
> > Sun, Oracle ou IBM sont bien plus compétents que nous pour savoir
> > comment gérer (proprement si possible) la mémoire.
>
> Et merde, tu viens de baisser le niveau de l'équipe qui est ici.
> Prends le temps de faire des recherches sur tes correspondants.
> C'est pratique quand on poste avec son vrai nom. Pas comme toi.

J'ajouterais que même si je ne vous connais pas particulièrement ni
vos niveaux de compétence, quelque soit mon niveau, je n'oserais
jamais prétendre être meilleurs que IBM, Oracle ou Sun...



Tu peux imaginer que IBM ou Sun ont tout intérêt à te fourguer un
système consommant un max de mémoire pour te vendre un max de mémoire à
prix d' "ami". Celà étant, là encore je dirais que l'allocation
automatique de mémoire gérée par un gc a été une innovation de lisp, donc
de gens particulièrement balèzes en programmation peuplant le MIT est
des endroits similaires, ce qui tend à faire penser que ce n'est pas une
idée stupide. Dans le même ordre d'idée il y a le typage automatique et
dynamique des variables, comme en python, et qui n'existe pas en Java,
ce pour quoi je pense que Java est un langage considérablement
inférieur. Et cerise sur la gateau, l'obligation de compiler le code,
qui est un héritage de l'age de pierre. Mais enfin il faut bien attraper
les mouches avec du vinaigre, c'est à dire avec des conceptions qui
étaient déjà périmées il y a 40 ans.

--

Michel TALON
Avatar
totof01
On 22 juin, 17:52, Aeris Imirhil wrote:
On 22 juin, 17:19, Toxico Nimbus wrote:

> > Qui, en faisant l'hypoth se que le d veloppeur est mauvais, pue tr s
> > fortement.

> Moi je ne fais pas ce genre d'hypoth se, c'est assez st rile.

Je ne la fait pas non plus, je fais justement l'hypothèse que mon code
ne doit faire aucune hypothèse sur ce qui se trouve en dessous.

> Une API mal document e est rarement bien crite. Un dev qui b cle sa doc
> aura sons doute d j b cl ses comment , son code, sa conception.

Je parle du moment où tu es encore en développement et où tu intè gres
des morceaux de code d'autres développeurs de ton équipe.
Tu as rarement de la doc fiable à ce moment du projet, au mieux la
Javadoc dans le code.


Tu me confirmes que les devs Java codent comme des gorets, et encore
mieux, le langage et les outils les pousse à coder comme des gorets.
On m'a appris dans les bonnes pratiques de développement,
indépendamment du lamngage, que la doc devait être écrite avant
l'implémentation, les interfaces pensées avant d'écrire le code, pour
éviter justement de négliger la partie documentation, et ce, quel que
soit le langage.

> 1. Ce qu'on attend d'elle ne peut se trouver ailleurs que dans la doc.

Dans la spécification oui, mais celle-ci n'est pas orientée technique
ni développement.
Dans la doc finale, elle y sera sûrement, mais elle n'est souvent pas
disponible au moment où on en a besoin (en cours de dev).

> 2. Je ne vois pas ce qu'est un cas hors limite, part peut- tre une
> m thode/classe utilis e en dehors de son domaine de validit ?

Voila.
Dans le domaine sécuritaire, même si l'utilisateur saisie n'importe
quoi, le soft ne doit pas faire n'importe quoi et se comporter
correctement.
Dans l'exemple de la fraiseuse, même si l'utilisateur saisit « toto  »
ou « -1 » en vitesse de rotation, le soft doit arrêter l'avance de
coupe dès que le moteur de rotation s'arrête (certes le contrôle de s
données sera fait avant, mais cela est un exemple). Si tu as un bug
dans ton code, tu pourrais très bien envoyé -1 au moteur de commande,
qui va te bouffer une grosse « exception » ou un code d'erreur. S i
cette « exception » n'a pas été vue (uniquement possible en C et pas
en Java), ta machine va continuer à exécuter son programme, au lieu d e
partir en arrêt d'urgence pour couper tous les moteurs. Et tu vas
usiner moteur de coupe arrêté…


L'exception ne protège de rien, surtout dans le cas ou tu met du code
générique, et que tu ne la traites pas réellement le cas en question.
que tu utilises Java avec ses exceptions ou le C, sans exceptions,
c'est la mêm chose.

> Gn ? Tu sors ta boule de cristal, ou tu d cide la place du concepteur
> ce que doit faire telle ou telle fonction ?


C'est l'IDE qui le dit.

La doc me sert à savoir ce qu'elle fait dans le cas nominal.
Pour la gestion des cas hors limite, je ne me fie qu'à moi-même et ne
fait aucune hypothèse : si la fonction lève une exception, je la
traite, même si je ne comprend pas (encore) ce qu'elle fait. Question
de sécurité. Le développeur a très bien pu oublier de mettre sa d oc ou
javadoc à jour.


Si c'est un développeur que tu as dans ton équipe, vire-le. Si c'est
un fournisseur de lib qui ne met pas sa doc à jour en même temps que
sa lib, change de fournisseur, et fais-lui payer des dommages et
intérets sur le retard que tu prends par rapport à ton client. Ou
alors révise tes contrats avec tes fournisseurs, et exige une doc à
jour.

> > Je ne sais peut- tre pas quoi en faire, mais je sais au moins prot ge r
> > mon programme contre elle.

> Pas forc ment si tu ne sais pas dans quel tat est le syst me quand elle
> est lev e. Il n'y a que le concepteur qui peut te le dire, ou alors il
> faut relire les sources de ta lib.

J'ai au moins la possibilité de partir en mode « alerte rouge » .
Et je suis au moins averti qu'il manque un truc dans la doc et je peux
faire le nécessaire pour me renseigné.
Le but est d'au moins être averti du problème au plus tôt, alors qu e
l'erreur va sûrement passer aux oubliettes en C, faute de détection.


Et pourquoi donc ? Si en C une fonction retourne un nombre négatif en
cas d'erreur, tu peux passer en mode "alerte rouge" sans problème :
même pas besoin de traiter l'erreur précisément. Sinon, si tu cherche s
quelque chose de plus sécure, c'est ni C ni Java qu'il te faut, mais
plus un truc comme ADA.
Avatar
Aéris
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Le 22/06/2011 19:03, Michel Talon a écrit :
Dans le même ordre d'idée il y a le typage automatique et
dynamique des variables, comme en python, et qui n'existe pas en Java,
ce pour quoi je pense que Java est un langage considérablement
inférieur



J'ai toujours eu du mal avec ça, pour plus ou moins les mêmes raisons
que les exceptions inexistantes en C.

« def foo ( bar ) { ? } »

Il attend quoi comme contrat minimal pour « bar » ?
Et là bien souvent la doc est plus que laminaire !

Sans parler que le duck typing « Si je vois un animal qui vole comme un
canard, cancane comme un canard, et nage comme un canard, alors
j'appelle cet oiseau un canard » c'est génial comme concept au début,
mais le jour où je veux plumer mon « canard », ben il se trouve que le
concept de plume lui est totalement inconnu parce que ce n'est pas un
vrai canard et qu'il a des écailles à la place?

- --
Aeris
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJOAjuzAAoJEK8zQvxDY4P9yDMH/i9pNsG16uoeYPqLfeOpVKWJ
P1OZ/E29+U9TGCyg2baAsANXJ6TgTZX5xvRCEw0c7nBRgMeNKZvrquK2jbzklfXt
P/RLUBHUcI3KEwExynacvwcdzqoxEYf/DK9LZO2zwxeNs6vhSmTMasGBb5VpkerB
gNE0+JWAB8+tT2QQ6fhzPAJ14XeoeHLUbZ7jqG7leK7kdeIMLwELsPoNzcEXIzio
xUAEZwpx/3CUOnzHQ9l5a58Oh1DbYF9h0d15MZOCqxj7kFENB4w9P9mFB+WtTGVn
BI+BJrgUjkTGnP+r2G5iRAWZAUyyNPwiMolq+Y46w0ctRzxxL1L8q2DwIqAdsFs =ZIKQ
-----END PGP SIGNATURE-----
Avatar
Yliur
Le Wed, 22 Jun 2011 12:04:47 +0000 (UTC)
JKB a écrit :

>> Cette pratique antédiluvienne consistant à obliger le
>> lecteur à se taper un fil interminable pour suivre la conversation
>> est vraiment d'un autre âge.
>
> ?
> Je ne vois pas bien le rapport avec la première demande. Parce que
> c'est difficile de voir à quel message ma réponse est rattachée ?

Honnêtement ? Oui, parce que tu ne coupes que ce qui
t'intéresse histoire de dénaturer les propros.



Signale-le quand tu trouves que j'ai trop coupé. La discussion est très
longue, je ne vais pas tout recopier à chaque fois. Je réponds à
certains points, j'essaie de citer ce qui convient pour qu'on puisse
comprendre ma réponse, je tâche de ne pas modifier ton idée et de garder
l'essentiel. Désolé (vraiment) si tu trouves que j'ai été un peu
violent.
Avatar
Emmanuel Florac
Le Wed, 22 Jun 2011 13:38:58 +0200, Tonton Th a écrit:


Rassure-toi, tu n'es pas le seul !-)



Il y a pire, c'est quand tu trouves ce genre de merdes dans le code de
quelqu'un que tu considérais comme compétent.

En fait il y a encore pire, bien sûr, c'est quand tu le trouves dans ton
propre code :)

--
There are only two kinds of languages: the ones people complain about
and the ones nobody uses.
Bjarne Stroustrup
Avatar
remy
totof01 a écrit :




Ya pas de "ccommun des développeurs" en C : il n'y a que des bons.





merci pour cette tranche de rigolade
le c est pratiquement utilisé que pour le programmation de bas niveaux,
ce qui se résume à l'OS et aux interactions avec le hard (I/O)


tout le reste lui est complètement interdit parce qu'on fait du fric
avec la reste

et pour avoir écrit du code bas niveau ,avec et sans os, le c
permet a peu près tout et n'importe quoi , et comme dab, quant on peut
faire n'importe quoi l'on ne s'en prive pas ,c'est pas très compliqué
quand tu codes en C tu vas plus vite a tout ré écrire plutôt qu'a e ssayé
de comprendre les méandres du cerveau torturé qui a pissée les 10
lignes qui sont sur ton écran


et actuellement même dans l'embarqué, la programmation C ne se limit e
plus qu'à la part applicative puisque pratiquement tout est à base d' arm
/linuxette donc et l'on ne touche plus a l'os
et prend juste le hard qui va bien




remy







--
http://remyaumeunier.chez-alice.fr/
Avatar
remy
totof01 a écrit :




Ya pas de "ccommun des développeurs" en C : il n'y a que des bons.





merci pour cette tranche de rigolade
le c est pratiquement utilisé que pour le programmation de bas niveaux,
ce qui se résume à l'OS et aux interactions avec le hard (I/O)

tout le reste lui est complètement interdit parce qu'on fait du fric
avec la reste
et pour avoir écrit du code bas niveau ,avec et sans os, le c
permet a peu près tout et n'importe quoi , et comme dab, quant on peut
faire n'importe quoi l'on ne s'en prive pas ,c'est pas très compliqué
quand tu codes en C tu vas plus vite a tout ré écrire plutôt qu'a e ssayé
de comprendre les méandres du cerveau torturé qui a pissée les 10
lignes qui sont sur ton écran


et actuellement même dans l'embarqué, la programmation C ne se limit e
plus qu'à la part applicative puisque pratiquement tout est à base d' arm
/linuxette donc et l'on ne touche plus a l'os et prend juste le hard
qui va bien

bon bref le C s'est un truc pour vieux con ,que les jeunes on
l'intelligence de ne pas utiliser



remy






--
http://remyaumeunier.chez-alice.fr/