Por favor, leia as regras e as áreas em negrito também .
Escreva um programa em qualquer idioma, contanto que ele suporte GUI a um sistema de janelas (não pode ser um console de texto, etc., e deve ser uma GUI / kit de ferramentas / janela).
O programa deve dizer olá mundo de qualquer maneira (imagem inicial, barra de menus, barra de status, título, vídeo, caixa de mensagem, outros itens de widget etc.), desde que apareça uma janela compatível com GUI e mostre esse texto por três segundos . A pessoa que puder codificar isso na menor quantidade de código usada, contada em bytes, ficará com o bolo.
code-golf
graphical-output
hello-world
Sut Dip
fonte
fonte
Respostas:
Shell Unix, 31 caracteres
Este programa requer o utilitário xmessage (1) do X.Org. Ele usa os tradicionais X Athena Widgets (Xaw) em preto e branco.
fonte
timeout
ezenity
, mas já não era ...zenity
resposta por n.1 em codegolf.stackexchange.com/a/28451/4065timeout
comando. Talvez alguém possa postar uma nova resposta que a use?Shell e gedit - 27 caracteres
Se o Hello World precisar ser exibido como uma única sequência, seus 28 caracteres:
timeout
O utilitário executa um comando pela duração especificada. Ele garante que o gedit seja executado por 3 segundos, assumindo um tempo mínimo de inicialização.Qualquer editor pode ser usado no lugar de
gedit
. Se um editor nomeado mais curto for usado comogvim
, o comprimento poderá ser reduzido em 1 ou mais caracteres.Usando um editor inicialmente pensado pelo usuário80551 .
fonte
Hello\ World
Hello <space> <close icon> <Document icon> World
kate
funcionaria em vez degedit
?Applescript, 45 bytes:
Freqüentemente, o Applescript é uma das respostas mais curtas:
Cole no Editor de maçã e execute ou execute usando
osascript
a linha de comando:fonte
HTML + Javascript,
7360 caracteresIsso funciona no Chrome, mas pode não ser portátil para outros navegadores.
As sugestões dos comentários levam isso adiante:
fonte
108
caracteres para baixo para73
. De repente, todo o código é visível.<body onload=open('','_self'),setTimeout(close,3e3)>Hello world
parece salvar mais alguns caracteres.<body onload=open('',name=setTimeout(close,3e3))>Hello world
shell script, 31
Não tenho certeza se ele se qualifica. Requer
notify-send
. Funciona pelo menos no Ubuntu 12.04.fonte
zenity
é muito mais longo.shell + gedit / geany, 34
Isso pressupõe que o gedit aparece instantaneamente, já que os 3 segundos são contados desde o início da emissão do comando. Pode ser menor se houver um editor de texto da GUI menor que
gedit
.geany
funciona também para o mesmo número de caracteres, apenass/gedit/geany/g
EDIT: O uso
timeout
é mais curto. /codegolf//a/28477/8766EDIT2: Alguém pode confirmar se isso funciona
kate
?meld, 32
Se exatamente
Hello World
não for necessário,meld
poderá ser usado.fonte
gedit
tenta abrir um arquivo com esse nome, mesmo se não houver arquivo.gvim
, precisará de apenas 33 caractereshalt
seria mais curto, mas não sei se é permitido ser destrutivo. Além disso, ele requer permissões de root, portanto, precisamos assumir que somos root ou usar osudo
que custa mais (e precisa que o usuário digite a senha).VBScript, 58
fonte
Python (pygame), 87
fonte
[999,999]
tkinter
acaba por ser mais curto.Tcl - 32 bytes
Notei que alguns desses envios, como os de shell ou javascript, permitem que você digite o código no console. Se for esse o caso, posso reduzi-lo para:
Deve ser digitado no console após executar o desejo. Ou seja, execute
wish
sem argumentos que fornecerão um console REPL e digite o código acima. Isso faz uso do fato de que tcl pode ser branda e preencher automaticamente nomes de comando / função, mas apenas no modo interativo. Então,af
na verdade, ele executa oafter
comando eexi
executaexit
. Eu queria usar,ex
mas meu sistema possui oex
editor instalado.Submissão original - 36 bytes
Execute usando em
wish
vez detclsh
.fonte
5251 caracteres com o Mathematica(Espero que conte como compatível com a GUI.)
fonte
Java, 136 bytes
Exibe a mensagem
Hello World
como o título de um quadro. Após3
segundos, o programa fecha.Se parece com isso:
Arraste-o maior:
Código expandido (ou seja, legível):
fonte
enum
vez declass
salvar outro caractere.R, 44
fonte
PowerShell -
6352fonte
Visual FoxPro - 23 caracteres
Isso abusa do fato de que o VFP permite não colocar um espaço entre a sequência a ser impressa (que acabei de descobrir) e que permite encurtar cada palavra-chave para até seus 4 primeiros caracteres.
Versão não destruída:
fonte
GTK +,
4745Versão antiga (pontuação 47):
Por alguma razão, o zenity exibe um texto que pode ser traduzido à medida que Todas as atualizações são concluídas .
fonte
--title
para--text
"Hello World"
paraHello\ World
C, 151 caracteres
Não é a menor resposta. Eu gosto disso.
fonte
'SAFE'
não é um único caractere.C #
101151Isso com certeza não será a resposta mais curta (já que existem outras boas respostas sendo muito mais curtas), mas o codegolf.SE precisa de muito mais contribuições C # na minha opinião!
C # 121
Uma alternativa baseada na resposta de Bob , mas com WPF em vez de WinForms:
Salva 3 caracteres graças ao espaço para nome mais curto ...
fonte
using
declarações na contagem de caracteres. Como alternativa, você pode deixá-los de fora, mas precisará fazer coisas comoSystem.Windows.Forms.MessageBox.Show
(um pouco menos caracteres, se for apenas um uso). Como seu código atualmente é, ele não será compilado ou executado.System.Windows.Forms.dll
, que faz parte da linha de comando msbuild config / the compile. No entanto, o consenso geral parece ser que, quando um programa completo é solicitado,using
/import
/#include
/ etc. onde for necessário para a compilação e execução do código, são necessárias e a tentativa de usar truques de linha de comando do compilador para evitar problemas.Lote (24)
Testado no Windows 7, mas deve funcionar em qualquer versão do Windows baseada em NT, desde que você tenha o MSG.EXE na pasta System32.
EDIT: Aparentemente, o MSG.EXE não está disponível por padrão nas versões iniciais do Windows. No Windows 7, por exemplo, isso está disponível apenas nas edições Ultimate ou Business. No entanto, você pode copiar o arquivo para a pasta System32 e fazê-lo funcionar. (Você também deve copiar o arquivo MSG.EXE.MUI apropriado para obter as mensagens de erro adequadas, mas meu "script" funciona sem elas.)
Você precisa instalar o software para que a maioria dessas respostas funcione também, então não acho que isso deva ser um desqualificador.
fonte
time:3
em uma pasta chamadamsg
no diretório atual?\
./
também suporta/
em alguns lugares, mas emcmd
,/xxx
é interpretado como um argumento.APL (40)
fonte
X.Close⊣⎕DL⍴⍕'X'⎕WC'Form' 'Hello World'
Lua + LÖVE, 67 bytes
fonte
Perl no Windows (56)
fonte
Perl 5, 47
Usando Perl / Tk :
fonte
-MTk
bandeira também?Rebol View (r3gui), 49
Ungolfed:
fonte
Processamento, 77
Captura de tela:
Editar 1: a posição Y do texto pode ser 9 em vez de 10, como observado por @ace.
Edit 2: 3000 pode ser representado como 3e3 para raspar um caractere, também observado por @ace
fonte
3e3
em vez de3000
salvar mais um caracterebash + ImageMagick (36 bytes)
Testado no Ubuntu 14.04 LTS e no Fedora 20.
Aparência mais agradável, mas 10 bytes maior:
fonte
CMD / lote - 33 bytes
Acredito que a janela em que o terminal Windows CMD é executado conta como compatível com a GUI.
Se você não possui o
sleep
comando no seu sistema - você pode usar otimeout
que vem como padrão no Windows 7. Por mais dois bytes.Inicia uma nova janela do CMD com o título "Hello World" ( NÃO exibido no próprio terminal, mas como o título da janela da GUI em que o terminal é executado), essa janela será fechada assim que todos os comandos analisados forem executados - e depois
sleep 3
outimeout 3
foi concluído.A janela fica assim -
Nota;
start
executa os comandos fornecidos em uma nova janela - não na janela da qual você está executando os comandos acima.fonte
cmd "Hello world" cmd /ctimeout 3
colocar Hello world na barra de título por 3 segundos, mas isso provavelmente não conta.start "Hello world"
Senhor, você é um gênio.Python 3,
8372 bytesSalve bytes usando
tkinter
.O método antigo adicionou um
Label
ao quadro. Este método define o título do quadro paraHello World
.f.after(3000,exit)
é executadoexit()
após3000
milissegundos.fonte
turtle
possui menos bytes. = D codegolf.stackexchange.com/a/28548/14506Cobra - 180
fonte
Ruby [com sapatos] (44 caracteres)
fonte
C # 124
Longe do mais curto :(
fonte