> cout<<"Hello World\n!";
> И где здесь поможет ФП?
Плохая попытка.
$ cat zz.C
cout<<"Hello World\n!";
$ c++ zz.C
zz.C:1: syntax error before `<<' token
$ cat zz.hs
main = print "Hello World!"
$ ghc zz.hs
$
Так что даже hello world на Хаскеле сильно проще.
Почему как C? Просто в сообщении(на которое я отвечал) была _скрыта_ бОльшая часть C++ной "правды" - #include, main, {,}, и что-то с namespace. Без этого cout<<"Hello" _не_ компилируется, что и было показано.
А хаскелевская - компилится. Так что вот так вот:-)
>сравнивать Perl/Ruby/Tcl с Haskell
Не все то золото, что блестит. Вот, например, результаты с Shootout/Ackermann
(CPU time)
Clean 0.28
C gcc 0.39
C++ g++ 0.40
Haskell GHC 0.48
Perl Timout
Python Timout
Так что с C++ и сравнивать - оба компилируемые со статической типизацией, compile-time
полиморфизмом(если термин правильный), перегрузкой операторов.
> Почему как C? Просто в сообщении(на которое я отвечал) была _скрыта_ бОльшая часть C++ной "правды" - #include, main, {,}, и что-то с namespace. Без этого cout<<"Hello" _не_ компилируется, что и было показано.
> А хаскелевская - компилится. Так что вот так вот:-)
Ты сам напросился... В таком случае самый короткий хэлловорлд - на php:
Hello World!
Совершенно валидная программа =) А они тут - ФП, ФП... ;)
Действительно.
$ echo Hello world | php -q
bash: php: command not found
$
О!
А вчерашняя a.out от Хаскеля работает. Правда слегка не так как планировалось:
$ ./a.out
"Hello World!"
$
Почему бы это?