Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: hello, world  (Прочитано 2158 раз)

0 Пользователей и 1 Гость просматривают эту тему.

andrey_p

  • Автор темы
  • Гость
hello, world
« : 21 Января 2012, 14:30:54 »
Что-то совсем скучно стало в разделе "Программирование". Иногда
хочется, чтоб здесь появлялось что-то еще, кроме ученических
вопросов. Летом была хорошая ветка про ABRACADABRA. Ну а это моя
попытка немного оживить раздел.

===

Все знают, что первой программой на любом языке программирования
должна быть программа, выводящая на консоль всем известную
строку. Однако есть варианты, что именно выводится - от простой
ученической поделки, печатающей "hello world" до версии PRO со всеми
свистелками и эээ... висюльками - "Hello, World!".

Всего возможны 16 вариантов, так может выводить их все? Попробуем ...

(Нажмите, чтобы показать/скрыть)
Я старался (насколько возможно) передать в этих программках дух
используемого языка. По крайней мере как я понимаю. Получилось?

Если интересно, то добавляйте языки и варианты. И да, кто автор этой
фразы, где она появилась впервые, какой вариант использовался, и,
главное, почему именно этот вариант был выбран. (Я знаю ;) ).
« Последнее редактирование: 23 Января 2012, 07:38:47 от andrey_p »

Оффлайн Señor_Gaga

  • Забанен
  • Активист
  • *
  • Сообщений: 878
  • Ubuntu 12.04LTS & Linux Mint 13LTS "Maya"
    • Просмотр профиля
Re: hello, world
« Ответ #1 : 21 Января 2012, 15:52:23 »
Хотелось бы не "hello world", а "Привет, мир!"

Насчет Питона не согласен. Великолепный язык.

Оффлайн SergeyIT

  • Зануда.
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5743
  • Все по палатам!
    • Просмотр профиля
Re: hello, world
« Ответ #2 : 21 Января 2012, 15:59:08 »
А смысл? Во могих книгах по языку приводится текст простейшей программы...
Извините, я все еще учусь

andrey_p

  • Автор темы
  • Гость
Re: hello, world
« Ответ #3 : 21 Января 2012, 16:04:13 »
Смысла особого никакого.

Про Python - шутка.

Все программы будут (должны) работать, если заменить на "привет мир", но у "hello, world" есть история.

Оффлайн SergeyIT

  • Зануда.
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5743
  • Все по палатам!
    • Просмотр профиля
Re: hello, world
« Ответ #4 : 21 Января 2012, 16:05:59 »
Все программы будут (должны) работать, если заменить на "привет мир".
Нет. Проблемы с кодировками могут быть.
Извините, я все еще учусь

Оффлайн truegeek

  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
Re: hello, world
« Ответ #5 : 21 Января 2012, 16:26:44 »
Цитата: Wikipedia http://ru.wikipedia.org/wiki/Hello,_world!
традиция использования фразы «Hello, world!» в качестве тестового сообщения была введена в книге «Язык программирования Си» Брайана Кернигана и Денниса Ритчи, опубликованной в 1978 году.

Вообще, фраза популярна не только у программистов. Мы с ребятами, когда разрабатывали устройство обмена для военного принтера, тоже первым делом выводили "Привет мир!".
Правда код там не такой тривиальный как в примерах выше, да и не программирование это, но все-таки)

andrey_p

  • Автор темы
  • Гость
Re: hello, world
« Ответ #6 : 21 Января 2012, 16:33:14 »
Цитировать
традиция использования фразы «Hello, world!» в качестве тестового сообщения была введена в книге «Язык программирования Си» Брайана Кернигана и Денниса Ритчи, опубликованной в 1978 году.
Традиция - да. Но первое использование было раньше. Правильно "hello, world", как у меня в заголовке, но почему такое непочтительное отношение к заглавным буквам, и почему нет восклицательного знака?  :)

Оффлайн truegeek

  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
Re: hello, world
« Ответ #7 : 21 Января 2012, 16:40:39 »
Если вы про тот случай, то тогда еще и с одной "l". Я конечно могу путать.

Или вот:
Цитировать
main( ) {
    extrn a, b, c;
    putchar(a); putchar(b);
    putchar(c); putchar(’!*n’);
  }
  a ’hell’;
  b ’o, w’;
  c ’orld’;
« Последнее редактирование: 21 Января 2012, 16:44:42 от truegeek »

andrey_p

  • Автор темы
  • Гость
Re: hello, world
« Ответ #8 : 21 Января 2012, 16:44:57 »
Ну да, но почему с одной - ровно 12 байт (6-битовых) в трех 4-х байтовых словах.
« Последнее редактирование: 21 Января 2012, 17:01:33 от andrey_p »

Оффлайн truegeek

  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
Re: hello, world
« Ответ #9 : 21 Января 2012, 17:53:15 »
Цитировать
и сама фраза "hello, world" впервые появилась именно в туториале к B (ну то есть стопроцентно, конечно, тут сложно утверждать, но похоже на то)

http://brainslugs.blogspot.com/2007/01/b-hello-world.html

А про одну буку "l" это я наверное путаю просто. Это наверное из "передачи данных" что-то, трудно сказать, это как кусочек истории в моей памяти. Я не знаю ни начала ни конца, но знаю этот нюанс )))

Оффлайн Señor_Gaga

  • Забанен
  • Активист
  • *
  • Сообщений: 878
  • Ubuntu 12.04LTS & Linux Mint 13LTS "Maya"
    • Просмотр профиля
Re: hello, world
« Ответ #10 : 21 Января 2012, 23:32:53 »
Вот полный список программ Hello, world:
http://en.wikibooks.org/wiki/List_of_hello_world_programs

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3129
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: hello, world
« Ответ #11 : 22 Января 2012, 01:57:45 »
И снова флуд, а не код  >:(
Прямо как в абракадабре.

Я так и не въехал что нужно сделать =/
Превратить "hello world" в "Hello, World!"?
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

Оффлайн Sna1L

  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: hello, world
« Ответ #12 : 22 Января 2012, 02:41:22 »
Оффтоп. Видимо, я один такой дурак, который такие вещи замечает)
python -c '
ass = ["hello", "Hello"]
bss = [" ", ", "]
css = ["world", "World"]
dss = ["", "!"]
for a in ass:
  for b in bss:
    for c in css:
      for d in dss:
        print(a+b+c+d)
'

for a in ass

andrey_p

  • Автор темы
  • Гость
Re: hello, world
« Ответ #13 : 22 Января 2012, 07:43:28 »
Цитировать
for a in ass
Было использовано сначала просто "as", но был обруган Питоном. Так что это в ответку.  :D

===

Цитировать
Я так и не въехал что нужно сделать =/
Навскидку: в русской Википедии используется строка "Hello, world!", в Think Java - "Hello, World" - разница в двух символах. Я думаю, что за минут тридцать гугления можно найти еще не менее 10 примеров, отличающихся от данных. Я заинтересовался сколько всего может быть вариантов этой строки (и побочно, откуда она произошла и какой вариант правильный).

При условии, что используются только два слова - "hello" и "world", может быть 16 разных строк:

hello world
hello world!
hello World
hello World!
hello, world
hello, world!
hello, World
hello, World!
Hello world
Hello world!
Hello World
Hello World!
Hello, world
Hello, world!
Hello, World
Hello, World!


Задача - вывести их все на некоем языке, идиоматичным / типичным для данного языка способом. Ну и желательно элегантно или необычно.

(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 22 Января 2012, 08:24:53 от andrey_p »

Оффлайн Señor_Gaga

  • Забанен
  • Активист
  • *
  • Сообщений: 878
  • Ubuntu 12.04LTS & Linux Mint 13LTS "Maya"
    • Просмотр профиля
Re: hello, world
« Ответ #14 : 22 Января 2012, 08:22:07 »
Еще более элегантно на языке Forth:
(Нажмите, чтобы показать/скрыть)
 

 

Страница сгенерирована за 0.022 секунд. Запросов: 21.