Hello world/Graphical
In the User Output task, the goal is to display the string "Goodbye, World!" on a graphical console.
You are encouraged to solve this task according to the task description, using any language you may know.
ActionScript
trace("Goodbye, World!");
AppleScript
display dialog "Goodbye, World!" buttons {"Bye"}
C
#include int main (int argc, char **argv) { GtkWidget *window; gtk_init(&argc, &argv); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window), “Goodbye, World”); g_signal_connect (G_OBJECT (window), “delete-event”, gtk_main_quit, NULL); gtk_widget_show_all (window); gtk_main(); return 0; }
C#
Compiler: Mono
using Gtk; using GtkSharp; public class GoodbyeWorld { public static void Main(string[] args) { Gtk.Window window = new Gtk.Window(); window.Title = "Goodbye, World"; window.DeleteEvent += delegate { Application.Quit(); }; window.ShowAll(); Application.Run(); } }
C++
Compiler: GCC 3.3.5
#include <gtkmm.h> int main(int argc, char *argv[]) { Gtk::Main app(argc, argv); Gtk::MessageDialog msg("Goodbye, World!"); msg.run(); }
Clean
import StdEnv, StdIO Start :: *World -> *World Start world = startIO NDI Void (snd o openDialog undef hello) [] world where hello = Dialog "" (TextControl "Goodbye, World!" []) [WindowClose (noLS closeProcess)]
Java
import javax.swing.*; public class OutputSwing { public static void main(String[] args) throws Exception { JOptionPane.showMessageDialog (null, "Goodbye, World!"); } }
JavaScript
Interpreter: Firefox 2.0
This pops up a small dialog, so it might be termed GUI display.
alert("Goodbye, World!");
MAXScript
messageBox "Goodbye world"
Objective-C
To show a modal alert:
NSAlert *alert = [[[NSAlert alloc] init] autorelease]; [alert setMessageText:@"Goodbye, World!"]; [alert runModal];
OCaml
let delete_event evt = false
let destroy () = GMain.Main.quit ()
let main () =
let window = GWindow.window in let _ = window#set_title "Goodbye, World" in let _ = window#event#connect#delete ~callback:delete_event in let _ = window#connect#destroy ~callback:destroy in let _ = window#show () in GMain.Main.main ()
let _ = main () ;;
Perl
Interpreter: Perl 5.8.8
Just output as a label in a window:
use Tk; $main = MainWindow->new; $main->Label(-text => 'Goodbye, World')->pack; MainLoop();
Output as text on a button that exits the current application:
use Tk; $main = MainWindow->new; $main->Button( -text => 'Goodbye, World', -command => \&exit, )->pack; MainLoop();
use Gtk2 '-init'; $window = Gtk2::Window->new; $window->set_title('Goodbye world'); $window->signal_connect( 'destroy' => sub { Gtk2->main_quit; } ); $label = Gtk2::Label->new('Goodbye, world'); $window->add($label); $window->show_all; Gtk2->main;
PHP
if (!class_exists('gtk')) { die("Please load the php-gtk2 module in your php.ini\r\n"); } $wnd = new GtkWindow(); $wnd->set_title('Goodbye world'); $wnd->connect_simple('destroy', array('gtk', 'main_quit')); $lblHello = new GtkLabel("Goodbye, World!"); $wnd->add($lblHello); $wnd->show_all(); Gtk::main();
PostScript
In the geenral Postscript context, the show command will render the string that is topmost on the stack at the currentpoint in the previously setfont. Thus a minimal PostScript file that will print on a PostScript printer or previewer might look like this:
%!PS % render in Helvetica, 12pt: /Helvetica findfont 12 scalefont setfont % somewhere in the lower left-hand corner: 50 dup moveto % render text (Goodbye World) show % wrap up page display: showpage
Python
Interpreter: Python 2.5
import tkMessageBox result = tkMessageBox.showinfo("Some Window Label", "Goodbye, World!")
Note: The result is a string of the button that was pressed.
import pygtk pygtk.require('2.0') import gtk window = gtk.Window() window.set_title('Goodbye, World') window.connect('delete-event', gtk.main_quit) window.show_all() gtk.main()
Ruby
require 'gtk2' window = Gtk::Window.new window.title = 'Goodbye, World' window.signal_connect(:delete-event) { Gtk.main_quit } window.show_all Gtk.main
Smalltalk
MessageBox show: 'Goodbye, world.'
Tcl
Just output as a label in a window:
pack [label .l -text "Goodbye, World"]
Output as text on a button that exits the current application:
pack [button .b -text "Goodbye, World" -command exit]
Visual Basic .NET
Compiler: Visual Basic 2005
Module GoodbyeWorld Sub Main() Messagebox.Show("Goodbye, World!") End Sub End Module