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

Обучение Clojure - Что мне знать о Java и многом другом?

Недавно я начал изучать Clojure, мой основной язык программирования - Ruby, и у меня нет никакого опыта Java.

  • Какие стандартные классы Java должны знать при работе с Clojure?

    Очевидно, что Clojure не содержит оболочку для всего и много функциональности предоставляется библиотеками Java.

    Там, как gazillion из них на javadocs - какие из них я должен исследовать?

  • Где я могу найти и как установить сторонние библиотеки (clojure и java)?

    В Ruby я бы посетил Rubyforge или Rubytoolbox, git и т.д., а затем просто установил пакет, который мне интересен.

  • Какой редактор/идеал для Clojure вы бы порекомендовали (с самой низкой кривой обучения)?

    Я пытаюсь использовать Netbeans с Enclojure и, как ни парадоксально, это мое самое большое препятствие:

    Каждый сгенерированный проект имеет несколько файлов xml, папок, зависимостей библиотек и т.д., цель которых у меня отсутствует.

    Я выполняю некоторые упражнения labrepl и хотел попробовать некоторые из связанных библиотек отдельно в новом проекте, но этой простой задачи я не могу выполнить:/

  • Как распространять программы Clojure?

    Это в значительной степени связано с вопросом выше.

  • Есть ли Clojure блоги сообщества с новостями, подсказками и т.д.?

4b9b3361

Ответ 1

Исследуйте javadocs только по мере необходимости, когда вы не можете понять, как это сделать, используя Clojure core API или Clojure вкладки.

Для сторонних библиотек существует Clojars. Я не уверен, насколько широко это было принято сообществом, но это хорошее место для начала. Многие проекты Clojure размещаются на github, поэтому вы можете попробовать найти Clojure там.

Если вы уже знаете Emacs, есть хорошая поддержка для редактирования Clojure в Emacs. Если вы не знаете Emacs, не пытайтесь одновременно изучать Emacs и Clojure. Ознакомьтесь с страницей начала работы в wiki Clojure для информации о том, как начать работу с несколькими различными IDE. К сожалению, ссылка wiki на домашней странице Clojure неверна.

Наконец, просмотрите Planet Clojure за много хороших сообщений в блоге об использовании Clojure для самых разных вещей, в том числе полезные сообщения о начале работы.

Ответ 2

Какие стандартные классы Java должны знать при работе с Clojure??

Отсутствует. Вы можете пройти с помощью googleing и задать вопросы по каналу IRC Clojure здесь. Вы узнаете, что вам нужно с течением времени. Вы можете исследовать классы java.lang и java.io, но вам не нужны они, пока они вам не понадобятся.

Где я могу найти и как установить сторонние библиотеки?

Leiningen - чрезвычайно простая maven-wrapper-kinda-thingy. Вы можете использовать его для управления зависимостями и как инструмент сборки для своего кода, http://github.com/technomancy/leiningen, и есть http://clojars.org/, где множество библиотек Clojure размещено в репозитории maven, к которому можно получить доступ: Leiningen и Maven. http://www.assembla.com/wiki/show/clojure/Getting_Started

Какой редактор/идеал для Clojure вы бы порекомендовали (с самой низкой кривой обучения)?

Это, вероятно, будет Enclojure или против часовой стрелки. Большинство пользователей Clojure используют Emacs или, в меньшей степени, Vim. Emacs - лучший редактор для Lisp, но имеет немного кривых обучения, чтобы дружить. Если вы не хотите изучать язык и редактор, вам может потребоваться перейти в направлении Enclojure/Eclipse (против часовой стрелки).

Есть ли Clojure блоги сообщества с новостями, подсказками и т.д.?

http://planet.clojure.in/ и группа Google.

Как распространять программы Clojure?

Самый простой способ - с помощью Leiningen и команд jar и uberjar. Вы можете написать свой код, а затем вы можете поместить этот код в файл .jar и записать для него стартовый script. Вам даже не нужно класть его в банку, если вы этого не хотите. Ящики действительно полезны, если вы действительно компилируете свой код, а большинство Clojure не компилируется. Некоторые функции требуют усложнения, но они не используются , что.

В целом, IRC-канал Clojure очень полезен и новичок. Ввод JVM-мира может быть затруднен без предварительного опыта. Не бойтесь останавливаться и задавать вопросы. Мы здесь, чтобы помочь.

Ответ 3

Какие стандартные классы Java должны знать при работе с Clojure?

Не так много java-языка, о котором вы должны знать для Clojure, хотя это помогает. Самое важное знание - как скомпилировать, как установить путь к классам и так далее. Я немного программировал в java, и я все еще нахожу, что это время от времени меня отключает.

Также может быть полезно пройти один или два новичка в java, но не тратьте много времени на это.

Где я могу найти и как установить сторонние библиотеки (clojure и java)?

Вы можете использовать leiningen для автоматического управления зависимостями для каждого проекта. (Я отредактировал эту часть моего ответа. После дальнейших оценок Leiningen - это способ, чтобы идти почти во всех случаях.)

Какой редактор/идеал для Clojure вы бы порекомендовали (с самой низкой кривой обучения)?

Я научился любить emacs. Основные java-среды IDE имеют свой собственный Clojure аромат, доступный (в порядке убывания зрелости):

  • Netbeans - enclojure
  • IntelliJ - la clojure
  • Eclipse - против часовой стрелки

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

Как распространять программы Clojure?

В баночках.

Есть ли Clojure сообщества, связанные с новостями, подсказками и т.д.?

группа google и планета clojure.

( EDIT: добавлена ​​общая рекомендация Leiningen.)

Ответ 4

Какие стандартные классы Java являются обязательными знать при работе с Clojure??

Clojure является радикальным изменением с Java. Я предлагаю вам сосредоточиться только на одном из них (clojure), а не на обоих. В любом случае есть чему поучиться. Используйте базовый редактор и используйте REPL столько, сколько сможете. Хорошее введение для clojure находится в здесь и здесь

Где я ищу и как я могу установить сторонние библиотеки?

Clojure Contrib - хорошее место для запуска http://github.com/richhickey/clojure-contrib Другой - leninmgen - http://zef.me/2470/building-clojure-projects-with-leiningen

Какой редактор /ide для clojure вы бы рекомендовать (с минимальным обучением кривая)?

Просто используйте блокнот ++ или vim. Этого должно быть более чем достаточно для вас. Я лично использую kate под ubuntu, потому что он дает вам lisp форматирование кода. Жесткие пользователи, вероятно, используют emacs (которых я действительно ненавижу)

Есть ли clojure сообщество, управляемое блоги с новостями, подсказки и т.д.?

Clojure google group дружелюбен и очень хорошо осведомлен

Ответ 6

  • для блогов, которые вам нужно искать Планета Clojure
  • для Java - вам нужно хотя бы знать java.lang и java.io
  • для описания IDE лучше посмотреть Начало работы
  • для использования сторонних библиотек вы можете использовать инструменты сборки Leiningen или Maven - они оба обеспечивают автоматическое разрешение зависимостей. Начало работы содержит всю необходимую информацию.
  • распределение программ Clojure, обычно реализуемых как предоставление jar с исходным кодом (или скомпилированным). Вы можете связать только ваш код с "lein jar" или предоставить полное решение со всеми зависимостями с командами "lein uberjar"

Ответ 7

Лучший первый Clojure IDE: Nightcode

Чтобы сосредоточиться на Clojure, пока вы не избили кривую обучения на IDE и инструментах: get Nightcode Первоначально было сделано для того, чтобы начинать занятия начинающими, не выдувая половину времени на emacs, но он просто становится более полезным. В основном это заставляет функции запускать вас в простой пакет.

Он имеет общий Clojure REPL в углу окна, а второй REPL вы вращаетесь под областью редактора, которая будет иметь доступ к уже написанным вами функциям. Быстрое нажатие клавиши запускает строку, которую вы только что записали в REPL. Для clojure -оптимизированного редактирования у вас есть кнопка включения/выключения paredit (активно управляемые скобки с нажатиями клавиш для обертывания/разворота/и т.д.). Он может развернуть набор готовых шаблонов для запуска вашего проекта в состоянии готовности к коду. Там есть кнопка с одним щелчком мыши для создания баннера (исполняемый файл Single file Java). У этого есть GIT интеграция, чтобы тянуть и нажимать на github, не требуя установки GIT на машине.
Я уверен, что JDK (комплект для разработки java) необходим для правильного создания банки; но я смог просто загрузить Nightcode на любой компьютер с недавней версией Java и работать (это Java-банку, без установки).

Вы будете использовать Leinengen и узнать больше редакторов; но чтобы начать фактически программирование без путаницы в путанице, Nightcode - потрясающий инструмент.

Ответ 8

Я согласен с почти всеми другими советами о вещах, о которых я знаю. Вот еще два момента, которые никто еще не сделал:

  • Начинающие должны изучить стандартные соглашения Clojure о том, как использовать пространства имен с соответствующими именами файлов и именами каталогов, и придерживаться этих конвенций религиозно. (Возможно, Nightcode позволяет вам избежать этого - я не знаю, но как только вы начнете использовать Leiningen, вы не сможете этого избежать.) Если вы этого не сделаете, проблемы с пространством имен будут быстро сводить вас с ума, как только вы выйдете за пределы тривиальное экспериментирование. Учебник Колина Джонса по пространствам имен - лучшая отправная точка, которую я нашел, когда я начинал. Некоторые из условностей действительно исходят от Java, кстати, но вам не нужно изучать Java для них.

  • Сначала вам могут не понадобиться сторонние библиотеки. Зависит от того, что вы хотите сделать. Стандартные Clojure библиотеки покрывают много земли.

Ответ 9

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