Подтвердить что ты не робот

Изучение Clojure путем чтения core.clj

Сегодня я встретил твит:

Начните каждый день, прочитав реализацию функции или макроса в Clojure core.clj.

Мои Clojure знания действительно базовые, я вряд ли могу читать другие Clojure (или Lisp) код.
Могу ли я преуспеть в core.clj, особенно у меня такое ощущение, что оно заполнено сложными макросами?

4b9b3361

Ответ 1

Я думаю, что лучше начать - это сделать проект; все, что вас интересует и кажется управляемым, хорошо.

core.clj не читается прямо сейчас; возможно, вторая половина, но первая половина - это не то, что я хотел бы пожелать никому, как введение в язык. Истина заключается в том, что даже если вы внимательно прочитаете ее, у вас не будет четкого представления о том, что происходит, не прочитав также много кода Java.

  • Сделайте асинхронную текстовую игру (технически - Фил Хагельбург - есть хороший, чтобы посмотреть на его Github, хотя это немного датировано к настоящему времени)
  • Скремблируйте веб-сайты с помощью библиотеки Enlive.
  • Возможно, просто решить некоторые математические проблемы и/или
  • Произведите графику с использованием Incanter.

Постройте сначала. После ознакомления с инструментами, которые вы используете, начните их читать. Упомянутые здесь библиотеки хорошо написаны (например, вы не можете ошибиться ни с чем, например, Christophe Grand), и после того, как вы начнете их использовать, вы поймете, что они делают, что значительно упрощает определение почему и как позже.

Ответ 2

Это твит, возможно, отличная идея, когда у вас достаточно опыта, чтобы читать код Clojure достаточно хорошо, чтобы понять, что происходит.

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

Я лично нашел Project Euler очень полезно, когда я изучал Clojure.

Ответ 3

Вы также можете взглянуть на Clojure Koans, хотя они могут быть немного ориентированы на новичку для вас, в зависимости от того, как много Clojure вы уже знаете.

Ответ 4

В качестве хорошей отправной точки я бы рекомендовал 4Clojure. Он похож на Project Euler и Code Katas, но имеет более простую кривую обучения.

Ответ 5

Там много чего я не понимаю, но там тоже много, и это увлекательно смотрит на язык, который загружается из минимальной начальной реализации.

Ответ 6

Еще одно место для поиска небольших проектов, которые помогут вам в этом, - это любой из репозиториев Kata. Мой личный фаворит на этом этапе Coding Kata.org, но там также Кодирование Dojo, Ruby Koans (с небольшим усилием перевода) и, конечно, Google.

Попробуйте сделать один из них в день, и вы быстро подберете язык.

Ответ 7

Совет, приведенный выше, хорош. Еще один прекрасный пример обучения на практике хорошо иллюстрируется здесь создателем Ruby on Rails: Как мне научиться программировать? Надеюсь, вы есть приложение, о котором вы заботитесь о том, что вы можете просто пойти в Clojure.

Ответ 8

Попробуйте прочитать библиотеки Clojure contrib или посмотреть некоторые проекты Clojure на github, чтобы лучше понять идиоматику Clojure.

Ответ 9

Я нахожу clojure. Хороший способ найти идеи о том, как все реализовано, как больше справочного руководства. Как отмечалось ранее, ранние части или ни красивые, ни образцовые. Тем не менее, более поздние части могут быть хорошим примером, особенно когда нужно написать функцию, близкую к основной функции, но другую.

Ответ 10

Вам нужны основы языка, я создал сайт под названием Clojurecademy для начинающих, чтобы вы могли проверить курсы Clojure там, в основном это Codecademy для Clojure