שיחה:תוכנית Hello world/אוסף תוכניות
הוספת נושאלהלן דוגמאות לתוכניות Hello world במספר שפות:
ממשק משתמש טקסטואלי (TUI) (כלומר במסוף, מונחה שורת פקודה)[עריכת קוד מקור]
ABC[עריכת קוד מקור]
WRITE "Hello World"
Ada[עריכת קוד מקור]
with Ada.Text_Io; use Ada.Text_Io; procedure Hello is begin Put_Line ("Hello, world!"); end Hello;
AmigaE[עריכת קוד מקור]
PROC main() WriteF('Hello, World!') ENDPROC
APL[עריכת קוד מקור]
'Hello World'
שפת סף[עריכת קוד מקור]
ארכיטקטורות בעלות אוגרים בלבד: שפת סף של DEC PDP-8, PAL-III[עריכת קוד מקור]
ראה את חלק הדוגמה במאמר על PDP-8.
צירוף מיקרומעבד ומערכת הפעלה המוצלח הראשון: שפת הסף של Intel 8080/Zilog Z80, CP/M, RMAC[עריכת קוד מקור]
bdos equ 0005H ; BDOS entry point start: mvi c,9 ; BDOS function: output string lxi d,msg$ ; address of msg call bdos ret ; return to CCP
msg$: db 'Hello, world!$' end start
מכונת אוגרים ומפתח אוגרים: שפת סף של MOS 6502, CBM KERNAL, ca65[עריכת קוד מקור]
MSG: .ASCIIZ "Hello, world!" LDX #0 LDA MSG,X ; load initial char @LP: JSR $FFD2 ; chrout INX LDA MSG,X BNE @LP RTS
מכונת אוגרים/מפתח מיקרו-מקודדת : Data General Nova, RDOS[עריכת קוד מקור]
ראה את הדוגמה במאמר על Nova.
מכונת אוגרים מורחבת: של אינטל x86, MS-DOS, TASM[עריכת קוד מקור]
MODEL SMALL IDEAL STACK 100H
DATASEG MSG DB 'Hello, world!$'
CODESEG MOV AX, @data MOV DS, AX MOV DX, OFFSET MSG MOV AH, 09H ; DOS: output ASCII$ string INT 21H MOV AX, 4C00H INT 21H END
מכונות רב תכליתיות בדויות: MIX, MIXAL[עריכת קוד מקור]
TERM EQU 19 console device no. (19 = typewriter) ORIG 1000 start address START OUT MSG(TERM) output data at address MSG HLT halt execution MSG ALF "HELLO" ALF " WORL" ALF "D " END START end of program
מכונות רב תכליתיות עם אוגרים - CISC: DEC PDP-11, RT-11, MACRO-11[עריכת קוד מקור]
.MCALL .REGDEF,.TTYOUT,.EXIT .REGDEF
HELLO: MOV #MSG,R1 MOVB (R1),R0 LOOP: .TTYOUT MOVB +(R1),R0 BNE LOOP .EXIT
MSG: .ASCIZ /HELLO, WORLD!/ .END HELLO
CISC על מערכות הפעלה עם עיבוד מרובב: DEC VAX, VMS, MACRO-32[עריכת קוד מקור]
.title hello
.psect data, wrt, noexe
chan: .blkw 1 iosb: .blkq 1 term: .ascid "SYS$OUTPUT" msg: .ascii "Hello, world!" len = . - msg
.psect code, nowrt, exe
.entry hello, ^m<>
; Establish a channel for terminal I/O $assign_s devnam=term, - chan=chan blbc r0, end
; Queue the I/O request $qiow_s chan=chan, - func=#io$_writevblk, - iosb=iosb, - p1=msg, - p2=#len
; Check the status and the IOSB status blbc r0, end movzwl iosb, r0 ; Return to operating system end: ret
.end hello
מעבד RISC: שפת סף מובנת של ARM, RISC OS, BBC BASIC[עריכת קוד מקור]
.program ADR R0,message SWI "OS_Write0" SWI "OS_Exit" .message DCS "Hello, world!" DCB 0 ALIGN
AWK[עריכת קוד מקור]
BEGIN { print "Hello, world!" }
BASIC[עריכת קוד מקור]
MS BASIC (מסורתי, לא מובנה)[עריכת קוד מקור]
10 PRINT "Hello, world!" 20 END
TI-BASIC[עריכת קוד מקור]
(על מחשבונים גרפיים של TI-89/TI-92.)
:HelloWorld() :Prgm :Disp "Hello, world!" :EndPrgm
StarOffice/OpenOffice Basic[עריכת קוד מקור]
sub main print "Hello, World" end sub
BASIC מובנה[עריכת קוד מקור]
print "Hello, world!" end
BCPL[עריכת קוד מקור]
GET "LIBHDR"
LET START () BE $( WRITES ("Hello, world!*N") $)
BLISS[עריכת קוד מקור]
%TITLE 'HELLO_WORLD' MODULE HELLO_WORLD (IDENT='V1.0', MAIN=HELLO_WORLD, ADDRESSING_MODE (EXTERNAL=GENERAL)) = BEGIN
LIBRARY 'SYS$LIBRARY:STARLET';
EXTERNAL ROUTINE LIB$PUT_OUTPUT;
GLOBAL ROUTINE HELLO_WORLD = BEGIN
LIB$PUT_OUTPUT(%ASCID %STRING('Hello World!')) END;
END ELUDOM
C[עריכת קוד מקור]
#include <stdio.h>
int main() {
printf("Hello, world!\n");
return 0;
}
C#[עריכת קוד מקור]
using System;
class HelloWorldApp {
public static void Main() {
Console.WriteLine("Hello, world!");
}
}
C++[עריכת קוד מקור]
#include <iostream>
int main() { std::cout << "Hello, world!" << std::endl; }
Clean[עריכת קוד מקור]
module hello
Start :: String Start = "Hello, world"
CLIST[עריכת קוד מקור]
PROC 0 WRITE Hello, World!
COBOL[עריכת קוד מקור]
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD.
ENVIRONMENT DIVISION.
DATA DIVISION.
PROCEDURE DIVISION. DISPLAY "Hello, world!". STOP RUN.
Common Lisp[עריכת קוד מקור]
(format t "Hello world!~%")
D[עריכת קוד מקור]
int main() { printf("Hello, world!\n"); return 0; }
אצוות DCL[עריכת קוד מקור]
$ write sys$output "Hello, world!"
Eiffel[עריכת קוד מקור]
class HELLO_WORLD
creation make feature make is local io:BASIC_IO do !!io io.put_string("%N Hello, world!") end -- make end -- class HELLO_WORLD
Erlang[עריכת קוד מקור]
-module(hello). -export([hello_world/0]).
hello_world() -> io:fwrite("Hello, world!\n").
EUPHORIA[עריכת קוד מקור]
constant SCREEN = 1 puts(SCREEN, "Hello, world!")
Forte TOOL[עריכת קוד מקור]
begin TOOL HelloWorld;
includes Framework; HAS PROPERTY IsLibrary = FALSE;
forward Hello;
-- START CLASS DEFINITIONS
class Hello inherits from Framework.Object
has public method Init;
has property shared=(allow=off, override=on); transactional=(allow=off, override=on); monitored=(allow=off, override=on); distributed=(allow=off, override=on);
end class; -- END CLASS DEFINITIONS
-- START METHOD DEFINITIONS
------------------------------------------------------------ method Hello.Init begin super.Init();
task.Part.LogMgr.PutLine('HelloWorld!'); end method; -- END METHOD DEFINITIONS HAS PROPERTY CompatibilityLevel = 0; ProjectType = APPLICATION; Restricted = FALSE; MultiThreaded = TRUE; Internal = FALSE; LibraryName = 'hellowor'; StartingMethod = (class = Hello, method = Init);
end HelloWorld;
Forth[עריכת קוד מקור]
." Hello, world!" CR
FORTRAN[עריכת קוד מקור]
PROGRAM HELLO WRITE(*,10) 10 FORMAT('Hello, world!') STOP END
Frink[עריכת קוד מקור]
println["Hello, world!"]
Gambas[עריכת קוד מקור]
ראו גם את החלק הדן בממשק משתמש גרפי.
PUBLIC SUB Main() Print "Hello, world!" END
Game Maker[עריכת קוד מקור]
באירוע ה"שרטט" של אוביקט מסוים:
draw_text(x,y,"Hello World");
Haskell[עריכת קוד מקור]
module HelloWorld (main) where
main = putStr "Hello World\n"
HP-41 & HP-42S[עריכת קוד מקור]
(מחשבוני כף יד אלפאנומריים של Hewlett-Packard המבוססים על רישום פולני הפוך (RPN))
01 LBLTHELLO 02 THELLO, WORLD 03 PROMPT
Iptscrae[עריכת קוד מקור]
ON ENTER { "Hello, " "World!" & SAY }
Io[עריכת קוד מקור]
"Hello world!" print
או
write("Hello world!\n")
Java[עריכת קוד מקור]
ראו גם את החלק הדן בממשק משתמש גרפי.
public class Hello { public static void main(String[] args) { System.out.println("Hello, world!"); } }
לוגו (שפת תכנות)[עריכת קוד מקור]
print [hello world!]
או
pr [Hello World!]
בmswlogo בלבד:
messagebox [Hi] [Hello World]
Lua[עריכת קוד מקור]
print("Hello, world!")
Modula-2[עריכת קוד מקור]
MODULE Hello; FROM Terminal2 IMPORT WriteLn; WriteString;
BEGIN WriteString("Hello, world!"); WriteLn; END Hello;
אצוות MS-DOS[עריכת קוד מקור]
(עם המפרש התקני command.com)
@echo Hello, world!
MUF[עריכת קוד מקור]
: main me @ "Hello, world!" notify ;
OCaml[עריכת קוד מקור]
let _ = print_endline "Hello world!";;
OPL[עריכת קוד מקור]
ראו גם את החלק הדן בממשק משתמש גרפי.
PROC hello: PRINT "Hello, World" ENDP
OPS5[עריכת קוד מקור]
(object-class request ^action)
(startup (strategy MEA) (make request ^action hello) )
(rule hello (request ^action hello) --> (write |Hello World!| (crlf)) )
Pascal[עריכת קוד מקור]
program Hello; begin writeln('Hello, world!'); end.
Perl[עריכת קוד מקור]
print "Hello, world!\n";
PHP[עריכת קוד מקור]
<?php echo "Hello, world!"; ?>
Pike[עריכת קוד מקור]
#!/usr/local/bin/pike int main() { write("Hello, world!\n"); return 0; }
PL/I[עריכת קוד מקור]
Test: procedure options(main); declare My_String char(20) varying initialize('Hello, world!'); put skip list(My_String); end Test;
PL/SQL[עריכת קוד מקור]
declare hello varchar2(20); begin hello := 'Hello World!'; dbms_output.put_line(hello); end; /
POP-11[עריכת קוד מקור]
'Hello world' =>
POV-Ray[עריכת קוד מקור]
#include "colors.inc" camera { location <3, 1, -10> look_at <3,0,0> } light_source { <500,500,-1000> White } text { ttf "timrom.ttf" "Hello world!" 1, 0 pigment { White } }
Prolog[עריכת קוד מקור]
write('Hello world'),nl.
Python[עריכת קוד מקור]
print "Hello, world!"
REXX, NetRexx, and Object REXX[עריכת קוד מקור]
say "Hello, world!"
או:
say 'Hello, world!'
RPL[עריכת קוד מקור]
ראו גם את החלק הדן בממשק משתמש גרפי.
(On Hewlett-Packard HP-28, HP-48 and HP-49 series graphing calculators.)
<< CLLCD "Hello, World!" 1 DISP 0 WAIT DROP >>
Ruby[עריכת קוד מקור]
puts "Hello, world!"
Sather[עריכת קוד מקור]
class HELLO_WORLD is main is #OUT+"Hello World\n"; end; end;
Scheme[עריכת קוד מקור]
(display "Hello, world!") (newline)
sed[עריכת קוד מקור]
(הערה: דורש לפחות שורה אחת של קלט)
sed -ne '1s/.*/Hello, world!/p'
Seed7[עריכת קוד מקור]
$ include "seed7_05.s7i"; const proc: main is func begin writeln("Hello, world!"); end func;
Self[עריכת קוד מקור]
'Hello, World!' print.
Smalltalk[עריכת קוד מקור]
Transcript show: 'Hello, world!'
SML[עריכת קוד מקור]
print "Hello, world!\n";
SNOBOL[עריכת קוד מקור]
OUTPUT = "Hello, world!" END
SQL[עריכת קוד מקור]
create table MESSAGE (TEXT char(15)); insert into MESSAGE (TEXT) values ('Hello, world!'); select TEXT from MESSAGE; drop table MESSAGE;
או (למשל דיאלקט Oracle)
select 'Hello, world' from dual;
או (למשל דיאלקט MySQL)
select 'Hello, world';
או, ביתר פשטות
print 'Hello, World.'
או (לדיאלקט KB-SQL)
select Null from DATA_DICTIONARY.SQL_QUERY FOOTER or HEADER or DETAIL or FINAL event write "Hello, World!"
STARLET[עריכת קוד מקור]
RACINE: HELLO_WORLD.
NOTIONS: HELLO_WORLD : ecrire("Hello, world!").
TACL[עריכת קוד מקור]
#OUTPUT Hello, world!
Tcl[עריכת קוד מקור]
puts "Hello, world!"
Turing[עריכת קוד מקור]
put "Hello, world!"
TSQL[עריכת קוד מקור]
Declare @Output varchar(16) Set @Output='Hello, world!' Select @Output
או בואריאציות שונות:
Select 'Hello, world!' Print 'Hello, world!'
UNIX-style shell[עריכת קוד מקור]
echo 'Hello, world!'
מאמא[עריכת קוד מקור]
הדפס "Hello World!"
ממשק משתמש גרפי (GUI)[עריכת קוד מקור]
AppleScript[עריכת קוד מקור]
display dialog "Hello, world!"
Gambas[עריכת קוד מקור]
ראה את החלק הדן בממשק משתמש טקסטואלי.
PUBLIC SUB Main() Message.Info("Hello, world!") END
ערכת הכלים של GTK (בC++)[עריכת קוד מקור]
#include <iostream> #include <gtkmm/main.h> #include <gtkmm/button.h> #include <gtkmm/window.h> using namespace std;
class HelloWorld : public Gtk::Window { public: HelloWorld(); virtual ~HelloWorld(); protected: Gtk::Button m_button; virtual void on_button_clicked();
};
HelloWorld::HelloWorld() : m_button("Hello, world!") { set_border_width(10); m_button.signal_clicked().connect(SigC::slot(*this, &HelloWorld::on_button_clicked)); add(m_button); m_button.show(); }
HelloWorld::~HelloWorld() {}
void HelloWorld::on_button_clicked() { cout << "Hello, world!" << endl; }
int main (int argc, char *argv[]) { Gtk::Main kit(argc, argv); HelloWorld helloworld; Gtk::Main::run(helloworld); return 0; }
GTK 2.x (בEuphoria)[עריכת קוד מקור]
include gtk2/wrapper.e
Info(NULL,"Hello","Hello World!")
Java[עריכת קוד מקור]
See also TUI section.
import javax.swing.JOptionPane;
public class Hello { public static void main(String[] args) { JOptionPane.showMessageDialog(null, "Hello, world!"); System.exit(0); } }
Java applet[עריכת קוד מקור]
- יישומון Java עובד בצירוף עם קובצי HTML.
<HTML> <HEAD> <TITLE>Hello World</TITLE> </HEAD> <BODY>
HelloWorld Program says:
<APPLET CODE="HelloWorld.class" WIDTH=600 HEIGHT=100> </APPLET>
</BODY> </HTML>
import java.applet.*; import java.awt.*;
public class HelloWorld extends Applet { public void paint(Graphics g) { g.drawString("Hello, world!", 100, 50); } }
JavaScript (או: ECMAScript) וJScript[עריכת קוד מקור]
- JavaScript היא שפת תכנות תסריטים הנמצאת בשימוש בקובצי HTML. הקוד הבא יכול להיות משולב בכל קובץ כזה.
<script type="text/javascript"><!-- function helloWorld() { alert("Hello, world!"); } //--></script>
<a href="#" onclick="helloWorld()">Hello World Example</a>
- שיטה קלה יותר המשתמשת ברמיזות של JavaScript, על ידי קריאה לפונקציית alert. העתק והדבק את השורה הבאה בתוך תגי ה <BODY> .... </BODY>.
<a href="#" onclick="alert('Hello, world!')">Hello World Example</a>
- שיטה קלה עוד יותר הכוללת שימוש בתמיכה של הדפדפנים הנפוצים בפרוטוקול 'javascript' מדומה להרצת קוד שלו. הכנס את השורה הבאה ככתובת של אתר אינטרנט בדפדפן.
javascript:alert('Hello, world!')
OPL[עריכת קוד מקור]
ראה את החלק הדן בממשק משתמש טקסטואלי.
(על פסיון סדרה 3 ועזרים דיגיטליים אישיים (PDA) אחרים.)
PROC guihello: ALERT("Hello, world!","","Exit") ENDP
Qt (בC++)[עריכת קוד מקור]
#include <qapplication.h> #include <qpushbutton.h> #include <qwidget.h> #include <iostream>
class HelloWorld : public QWidget { Q_OBJECT
public: HelloWorld(); virtual ~HelloWorld(); public slots: void handleButtonClicked(); QPushButton *mPushButton; };
HelloWorld::HelloWorld() : QWidget(), mPushButton(new QPushButton("Hello, World!", this)) { connect(mPushButton, SIGNAL(clicked()), this, SLOT(handleButtonClicked())); }
HelloWorld::~HelloWorld() {}
void HelloWorld::handleButtonClicked() { std::cout << "Hello, World!" << std::endl; }
int main(int argc, char *argv[]) { QApplication app(argc, argv); HelloWorld helloWorld; app.setMainWidget(&helloWorld); helloWorld.show(); return app.exec(); }
RPL[עריכת קוד מקור]
ראה את החלק הדן בממשק משתמש טקסטואלי.
Visual Basic כולל VBA[עריכת קוד מקור]
MsgBox "Hello world!"
Windows API (בC)[עריכת קוד מקור]
#include <windows.h>
LRESULT CALLBACK WindowProcedure(HWND, UINT, WPARAM, LPARAM);
char szClassName[] = "MainWnd";
HINSTANCE hInstance;
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
HWND hwnd;
MSG msg;
WNDCLASSEX wincl;
hInstance = hInst;
wincl.cbSize = sizeof(WNDCLASSEX);
wincl.cbClsExtra = 0;
wincl.cbWndExtra = 0;
wincl.style = 0;
wincl.hInstance = hInstance;
wincl.lpszClassName = szClassName;
wincl.lpszMenuName = NULL; //No menu
wincl.lpfnWndProc = WindowProcedure;
wincl.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); //Color of the window
wincl.hIcon = LoadIcon(NULL, IDI_APPLICATION); //EXE icon
wincl.hIconSm = LoadIcon(NULL, IDI_APPLICATION); //Small program icon
wincl.hCursor = LoadCursor(NULL, IDC_ARROW); //Cursor
if (!RegisterClassEx(&wincl))
return 0;
hwnd = CreateWindowEx(0, //No extended window styles
szClassName, //Class name
"", //Window caption
WS_OVERLAPPEDWINDOW & ~WS_MAXIMIZEBOX,
CW_USEDEFAULT, CW_USEDEFAULT, //Let Windows decide the left and top positions of the window
120, 50, //Width and height of the window,
NULL, NULL, hInstance, NULL);
//Make the window visible on the screen
ShowWindow(hwnd, nCmdShow);
//Run the message loop
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
PAINTSTRUCT ps;
HDC hdc;
switch (message)
{
case WM_PAINT:
hdc = BeginPaint(hwnd, &ps);
TextOut(hdc, 15, 3, "Hello, world!", 13);
EndPaint(hwnd, &ps);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd, message, wParam, lParam);
}
return 0;
}
או בדרך קלה הרבה יותר:
#include <windows.h>
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
MessageBox(NULL, "Hello World", "", MB_OK);
return 0;
}
XUL[עריכת קוד מקור]
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <box align="center"> <label value="Hello, world!" /> </box> </window>
פורמטי מסמכים[עריכת קוד מקור]
ASCII[עריכת קוד מקור]
- סדרת התווים הבאה, המובעת ברישום הקסה-דצימלי (עם תווי carriage return וnewline בסוף הסדרה)
48 65 6C 6C 6F 2C 20 77 6F 72 6C 64 21 0D 0A
HTML 4.01 Strict[עריכת קוד מקור]
(משתמש במערך התווים UTF-8.)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Hello, world!</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <p>Hello, world!</p> </body> </html>
XHTML 1.1[עריכת קוד מקור]
(משתמש במערך התווים UTF-8.)
- יש לשים לב שגם מסמך זה חייב להשלח עם הגדרות תחילת מסמך (HTTP Header), רצוי כ"application/xhtml+xml", אך הוא יכול להשלח גם כ"application/xml" או "text/xml"; אולם אסור לשלוח אותו כ"text/html". למידע נוסף, ראה XHTML Media Types.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <title>Hello, world!</title> </head> <body> <p>Hello, world!</p> </body> </html>
PostScript[עריכת קוד מקור]
/Courier findfont 24 scalefont setfont 100 100 moveto (Hello world!) show showpage
- בהרצת האינטרפרטר, יש לכתוב את השורה הבאה להצגתה
(Hello world!) stack
RTF[עריכת קוד מקור]
{\rtf1\ansi\deff0 {\fonttbl {\f0 Courier New;}} \f0\fs20 Hello, world! }
TeX[עריכת קוד מקור]
Hello world \bye