Hello World
Hello world (у преводу „Здраво свете“) је устаљена реченица која се приказује на излазном медијуму приликом покретања демонстративних програма неког програмског језика. Отуда и име оваквих програма. Уобичајено је да се приликом приказа неког новог програмског језика на почетку приручника прикаже како изгледа на том језику штампа једноставне поруке. Ово често служи за међусобно поређење језика, односно њихове комплексности.
Овај пример се први пут појавио у књизи The C Programming Language, аутора Брајана Кернигана и Дениса Ричија, издатој 1978. године. На српски језик ова књига је преведена под насловом „Програмски језик C“. На почетку књиге се, у жељи да се прикаже одмах како изгледа тај нови језик, налази кратак пример који нешто исписује на екран. Пример из књиге исписује "hello, world" (без великих слова и знака узвика). Касније се овај пример мало прилагодио, а за наше потребе је и преведен.[1][2]
Овај пример се често користи да би се тестирао ново инсталирани програмски језик, односно његов преводилац, развојно или радно окружење. Сматра се довољно једноставним, али репрезентативним тест-примером за ову сврху.
У наставку следе примери програма Hello World на разним програмским језицима.[3]
[уреди] Програмски језици
[уреди] Ada
with TEXT_IO; procedure HELLO is begin TEXT_IO.PUT_LINE ("Zdravo svete!"); end HELLO;
[уреди] APL
'Zdravo svete!'
[уреди] ASP
ASP је скраћеница од Active Server Pages.
<% Response.Write("Zdravo svete!") %>
[уреди] AWK
BEGIN { print "Zdravo svete!" }
[уреди] Bash (Bourne Again SHell)
Први ред кода означава локацију извршне датотеке интерпретера, па може бити различит од система до система.
#!/usr/bin/bash echo "Zdravo svete!"
[уреди] BASIC
Све ANSI/ISO имплементације бејсик преводиоца препознају следеће инструкције
10 PRINT "Zdravo svete!" 20 END
Од када се и бејсик прилагодио тенденцијама структурног програмирања није неопходно навести бројне ознаке за наредбе, па претходни пример на већини модерних преводилаца може изгледати овако
PRINT "Zdravo svete!" END
Овде ваља нагласити да END наредба није неопходна код свих преводилаца.
[уреди] BeanShell
print("Zdravo svete!");
[уреди] C
#include <stdio.h> int main(void) { printf("Zdravo svete!"); return 0; }
[уреди] C++
#include <iostream> using namespace std; int main() { cout << "Zdravo svete!"; return 0; }
У принципу није неопходно назначити коришћење нејмспејса (namespace) std:
#include <iostream> int main() { std::cout << "Zdravo svete!"; return 0; }
Премда се коришћење чланица истог може и селективно назначити:
#include <iostream> using std::cout; int main() { cout << "Zdravo svete!"; return 0; }
[уреди] C++/CLI
int main()
{
System::Console::WriteLine("Zdravo svete!");
}
[уреди] C#
namespace Hi { class Hi { static void Main(string[] args) { System.Console.Write("Zdravo svete!"); } } }
[уреди] COBOL
identification division.
program-id. hello-world.
procedure division.
display "Zdravo svete!"
stop run.
[уреди] ColdFusion
<cfoutput>Zdravo svete!</cfoutput>
[уреди] Forth
За испис поруке "Здраво свете!", у интерактивном начину рада, може да послужи следећи код:
." Здраво свете!"
Испис можемо да "улепшамо" издвајајући га у посебан ред на следећи начин:
CR ." Здраво свете!" CR
У програмском језику Форт можемо да дефинишемо нову реч Поздрав која ће да уради исти посао:
: Поздрав CR ." Здраво свете!" CR ;
[уреди] FORTRAN
PROGRAM HI PRINT *, "Zdravo svete!" END PROGRAM
[уреди] Go
Следећи Go програм исписује "Здраво свете!":
package main
import "fmt"
func main() {
fmt.Printf("Здраво свете!\n")
}
[уреди] Groovy
Следећи Groovy програм исписује "Здраво свете!":
println "Здраво свете!"
[уреди] Haskell
main :: IO () main = putStr "Zdravo svete!"
[уреди] Java
Напомена: фајл треба да буде снимљен под именом hi.java да би могао бити компајлиран.
public class hi { public static void main(String args[]) { System.out.print("Zdravo svete!"); } }
[уреди] JavaScript
Напомена: Тагови <script>...</script> су присутни у овим примерима иако нису обавезни делови JavaScript програма, тј. не пишу се у истом фајлу као и програм приликом писања програма у једном екстерном JavaScript фајлу (екстензија *.js).
Први пример исписује текст директно на месту где се овај фрагмент кода налази.
<script type="text/javascript"> document.write("Zdravo svete!"); </script>
Други пример ствара једну кутијицу за поруке (Message Box) у којој исписује дати текст.
<script type="text/javascript"> alert("Zdravo svete!"); </script>
[уреди] LaTeX
\documentclass{article} \begin{document} Zdravo, svete! \end{document}
[уреди] Logo
Следећи код ће исписати "Zdravo svete!" у интерактивном начину рада:
PRINT [Zdravo svete!]
Процедура са именом Pozdrav, која има исто дејство као и код изнад, може да изгледа овако:
TO Pozdrav PRINT [Zdravo svete!] END
[уреди] MATLAB
fprintf('Zdravo svete!');
[уреди] Modula-2
MODULE Pozdrav;
FROM InOut IMPORT WriteString, WriteLn;
BEGIN
WriteString("Zdravo svete!");
WriteLn
END Pozdrav.
[уреди] Natural
WRITE 'Zdravo svete!' * END
[уреди] Objective C
#import <stdio.h> int main() { puts("Zdravo svete!"); return 0; }
[уреди] Pascal
program Zdravo ( output ); begin writeln('Zdravo svete!') end.
[уреди] Perl
print "Zdravo svete!";
[уреди] PHP
<?php echo "Zdravo svete!"; ?>
Овај програм на PHP има и еквивалената (упоређено према излазу):
<?php print("Zdravo svete!"); ?>
<?="Zdravo svete!"?>
[уреди] Pike
int main() {
write("Zdravo svete!");
return 0;
}
[уреди] Python
За испис текста "Zdravo svete!" (без знакова навода), у верзијама језика које предходе верзији 3.0, може да се употреби следећи код:
print 'Zdravo svete!'
У верзији језика 3.0 синтакса је нешто измењена. Горњи пример би изгледао овако:
print('Zdravo svete!')
Исти текст, али овога пута заједно са наводницима, могао би да буде приказан извршавањем следећег Python кода:
'Zdravo svete!'
[уреди] Ruby
puts "Zdravo svete!"
[уреди] Seed7
$ include "seed7_05.s7i";
const proc: main is func
begin
writeln("Zdravo svete!");
end func;
[уреди] SmallTalk
Transcript show: 'Zdravo svete!'
[уреди] Visual Basic
Sub Main() Print "Zdravo svete!" End Sub
[уреди] Спецификације
[уреди] Win32
Следећи програм отвара кутијицу за поруке (енгл. message box).
#include <windows.h>
int WINAPI WinMain(
HINSTANCE hInst,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow
)
{
MessageBox(HWND_DESKTOP, "Zdravo svete!", "Zdravo-svete program", MB_OK);
return 0;
}
Следећи програм прави мали прозор у коме се исписује текст „Zdravo svete!“.
#include <windows.h>
// Deklaracija procadure
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
const char *szClassName = "GlavniProzor";
HINSTANCE hInstance;
// Glavna funkcija programa
int WINAPI WinMain(
HINSTANCE hInst,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow
)
{
HWND hwnd;
MSG msg;
WNDCLASSEX wincl;
hInstance = hInst;
// --- Definisanje klase prozora ------------------
wincl.cbSize = sizeof(WNDCLASSEX);
wincl.cbClsExtra = 0;
wincl.cbWndExtra = 0;
wincl.style = 0;
wincl.hInstance = hInstance;
wincl.lpszClassName = szClassName;
wincl.lpszMenuName = NULL;
wincl.lpfnWndProc = WndProc; // dodeljivanje procedure klasi prozora
wincl.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
wincl.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wincl.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
wincl.hCursor = LoadCursor(NULL, IDC_ARROW);
// --- Registracija klase prozora -----------------
if(!RegisterClassEx(&wincl)) return 0;
// --- Stvaranje prozora --------------------------
hwnd = CreateWindowEx(
0,szClassName,"Zdravo svete",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT,
200, 80,
NULL, NULL, hInstance, NULL
);
// --- Prikazivanje prozora -----------------------
ShowWindow(hwnd, nCmdShow);
// --- Glavna petlja programa ---------------------
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
// Procedura
LRESULT CALLBACK WndProc(
HWND hwnd,
UINT message,
WPARAM wParam,
LPARAM lParam
)
{
PAINTSTRUCT ps;
HDC hdc;
switch(message)
{
case WM_PAINT:
// ispisivanje poruke
hdc = BeginPaint(hwnd, &ps);
TextOut(hdc, 50, 18, "Zdravo svete!", 13);
EndPaint(hwnd, &ps);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd, message, wParam, lParam);
}
return 0;
}
[уреди] Референце
- ^ Brian W. Kernighan (Author), Dennis M. Ritchie (1988). C Programming Language, 2nd Ed, Prentice Hall. ISBN 0131103628.
- ^ Bjarne Stroustrup (1997). C++ Programming Language, 3rd Ed, Addison-Wesley Professional. ISBN 0201327554.
- ^ Y. Daniel Liang (2010). Introduction to Java Programming, Comprehensive, 8th Ed., Prentice Hall. ISBN 0132130807.
|
|||||