Salutation

[quote=“BorisTheButcher”]Oui c’est ca plus moderne. Le truc vraimment enervant de la part de crosoft c’est qu’ils ont les memes mots clefs mais qui ont des significations differentes.[/quote]Ah ! donc ils ont une signification. :smiley:

[quote=“ghostintheshell”][quote=“BorisTheButcher”]
Ce que j’aime pas c’est la licence (…)[/quote]java va passer 100% open source; c’est maintenant une questions de mois voire peut-etre de semaines …[/quote]Euh… il e semble que debian fournit déjà nombre de machines GPL et opensource, non ?
Vous voulez parler de la machine sun ?

[quote=“usinagaz”]crosoft a t-il était foutu un jour de faire tourner une JVM correctement ? je crois pas ! Il a bien du renoncer et s’accorder avec Sun … Je me dis qu’un jour,
les développeurs de Sun sauront donner à ce langage puissant la rapidité qui, je dois un peu le reconnaitre, et une des rares choses que Java puisse envier à d’autre langage …
Oui, il y a sans doute un peu de parti pris, mais c’est comme ça, java on aime, ou on aime pas. (les développeurs qui ont commencé par le C ou C++ sont peut-être plus enclin à adhérer …).
Quant à penser que c’est un langage de branlotin comme j’ai lu de ci de là (mais pas ici … quoique … :wink: ), je dis que c’est infamant … voilà :open_mouth:

D’ailleurs, pour élever le propos de cette petite guéguerre de développeurs es-langages, pourquoi ne ferions nous pas dans la section programmation un test sur un petit programme codé en différents langages par chaque partisant, afin de mesurer le temps d’éxécution, mais pas seulement, le temps pensé à coder (ça dépend du niveau), la lisibilité, la place que cela prend, … etc … ? un genre de joute develobianesque :smiling_imp: pour mettre en évidence des points de comparaison entre langages hein, pas entre codeurs …

Edit : merci ghost, j’en étais sur …
blog.developpez.com/?blog=42
blog.developpez.com/index.php?bl … 1#more2275[/quote]Ca n’a pas vraiment de sens: chaque projet nécessite pour moi un outil adapté. Dans le choix d’un sujet, sera induit un choix naturel de langage.
Faire un “hello world” en C ou en prolog ne demandera de toutes les manières la même charge de travail.
La dernière fois que j’avais compté les languages que j’avais pratiqués, j’arrivais à une trentaine. Et ce n’est pas par gout de l’experimentation.
Pour moi, chaque sujet necessite le choix d’un langage, et aucun n’est optimal dans tous les cas (même s’il existe des vraies bouses sub optimales dans ous les cas).
Allez, on démolit Java ? Le sujet: faire un hello world qui affiche son résultat dans une console sans interface graphique…
bon, je choisis le shell et voici ma soluce:#!/bin/sh echo "hello world" :laughing:

[quote=“MattOTop”]Ca n’a pas vraiment de sens: chaque projet nécessite pour moi un outil adapté. Dans le choix d’un sujet, sera induit un choix naturel de langage.[/quote] Oui, tu l’avais déjà dit, et c’est bien d’accord.

[quote=“MattOTop”]
Allez, on démolit Java ? Le sujet: faire un hello world qui affiche son résultat dans une console sans interface graphique…
bon, je choisis le shell et voici ma soluce:#!/bin/sh echo "hello world" :laughing:[/quote]
pffff … :smiley: c’est pas du jeu, bash est chez lui là !!! normal !!!

[quote]* à copier/coller dans le shell *
var=( “public class hello {”
“public static void main (String [] args) {”
“long tmp = System.currentTimeMillis();”
"System.out.println(“tmp = " + tmp);”
“if ( args.length == 0) {”
“System.out.println(“Hello world”);”
"} else { System.out.println(“Hello " + args[0]); }”
“long tmp1 = System.currentTimeMillis();”
"System.out.println(“tmp1 = " + tmp1);”
“System.out.println(“j’ai mis " + (tmp1-tmp) +
" millisecondes à m’exécuter”);” “}” “}” );
[ -e ./hello.java ] && rm ./hello.java;
for i in “${var[@]}”; do
echo “$i” >> ./hello.java;
done; javac ./hello.java; java hello[/quote]

:laughing: :laughing: :laughing:

[code]jcode@debian:~$ var=( “public class hello {” \

“public static void main (String [] args) {”
“long tmp = System.currentTimeMillis();”
"System.out.println(“tmp = " + tmp);”
“if ( args.length == 0) {”
“System.out.println(“Hello world”);”
"} else { System.out.println(“Hello " + args[0]); }”
“long tmp1 = System.currentTimeMillis();”
"System.out.println(“tmp1 = " + tmp1);”
“System.out.println(“j’ai mis " + (tmp1-tmp) +
" millisecondes à m’exécuter”);” “}” “}” );
[ -e ./hello.java ] && rm ./hello.java;
for i in “${var[@]}”; do
echo “$i” >> ./hello.java;
done; javac ./hello.java; java hello
tmp = 1156412623920
Hello world
tmp1 = 1156412623921
j’ai mis 1 millisecondes à m’exécuter
jcode@debian:~$ java hello MattOTop
tmp = 1156412637943
Hello MattOTop
tmp1 = 1156412637944
j’ai mis 1 millisecondes à m’exécuter
[/code]

ps : fais voir un peu comment c’est implementé ECHO ? :smiley:

Et toi fais un peu voir comment est implémenté System.out.println !

Petite remarque, on voit bien que tu es informaticien: le sujet parle juste d’un hello world, et tu y rajoutes un timer d’execution… Je serais prof, tu aurais des points en moins pour la baisse de lisibilité que ça provoque, et si j’etais patron, je serrerais les délais pour eviter que tu ne perde ton temps à des trucs inutiles. :wink:

System.out est un Objet représentant le flux de sortie, auquel on applique …une méthode println()

/** * Print a String and then terminate the line. This method behaves as * though it invokes <code>{@link #print(String)}</code> and then * <code>{@link #println()}</code>. * * @param x The <code>String</code> to be printed. */ public void println(String x) { synchronized (this) { print(x); newLine(); } }

/** * Print a string. If the argument is <code>null</code> then the string * <code>"null"</code> is printed. Otherwise, the string's characters are * converted into bytes according to the platform's default character * encoding, and these bytes are written in exactly the manner of the * <code>{@link #write(int)}</code> method. * * @param s The <code>String</code> to be printed */ public void print(String s) { if (s == null) { s = "null"; } write(s); }
par contre, echo heuuu :

[code]^?ELF^A^A^A^@^@^@^@^@^@^@^@^@^B^@^C^@^A^@^@^@p^Ê^D^H4^@^@^@$5^@^@^@^@^@^@4^@ ^@^G^@(^@^Y^@^X^@^F^@^@^@4^@^@^@4^À^D^H4^À^D^Hà$^@^@^@^P^@^@^@^@^@^@^@^H^@^@^@^Z^@^@^@^S^@^@^@^X^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@$^@^@^@^O^@^@^@!^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^R^@^@^@^^@^@^@^Y^@^@^@^@^@^@^@^[^@^@^@^@^@^@^@^^^@^@^@^_^@^@^@^N^@^@^@^@^@^@^@^K^@^@^@^@^@^@^@^@^@^@^@^@^@^@$^B^@^@^R^@^@^@7^A^@^@^@^@^@^@^ÝC^@^@^R^@^@^@^@^A^@^@^@^@^@^@^U^@^@^@^R^@^@^@0^A^@^@^@^@^@^@¯^@^@^@^R^@^@^@Q^@^@^@^@^@^@^@U^B$^@^@^F^@Z^A^@^@^P^@^@^@s^i ^@^@^E^@d^A^@^@^P^@^@^@^Qii
^@^@^D^@p^A^@^@^P^@^@^@^Pii
^@^@^C^@z^A^@^@^P^@^@^@^Rii
^@^@^B^@^Ä^A^@^@^@^@^@^@ŽÃ^D^H^F%^@^@^ÀÄ^D^H^E^K^@^@^ÄÄ^D^H^E^L^@^@^ÈÄ^D^H^E
^@^@^ÌÄ^D^H^E$^@^@ÄÃ^D^H^G^A^@^@ÈÃ^D^H^G^B^@^@ÌÃ^D^H^G^C^@^@ÐÃ^D^H^G^D^@^@ÔÃ^D^H^G^E^@^@ØÃ^D^H^G^F^@^@ÜÃ^D^H^G^G^@^@àÃ^D^H^G$^@^@ìÃ^D^H^G^N^@^@ðÃ^D^H^G^O^@^@ôÃ^D^H^G^P^@^@øÃ^D^H^G^Q^@^@üÃ^D^H^G^R^@^@^@Ä^D^H^G^S^@^@^DÄ^D^H^G^T^@^@^HÄ^D^H^G^U^@^@^LÄ^D$^O¶Àÿ$^ÅšŠ^D^H]^O¶Â^Ãè0Ã]ž
^@^@^@Ã]ž^O^@^@^@Ã]ž^N^@^@^@Ã]ž
^@^@^@Ã]ž^L^@^@^@^ÐÃ]ž^K^@^@^@Ã^Ð^ÍŽ&^@^@^@^@U^ÉåVS^Ãì^P^Ëu^H^ÅötA¹^E^@^@^@ºdš^D^H^Ë^]ÄÅ^D^H^ÉL$^H^ÉT$^DÇ^D$^@^@^@^@è^Uýÿÿ^É$^A^ÄÀu^Ì^ÅÒt^Ô^ÉÊ^O¶B^A^ÄÀ^O^Ä^G^B^@^@<e^O^ÄÙ^A^@^@<n^O^ÄÙ^A^@^@<E^Éö^O^Ä¿^A^@^@Bë×^ÍŽ&^@^@^@^@^Ë^U^ÄÄ^D^H^ËB^T;B^X^O^Ãø^A^@$@^ÉB^TéKþÿÿ^Éö¹^@^@^@^Ít&^@^ÍŒ’^@^@^@^@^Ë^U^ÄÄ^D^H^ËB^T;B^X^O^Ãm^A^@^@^È^H@^ÉB^T^O¶^F^ÄÀ^O^Å^]ÿÿÿO^O^Ä^Eþÿÿ^Ë^U^ÄÄ^D^H^ËB^T$^@^@^@éæþÿÿ¹
^@^@^@éÜþÿÿ¹ ^@^@^@éÒþÿÿ¹^K^@^@^@éÈþÿÿ^O¶Uï^Àê0^Ðë^Þ¹^G^@^@^@éŽþÿÿ¹^H^@^@^@éªþÿÿ¹^L^@^@^@^Ð^Ít&^@é^Ûþÿÿ1ÛBé^Sþÿÿ³^ABé^Kþÿ$^À9-^O^ÄPýÿÿéaýÿÿÆEç^AéTüÿÿŸ ^@^@^@^Ét$^D^É^T$è^Íöÿÿé>üÿÿž^@^@^@^ÉD$^D^É^T$èwöÿÿ^O¶Mïé^Vþÿÿ»
^@^@^@^É$^D^É^T$è]öÿÿé9üÿÿž ^@^@^@^ÉD$^D^É^T$èGöÿÿé-þÿÿ^Ð^Ð^Ð^Ð^Ð^Ð^Ð^Ð^Ð^ÐU^Éå^ËE^H]£^ÔÄ^D^HÃ^Ív^@U^Éå^Ãì(¡^ÄÄ^D^H^É]ô^É}ü$^Ãøvu°^Ͷ^@^@^@^@ë^QÇ^D$^@^@^@^@^ÍŽ&^@^@^@^@ÿU^^ÍE ^ÉEø^ÉD$^P^ËE^X^ÉD$^L^ËE^T^ÉD$^H^ËE^P^ÉD$^D¡^ÄÄ^D^H^É^D$è^Ñ^N^@^@Ç^D$^@^$^Ë]ø^Ëuü^Éì]Ã^Ãþ^FuñžÐ¬^D^Hëê^Ͷ^@^@^@^@^ÍŒ’^@^@^@^@U^ÉåWVS^Ãì^ÉEÀ^ÉUŒ^ÉMžè1ôÿÿ^Ã}^L^F^ÉEÄw^P^ËE^Lÿ$^Å ­^D^H^Ͷ^@^@^@^@ÇEÌ^$^O¶Àÿ$^Å<­^D^H^Ív^@^Ã}Ä^A^O^Äê^B^@^@^Ã}^HÿÇEè^@^@^@^@ÇEì^@^@^@^@^O^ÄX^E^@^@ÇEÜ^@^@^@^@ÆEã^A^ËEÜ^ÍUð^Ë}È^Ë]ž^É^T$^AÇ^ÍEè^Aû^É$^O¶Àÿ$^Å8¯^D^HAB9Îuæ^Ͷ^@^@^@^@^ËEð^É^D$è^]óÿÿ^ÍMè^É^L$^ÅÀ^O^ÕÀöØ Eã^AuÜè5óÿÿ^ÅÀ^O^ÄRÿÿÿ^Ã}Ü^A^O^Æ-^B^@^@^ËMÈ^Ë}Ü^ËuŽ^Aùë ^Ë$^O¶UÛ^Ë]À^ËEÌ^È^T^CÿEÌ^O¶V^AF^ÈUÛ^À}Ú^@tX^À}ã^@uR^Ë]Œ9]Ìs
^ËEÀ^ËUÌÆ^D^P^ËUÌB9UŒv^O^O¶EÛ^Ë]ÀÀè^F^D0^È^D^S^ËUÌ^ÃÂ^B9UŒv^Q^O¶EÛ^Ë]ÀÀè^C$^G^D0^È^D^S^ÀeÛ^G^ÃEÌ^C^ÀEÛ0ÿEÈ;MÈ^O^Çvÿÿÿé
^A^@^@^ËuÈ^Åö^O^Å/^D^@^@^Ã}^L^A^O^Å%^D^@^@^Ív^@^ÍŒ’^@^@^@^@^ËE^Hº^B^@^@^@^Ë]^P^ÉT$^D^ËMž^ËUŒ^É^D$^ËEÀ^É$^Hè^Üýÿÿ^ÉEÌ^ËEÌ^ÃÄ$^ËEÀ^ËMÌÆ^D^H?^ËEÌ@9EŒv^G^ËMÀÆ^D^A^ËEÌ^ÃÀ^B9EŒv^G^ËMÀÆ^D^A?^ÃEÌ^C^È]Û^ÉUÈ^À}Ú^@t6^O¶EÛº^A^@^@^@^O¶MÛÀè^E^Ãá^
^O¶ÀÓâ^ËM^P^ÅT$^ËEÀ^ËUÌÆ^D^P\ÿEÌÿEÈ^ËMŒ9MÌs
^O¶]Û^ËEÀ^ËUÌ^È^^PÿEÌ^Ã}^Hÿ^O^Å^Sýÿÿ^ËMž^Ë]È^À<^Y^@^O^ÕÀé
ýÿÿ^Ð^Ë]Ô^ÅÛu^P^ËUž^ËMÈ^AÊ^ÉUŽé^Oýÿÿ^ËEÈ^ËUÔ^AÐ9E^HsG^ËMž^ËEÈ^AÁ^ÉMŽéòüÿÿè/ñÿÿ^O¶UÛÇEÜ^A^@^@^@^Ë^@^O·^DPÁè^N$^A^ÈEã^À}Ú^@^O^$^ËMÀ^Ë]ÌÆ^D^Y\ÿEÌé^Áüÿÿ^ËU^LžÒ¬^D^Hè^Þûÿÿ^ËU^L^ÉÞԬ^D^Hè^Ïûÿÿ^ÉÇ^O¶^CÇEÌ^@^@^@^@^ÄÀt+ë
^Ð^Ð^Ð^Ð^Ð^Ð^Ð^Ð^Ð^Ð^Ð^Ð^Ð^ËMÌ9MŒv^F^ËUÀ^È^D^QÿEÌ^ËMÌ^O¶^D^Y^ÄÀuä^É<$èTïÿÿ^É}ÐÆEÚ^A^ÉEÔéÖûÿÿÇEÌ^@^@^@^@ÇEÐ^@^@^@^@ÇEÔ^@^@^@^$^ËUÀ^ËMÌÆ^D
‘^ËEÌ@9EŒv^G^Ë]ÀÆ^D^C^ËEÌ^ÃÀ^B9EŒv^G^ËUÀÆ^D^B’^ÃEÌ^Cé9ýÿÿ°aë^Ã^À}Ú^@^O^Ägýÿÿ^ËUŒ9UÌs
‘^ËEÌ@9EŒv^G^Ë]ÀÆ^D^C^ËEÌ^ÃÀ^B9EŒv^G^ËUÀÆ^D^B’^ÃEÌ^Cé9ýÿÿ°aë^Ã^À}Ú^@^O^Ägýÿÿ^ËUŒ9UÌs
^ËMÀ^Ë]ÌÆ^D^Y^ËEÌ@9EŒv^G^ËUÀÆ^D^B0^ËEÌ^ÃÀ^B9EŒv^G^ËMÀÆ^D^A0^ÃEÌ^Cž^A^@^@^@º^@^@^A^@ÆEÛ0éþüÿÿ°ré^]ÿÿÿ°fé ÿÿÿ^ËMž^É^L$è^Óíÿÿ^$^@é¿ûÿÿ^Ë]ž^À{^A^@^O^ÕÀéAþÿÿ^Éö^ÍŒ’^@^@^@^@U^Éå^Ãì^X^É}ü^Ë}^X^É]ô^Éuø^Åÿt:è^Íìÿÿ^ËM^P^ËU^L^Ë0^ÉÃ^É|$^H^Ë^G^ÉD$^D^ËE^T^É^D$^Ë$\Ä^D^H£TÄ^D^H^É^P^ÉH^DéÕþÿÿèëêÿÿèŸ^F^@^@^ÍŽ&^@^@^@^@^ÍŒ’^@^@^@^@U¹ ^@^@^@^Éå^ÃìHü^OŸE^L^Éuø^É}üŸ Å^D^H^Í}Ð^É]ô^Í]Ðó¥¹^A$Z[]Ã^Ͷ^@^@^@^@^ÅÛtòè÷^C^@^@^ÍŽ&^@^@^@^@U^ÉåS^Ãì^T^Ë]^L^É^$èŸÿÿÿ^ËU^H^É$^H^ÉT$^D^É^D$è^Ãèÿÿ^ÃÄ^T[]Ã^Ð^Ít&^@U^ÉåS^Ãì^T^Ë]^H$^Ë]ô^Ëuø^Ë}ü^Éì]Ã1ÿ^ÉÖ^Ív^@^ÍŒ’^@^@^@^@Gÿ^V^ÃÆ^D;}ðrõ^Ë]ô^Ëuø^Ë}ü^Éì]Ã^Ð^ÍŽ&^@^@^@^@U^Éå^Ãì^X^É]ôèO^@^@^@^ÁÃ
^^^@^@^Éuø^É}ü^Í^Ã^\ÿÿÿ^Í^Ó^\ÿÿÿ)ÐÁø^B^ÉEðH^Ãøÿt^W^Í4^Â1ÿ^ÍŽ&^@^@^@^@Gÿ^V^Ãî^D9}ðuõè^Ô^@^@^@^Ë]ô^Ëuø^Ë}ü^Éì]Ã^Ë^$Ã^Ð^Ð^Ð^Ð^$^@^@Usage: %s [OPTION]… [STRING]…
^@^@Echo the STRING(s) to standard output.

-n do not output the trailing newline
^@^@^@^@ -e enable interpretation of backslash escapes
-E disable interpretation of backslash escapes (default)
^@ --help display this help and exit
^@^@^@^@ --version output version information and exit
^@^@^@
If -e is in effect, the following sequences are recognized:

\0NNN the character whose ASCII code is NNN (octal)
\ backslash
\a alert (BEL)
\b backspace
^@^@^@ \c suppress trailing newline
\f form feed
\n new line
\r carriage return
\t horizontal tab
\v vertical tab
^@
NOTE: your shell may have its own version of %s, which usually supersedes
the version described here. Please refer to your shell’s documentation
for details about the options it supports.
^@echo^@
Report bugs to <%s>.
^@bug-coreutils@gnu.org^@POSIXLY_CORRECT^@-n^@/usr/share/locale^@FIXME unknown^@5.96^@GNU coreutils^@write error^@%s: %s^@+^$^@%s %s
^@©^@Written by %s.
^@Written by %s and %s.
^@Written by %s, %s, and %s.
^@^@^@
This is free software. You may redistribute copies of it under the terms of
the GNU General Public License http://www.gnu.org/licenses/gpl.html.
There is NO WARRANTY, to the extent permitted by law.

^@^@^@^@Written by %s, %s, %s,
and %s.
^@Written by %s, %s, %s,
%s, and %s.
^@Written by %s, %s, %s,
%s, %s, and %s.
^@Written by %s, %s, %s,
%s, %s, %s, and %s.
^@Written by %s, %s, %s,
%s, %s, %s, %s,
and %s.
^@Written by %s, %s, %s,
%s, %s, %s, %s,
%s, and %s.
^@Written by %s, %s, %s,
%s, %s, %s, %s,
%s, %s, and others.
^@^Ó£^D^H_€^D^HE€^D^H+€^D^H^Q€^D^H÷£^D^HÝ£^D^HÆ£^D^H¯£^D^H^Ø£^D^Hmemory exhausted^@^@^@^@^@^@^@^@Copyright %s %d Free Softwa$^@^@^@^ÄŠ^D^H^D^@^@^@H^Á^D^H^E^@^@^@Ü^Ä^D^H^F^@^@^@|^Â^D^H
^@^@^@^Î^A^@^@^K^@^@^@^P^@^@^@^U^@^@^@^@^@^@^@^C^@^@^@žÃ^D^H^B^@^@^@^@^A^@^@^T^@^@^@^Q^@^@^@^W^@^@^@@^Ç^D^H^Q^@^@^@^X^Ç^D^H^$^@^@^T^^@^@^@^@^@^@^@^@^@^@^P^@^@^@^@^@^@^@q^@^@^@^A^@^@^@^F^@^@^@^ÄŠ^D^H^Ä&^@^@^Z^@^@^@^@^@^@^@^@^@^@^@^D^@^@^@^@^@^@^@w^@$[/code]

[quote=“MattOTop”]Petite remarque, on voit bien que tu es informaticien:[/quote]Au sens professionel du terme, c’est faut !

[quote=“MattOTop”]le sujet parle juste d’un hello world, et tu y rajoutes un timer d’execution… Je serais prof, tu aurais des points en moins pour la baisse de lisibilité que ça provoque, et si j’etais patron, je serrerais les délais pour eviter que tu ne perde ton temps à des trucs inutiles. :wink:[/quote] :smiley: :laughing:
nan mais c’était la phase de test, rectifions alors :

[code]jcode@debian:~$ var=( “public class hello {” \

“public static void main (String [] args) {”
“if ( args.length == 0) {”
“System.out.println(“Hello world”);”
"} else { System.out.println(“Hello " + args[0]); }”
“}” “}” );
[ -e ./hello.java ] && rm ./hello.java;
for i in “${var[@]}”; do
echo “$i” >> ./hello.java;
done; javac ./hello.java; java hello
Hello world
jcode@debian:~$ java hello MattOTop
Hello MattOTop[/code]
j’ai des pts là ou macache ? :smt033

bon allez, tu aurais les points.

Sinon, je n’ai pas déployé les sources de coreutils pour trouver echo.c, mais voilà la version solaris:
cvs.opensolaris.org/source/xref/ … cho/echo.c

Tu remarqueras qu’echo est superportable, puisque il ne repose que sur stdio .

[quote=“MattOTop”]
Tu remarqueras qu’echo est superportable, puisque il ne repose que sur stdio .[/quote]

manquerait plus qu’il se repose sur un api windows tiens :laughing:

:laughing: :laughing: :laughing:
merci pour les pts :smt040 Matt … sinon, joli bloc, la version solaris …

Looking Glass. C’est mignon. Penser à bien bien sauvegarder tous vos fichiers qd vous le lancez, surprise garantie si vous cliquez trop vite.
:smt021