LINUX.ORG.RU

Haskell vs Ocaml.


0

1

Вот появилось немного свободного времени и решил изучить что-нибудь функционального. Дайте совет, с чего лучше начать из сабжа? Чтобы и в дальнейшем можно было применить.

anonymous
Ответ на: комментарий от KRoN73

> Зарплату в 10 килобаксов при напряжённом графике или в 5 килобаксов при ненапряжённом... я пока не видел таких заказчиков :D

Далась тебе эта зарплата. Зарплатой пусть студенты интересуются, тебе пора на себя работать.

> Так что LAMP-заказчики ничего не потеряют :D

Они потеряют возможность иметь эти самые узкие места на Java.

> Мне хватает. К чему придраться можно - не знаю.

К производительности, конечно же.

anonymous
()
Ответ на: комментарий от anonymous

>1) Ты бы легко изучил php за вечер

Нет. Чтобы изучить PHP я потратил, как обычно, год. Я на любой язык трачу около года. Естественно, речь идёт не о "Hello, world" а о реально эффективном программировании. Да, я сейчас могу сесть и за несколько вечеров освоить любой язык до уровня, который позволит на нём писать программы. Но это не будет уровень знания языка. Вот на Питоне - я легко пишу любой системный скрипт. Вообще, взял за правило, все новые скрипты для себя писать не на Перле, а не Питоне. Но я его ещё не знаю. Я его ещё не изучил.

>2) На кой тебе искать работу? Не вырос ещё из этих глупостей?

Вот это и есть главный ответ. Видимо, кривил я душой выше. Я работу не искал с 2001-го, кажется, года. Обычно ко мне приходят с работой. И приходят почему-то нынче в основном с LAMP :)

>Ладно ещё подработки, поверю, но большие зарплаты в быдлоLAMP - не поверю никогда. Не будет у тебя выше этих самых 5-6k.

5-6к зарплаты нет, конечно. Вдвое меньше. Другое дело, что я за эту зарплату работаю, в среднем, день в неделю. А последние две недели, скажем, вообще ни строчки кода не написал. С момента рождения дочки, как-то рабочий настрой пропал. На работу хожу раз в неделю на совещание и то, не каждую неделю. Подработки бывают ещё примерно на ту же сумму. Но работаю не сильно больше. Ленив я стал чудовищно. У меня тот же ЛОР времени отнимает больше, чем программирование :D А кроме ЛОРа ещё свой форум есть и пара форумов, где я бываю не каждый день. Плюс ЖЖ. В общем - фиг его знает, сколько я на работу трачу. Но - справляюсь :) Зарплата у меня не синекурная, а от прибылей в том числе зависимая.

>monster.co.uk, dice.com, и другие подобные быдлосайты

Тю... За границу меня пока не тянет. Т.е. вообще не тянет :D Вообще, некорректно это зарплату западного программиста с русским сравнивать :)

>> Что не мешает ему быть самым массовым :)

> Иррациональность моды мы тут уже обсуждали.

Ну мне-то до этого нет дела. Как начнёт PHP сдавать позиции - начну осваивать то, что будет его вытеснять. Полагаю, это будет Python или Ruby. Полагаю, фреймворк свой я целиком на них переписать смогу за пару-тройку недель :) Ядро там простое, там главное - идеология.

>> Вопрос только в нагрузочной способности Tomcat или Resin

> Уж всяко выше чем у php под апачем.

Не уверен, что выше, чем у lighttpd + fastcgi :)

>Ты не понял. Настоящая личная жизнь начнётся когда попробуешь реализовать задуманное.

Всё равно не понял, значит...

>Полноценным считать сравнимый по производительности с Фортом на шитом коде поверх native для этого процессора.

Для меня это не оценка. Но полагаю, что будет сравнимо. Понятно, что не в случае чистого шитого кода для ассемблерных слов, не знаю, как сейчас, я за растактовками со времён Pentium не следил, но раньше на x86 прямой шитый код был быстрее подпрограммных вызовов. Тормоза начинались когда приходилось стек возвратов гонять при вызове высокоуровневых слов. Так что не факт, что получится сильно обогнать нативный шитый низкоуровневый код. А вот прямой шитый высокоуровневый будет обойдён почти наверняка. На Java это будет нативный для JVM-байткод, который потом JIT будет оптимизировать.

Но, повторюсь, на скорость я смотрю во вторую очередь. Меня и JBForth устраивал, хотя он по скорости где-то лишь немного быстрее Perl'а был :)

>Ничего отличного. Содержимое стека при выходе из метода проверяется. Так что слова Форта как методы JVM нельзя реализовать.

А, понял тебя. Типизация при компиляции позволит рассматривать Форт-слова как методы и передавать фиксированный список аргументов штатными средствами. Я очень долго колебался перед таким решением, но решил, что это та часть гибкости Форта, которой можно пожертвовать, пусть и не ради первостепенной, но скорости. В нынешнем JBForth у меня в этом плане всё хорошо, полное соответствие Форту. Но я заметил, что переменным числом аргументов я года за полтора разработки ни разу не пользовался. В классическом Форте так реализуют обычно списки. А у меня списки - это объекты Java. Да, есть, конечно, ещё ROLL и PICK. Но их можно эмулировать.

>Придётся оба стека делать в heap, и тормозятина гарантированна. Родной же стек JVM будет просто лишним.

Да, меня этот вопрос колбасил :)

>Ага, ага. И много от чего ещё придётся отказаться.

Попробуй придумать примеры. Может я, действительно, что-то упускаю.

>> Оптимальный размер Форт-слова - 7±2 атома :)

> Я про статическую компиляцию сразу большого числа слов в один метод говорю.

Так метод - и есть слово. И его тоже рекомендуется не делать большим :)

>На самом деле можно и совместить, это лишь немногим усложнит систему.

Интерактивность, кстати, я планирую делать «липовую». Неявная компиляция входного потока во временный метод и исполнение. Автоматически, кстати, станут возможны IF ... THEN в натуральном виде. Хотя придётся хорошо продумывать логику всяких POSTPONE :)

>Вообще, сейчас делаю Форт под .NET, так что тема мне интересна весьма.

У меня была мысль, в рамках JBForth2 сделать реализацию, которая на уровне языка была бы переносима между платформами. Т.е. чтобы программа написанная на таком Форте под JVM и не использующая прямых обращений к системе, могла бы рабоать на аналогичном Форте, написанном под .NET или, там, Parrot... Кто знает, что там завтра будет популярно :)

Так что, можно обсудить концепцию...

... правда, как я уже писал, я JBForth2 сейчас не делаю и не знаю, возьмусь ли. Пока он востребован у меня только в одном проекте, а проект этот - в состоянии комы :)

KRoN73 ★★★★★
()
Ответ на: комментарий от rexadecimal

>А так - весь редактор в общем-то компилируется им самим.

Тогда спорить не буду - вещь хорошая ;)

KRoN73 ★★★★★
()
Ответ на: комментарий от anonymous

>Далась тебе эта зарплата. Зарплатой пусть студенты интересуются, тебе пора на себя работать.

А... Ты в этом смысле... Нет, до такого я не дорасту :) Так на зарплатах на пенсию и уйду...

>Они потеряют возможность иметь эти самые узкие места на Java.

Так я всегда смогу им сказать - а хотите быстрее, меняйте хостинг. Важно, что переписывать конкретные реализаиции систем потом не придётся :)

>К производительности, конечно же.

Тоже пока хватает. Даст Бог, запущу систему на сервере с онлайном в 4 тысячи :) Правда, хвастаться этим сервисом вряд ли дадут, не для портфолио, так сказать. Ну да посмотрим.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Повинись петред бОярином-элитарным, не перечь :)

NixU
()
Ответ на: комментарий от KRoN73

>JBForth2 сейчас не делаю и не знаю, возьмусь ли.

И не берись, особенно если он не соответствует стандарту. Таких систем и так выше крыши, а в существующих слишком много отсебятины.

История форта слишком грустная. Ему сам Бог велел быть реализованным в железе, но не сложилось. И видимо уже не сложиться никогда. Скорее в железо запихают яву, в AVR32 ее уже запихали, ждем десктопных процессоров.

Macil ★★★★★
()
Ответ на: комментарий от Macil

>Таких систем и так выше крыши

Можно хотя бы пару ссылочек? :)

>Ему сам Бог велел быть реализованным в железе, но не сложилось.

Сложилось. Вот только массовые Форт-процессоры в народ пошли как первые Java-процессоры :)

А с немассовыми - даже мне пришлось «краем глаза» поработать :)

KRoN73 ★★★★★
()
Ответ на: комментарий от Miguel

> Для начала.

Ты в другом топике говорил, что веб на хаскелле пишешь, а какой фреймворк используешь? Или свое что-то сделал?

anonymous
()

лисп - древняя какашка мамонта, суть кал и хуета

anonymous
()
Ответ на: комментарий от anonymous

>элитарно было учить Common Lisp.

Сейчас у элиты модно под экстази в жопу долбиться

anonymous
()
Ответ на: комментарий от KRoN73

>далёкое и экзотическое, как ассемблер 8042 для современных «сишников» :D

8042 - это который контроллер клавиатуры? И часто вы на нём проги на осомблере пейсале?

anonymous
()
Ответ на: комментарий от anonymous

>Физику и математику

Это - да. Я в своё время так и не смог объяснить паре Java-программистов, что расстояние между двумя точками нельзя оценивать (не измерять - это они, слава Богу, знали) по формуле

D = (x2-x1) + (y2-y1)

И даже примеры, типа x2=0, x1=1000, y2=1000, y1=0 -> D == 0 им ничего не говорили, пока сами через несколько дней экспериментов не пришли к выводу, "почему-то оно так не работает"...

А уж эпопея, когда человек пять программистов сидели и ждали три дня, пока я приду и напишу им метод для определения точки пересечения горизонтального(!) отрезка с произвольным... Там вообще всё на одних пропорциях же решается, 5-й, что ли, класс...

KRoN73 ★★★★★
()
Ответ на: комментарий от anonymous

>8042 - это который контроллер клавиатуры?

Тьфу, блин, это меня уже переклинило. 8748 aka 1816ВЕ48.

KRoN73 ★★★★★
()
Ответ на: комментарий от anonymous

>Суровые у вас программисты :-D

Это не у нас, это на Западе :D А наши потом скопировали, типа "но у них же работает!". Не знаю, как сейчас в западном форке, но там этот код потом ещё с полгода точно лежал (L2J.SF). В нашем форке, в той части, которой я рулил, этот код вообще не появился, а вот в форке форка, куда ушли описанные наши программеры, этот код с неделю прожил, пока народ с "непонятными глюками" боролся :)

...

А вот те, кто "сидели и ждали" - это да, это наши...

KRoN73 ★★★★★
()
Ответ на: комментарий от Macil

> Ему сам Бог велел быть реализованным в железе, но не сложилось

Сложилось много больше раз, чем ты мог бы себе представить. Первые санковские java-процессоры даже были сделаны поверх тогдашних промышленных форт-процессоров.

Сегодня же любой дурак может скачать свободную прошивку для FPGA, например, их есть несколько разных. Если дурак богатый, то может и в железе этот же процессор выпустить.

anonymous
()
Ответ на: комментарий от KRoN73

> Я в своё время так и не смог объяснить паре Java-программистов

Надеюсь, их уволили с волчьим билетом?

> А уж эпопея, когда человек пять программистов сидели и ждали три дня

Аналогично. Есть вещи, которые прощать нельзя. Которые должны навсегда ставить крест на карьере человека.

anonymous
()
Ответ на: комментарий от anonymous

>Надеюсь, их уволили с волчьим билетом?

Это опенсорс-проект. Кроме тех программистов больше нет никаких :D

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

> Это опенсорс-проект. Кроме тех программистов больше нет никаких :D

Ну тогда их надо было как минимум прославить.

anonymous
()
Ответ на: комментарий от KRoN73

>Можно хотя бы пару ссылочек? :)

Влом искать, во-первых Factor (factorcode.org). Очень серьезная разработка. А так по ссылкам с forth.org.ru можно найти много.

>А с немассовыми - даже мне пришлось «краем глаза» поработать :)

Была какая-то питерская фирма которая производила то-ли POS'ы то-ли кассовые аппараты... Правда дорогущие.

Но это не то. Массовой разработки, к сожалению, нет ни одной.

Macil ★★★★★
()
Ответ на: комментарий от KRoN73

> Если продукт не нишевый, то на нём есть широкий спектр популярных продуктов. От ОС и браузеров до музыкальный плейеров и просмотрщиков картинок.

maxima? Не браузер и не плейер, но достаточно популярный продукт, может конечно быть конечно и по падает под категорию нишевый.

Closure Web Browser http://common-lisp.net/project/closure/

основанный на

http://common-lisp.net/project/mcclim/

Конечно там внимательно надо разобраться как и что там работает на предмет чистоты, но я думаю там в полне чисто.

ilnurathome
()
Ответ на: комментарий от Macil

> Влом искать, во-первых Factor (factorcode.org).

Factor, Cat, Joy и тому подобные - это, во первых, уже совсем сильно не Форт, а во вторых - не JVM и не .NET.

> Но это не то. Массовой разработки, к сожалению, нет ни одной.

Понимаешь ли, специфика Форта и Форт-процессоров такова, что они и не могут быть массовыми. Каждый раз это штучное решение под конкретную задачу.

Вот что действительно было бы полезно, так это некое общее ядро (типа того же ARM), на основе которого строились бы произвольные Форт-процессоры. То, что сейчас доступно, довольно близко уже к этому идеалу.

anonymous
()
Ответ на: комментарий от Macil

>Влом искать, во-первых Factor (factorcode.org). Очень серьезная разработка.

Да, но это и близко не то :) Это не Java, это не Форт по идеологии.

>А так по ссылкам с forth.org.ru можно найти много.

Я там пасся много и регулярно. Аналогов JBForth, а тем более JFB2 - нету :)

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

>Если продукт не нишевый, то на нём есть широкий спектр популярных продуктов. От ОС и браузеров до музыкальный плейеров и просмотрщиков картинок.

>Список таковых на Lisp'е - в студию :)

Из ОС есть Movitz, в крайне сыром состоянии, чистый just for fun

http://common-lisp.net/project/movitz/

В qemu нормально грузится

Вместо emacs можно попробовать LiCE

Был еще проект LispOS (уже сдох) и к нему был проект запуска стандартных программ написанных на С. Скрестить или написать подобное для Movitz, потому что ОС в котором из языков есть только лисп никому не нужен.

Так что в принципе можно, но почти никому ненужно.

ilnurathome
()
Ответ на: комментарий от ilnurathome

>Вместо emacs можно попробовать LiCE

ili Climacs, portable Hemlock -- Emacs na CL.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.