Объявление

Односложные и бессмысленные темы, не несущие полезную нагрузку или не содержащие в себе вопрос, будут удаляться!

#1 28-07-10 18:52:58

Armanx64
Забанен
Откуда: -за леса, из-за гор
Здесь с 05-10-09
Сообщений: 1,434
Сайт

Маленькое сравнение

Каждый пишет на том языке, который знает, стандартный консольный HelloWorld.
А потом сравним.

upd. Полноценный код, а не кусок.
upd. Писать с построчными комментариями каждого слова в строке.
upd. ЧИТАЙТЕ ВТОРОЙ UPD., DAMN!

Примерно так:

С#

using System;  /*объявили, что будем использовать системное пространство имён - больше в коде не надо дописывать везде System */

namespace MyProgram  //объявили пространство для своей программы, чтобы не смешивать с ненашим кодом
{
   class SomeClass  //создадим класс
     {
        static void Main()   /*метод с именем Main() является входным в программе. Он статичен - для его вызова не нужно создавать экземпляр класса. void - значит, метод не будет ничего возвращать - его нельзя использовать как функцию. */
                       {
                                 Console.WriteLine("Hello, World!");  /*устройство Console абстрагировано как класс. Представляет некоторые члены. Например, метод WriteLine(), который выводит любые данные, которые можно привести к виду текстового потока. В данном случае методу передаётся параметр - объект типа String, представляющий текст "Hello, World!"    */
                       }
     }
}
//так и объясняйте всё.

Pascal(Delphi)

program MyProgram;  //заголовок
begin        //начало блока
      Writeln('Hello, World!');  //встроенная процедура Writeln выводит текст "Hello, World!"
end.     //Конец

//как-то так

upd. Жду примера на яве!

Отредактировано Armanx64 (28-07-10 21:52:57)


Мой плейлист - - ->

"Тролль - это не консумент, а редуцент.
Потребляя гниль, он срёт кирпичами."(с)

Вне форума

#2 28-07-10 18:56:26

Linups_Troolvalds
С нами Баг!
Откуда: Отовсюду
Здесь с 06-10-09
Сообщений: 2,100

Re: Маленькое сравнение

Armanx64 пишет:

Каждый пишет на том языке, который знает, стандартный консольный HelloWorld.

Может проще сразу www.google.com/search?q=hello+world, не?


.:``́3̶E̶P̶O̶W̶h̶`́`:.

Вне форума

#3 28-07-10 18:56:49

SemyonKozakov
Журнашлюшка :)
Откуда: Саратов
Здесь с 28-11-09
Сообщений: 4,394
Сайт

Re: Маленькое сравнение

Armanx64 пишет:

Каждый пишет на том языке, который знает, стандартный консольный HelloWorld.

Python:

print("Hello world")  # в этой строке применяется встроенная функция "print", которой печатает строку "Hello world"

Отредактировано SemyonKozakov (28-07-10 19:14:07)


nolinux.w2c.ru - море баттхерта и деаонимизации

Вне форума

#4 28-07-10 19:07:06

whoknows
Гость

Re: Маленькое сравнение

C++

#include <iostream> // включение заголовочного файла с описание об'екта стандартного потока вывода
// пустая строка для читабельности
int main() // cигнатура и щ значение стартовой функции в программе. значение типа int - статус код по соглашению UNIX. Ненулевое означает ошибку.
{ // начало тела функции
    std::cout << "Hello, World!" << std::endl; // собственно, сабж. Посылка строки const char * в std::cout (стандартный поток вывода) и следом - переход на новую строку с очисткой буфера.
    return 0; // можно не писать в функции main
} // конец тела функции

А что тут сравнивать-то?

Отредактировано whoknows (28-07-10 23:45:31)

#5 28-07-10 19:11:55

Tiphon
Забанен
Здесь с 08-07-10
Сообщений: 2,718

Re: Маленькое сравнение

Чета мне старшно от того, чего добивается автор)))
Ну ладно, поиграем)

namespace FuckingFuck
{
   static class Program
    {
        static void Main()
        {
             System.Console.WriteLine("Hello world")
        }
    }
}


Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.

Вне форума

#6 28-07-10 19:15:09

Armanx64
Забанен
Откуда: -за леса, из-за гор
Здесь с 05-10-09
Сообщений: 1,434
Сайт

Re: Маленькое сравнение

Tiphon, перепиши с Using System, так красивее)))


Мой плейлист - - ->

"Тролль - это не консумент, а редуцент.
Потребляя гниль, он срёт кирпичами."(с)

Вне форума

#7 28-07-10 21:01:26

petrun
Участник
Здесь с 22-10-09
Сообщений: 3,172

Re: Маленькое сравнение

Armanx64,
не понял смысла топика, ну ладно.
haskell

main = do -- задаем последовательность, выполнения.Можно и без do-нотации, но если мы захотим добавить еще действий с побочными эффектами, нас ждет сюрприз.
  putStrLn "Hello, World!" -- собственно печать.

Отредактировано petrun (28-07-10 21:10:29)


Анархия-мама сынов своих любит

Вне форума

#8 28-07-10 21:02:18

MOP3E
Участник
Здесь с 05-10-09
Сообщений: 4,208

Re: Маленькое сравнение

MS Visual Basic 2008 Express Edition
1. Создать проект типа "Консольное приложение".
2. Собственно, код:

;Заголовок модуля Module1.
;Стартовый модуль программы по-умолчанию. Можно переименовать,
;но тогда потребуется в свойствах проекта изменить имя стартового модуля.
Module Module1

    ;Заголовок процедуры Main.
    ;Стартовая процедура программы по-умолчанию. Можно переименовать,
    ;но тогда потребуется в свойствах проекта изменить имя стартовой процедуры.
    Sub Main()
        ;Вывод в консоль строки "Hello World" при помощи метода WriteLine системного
        ;класса Console. Класс доступен в .Net Framework версии 1.0 и выше.
        Console.WriteLine("Hello World")
    ;Завершение процедуры Main.
    End Sub

;Завершение  модуля Module1.
End Module

З.Ы. Нахрена тебе это?

Отредактировано MOP3E (28-07-10 21:36:34)


Я не игрушечный. Я, б*я, коллекционный! (с) Duke Nukem Forever
Я не специалист по [вставить название]. Мне главное концептуально решить задачу! (с) АхаRu.
Линукс - это альтернативная ОС о которой известно, что она не является ОС ну вот просто ни разу. (с) Linups_Troolvalds.
А с какого такого перепугу пользователей линукса должно быть больше 1%? (с) petrun

Вне форума

#9 28-07-10 21:09:12

Linups_Troolvalds
С нами Баг!
Откуда: Отовсюду
Здесь с 06-10-09
Сообщений: 2,100

Re: Маленькое сравнение

А где, собственно, техническое задание?
Такая программа уже написана на всех языках. Какие-то особые требования? Смысл нулевой.


.:``́3̶E̶P̶O̶W̶h̶`́`:.

Вне форума

#10 28-07-10 21:21:22

Armanx64
Забанен
Откуда: -за леса, из-за гор
Здесь с 05-10-09
Сообщений: 1,434
Сайт

Re: Маленькое сравнение

Linups_Troolvalds, нифига не написал - вали отседова. С этого топика, конечно же. Далеко не уходи - клоуны в соседних топиках всё ещё нужны.


Мой плейлист - - ->

"Тролль - это не консумент, а редуцент.
Потребляя гниль, он срёт кирпичами."(с)

Вне форума

#11 28-07-10 21:22:58

Armanx64
Забанен
Откуда: -за леса, из-за гор
Здесь с 05-10-09
Сообщений: 1,434
Сайт

Re: Маленькое сравнение

Я прошу всех перечитать топикстарт.


Мой плейлист - - ->

"Тролль - это не консумент, а редуцент.
Потребляя гниль, он срёт кирпичами."(с)

Вне форума

#12 28-07-10 21:30:01

Linups_Troolvalds
С нами Баг!
Откуда: Отовсюду
Здесь с 06-10-09
Сообщений: 2,100

Re: Маленькое сравнение

Armanx64 пишет:

Linups_Troolvalds, нифига не написал - вали отседова.

Не хамите. Я прошу объяснить, какой смысл в публикации давно написанной и опубликованной программы?
Вот вам
echo "hello troll"
Кроссплатформенно и идиоту понятно. Можно на лиспе с хаскеллом, языке ада и прочее под деревом. А смысл?


.:``́3̶E̶P̶O̶W̶h̶`́`:.

Вне форума

#13 28-07-10 21:38:43

MOP3E
Участник
Здесь с 05-10-09
Сообщений: 4,208

Re: Маленькое сравнение

Linups_Troolvalds пишет:

Не хамите. Я прошу объяснить, какой смысл в публикации давно написанной и опубликованной программы?

Напишешь ещё один пост в эту тему и я тебя забаню. Иди флудить в другое место.

Отредактировано MOP3E (28-07-10 21:39:14)


Я не игрушечный. Я, б*я, коллекционный! (с) Duke Nukem Forever
Я не специалист по [вставить название]. Мне главное концептуально решить задачу! (с) АхаRu.
Линукс - это альтернативная ОС о которой известно, что она не является ОС ну вот просто ни разу. (с) Linups_Troolvalds.
А с какого такого перепугу пользователей линукса должно быть больше 1%? (с) petrun

Вне форума

#14 28-07-10 21:47:48

Armanx64
Забанен
Откуда: -за леса, из-за гор
Здесь с 05-10-09
Сообщений: 1,434
Сайт

Re: Маленькое сравнение

Итак, коли никто не хочет писать подробнее, начну с вопросов.
whoknows,
что такое
#include <iostream>
почему у вас метод main возвращает int и вообще, что это такое:
std::cout << "Hello, World!" << std::endl;
?

petrun, что такое main и почему оно равно (или проверяется на равенство с)  do?
И что такое putStrLn ?
И ещё раз, зачем нужен do?

MOP3E, Console.WriteLine("Hello World") пояснено неподробно, но я так понял, по аналогии с моим примером, верно?
Sub Main() и End Sub - что это?

Linups_Troolvalds, @echo "Gett outta here!"


Мой плейлист - - ->

"Тролль - это не консумент, а редуцент.
Потребляя гниль, он срёт кирпичами."(с)

Вне форума

#15 28-07-10 22:01:05

SemyonKozakov
Журнашлюшка :)
Откуда: Саратов
Здесь с 28-11-09
Сообщений: 4,394
Сайт

Re: Маленькое сравнение

Armanx64 пишет:

upd. Жду примера на яве!

public class HelloWorld {                     # объявляется публичный класс HelloWorld
    public static void main(String[] args) {             # объявляется функция типа void (статическая)
        System.out.println("Hello world!");            # вызов System.out.println, который печатает "Hello World"
    }
}

Отредактировано SemyonKozakov (28-07-10 22:20:21)


nolinux.w2c.ru - море баттхерта и деаонимизации

Вне форума

#16 28-07-10 22:01:48

petrun
Участник
Здесь с 22-10-09
Сообщений: 3,172

Re: Маленькое сравнение

Armanx64 пишет:

petrun, что такое main и почему оно равно (или проверяется на равенство с)  do?
И что такое putStrLn ?
И ещё раз, зачем нужен do?

Функция main - точка входа.do - синтаксический сахар для конструкций монадического связывания ">>=".Нужно для того, что бы функции вызывались в нужной последовательности.
Конкретно тут это не нужно, так как функция ввода-вывода одна.Так принято писать, что бы избежать ошибок при дальнейших доработках.\
putStrLn  добавляет в конец  строки символ конца строки и выводит ее на stdout.

Отредактировано petrun (28-07-10 22:05:37)


Анархия-мама сынов своих любит

Вне форума

#17 28-07-10 23:51:17

Armanx64
Забанен
Откуда: -за леса, из-за гор
Здесь с 05-10-09
Сообщений: 1,434
Сайт

Re: Маленькое сравнение

Mandriva-oid пишет:

System.out.println

кто это такой?


Мой плейлист - - ->

"Тролль - это не консумент, а редуцент.
Потребляя гниль, он срёт кирпичами."(с)

Вне форума

#18 28-07-10 23:55:20

petrun
Участник
Здесь с 22-10-09
Сообщений: 3,172

Re: Маленькое сравнение

Господа, а может сравнение по серьезней?
Пишем реализацию того же md5 и сравниваем размер и скорость?)


Анархия-мама сынов своих любит

Вне форума

#19 29-07-10 00:21:59

Майор Очевидность
борец со справедливостью
Здесь с 28-10-09
Сообщений: 1,371

Re: Маленькое сравнение

реализации в стиле JAPH принимаются? smile


all your post are belong to us.

Вне форума

#20 29-07-10 00:53:02

petrun
Участник
Здесь с 22-10-09
Сообщений: 3,172

Re: Маленькое сравнение

Майор Очевидность пишет:

реализации в стиле JAPH принимаются? smile

Давайте)


Анархия-мама сынов своих любит

Вне форума

#21 29-07-10 02:03:22

Майор Очевидность
борец со справедливостью
Здесь с 28-10-09
Сообщений: 1,371

Re: Маленькое сравнение

[SECTION .text];

  CALL @make;         <-- делаем вызов процедуры, создающей строку "Hello World!"
  INT 128;            <-- вызываем 128-е прерывание и печатаем её на экране
  XOR EBX, EBX;       <-- код возврата: 0
  MOV EAX, 1;         <-- код процедуры выхода: 1
  INT 128;            <-- вызываем 128-е прерывание и выходим из программы
  RET;                <-- return, что тут непонятного? =)

@make:
  MOV RSI, [RSP];     <-- берём вершину стэка
  MOV RDI, @buff;     <-- берём адрес буфера
  MOVSQ;              <-- пересылаем
  STD;                <-- выставляем
  MOVSQ;              <-- пересылаем
  FINIT;              <-- инициализируем FPU
  FILD DWORD [RSI];   <-- загружаем вершину стэка
  FILD DWORD [RDI];   <-- загружаем из буфера

  MOV RCX, $+7;       <-- а вот тут начинается колдунство!
  FMULP ST1, ST0;     <-- умножаем буфер на вершину стэка
  DIV ESI;            <-- делим аккумулятор на указатель
  CDQE;               <-- расширяем его до учетверённого слова
  ADC EDX, [RDI+34];  <-- к остатку добавляем "хвост" буфера
  MOV EAX, -32699;    <-- частное заменяем на -32699
  MOV EBX, [RCX+8];   <-- читаем [RCX+8] в EBX
  MOV ESI, EBX;       <-- дублируем в ESI
  XOR ESI, [RCX+4];   <-- ксорим ESI с предыдущим значением в RCX[]
  XOR ESI, 5;         <-- недостаточно ещё поксорили
  MOV ECX, [RCX];     <-- затираем указатель на RCX[]
  XOR ECX, 525568;    <-- а это мне сегодня билетик такой попался ^_^
  XOR ECX, ESI;       <-- снова ксорим
  XOR EBX, ECX;       <-- и ещё раз
  CLD;                <-- в общем дальше мне лень комментировать... =)

  XCHG EAX, EBX;
  BSWAP EAX;
  XOR EAX, [RDI];
  BSWAP EAX;
  STOSD;
  XCHG EAX, ESI;
  BSWAP EAX;
  XOR EAX, [RDI];
  BSWAP EAX;
  STOSD;
  XCHG EAX, ECX;
  BSWAP EAX;
  XOR EAX, [RDI];
  BSWAP EAX;
  STOSD;

  AND EDX, EAX;
  FISTP DWORD [RDI];
  CMP EDX, [RDI];
  JE @make;

  MOV RBX, 1;
  LEA RAX, [RBX*4];
  LEA RDX, [RAX*2+RAX];
  LEA RCX, [RDI-12];
  RET;

[SECTION .bss];
  @buff RESQ 8;

компилировать так:

$ yasm -f elf -m amd64 -o O_o.obj O_o.asm
$ ld -strip-all -o O_o O_o.obj

итак, вот вам ассемблерная реализация под Linux x86-64.
внимание, вопрос: откуда здесь берётся строка "Hello World!" ?

ЗЫ. на самом деле, всё шито белыми нитками, но ничего сложнее я в сонном состоянии придумать не смог smile



...а если обойтись без выкрутасов в стиле JAPH, то выглядеть это будет так:

[SECTION .text];

  MOV RBX, 1;
  MOV RAX, 4;
  MOV RDX, 12;
  MOV RCX, @buff;
  INT 128;
  XOR RBX, RBX;
  MOV RAX, 1;
  INT 128;
  @buff db 'Hello World!';

all your post are belong to us.

Вне форума

#22 29-07-10 02:31:54

Svart Testare
Великий Человек
Откуда: Вселенной
Здесь с 05-10-09
Сообщений: 5,481
Сайт

Re: Маленькое сравнение

Майор Очевидность,
Ебаный конь? Это что, модератор постит такую х...ню?!!!!
Всё, хватит, я пишу Луке, пора меры принимать.


«Коллективная глупость — индивидуальный признак толпы» © SLOR, 28 апреля 2011 г.
«Где пьёт толпа, все родники отравлены» © Фридрих Ницше.
Requiescat in pace, SLOR! © Уход Hedge 24 мая 2011 г.

Вне форума

#23 29-07-10 02:43:53

Майор Очевидность
борец со справедливостью
Здесь с 28-10-09
Сообщений: 1,371

Re: Маленькое сравнение

Svart Testare, и ведь не поймёшь, в шутку Вы или всерьёз.


all your post are belong to us.

Вне форума

#24 29-07-10 02:49:55

whoknows
Гость

Re: Маленькое сравнение

Майор Очевидность пишет:

внимание, вопрос: откуда здесь берётся строка "Hello World!" ?

щ отдебажить smile
Зачот за реализацию.

На C++ шаблонах можно что-нить подумать smile

#25 29-07-10 12:12:51

Mike22
Участник
Здесь с 03-10-09
Сообщений: 1,032

Re: Маленькое сравнение

Вот вам с перлмонков подарок:
www.perlmonks.org/index.pl?node_id=329174

                  package Earth;sub Greet{
                %_=('Y','~');$_='$;=!(Middle
              Earth.age~~~<Eart~~~~~~~~~~~~~h
           .age)?!(defined$ti~~~~~~~~~~~mez~~~On 
         e[2])?!(push@time~~~~~~~~~~~~~~~~Zone,loc
       ~altime())?rotation?~~~~~~~~~~~~~q~~?The Worl
      ~~d?:q:[\w]::q=[\~~~~~~~~~~~~~~~~~d~a-f]=:q?..~~
     ~~~?:q:.:;"42b3d3~~~~~~~~~~~~~~~~~~~~~728656c6c6f6
    ~~~~~0277f627c64672~~~~~~~~~~~~~~~~~~~~~b3072796e647
   ~~~~~~~42b3b3rg7d"=Ym~~~~~~~~~~~~~~~~~~~\$;~~*\;p~~~~u
  ~~~~~~~~~sh@_,$&;bless~~~~~~~~~~~~~~~~~~~~~~~~~$c~~~~~~~
  ~~~~~~~~~o~ntine~~~~~nt~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~s=\~~~~~~~$~~~~~~~~~~~~~~~~~~~~~~~pangaea~~~~
~~~~~~~~~~~~~~~;{l~~~~~~~~~~~~~~~~~~~~~~~~~~~~ocal@_;local$;
~~~~~~~~~~~~~~~~~="o~~~~~~~~~~~~~~~~~~~~~~~~~cean";$^A=(defi
~~~~~~~~~~~~~~~~~~~n~~~~~~~~~~~~~~~~~~~~~~~~~ed$continents)?
~~~~~~~~~~~~~~~~~~~(vec(~~~~~~~~~~~~~~~~~~~~~~$;, YYsplit(\'
~~~~~~~~~~~~~~~~~\',${\$;}~~~~~~~~~~~~~~~~~~~~~~)%3,YYsplit(
~~~~~~~~~~~~~~~~q??,$;)**2-~~~~~~~~~~~~~~~~~~~~~~(($;=Ytr/oa
~~~~~~~~~~~~~~~~eiu//)**2))=~~~~~~~~~~~~~~~~~~~~~~=28160)?q:
~~~~~~~~~~~~~~~~~.::q?!?:\'?~~~~~~~~~~~~~~~~~~~~~~\';}$^A=Ys
 ~~~~~~~~~~~~~~~~:\Q.\E:pack(~~~~~~~~~~~~~~~~~~~~~~\'h*\',j
  ~~~~~~~~~~~~~~~~~oin(q(),~~~~~~~~~~~~~~~~~~~~~~~grep{$_=
  ~~~~~~~~~~~~~~~~~~Ym,$,,}~~~~~~~~~~~~~~~~~~~~~~~split("
    ~~~~~~~~~~~~~~~~~",@_~~~~~~~~~~~~~~~~~~~~~~~~~~[0]))
     ~~~~~~~~~~~~~~~~):e~~~~~~~~~~~~~~~~~~~~~~~~~~~gexe
      ~~~~~~~~~~~~~~~;$d~~~~~~~~~~~~~~~~~~~~~~~~~~~="s
       ~~~~~~~~~~~~~~ort~~~~~~~~~~~~~~~~~~~~~~~~~~<=
         ~~~~~~~~~~~~>,~~~~~~~~~~~~~~~~~~~~~~~~~~YY
           ~~~~~~~~~~~@_~~~~~~~~~~~~~~~~~~~~~~~~
              ~~~~~~~~~"~~~~~~~~~~~~~~~~~~~';;
                s,(~|\r|\n|\s),,g;s.Y.\x7e.g;
                  eval};Greet;'the world';

Вне форума

Сейчас в этой теме пользователей: 0, гостей: 1
[Bot] ClaudeBot

Подвал форума

Под управлением FluxBB
Модифицировал Visman

[ Сгенерировано за 0.012 сек, 7 запросов выполнено - Использовано памяти: 1.78 Мбайт (Пик: 1.86 Мбайт) ]