Программирование

Кто как кодит Hello world!

,

действительно кто и как?

Дата публикации:

dr.xakep, 13.02.2006 - 8:35

Давайте сюда будем писать кио и как кодит Hello World! smile.gif
--------
#include
int main()
{
printf("Hello World!");
}
---------
#include
int main()
{
std::cout << "Hello World!";
}
---------
echo "Hello World!";
?>
---------
print "Hello World!";
?>
---------
program hello;

begin
writeln("Hello World!");
end.

Вот вроде и всё.

Izznolu, 13.02.2006 - 10:56

High School/Jr.High

10 PRINT "HELLO WORLD"
20 END




First year in College

program Hello(input, output)
begin
writeln('Hello World')
end.

Senior year in College

(defun hello
(print
(cons 'Hello (list 'World))))


New professional


#include
void main(void)
{
char *message[] = {"Hello ", "World"};
int i;

for(i = 0; i < 2; ++i)
printf("%s", message[i]);
printf("\n");
}


Seasoned professional

#include
#include
class string
{
private:
int size;
char *ptr;

public:
string() : size(0), ptr(new char('\0')) {}

string(const string &s) : size(s.size)
{
ptr = new char[size + 1];
strcpy(ptr, s.ptr);
}

~string()
{
delete [] ptr;
}

friend ostream &operator <<(ostream &, const string &);
string &operator=(const char *);
};

ostream &operator<<(ostream &stream, const string &s)
{
return(stream << s.ptr);
}

string &string::operator=(const char *chrs)
{
if (this != &chrs)
{
delete [] ptr;
size = strlen(chrs);
ptr = new char[size + 1];
strcpy(ptr, chrs);
}
return(*this);
}
int main()
{
string str;

str = "Hello World";
cout << str << endl;

return(0);
}



Master Programmer

[
uuid(2573F8F4-CFEE-101A-9A9F-00AA0034282 0)
]
library LHello
{
// bring in the master library
importlib("actimp.tlb");
importlib("actexp.tlb");

// bring in my interfaces
#include "pshlo.idl"

[
uuid(2573F8F5-CFEE-101A-9A9F-00AA0034282 0)
]
cotype THello
{
interface IHello;
interface IPersistFile;
};
};

[
exe,

uuid(2573F890-CFEE-101A-9A9F-00AA0034282 0)
]
module CHelloLib
{

// some code related header files
importheader();
importheader();
importheader();
importheader("pshlo.h");
importheader("shlo.hxx");
importheader("mycls.hxx");

// needed typelibs
importlib("actimp.tlb");
importlib("actexp.tlb");
importlib("thlo.tlb");

[
uuid(2573F891-CFEE-101A-9A9F-00AA0034282 0),
aggregatable
]
coclass CHello
{
cotype THello;
};
};


#include "ipfix.hxx"

extern HANDLE hEvent;

class CHello : public CHelloBase
{
public:
IPFIX(CLSID_CHello);

CHello(IUnknown *pUnk);
~CHello();
HRESULT __stdcall PrintSz(LPWSTR pwszString);

private:
static int cObjRef;
};


#include
#include
#include
#include
#include "thlo.h"
#include "pshlo.h"
#include "shlo.hxx"
#include "mycls.hxx"

int CHello::cObjRef = 0;

CHello::CHello(IUnknown *pUnk) : CHelloBase(pUnk)
{
cObjRef++;
return;
}

HRESULT __stdcall CHello::PrintSz(LPWSTR pwszString)
{
printf("%ws\n", pwszString);
return(ResultFromScode(S_OK));
}


CHello::~CHello(void)
{

// when the object count goes to zero, stop the server
cObjRef--;
if( cObjRef == 0 )
PulseEvent(hEvent);

return;
}

#include
#include
#include "pshlo.h"
#include "shlo.hxx"
#include "mycls.hxx"

HANDLE hEvent;

int _cdecl main( int argc, char* argv[] )
{
ULONG ulRef;
DWORD dwRegistration;
CHelloCF *pCF = new CHelloCF();

hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);

// Initialize the OLE libraries
CoInitializeEx(NULL, COINIT_MULTITHREADED);

CoRegisterClassObject(CLSID_CHello, pCF, CLSCTX_LOCAL_SERVER,
REGCLS_MULTIPLEUSE, &dwRegistration);

// wait on an event to stop
WaitForSingleObject(hEvent, INFINITE);

// revoke and release the class object
CoRevokeClassObject(dwRegistration);
ulRef = pCF->Release();

// Tell OLE we are going away.
CoUninitialize();

return(0); }

extern CLSID CLSID_CHello;
extern UUID LIBID_CHelloLib;
CLSID CLSID_CHello = { /* 2573F891-CFEE-101A-9A9F-00AA00342820 */
0x2573F891,
0xCFEE,
0x101A,
{ 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }
};

UUID LIBID_CHelloLib = { /* 2573F890-CFEE-101A-9A9F-00AA00342820 */
0x2573F890,
0xCFEE,
0x101A,
{ 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }
};

#include
#include
#include
#include
#include
#include "pshlo.h"
#include "shlo.hxx"
#include "clsid.h"

int _cdecl main(int argc, char * argv[] )
{
HRESULT hRslt;
IHello *pHello;
ULONG ulCnt;
IMoniker *pmk;
WCHAR wcsT[_MAX_PATH];
WCHAR wcsPath[2 * _MAX_PATH];

// get object path
wcsPath[0] = '\0';
wcsT[0] = '\0';
if( argc > 1) {
mbstowcs(wcsPath, argv[1], strlen(argv[1]) + 1);
wcsupr(wcsPath);
}
else {
fprintf(stderr, "Object path must be specified\n");
return(1);
}

// get print string
if(argc > 2)
mbstowcs(wcsT, argv[2], strlen(argv[2]) + 1);
else
wcscpy(wcsT, L"Hello World");

printf("Linking to object %ws\n", wcsPath);
printf("Text String %ws\n", wcsT);

// Initialize the OLE libraries
hRslt = CoInitializeEx(NULL, COINIT_MULTITHREADED);

if(SUCCEEDED(hRslt)) {

hRslt = CreateFileMoniker(wcsPath, &pmk);
if(SUCCEEDED(hRslt))

if(SUCCEEDED(hRslt))
hRslt = BindMoniker(pmk, 0, IID_IHello, (void **)&pHello);

if(SUCCEEDED(hRslt)) {

// print a string out
pHello->PrintSz(wcsT);

Sleep(2000);
ulCnt = pHello->Release();
}
else
printf("Failure to connect, status: %lx", hRslt);

// Tell OLE we are going away.
CoUninitialize();
}

return(0);
}


Apprentice Hacker


#!/usr/local/bin/perl
$msg="Hello, world.\n";
if ($#ARGV >= 0) {
while(defined($arg=shift(@ARGV))) {
$outfilename = $arg;
open(FILE, ">" . $outfilename) || die "Can't write $arg: $!\n";
print (FILE $msg);
close(FILE) || die "Can't close $arg: $!\n";
}
} else {
print ($msg);
}
1;


Experienced Hacker

#include
#define S "Hello, World\n"
main(){exit(printf(S) == strlen(S) ? 0 : 1);}


Seasoned Hacker

% cc -o a.out ~/src/misc/hw/hw.c
% a.out

Guru Hacker

% cat
Hello, world.
^D


New Manager

10 PRINT "HELLO WORLD"
20 END

Middle Manager

mail -s "Hello, world." bob@b12
Bob, could you please write me a program that prints "Hello,
world."?
I need it by tomorrow.
^D

Senior Manager

% zmail jim
I need a "Hello, world." program by this afternoon.

Chief Executive

% letter
letter: Command not found.
% mail
To: ^X ^F ^C
% help mail
help: Command not found.
% damn!
!: Event unrecognized
% logout

jonick, 13.02.2006 - 11:11

public class HelloWorld{
public static void main(String[] a){
System.out.println("Hello World!");
}
}

ZaHack, 13.02.2006 - 13:28

Ну не знаю тут такие профи в С++ сидят, что мне даже стыдно smile.gif Но все же напишу как я делаю "Hello World":



.486
.model flat, stdcall
option casemap :none

include \masm32\include\windows.inc
include \masm32\macros\macros.asm

include \masm32\include\masm32.inc
include \masm32\include\gdi32.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc


includelib \masm32\lib\masm32.lib
includelib \masm32\lib\gdi32.lib
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib


.data

MsgBoxCaption db "Greeting from ZaHack!",0

MsgBoxText db "Hello world!",0

.code

start:

invoke MessageBox, NULL, addr MsgBoxText, addr MsgBoxCaption, MB_OK

invoke ExitProcess, NULL

end start

Вот так tongue.gif

Добавлено:

Но то было в MASM'e - долго и неудобно. Легче и проще в FASM:

include 'win32ax.inc'

.code

start:
invoke MessageBox,HWND_DESKTOP,"Hello World!","Greeting from ZaHack!",MB_OK
invoke ExitProcess,0

.end start

Wulfgar, 13.02.2006 - 19:23

Ё-моё! laugh.gif
Я тут вообще нифига не понимаю sad.gif

dr.xakep, 13.02.2006 - 19:47

забыл.....
echo "Hello world"

это в скриптах .bat в линуx'овых скриптах для !#/bin/sh и в скриптах Couter-strike/Half-liffe smile.gif)))

ZaHack, 13.02.2006 - 21:31

QUOTE(dr.xakep @ 13.02.2006 - 20:47)
забыл.....
echo "Hello world"

это в скриптах .bat в линуx'овых скриптах для !#/bin/sh и в скриптах Couter-strike/Half-liffe smile.gif)))
*



Не так. Если так, как ты сказал там будет много всякой муры(в виндовс). Чтоб получить надпись на чистом экране надо так:
@echo off
cls
echo Hello world

Love.sys, 13.02.2006 - 23:49

Лично я, закодю хеллоу ворлl так:

Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.Popup "Хелллоу, как тебя такм.. ворлд.."
WSHShell.Popup "Перезагрузите ваш компьютер. Если ошибка повторится, обратитесь к разработчикам."

И пропишу это в автозапуск. =)


Добавлено:

А лучше так:
Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.Popup "В Windows произошла недопустимая ошибка. Пожалуйста установите новую версию Windows"
WSHShell.Popup "Перезагрузите ваш компьютер. Если ошибка повторится, обратитесь к разработчикам."
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.Popup "В Windows произошла недопустимая ошибка. Пожалуйста установите новую версию Windows"
WSHShell.Popup "Перезагрузите ваш компьютер. Если ошибка повторится, обратитесь к разработчикам."
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.Popup "В Windows произошла недопустимая ошибка. Пожалуйста установите новую версию Windows"
WSHShell.Popup "Перезагрузите ваш компьютер. Если ошибка повторится, обратитесь к разработчикам."
........................1000 раз....................
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.Popup "В Windows произошла недопустимая ошибка. Пожалуйста установите новую версию Windows"
WSHShell.Popup "Перезагрузите ваш компьютер. Если ошибка повторится, обратитесь к разработчикам."

дымчик, 14.02.2006 - 1:19

<script language="JavaScript">
var myMessage = "Hell'O'World";
alert(myMessage);
var myBody = document.getElementsByTagName("BODY");
var myDiv = document.createElement("DIV");
var myText = document.createTextNode(myMessage);
myDiv.innerHTML = myText.nodeValue;

myBody.item(0).appendChild(myDiv);

CraZy_JumPeR, 15.02.2006 - 1:17

Получилось мудрёно, но работает.:) Диалог с убранной формой - первое пришедшее в голову после всего прочитанного.:)


#include "stdafx.h"
#include "3215.h"
#include "3215Dlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

CMy3215Dlg::CMy3215Dlg(CWnd* pParent /*=NULL*/)
: CDialog(CMy3215Dlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CMy3215Dlg)
//}}AFX_DATA_INIT
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CMy3215Dlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CMy3215Dlg)
//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CMy3215Dlg, CDialog)
//{{AFX_MSG_MAP(CMy3215Dlg)
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

BOOL CMy3215Dlg::OnInitDialog()
{
CDialog::OnInitDialog();

SetIcon(m_hIcon, TRUE);
SetIcon(m_hIcon, FALSE);
MessageBox ("Hello, world!", "Hi", MB_OK);
OnOK();

return TRUE;
}

void CMy3215Dlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // device context for painting

SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;

dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
}

HCURSOR CMy3215Dlg::OnQueryDragIcon()
{
return (HCURSOR) m_hIcon;
}

P-MAN, 15.02.2006 - 15:54

program Hello_World

uses graph, crt;

var
gd, gm, x, y, i: integer;
ar: array[0..1024] of byte absolute 0000:0000;

const
Msg_Hello = 'Hello, World!';
Msg_GrError = 'The error has been occuired while the graphics start!';

begin
for i:=1 to 1024 do ar[i]:=0;
gd:=detect;
gm:=vgahi;
InitGraph(gd, gm, 'c:\bp\bgi');
if GrOk<>0 then
begin
writeln(Msg_Error);
exit;
end;
x:=(80 - Length(Msg_Hello)) div 2;
y:=12;
OutText(x, y, Msg_Hello);
repeat until keypressed;
end.

P-MAN, 15.02.2006 - 16:07

unit UHello_World;

uses Forms, Classes, Windows;

interface

type
HelloForm = class(TForm)
private
THelloWorld: string;
published
procedure THelloWorld_Execute;
end;

var
Form: HelloForm;
THello: THelloWorld;

const
HWE = 'Hello World Error!';

implementation

procedure Form.FormCreate(Sender: TObject);
begin
THello:='Hello, World!';
end;

proceure Form.THelloWorld_Execute;
begin
try
MessageBox(Form.Handle, THello, THello, mb_OK + mb_IconInformation);
except
on EAbort do
begin
raise EDivByZero.Create(HWE);
exit;
end;
end;
end;

end.

Эт было Дельфи smile.gif

ZaHack, 15.02.2006 - 16:53

QUOTE(P-MAN @ 15.02.2006 - 17:07)

Эт было Дельфи  smile.gif
*



Это мы поняли! dry.gif

ЭЖД, 15.02.2006 - 22:57

ph34r.gif Очень смешно. Перенес!

Love.sys, 15.02.2006 - 23:07

А вот ещё:

CODE
вп 1,50
вп 1,20
вп 1,50
вп 2,10
вп 2,20
вп 2,10
вп 3,40


Эта часть кода начертит часть буквы "Х" из хеллоу ворлд,
на языке програм. ЛОГО =))

Ramzes_, 15.02.2006 - 23:15

Вроде короче всего (в виндах)
VBS
CODE
MSgBox "Привет, World"

Можно батник (ECHO), только надо дополнительные телодвижения, чтобы прочитать, сразу даблкликом не запустишь... он закроется...

Love.sys, 15.02.2006 - 23:36

QUOTE(Ramzes_ @ 15.02.2006 - 23:15)
Вроде короче всего (в виндах)
VBS
CODE
MSgBox "Привет, World"

Можно батник (ECHO), только надо дополнительные телодвижения, чтобы прочитать, сразу даблкликом не запустишь... он закроется...
*




дополнительные телодвижения это в конце батника дописать
pause =)

dr.xakep, 15.02.2006 - 23:50

чуть не забыл....

!#/usr/bin/perl
print "hello World!";

Ramzes_, 16.02.2006 - 0:25

Ну простите, извините, батники пишу редко, команда pause последний раз требовалась так давно, что уже забыл о ее существовании, в хелп было влом лезть...
Но таки все равно длиньше получается smile.gif

ZaHack, 16.02.2006 - 19:35

Так, ну я чувствую тут одни прям хардкорные программисты собрались smile.gif Мне аж прям неловко! Такое мутят: как написать в батнике HelloWorld, как написать HelloWorld в среде "Лого" (которую дети в школе в седьмом классе изучают smile.gif ) Чтобы не выглядеть полным лохом, я тут написал HelloWorld на Java. Вот смотрим, изучаем:
/*
* файл: HelloWorld.java
* это апплет, так что, естественно, просто так работать не будет - * надо вставить в HTML-страницу wink.gif
*/

import java.awt.*;
import java.applet.*;
public class HelloWorld extends Applet {
final Font f = new Font("Comic Sans MS", Font.BOLD, 12);

public void paint(Graphics g) {
Color col;
Dimension d = size();
col = new Color(0, 128, 128);
g.setColor(col);
g.fillRect(0,0,d.width,d.height);
col = new Color(0, 255, 255);
g.setColor(col);
g.setFont(f);
drawCenteredString("Hello, World!", d.width, d.height, g);
g.drawRect(0,0,d.width-1,d.height-1);
}

public void drawCenteredString(String s, int w, int h, Graphics g) {
FontMetrics fm = g.getFontMetrics();
int x = (w - fm.stringWidth(s)) / 2;
int y = (fm.getAscent() + (h - (fm.getAscent() + fm.getDescent()))/2);
g.drawString(s, x, y);
} }

Ramzes_, 16.02.2006 - 22:10

Хех... вспомнилось кстати, приходила в какой-то рассылке статья с примером абсолютно автономного Hello World на С++, т.е с созданием загрузчика на дискете, вставил, загрузился и получи! Прямо мини ОС.

Paladin, 18.02.2006 - 9:30

Наиболее простой вариант на Паскале smile.gif
CODE
Uses Crt;
Begin
   ClrScr;
   Write('Hello World!');
   Readln;
End.

dr.xakep, 18.02.2006 - 10:13

QUOTE(ZaHack @ 16.02.2006 - 18:35)
Так, ну я чувствую тут одни прям хардкорные программисты собрались smile.gif  Мне аж прям неловко! Такое мутят: как написать в батнике HelloWorld, как написать HelloWorld в среде "Лого"  (которую дети в школе в седьмом классе изучают....


Я уже в 8м, а нифига про это не знаю...

yah, 18.02.2006 - 10:28

perl -e print "Hello world"

ZaHack, 20.02.2006 - 22:32

QUOTE(dr.xakep @ 18.02.2006 - 11:13)
QUOTE(ZaHack @ 16.02.2006 - 18:35)
Так, ну я чувствую тут одни прям хардкорные программисты собрались smile.gif  Мне аж прям неловко! Такое мутят: как написать в батнике HelloWorld, как написать HelloWorld в среде "Лого"  (которую дети в школе в седьмом классе изучают....


Я уже в 8м, а нифига про это не знаю...
*



И не надо - сбережешь свои нервы и здоровье. Поясню - ЛОГО это "среда программирования", а на самом деле графич. редактор низкого уровня, курсор (черепашка) рисует разую фигню, но управление не мышкой а из консоли (то есть получается минипрограммка, для рисования домика, надписи "Windows - mustdie!" и т.п.) Естественно эта штука под ДОС wink.gif

Teshka, 24.02.2006 - 14:32

#include
WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int)
{
MessageBox(NULL,"Hello World",0,0);
return 0;
}


А про WinApi забыли

ZaHack, 24.02.2006 - 21:07

QUOTE(Teshka @ 24.02.2006 - 15:32)
#include
WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int)
{
    MessageBox(NULL,"Hello World",0,0);
    return 0;
}


А про WinApi забыли
*


Как это забыли? Я ж на асме на API накатал! (См. выше)

дымчик, 15.04.2006 - 1:38

QUOTE(ZaHack @ 20.02.2006 - 23:32)
И не надо - сбережешь свои нервы и здоровье. Поясню - ЛОГО это "среда программирования", а на самом деле графич. редактор низкого уровня, курсор (черепашка) рисует разую фигню, но управление не мышкой а из консоли (то есть получается минипрограммка, для рисования домика, надписи "Windows - mustdie!" и т.п.) Естественно эта штука под ДОС  wink.gif
*


Я когда в университете учился писал что-то подобное для роботов-манипуляторов - вводишь некоторую программу, она на экране рисует полученный результат, а потом робот всё то же самое рисует на обыкновенном листе бумаги smile.gif Эх... как же снова я хочу идти учиться unsure.gif

gloom, 15.04.2006 - 21:25

А можно и так...
#include

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
static char szAppName[] = "HelloWin" ;
HWND hwnd ;
MSG msg ;
WNDCLASSEX wndclass ;

wndclass.cbSize = sizeof (wndclass) ;
wndclass.style = CS_HREDRAW | CS_VREDRAW ;
wndclass.lpfnWndProc = WndProc ;
wndclass.cbClsExtra = 0 ;
wndclass.cbWndExtra = 0 ;
wndclass.hInstance = hInstance ;
wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ;
wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;
wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
wndclass.lpszMenuName = NULL ;
wndclass.lpszClassName = szAppName ;
wndclass.hIconSm = LoadIcon (NULL, IDI_APPLICATION) ;

RegisterClassEx (&wndclass) ;

hwnd = CreateWindow (szAppName, // window class name
"The Hello Program", // window caption
WS_OVERLAPPEDWINDOW, // window style
CW_USEDEFAULT, // initial x position
CW_USEDEFAULT, // initial y position
CW_USEDEFAULT, // initial x size
CW_USEDEFAULT, // initial y size
NULL, // parent window handle
NULL, // window menu handle
hInstance, // program instance handle
NULL) ; // creation parameters

ShowWindow (hwnd, iCmdShow) ;
UpdateWindow (hwnd) ;

while (GetMessage (&msg, NULL, 0, 0))
{
TranslateMessage (&msg) ;
DispatchMessage (&msg) ;
}
return msg.wParam ;
}

LRESULT CALLBACK WndProc (HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
{
HDC hdc ;
PAINTSTRUCT ps ;
RECT rect ;

switch (iMsg)
{
case WM_CREATE :
PlaySound ("hellowin.wav", NULL, SND_FILENAME | SND_ASYNC) ;
return 0 ;

case WM_PAINT :
hdc = BeginPaint (hwnd, &ps) ;

GetClientRect (hwnd, &rect) ;

DrawText (hdc, "Hello, Windows 95!", -1, &rect,
DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;

EndPaint (hwnd, &ps) ;
return 0 ;

case WM_DESTROY :
PostQuitMessage (0) ;
return 0 ;
}

return DefWindowProc (hwnd, iMsg, wParam, lParam) ;
}


версия для печати -> Полная версия

SoftoRooM © 2004-2024