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


Интересна Java? Кликай по ссылке и изучай!
Если тебе полезно что-то из того, чем я делюсь в своем блоге - можешь поделиться своими деньгами со мной.
с пожеланием
столько времени читатели провели на блоге - 
сейчас онлайн - 

воскресенье, 6 мая 2012 г.

Эксперименты со Scala - Серия 1 - Установка в Idea


Сохраню тут свой лог разработки - мало ли, кому пригодится. Лог разработки - мое изобретение, суть которого в том, что во время разработки у меня открыт word документ, в который вносятся все мои todo, мысли (эффект мишки тедди) и действия (текст, линки, куски кода, логов, скриншоты). Лабораторный журнал - кто имеет опыт работы в научной лаборатории, только удобнее потому как в цифре. 

Позже, когда кто-то в команде задаст вопрос "а ты не помнишь, ты там писал...." ответ будет "помню, скажи когда приблизительно это было..." с последующим поиском в 1000 страничном вордовском доке. Все свои логи разработки с прошлых коммерческих проектов остались где-то там рядом с проектами - в корзине, а вот привычка сохранилась. Сейчас мы ею и воспользуемся.

Итак мне посреди ночи стала интересна Scala. Включаем google driven development и вперед.

Не выполняй все, что описано ниже как руководство - это лог разработки и тут история того, как я тыкался в попытках добиться результата. Чтобы тебе все же было полезно - я те абзацы, которые стоит выполнять, помечу пометкой OK а те, что не стоит - SKIP.

OK Первое, что меня интересует - книги/видео, которые есть по данной теме. Книги я нашел три:

OK Дальше установил себе на комп Scala. Что очень понравилось - никаких проблем не было. Качнул инсталятор msi и поставил в корень диска С: После установки запустил cmd а в нем написал scala и опля!



OK Потом пошел по русскоязычным статьям и вышел на замечательную "Первые шаги в Scala"  Тут я и завис на ближайшие час-два, пробуя примерчики в консольке.


SKIP В общем, выводы какие? Писать со Scala java-программисту меньше, при том, что синтаксис понятен. Мне особенно понравились шаг8 и 9 из статьи.

Мне очень понравилось, что это синонимы
    println("hello".endsWith("lo"))
    println("hello" endsWith "lo") 
И вообще, нет операторов в Scala - все есть методы. Даже
    println(1 + 2)
стоит воспринимать как вызов метода с именем + и аргументом 2 у 1 


    println(1.+(2)) 
Ух!

А такие вещи, как:
   args.foreach(arg => println(arg)) 
не сильно удивили, потому как был у меня полугодовалый опыт работы с Groovy - там удивлялся. Но то, что тут это есть - это клясс!

OK Идем дальше. Кодить в интерпретаторе не очень, а потому я хочу кодить на Scala вместе с Java в старой доброй IDE Idea. Как это сделать? Ищем плагин.



OK Вот тут вот можно почитать, что они накидали в этот плагин.

OK Установился плагин, перегрузилась IDE после чего создал HelloWorld maven приложение.

OK Там создал две source папочки scala (в test и main) рядом с java.


OK И создал HelloWorld Scala Script



OK Написал там очень банальное



SKIP и нифига не получилось. Запуск этого дела так



SKIP выдавал ошибку



SKIP Блин. Что это могло бы знать? Спросим у гугла...



SKIP Кажется первый ответ - самое оно!

SKIP Но там ничего вразмумительного не нашел. А может в настройки залезть?



SKIP Что за Compiler library и почему там none?...

SKIP Решил удалить плагин и поставить его другим способом. Скачал архив с этой странички и распаковал его содержимое в папку плагинов Idea



 SKIP Что так же не помогло, потому как после перезапуска ни намека на то, что плагин хоть как-то установлен...




SKIP Установил снова как было через вкладку Plugins



SKIP Ну вот, теперь хоть какое-то проявление плагина




SKIP Только, мы вернулись  к тому с чего начали - скрипт не запускается.




OK Интуитивно я зашел в настройки проекта (File->Project Structure) и там проделал следующее



OK Выбрал меню Facets (1), выбрал из списка Scala (2), нажал плюсик (3), потом выбрал из списка текущий проект (4) и нажал ок (5).

OK После этого картинка поменялась и теперь свой скрипт я могу запускать так



OK Но это еще не все, потому как  вот



OK Ладно, идем обратно...

OK .. а там тот самый none



SKIP Чую разгадка где-то рядом. Зайду ка я в настройки Idea



SKIP Снова ничего вразумительного. Где же могут прописываться библиотеки компилятора? А где обычно прописываются библиотеки компилятора java?

OK Где-то в настройках проекта! Идем в Project Structure

OK Вот оно!



OK Теперь добавим по аналогии скалу! Добавим (1) библиотеку (2) назовем ее как-то (3) потом с помощью кнопки добавить класс (4) подобавляем все джарники с папки lib папки, в которую установлена была scala (5) после чего - ок (6)



OK А потом заменим тот none на компилятор, который я только что добавил!



OK Анука запустим-посмотрим?!!



OK Ура! На этом можно заканчивать, ибо уже пол 4-го утра и я откровенно зеваю! Я умничка и завтра продолжим эксперименты...

OK Кстати вот еще один мануал, который может пригодиться.

2 комментария:

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

    ОтветитьУдалить
  2. Если долго мучиться, что-нибудь получится. Они, если не нашли тут конечный результат, гугл им в помощь.

    А Вам спасибо за коммент. Хотелось бы Ваш блог почитать, а линка не нашел - подскажете?

    ОтветитьУдалить