Aller au contenu

"Hello World!" dans tous les langages


Taki

Messages recommandés

  • 3 semaines après...
  • Réponses 208
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

  • 2 mois après...
En même temps un test rapide me donne :

time php test.php >-

real	0m0.259s
user	0m0.088s
sys	 0m0.128s

avec les doubles guillemets et

time php test.php >-

real	0m0.260s
user	0m0.088s
sys	 0m0.172s

avec les simple guillemets.

Le source de test.php :

<?
for ($i=0; $i<100000; $i++)
echo "Hello World";
?>

Donc en gros tu es en train de nous dire que tu va éventuellement gagner quelque chose de l'ordre du centième ou du millième de seconde sur cent mille print. Sacré optimisation.

Et encore dans le cas présent, c'est le contraire, ce sont les double guillemets qui sont plus rapides.

Test non valide !

Si le moteur de php est bien foutu, il parse une seule fois la chaîne puis la bufferise, donc absolument aucune différence entre "" et ' '.

Pour faire un vrai test, il faudrait générer une chaîne aléatoire et l'afficher, le tout dans la boucle de 100.000. :youhou:

Lien vers le commentaire
Partager sur d’autres sites

<?
for ($i=0; $i<100000; $i++)
{
 $string="";
 for ($j=0; $j<20; $j++)
$string.=chr (rand(0, 255));
 print "== $string ==";
}
?>

 time php test.php >/dev/null

real	0m7.226s
user	0m3.576s
sys	 0m0.840s

<?
for ($i=0; $i<100000; $i++)
{
 $string='';
 for ($j=0; $j<20; $j++)
$string.=chr (rand(0, 255));
 print '== '.$string.' ==';
}
?>

 time php test.php >/dev/null

real	0m7.541s
user	0m3.824s
sys	 0m0.852s

Convaincu ?

Lien vers le commentaire
Partager sur d’autres sites

  • 5 mois après...

[DETERRAGE TOPIC]

"Hello world !" en Ook :

Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook? Ook! Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook? Ook! Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook? Ook! Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook? Ook! Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.

Et le "Hello world !" en spoon :

1 1 1 1 1 1 1 1 1 1 00100 010 1 1 1 1 1 1 1 010 1 1 1 1 1 1 1 1 1 1 010 1 1 1 010 1 011 011 011 011 000 0011 010 1 1 001010 010 1 001010 1 1 1 1 1 1 1 001010 001010 1 1 1 001010 010 1 1 001010 011 011 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 001010 010 001010 1 1 1 001010 000 000 000 000 000 000 001010 000 000 000 000 000 000 000 000 001010 010 1 001010 010 001010

En brainfuck :

++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.

Ahah j' en connai des choses avec http://fr.wikipedia.org/wiki/Ook

[/DETERRAGE TOPIC]

Lien vers le commentaire
Partager sur d’autres sites

En ADA

with Ada.Text_IO;

procedure Hello is

begin

Ada.Text_IO.Put_Line("Hello, world!");

end Hello;

En LISP

(print "Hello World")

ou

(write-line "Hello World!")

Maple :

>> print("Hello, World!");

Prolog

printHelloWorld :-

write('Hello world !'),

nl.printHelloWorld :-

write('Hello world !'),

nl.

Scheme

(define hello-world

(lambda ()

(begin

(write 'Hello-World)

(newline)

(hello-world))))

ASP.NET

Response.Write("Hello, World!")

Matlab

disp('Hello world')

VRML

Shape

{

geometry Text

{string "Hello World!"}

}

Et en tant que nouveau membre je vous propose cette blague : http://www.gnu.org/fun/jokes/helloworld.html

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...

en assembleur 6502 (version Commodore 64, assembleur Ophis) :

.word $0801
.org  $0801

 .word next, 10
 .byte $9e, " 2064", 0
next:
 .word 0

.advance 2064
 jsr $e544
 ldx #$00
ch:
 cpx #$0b
 beq end
 lda string, x
 sta $0400, x
 inx
 jmp ch

end:
 rts

string:
 .byte $08, $05, $0c, $0c, $0f, $20, $17, $0f, $12, $0c, $04

A assembler avec :

ophis -6510 monfichier.s monprogramme.prg

:transpi:

Lien vers le commentaire
Partager sur d’autres sites

Quand un anglo-saxon débute en programmation ou touche pour la première fois à un langage particulier, il fait un petit programme qui dit bonjour à tout le monde. L'expression " Hello, world ! " désigne ainsi quelque chose d'élémentaire.

Et beh en france, on est un paquet à dire : toto ... la classe :cap:

Alors, et pour soutenir theocrite dans sa défense des " et parceque je ne suis frustrée que tous les langages que je connais aient été passés, je lance un brave :

<?php echo "toto"; ?>

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...
  • 4 mois après...
  • 4 semaines après...
En SQL : :chinois:

SELECT 'Hello, World!';

Il me semble que dans les spécifications standard du sql la clause from n'est pas facultative.

C'est d'ailleurs il me semble l'une des raisons de la table dual sous oracle.

(du coup ta ligne ne fonctionne pas sous sqlplus)

Enfin après il y a peut etre certains sgdb qui l'autorise...

Lien vers le commentaire
Partager sur d’autres sites

  • 2 mois après...
En SQL : :ouioui:

SELECT 'Hello, World!';

Il me semble que dans les spécifications standard du sql la clause from n'est pas facultative.

C'est d'ailleurs il me semble l'une des raisons de la table dual sous oracle.

(du coup ta ligne ne fonctionne pas sous sqlplus)

Enfin après il y a peut etre certains sgdb qui l'autorise...

au moins en sqlite, mysql et pgsql

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...
Il me semble que dans les spécifications standard du sql la clause from n'est pas facultative.

C'est d'ailleurs il me semble l'une des raisons de la table dual sous oracle.

(du coup ta ligne ne fonctionne pas sous sqlplus)

Enfin après il y a peut etre certains sgdb qui l'autorise...

J'ai l'impression qu'Oracle est l'exception qui confirme la règle.

Sur les autres sgbd, la clause from n'est obligatoire que si l'on accède aux tables. si l'on utilise uniquement des constantes, on n'en a pas besoin.

Un spécialiste peut confirmer ?

Lien vers le commentaire
Partager sur d’autres sites

Il me semble que dans les spécifications standard du sql la clause from n'est pas facultative.

C'est d'ailleurs il me semble l'une des raisons de la table dual sous oracle.

(du coup ta ligne ne fonctionne pas sous sqlplus)

Enfin après il y a peut etre certains sgdb qui l'autorise...

J'ai l'impression qu'Oracle est l'exception qui confirme la règle.

Sur les autres sgbd, la clause from n'est obligatoire que si l'on accède aux tables. si l'on utilise uniquement des constantes, on n'en a pas besoin.

Un spécialiste peut confirmer ?

J'ai vérifié la grammaire du SQL définie dans la norme ISO/CEI 9075, la clause from n'est pas optionnelle :

<query specification>    ::=   SELECT [ <set quantifier> ] <select list> <table expression> 

<table expression>    ::= 
        <from clause>
        [ <where clause> ]
        [ <group by clause> ]
        [ <having clause> ]
        [ <window clause> ] 

<from clause>    ::=   FROM <table reference list> 

Par contre, j'ai été faire un tour sur les docs de quelques SGBD, et effictement la plupart rendent la clause where optionnelle, même si parfois c'est assez flou (ce qui donne l'impression qu'ils veulent noyer le poisson avec la liberté prise par rapport a la norme iso ^^).

Enfin bon, c'est pas comme si c'etait la première fois qu'un éditeur prenait des liberté sur l'implémentation d'une norme, et puis quand ca simplifie la tache du developpeur on va pas cracher dessus :)

Lien vers le commentaire
Partager sur d’autres sites

  • 2 mois après...

En assembleur, c'est dépendant de la machine et des libs mais ce n'est pas très représentatif de l'assembleur où on est censé tout faire soi même.

Stocker les data des caractères

Avoir une fonction qui affiche un caractère aux coordonnées X,Y d'un écran de taille X,Y

Avoir une fonction qui affiche une chaine

Bref, en asm, c'est beauuuuuuuuuuuucoup plus long :transpi:

(et quand c'est long, c'est bon)

Mais sinon pour faire court, on peut supposer que la sortie se fait sur une sortie série, là, y a juste un port et un OUT à faire!

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.


×
×
  • Créer...