Cчетчик со страницы Getting Started на момент публикации статьи
С минуты на минуту случится то, чего ждали очень многие, и я в том числе. А именно: компания ObjectArts полностью открывает исходники и выпускает язык и среду разработки Dolphin Smalltalk под открытой лицензией MIT!
О проекте
Долгое время Dolphin Smalltalk был доступен в двух вариантах: условно-бесплатная ограниченная версия (community edition) и платный пакет для профессиональной разработки. Последний давал доступ ко всем функциям, включая продвинутые редакторы и публикацию приложений в standalone режиме, однако стоил около четырехсот долларов, что, по понятной причине, устраивало далеко не всех.
Похоже, что компания таки одумалась (или терять стало нечего) и решила выпустить ПО на волю. Под катом краткое описание среды разработки и размышления на тему open source будущего Dolphin Smalltalk.
Возможности среды разработки
IDE предоставляет как обычные возможности, вроде code assist, навигации по коду и встроенного отладчика, так и средства, специфичные для Smalltalk: поддержку тестов SUnit, управление публикацией приложения (упаковка, вырезание лишних классов), WYSIWYG редактор интерфейсов и многое другое. Мне нравится возможность поиска по всему содержимому проекта, включая классы, методы и комментарии, доступная в тулбаре любого окна.
Навигация
Разбираясь с незнакомым кодом на традиционных языках мы открываем файлы исходных текстов и читаем их подряд. Smalltalk организован несколько по другому. Вместо простыни исходных текстов мы имеем иерархию классов и списки их методов. Значительное время проводится именно в изучении иерархии классов, которая в Dolphin представлена довольно аккуратным Class Browser-ом.
Отладка
Отладка динамических языков всегда была проще, чем кропотливая работа с креш дампами. В Smalltalk это вынесено на уровень выше. При отладке приложения мы можем не просто наблюдать каждый шаг работы программы, но и взаимодействовать с объектами в диалоговом режиме. Помимо тотальной интроспекции программы Dolphin предоставляет возможность буквально ткнуть в любой элемент окна и мгновенно получить все его свойства и содержимое в окне инспектора.
Часто бывает так, что при написании программы многие методы приходится оформлять заглушками, поскольку времени на все про все не хватает. Если в ходе выполнения традиционной программы управление доходит до заглушки, то нам остается только вывести сообщение в лог или вывалиться по ассерту, если дальнейшее выполнение программы невозможно.
В Smalltalk мы можем «помахать кулаками после драки»: когда виртуальная машина обнаруживает, что требуется вызвать отсутствующий в данном классе метод, то выполнение программы приостанавливается, а машина спрашивает программиста о дальнейших действиях. В этом месте мы имеем возможность доопределить метод прямо по ходу выполнения программы и продолжить выполнение, как ни в чем не бывало. Это может быть очень полезно, когда программа сложная, и приходится долго трудиться, чтобы полностью воспроизвести ситуацию.
Что это даст нам, простым смертным?
Если все будет действительно так, как заявлено, то сообщество получает отличный инструмент для быстрой разработки и прототипирования софта под Windows. Меня, как пользователя Linux, разработка под Windows не очень интересует. Тем не менее, я считаю, что это событие можно использовать и в своих целях.
В первую очередь я обратил бы внимание на внутреннее устройство виртуальной машины, которая к слову считалась весьма быстрой еще во времена Windows XP, хотя, насколько я знаю, JIT они не используют.
Если существует техническая возможность портирования Dolphin Smalltalk на другие ОС, можно ожидать появления дружественных к неподготовленному пользователю сред разработки на Smalltalk. Большое количество кода было написано в рамках интеграции с ОС. Другим средам, таким как Pharo это может быть на руку.
Наконец, удобная среда разработки с большим количеством встроенной документации и великолепным иллюстрированным туториалом может быть полезна начинающим и способствовать развитию самого языка Smalltalk.
В комментариях прошу делиться своими мыслями и предложениями.
UPD: На гитхабе появились репозитории Dolphin и DolphinVM.
А напоследок, маленький опрос:
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.
Комментариев нет:
Отправить комментарий