Jump to content

"Hello World!" dans tous les langages


Recommended Posts

Bonjour,

Je vois qu'en DOS ( Batch ) le code donné est

@Echo Hello World

Or si le code serait cela nous ne verrons même pas le message car la fenêtre se fermerait tout de suite après le double clic.

Donc le code est celui-ci

@echo off

Echo Hello World

pause>NUL

@+

Link to post
Share on other sites
  • 3 weeks later...
  • Replies 208
  • Created
  • Last Reply

Top Posters In This Topic

  • 2 months later...
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:

Link to post
Share on other 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 ?

Link to post
Share on other sites
  • 5 months later...

[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]

Link to post
Share on other 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

Link to post
Share on other sites
  • 1 month later...

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:

Link to post
Share on other 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"; ?>

Link to post
Share on other sites
  • 1 month later...
  • 4 months later...
  • 4 weeks later...
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...

Link to post
Share on other sites
  • 2 months later...
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

Link to post
Share on other sites
  • 2 weeks later...
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 ?

Link to post
Share on other 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 :)

Link to post
Share on other sites
  • 2 months later...

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!

Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×
×
  • Create New...