Hello World
Hello world (у преводу „Здраво свете“) је устаљена реченица која се приказује на излазном медијуму приликом покретања демонстративних програма неког програмског језика. Отуда и име оваквих програма. Уобичајено је да се приликом приказа неког новог програмског језика на почетку приручника прикаже како изгледа на том језику штампа једноставне поруке. Ово често служи за међусобно поређење језика, односно њихове комплексности.
Овај пример се први пут појавио у књизи The C Programming Language, аутора Брајана Кернигана и Дениса Ричија, издатој 1978. године. На српски језик ова књига је преведена под насловом „Програмски језик C“. На почетку књиге се, у жељи да се прикаже одмах како изгледа тај нови језик, налази кратак пример који нешто исписује на екран. Пример из књиге исписује "hello, world
" (без великих слова и знака узвика). Касније се овај пример мало прилагодио, а за наше потребе је и преведен.[1][2]
Овај пример се често користи да би се тестирао ново инсталирани програмски језик, односно његов преводилац, развојно или радно окружење. Сматра се довољно једноставним, али репрезентативним тест-примером за ову сврху.
У наставку следе примери програма Hello World на разним програмским језицима.[3]
Програмски језици
уредиActionScript 3.0
уредиtrace ("Hello, world!");
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
уредиСледећи гоу програм исписује "Здраво свете!":
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>
Други пример исписује текст у конзолу.
console.log("Zdravo svete!");
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
уредиЗа испис текста "Здраво свете!" (без знакова навода), у верзијама Пајтон језика које претходе верзији 3.0, може да се употреби следећи код:
print 'Здраво свете!'
У верзији језика 3.0 синтакса је нешто измењена. Горњи пример би изгледао овако:
print('Здраво свете!')
Исти текст, али овога пута заједно са наводницима, могао би да буде приказан извршавањем следећег кода:
'Здраво свете!'
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!'
TeX
уредиЗдраво, Свете
\bye % marks the end of the file; not shown in the final output
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 (2. изд.). Prentice Hall. ISBN 9780131103627.
- ^ Stroustrup, Bjarne (1997). C++ Programming Language (3. изд.). Addison-Wesley Professional. ISBN 9780201327557.
- ^ Y. Daniel Liang (2010). Introduction to Java Programming, Comprehensive (8. изд.). Prentice Hall. ISBN 9780132130806.
Литература
уреди- Y. Daniel Liang (2010). Introduction to Java Programming, Comprehensive (8. изд.). Prentice Hall. ISBN 9780132130806.
- Stroustrup, Bjarne (1997). C++ Programming Language (3. изд.). Addison-Wesley Professional. ISBN 9780201327557.
- Brian W. Kernighan (Author), Dennis M. Ritchie (1988). C Programming Language (2. изд.). Prentice Hall. ISBN 9780131103627.