LINUX.ORG.RU

Откуда лучше начать изучение Scheme ?


0

0

Просвятите пожалуйста имеются ли в природе некие канонические вещи касательно изучения языка scheme и вообще фунцкионально программирования?

Не для совсем ламера, программлю давно и на многом, просто хочу расширить сознание так сказать ;)

И может быть ктонибудь может высказаться по поводу того правильно ли начинать изучение функционального подхода именно со scheme ? Может стоит сразу позабористей что-нибудь, вроде common-lisp иди haskell ?

anonymous

ISBN 5-03-001870-0 (особенно часть II, III)
ISBN 5-98227-191-8

Sphinx ★★☆☆
()

С изучения логики, вычислимости

dilmah ★★★★★
()

Structure and Interpretation of Computer Programs
Структура и интерпретация компьютерных программ

anonymous
()

Я правильно вас понял, что нужо грысть матчасть, а не забивать себе голову выбором языка?

Всмысле я понимаю что это круто и как бы так и должно быть. Но хотелось бы и чего-нибудь живого потрогать.

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

<INFOMAN@work> HAL9000: Ocaml

<HAL9000> INFOMAN@work: Ищу вегетерианку. Идейную. Для каждой квартиры по дефолту поддерживается MSVS вообще крякать? У них МАК-адресов? ) оно их подхватывает

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

> Кто человеческий? Ocaml?

Я сказал _более_ человеческий. Но я не против Схемы, хочешь - учи ее.

> После того как я посмотрел в код Sulci мне так не кажется.

Ну я могу написать нечитабильную прогу на Питоне, Яве, Си, Си++ и Scheme. Что - синтаксисы всех этих языков нечеловеческие?

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

> Статическая типизация, человеческий синтаксис (ОК, _более_ человеческий синтаксис).

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

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

> sudo apt-get install scm

# apt-get install scm bash: apt-get: command not found

Желтушнеги мы. Не ставил я пока ни хаскеля ни схемы. Пока что у меня просто абстрактное желание попробовать себя в функциональном программировании, не оформившееся ни во что конкретное. Просто вхожу в курс дела.

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

> А в чем разница кстати (если в дух словах) между haskell и ocaml ?

Я пока что с ними знаком только теоретически... принципиальная разница - в одном lazy evaluation, в другом - strict.

tailgunner ★★★★★
()

странно что никто еще не посоветовал начать с r[456]rs...

а ведь это 50 станичный документик где сказанно почти все что нужно знать для программирования на схеме

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

Если имеется в виду Gentoo, то я вот поставил:

[I] dev-scheme/drscheme Installed versions: 360-r1(21:40:48 08.01.2008)(backtrace cairo jpeg opengl perl png -3m)

В комплекте удобное IDE

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

> А в чем разница кстати (если в дух словах) между haskell и ocaml ?

>Я пока что с ними знаком только теоретически... принципиальная разница - в одном lazy evaluation, в другом - strict.

Ocaml более практический, его даже MS продвигает под .NET у них это называется F#. Haskell более чистый (но вполне себе практический для задач которые хорошо ложатся на ФП парадигму).

Вобщем если хочешь действительно глубоко понять ФП лучше брать Haskell, иначе будешь тащить императивные костыли. Опять же lazy evaluation имеет свои +. После того как ФП осилишь впринципе пофиг будет на чем писать - Scheme, CL, Erlang, OCaml...

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

> Вобщем если хочешь действительно глубоко понять ФП лучше брать Haskell, иначе будешь тащить императивные костыли. Опять же lazy evaluation имеет свои +. После того как ФП осилишь впринципе пофиг будет на чем писать - Scheme, CL, Erlang, OCaml...

Спасибо за наводку. Я уже порылся и таки правда похоже что лучше начать с Haskell + оглядываться на OCaml. В схеме самой похоже ничего такого особого нет и как с яп с ней можно разобраться буквально за вечер (ну во всяком случае если уже с лиспом приходилось сталкиваться).

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

> а ведь это 50 станичный документик где сказанно почти все что нужно знать для программирования на схеме

Но ничего, что нужно знать для программирования.

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

> Но ничего, что нужно знать для программирования.

Ну вообще говоря вышеупомянутый sicp.pdf я бы тоже не назвал тем "что нужно знать для программирования" ;). Чего только стоит один перевод слова bugs как "блохи", плакаль Х_).

И я спрашивал литературу именно по программированию на схеме и функциональному подходу. А не как мне стать тру-кул-хакером. Так что автор поста имхо прав.

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

> В топку переводы. Читать надо оригиналы.

Да ваще все в топку. Надо родиться в семье ньюйоркского еврея с итальянскими корнями и многомиллиардным наследством. А если не получилось, то сразу выпить йаду и апстену.

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

> Сделайте свой перевод.

Дело не в переводе. Я и оригиналы читаю без каких-либо напрягов. Да и переводчика можно понять, давно дело было.

Я просто хотел сказать, что _имхо_ книжка полна ненужных по нынешним меркам слюней, к тому же довольно поверхностных. Ну или во всяком случае, это далеко не лучший образчик для того чтобы подцепить каких-нибудь хороших, чисто программистких привычек. И точно упаси боже не книга по которой нужно учиться программированию вообще, как было заявленно тем товарищем которому я собсна и отписался.

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

>каких-нибудь хороших, чисто программистких привычек

например?

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

> И я спрашивал литературу именно по программированию на схеме и функциональному подходу. А не как мне стать тру-кул-хакером. Так что автор поста имхо прав.

То есть ты хочешь сказать, что, прочитав спецификацию языка, станешь на нем хорошо программировать? А уж тем более функционально.

Если бы каждый программист читал sicp, то мир был бы немножко лучше.

Кстати весьма странно замечание про блох относительно необходимых знаний...

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

> И точно упаси боже не книга по которой нужно учиться программированию вообще, как было заявленно тем товарищем которому я собсна и отписался.

Есть, что предложить взамен?

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

sicp это далеко не книга по программираваний в функциональном стиле, в новой редакции авторы вообще(слухи?) заменили scheme на python

и прежде чем читать sicp я бы посоветовал изучить синтаксис языка, тогда становится гораздо лучше понятно что-и-как (личный опыт)

если на то пошло, то начинать стоит с прочтения трудов черча и со, хотя бы понимания что такое λ-calculus & reduction & etc

UrbanSerj
()

The Little/Reasoned/Seasoned Schemer
SICP

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