Kojo — среда для обучения языку Scala

Не так давно была анонсирована Kojo — среда для обучения языку Scala на платформе NetBeans. Kojo включает в себя много интересных возможностей, таких как, например, Scala REPL, и позиционируется как развлекательно-обучающая среда для детей. Автор Kojo, Lalit Pant, отвечает на вопросы сайта netbeans.org:

NetBeans: Lalit, здравствуйте. Расскажите, кто Вы и чем занимаетесь?

Lalit: Я — учитель математики в школе для девочек из малообеспеченных семей, в маленьком городке Dehradun в Северной Индии. Ранее я был профессиональным разработчиком и работал в США. В течение 16 лет карьеры мне довелось писать на самых разных языках — С, С++, Java, Prolog, Ruby, Python и, наконец, Scala. Последние 10 лет моей жизни так или иначе были связаны с Java.

NetBeans: Ну, и что же такое Kojo? С какими продуктами можно ее сравнить?

Lalit: Kojo является тем, что я называю обучающей средой. При помощи Kojo ребенок может играючи обучаться работе с компьютером, овладевать азами программирования, экспериментировать с математикой и визуальными образами. Из похожих продуктов я отмечу Scratch, Processing и The Geometer's Sketchpad.

NetBeans: Чем же Kojo уникальна?

Lalit: Kojo сочетает в себе:

  • мощный язык;
  • компьютерное искусство;
  • анимацию и визуализацию;
  • интерактивную математику.

Ни один из конкурирующих продуктов не предоставляет такого уникального набора возможностей в составе единой среды.

NetBeans: Почему Kojo написана именно на Scala?

Lalit: Должен признать, что знакомство со Scala способно сильно расширить кругозор даже самого опытного разработчика в объектно-ориентированной парадигме. Я столкнулся с такими новыми (и очень мощными) концепциями как Traits, Implicits, Abstract Types, полиморфизм type constructor'ов. Scala также явилась для меня примером практического применения функционального программирования, позволяя использовать функциональный подход внутри объектно-ориентированного кода. Поэтому, когда я стал задумываться об обучающей среде для детей, я не колебался в выборе Scala.

NetBeans: И в качестве пользовательского языка тоже?

Lalit: Да. Я решил, что буду обучать детей программировать именно на Scala, потому что даже узкое подмножество Scala (гораздо более простое, чем Java; по простоте приближающееся к Python или Ruby) обладает порядочной мощью. Да и Scala REPL пригодится мне для собственных разработок ;)

NetBeans: Каковы, по-Вашему, преимущества платформы NetBeans?

Lalit: Что мы имеем "из коробки":

  • редактор исходных текстов: великолепная инфраструктура для создания редакторов, предоставляющая подсветку синтаксиса, автодополнение, автоформатирование и т.п.;
  • оконная система: фиксация (docking) / передвижение окон внутри рабочего пространства;
  • профессиональный внешний вид;
  • окно вывода с автоматическим переносом строк, "умным" скроллингом, настраиваемым шрифтом и гиперлинкингом для сообщений об ошибках;
  • прочее: всевозможные «свистелки» ("bells and whistles") наподобие splash-заставки, диалога "About" и инсталлируемого zip-дистрибутива.

Kojo свободно распространяется по лицензии GPL. Доступны исходный текст, бинарные сборки и баг-трекер.

>>> Интервью (на английском).

©  Linux.org.ru