120

On ne s’en tamponne pas forcément que ce soit libre ou pas, tout dépend de ton projet, de tes objectifs, usages. Mais ce n’est de toute façon pas une condition suffisante pour choisir ou jeter Java.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

121

Perso, je n'ai pas encore vu d'applet java pour le web qui soit agréable à utiliser, ça suffit à me refroidir cheeky
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

122

J'ai déjà une VM libre et qui marche (OpenJDK), et une intégration Java libre dans Konqueror (ça n'utilise pas le plugin Mozilla, mais il y a aussi un plugin Mozilla libre: IcedTeaPlugin), c'est JavaFX qui n'est pas libre, pas Java!
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

123

quel truc est pas libre? les libs du framework?

124

There are currently various licenses for the modules that compose the JavaFX runtime:
The core JavaFX runtime is still proprietary software and its code has not yet been released to the public,
The JavaFX compiler and an older version of the 2D Scene graph are released under a GPL v2 license,
The NetBeans plugin for JavaFX is dual licensed under GPL v2 and CDDL.

http://en.wikipedia.org/wiki/JavaFX#License

smile
Trout are freshwater fish and have under water weapons.
Trout are very valuable and immensely powerful.
Keep away from the trout.
Why should it mean that the fish in the sea are all unable to sing? Fish fish fish fish fish.
I wish that I could get my hands on a dozen fish!

125

squalyl (./119) :
java est un standard industriel mondial et savoir faire du java revient à savoir faire tout le reste.

Toi t'as pas essayé l'objective C / le dév Mac en général pour dire ça...
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

126

Kevin Kofler (./113) :
Kochise (./109) :
Au fait, en matière de PC open-source (parce que c'est bien beau de parler d'OS et de BIOS FOSS) ça en est où ? Histoire de pousser ton raisonnement jusqu'au bout...

http://www.coreboot.org/

J'entendais par là HORS OS ET BIOS, donc CPU open-source, carte mère open-source, carte vidéo open-source, etc...

Kochise
avatar
Si Dieu m'a de nouveau fait homme, cette fois il m'a pas raté : marcher sur l'eau et dupliquer les pains, ça marche p'us :/

127

Brunni (./125) :
squalyl (./119) :
java est un standard industriel mondial et savoir faire du java revient à savoir faire tout le reste sauf le dev mac, mais probablement tout ce qui est objet "normal".

Toi t'as pas essayé l'objective C / le dév Mac en général pour dire ça...

oui désolé fixed sick

128

^^
Meowcate (./115) :
Moi qui avait envie de me lancer dans le Java, j'ai l'impression à vous lire que c'est en fait une grosse merde à éviter (ou plutôt "comme d'après moi il existe mieux, c'est une grosse merde").
Qu'on m'explique qu'est ce qui est le top du top des applications browser que je sache de suite sur quoi m'orienter, c'est que je ne voudrais pas perdre le coche à étudier un élément obsolète et sans avenir.

Nan mais Java c'est un excellent langage. Il est assez académique, idéal pour apprendre à bien coder en orienté objet. En plus il est bien documenté, ce qui le cas d'assez peu de langages.
Perso je préfère le C# parce qu'on a plus de libertés, mais je pense qu'il n'est pas à mettre dans les mains de n'importe qui grin Perso je l'utilisais pas mal pour coder des petits utilitaires.
Mais de moins en moins en fait, d'ailleurs hier je voulais me faire un petit outil pour retrouver des fichiers identiques dans un répertoire, ben je l'ai fait en Python. Ce n'est pas plus compliqué que ça:
[source=py]# coding=latin-1
# Permet de trouver les fichiers ABSOLUMENT IDENTIQUES (à l'octet et au contenu
# près) au sein d'un répertoire.
import os, sys

# Paramètre
if len(sys.argv) != 2:
print ('Usage: dupefinder <directory>')
exit(-1);

folder = sys.argv[1]
files = os.listdir(folder)

for i in range(0, len(files) - 1):
for j in range(i + 1, len(files)):
# Lecture des deux fichiers
f1 = open(folder + os.sep + files[i], 'rb')
f2 = open(folder + os.sep + files[j], 'rb')

content1 = f1.read()
content2 = f2.read()

if content1 == content2:
print (str(files[i]) + ' <=> ' + str(files[j]))[/source]
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

129

attends mais totalement sick

vas y pour comparer des fichiers un peu gros!

(</hs>)

130

<hs prime>
l'est triste ton avatar en niveaux de gris Brunni, tu veux pas mettre un peu de couleur ?
</hs prime>
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

131

(et deux calculettes ?)

132

squalyl (./129) :
attends mais totalement sick

vas y pour comparer des fichiers un peu gros!

(</hs>)

Tout dépend l'implémentation de read() smile Je suis un jours tombé sur un OS embedded qui en fait lisait la valeur hash incluse dans le FS (ou la générait le cas échéant) ainsi que le mapping VF (virtual file). Du coup si ensuite tu faisais un compare() (ou =happy et bien il comparait les hash ! Radical...

En cas de non conformance des hash, avec le mapping ouvert, il comparait par chunk (je crois me rappeler de 128 KiB) qui eux mêmes disposaient de hash. La comparaison se faisait en parallèle sur des fichiers qui pouvaient êtres énormes avec une rapidité stupéfiante (extra pour les diffs) sans compter que le FS intégrait la notion de secteur non plein (tu peux avoir une césure binaire n'importe où dans le fichier, ça reprend au prochain secteur) Par contre c'est sûr que dans ces cas là, ça peut être consommateur d'espace disque :/

Kochise
avatar
Si Dieu m'a de nouveau fait homme, cette fois il m'a pas raté : marcher sur l'eau et dupliquer les pains, ça marche p'us :/

133

squalyl (./129) :
attends mais totalement sick

vas y pour comparer des fichiers un peu gros!

(</hs>)

?
(J'ai pas trop réfléchi, y avait genre 50 fichiers de taille assez faible, mais même je verrais mal comment faire autrement à part faire des checks préliminaires de taille...)
Zerosquare (./130) :
<hs prime>
l'est triste ton avatar en niveaux de gris Brunni, tu veux pas mettre un peu de couleur ?
</hs prime>

Si je devais rendre sa couleur à Henrietta, ça donnerait 2 avatars gay-friendly de suite, et c'est pas dans mes principes embarrassed
(Mais comme Tails en soit était déjà... hum, on va faire exception à la règle grin)
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

134

Brunni > comparer les tailles, puis ligne par ligne pour éviter de tout lire et de tout charger en mémoire d'un coup.
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

135

oué voila, parce que si read() alloue tout le fichier en mémoire c'est tritop

136

Oui c'est vrai, l'abstraction m'a carrément ôté l'idée, alors que j'y ai pensé quand je songeais à une implém C au début couic Enfin c'était pour donner une dée du langage. Cet utilitaire s'est exécuté instantanément pour mes 50 fichiers de toute façon ^^
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

137

Pareil.
J'ai les bonbons qui collent au papier.

Adoptez le http://www.sodomyth.com/ Way of Life

138

Brunni: je comprends bien l'objet de la manip grin

c'est vrai que le python est assez compact.

139

FYI => http://docs.python.org/library/filecmp.html
Maintenant on peut obtenir un truc compact.

140

141

-

142

quelqu'un qui ne sait pas gérer la mémoire code comme un porc et ne fera pas mieux dans un autre langage.

un garbage collector ne doit pas inciter à coder de la merde en barres et à ne pas savoir ce qu'on alloue.

143

C'est vrai que c'est un danger inhérent aux langages qui s'éloignent de la machine et de l'implémentation. Java, avec son GC, est un peu à la pointe dans les langages OO niveau mémoire, non ? Je veux dire, celui où l'on met le moins les mains dans le cambouis (et donc le plus dangereux au niveau habitudes) ?

144

ça veut pas dire grand chose, "a la pointe niveau mémoire?" grin

le GC marche probablement aussi bien que celui de .Net ou Python, ou encode que celui de javascript smile

t'alloues des trucs, tu les affectes, et le GC les désalloue lui même quand plus rien ne les référence.
ça dispense pas d'utiliser son cerveau pour pas allouer des trucs inutiles.

ceci dit je n'ai jamais dit qu'une expérience en C n'était pas bénéfique avant de passer au java. c'est même le contraire.

145

Oué, me suis mal exprimé (aïe Ethaniel fear). Je voulais juste savoir si d'autres langages (ceux que tu cites par exemple) avaient la même opacité au niveau gestion de la mémoire que Java.

146

c'est loin d'etre opaque, ni un mystère (triso)

IIRC (SJMRB), le GC de java ne fait rien tant qu'un niveau de mem allouée n'est pas atteint, et quand le niveau est atteint, il fait le ménage en désallouant tout ce qui n'est plus référencé.

c'est juste pas déterministe parce que le moment ou le GC se déclenche dépend de l'activité du programme.
bon y'a bien une API explicite System.gc() pour demander de faire le ménage, mais on a jamais besoin de l'appeler en pratique.

147

Le Caml grin
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

148

squalyl (./146) :
c'est loin d'etre opaque, ni un mystère ( triso.gif )

(grin) Oui on est d'accord, il y a sûrement des règles établies, mais je pensais au fait que tu n'as pas à spécifier des désallocations, ni même à te soucier de quand ça va intervenir, contrairement à d'autres langages OO où c'est à toi de faire le boulot.

149

Le garbage collector n'a rien à voir avec le fait qu'il s'agit d'un langage OO ^^ tu peux très bien avoir un langage procédural avec GC.
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

150

./145> De plus en plus en fait. Depuis ces dernières années il ne reste quasiment plus que le C(++) et des vieux langages plus mis à jour qui n'ont pas de GC.

Sinon pour les langages particuliers on peut citer l'Objective-C puisque je suis dedans actuellement. Il n'a un GC que sur Mac (desktop).
Pour les autres plate-formes il a un système de comptage de références qui reste complexe à manipuler, mais beaucoup moins qu'en C pur. Par exemple:
Objet *o = [[Objet alloc] init];    // On a créé l'objet, refcount=1
[o release];    // Nous on a fini avec - le libère si le refcount passe à 0

Quelqu'un qui reçoit un objet et veut le garder peut faire un retain pour incrémenter le refcount.
Une addition qui rend le truc vraiment cool, c'est "l'autorelease pool", une liste d'objets à libérer "plus tard" (mais pas au hasard, comme en Java, à un moment soit déterminé par l'utilisateur, soit par le système lorsque le traitement est fini). Comme la règle est qu'on release tout objet qu'on a alloué soi-même (et seulement!), si on retourne un objet on peut l'inscrire dans l'autorelease comme ça il vivra encore un moment jusqu'à ce que l'appelant décide qu'en faire (soit retain - incrémente le refcount de sorte à ce que l'autorelease ne le libère pas, mais seulement lui quand il aura décidé de faire son release).
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741