Мой журнал
Май. 8, 2008
02:05 pm - MPS build #607 is out
Выпустили новый билд MPS. Как всегда, его можно скачать отсюда
Май. 2, 2008
03:07 pm - Биологи шутят
Наткнулся на такое видео:
Превосходный и очень качественно сделанный прикол.
P.S. Тут есть много видео в таком же стиле.
Апр. 25, 2008
08:32 pm - MPS build #578 is out
Выпустили новый билд. Среди новых фич:
- Улучшения редактора. Редактирование стало еще ближе к Java
- Улучшеный диалог model properties: автоматическое добавление зависимостей между модулями
- Упрощение настроек classpath-а в модулях
- Автоматическое разрешение битых ссылок
- Поддержка запуска юнит тестов из MPS
Апр. 22, 2008
02:11 am - Simple Base Language Extension Screencast
Сделали еще один скринкаст про мпс. На этот раз это простое расширение BaseLanguage. В нем мы показываем не только расширения языка, но и возможности, которые практически не доступны в языках с метапрограммированием: кастомная система типов и data flow анализ. Посмотреть его можно здесь
Апр. 15, 2008
01:01 am - Скринкаст про МPS
По советам коллег, все таки начитал текст к скринкасту про MPS, который находится здесь. Комментарии и фидбек очень приветствуются.
Апр. 14, 2008
10:46 pm - Классная реклама
Сегодня ехал в метро и увидел вот такую рекламу:
Феерично. Графики того, как акции падают вниз это прикольно. Интересно, что эта контора готова им предложит. Встать в шорт по сберу, втб и роснефти? :)
03:34 pm - The Simplest Language Screencast
Поскольку начать работу с MPS без простого пример достаточно тяжело мы восстановили The Simplest Language Tutorial, в котором создается язык для создания Hello World программ. На этот раз мы сделали скринкаст. Посмотреть на него можно вот здесь
Апр. 11, 2008
01:37 pm - MPS build #531 is out
Выпустили новый билд MPS. Новые фичи:
- Улучшения ввода кода. Умный ввод стал более умным. Например, сейчас возможно ввести System.out без нажатия control+space. Когда пользователь нажимает " появляется строка, в которую можно вводить текст, прямо как в идее.
- Улучшения языка data flow. Data Flow аспекты сделаны ко многим основным языкам
- Extract method refactoring. Доступен из popup menu или по шорткату control+alt+M
Апр. 10, 2008
01:07 pm - Обновленное Gettings Started With MPS How to
Один из наших EAP пользователей, Tracy Snell обновил "Getting started wiht MPS" how to к текущей версии MPS. Вы можете найти его здесь. Мы не давно не обновляли его сами, поскольку у нас есть более подходящие примеры и скринкасты, которые покрывают возможности MPS более полно. Но по-любому этот пример может быть полезен, если у вас мало времени, и вы хотите быстро написать что-нибудь на MPS.
Апр. 8, 2008
11:59 pm - Англоязычный блог
Кстати, я сделал себе англоязычный блог: http://solomatov.wordpress.com/ Буду туда теперь писать про MPS. Сюда продолжать писать буду тоже.
10:50 pm - Анализ потока данных в MPS
Data Flow анализ позволяет делать много полезных проверок: находить присваивания переменных, значения которых не используются, обнаруживать места, где к переменным обращаются до их присваивания, пользуясь результатами этого анализа можно сделать рефакторинг Extract Method. Вобщем, это очень полезный анализ, позволяющий улучшить экспиринс от работы с IDE. Не удивительно, что в MPS мы сделали его поддержку, и конечно для этого был сделан свой язык.
( Читать дальше )Апр. 2, 2008
08:17 pm - Хостеры
Где то два года назад я купил себе хостинг на http://www.agava.ru для своего сайта investwiki.ru, который потом забросил. Сегодня мне пришло от них такое письмо:
Добрый день!
Администрация Maillist.ru сообщает Вам о том, что в связи с тем, что в данный момент Вы зарегистрированы, но не получаете
никаких рассылок мы взяли на себя смелость подписать Вас в рассылку "Школа Своего Дела" тематики "Бизнес".
Мар. 30, 2008
07:44 pm - Газпром сити
Сегожня бегал и увидел вот такой рекламный щит:
Мар. 27, 2008
11:48 pm - MPS Build #504
Выпустили новый билд MPS. Скачать можно отсюда. Из новых фич:
- Возможность работы полностью из MPS, без идеи
- Трейсер для генератора: возможность понять почему сработал генератор в данном месте.
- Улучшенная возможность просмотра промежуточных моделей
- Единая точка: возможность работать с выражениями через точку практически как в Java
- Возможность писать кастомные Find Usages
- Возможность писать плугины полностю из MPS
- Язык для Refactoring-ов (рефакторинги записываются и позже проигрываются в стороннем коде)
- Пеработка UI редактора: испектор теперь работает по другому
- Новый пример: язык для поддержки комплексных чисел
11:53 am - Необычная open source лицензия
Продукт SQLite является public domain продуктом, но в начале каждого файла вместо лицензии имеется нечто:
The author disclaims copyright to this source code. In place of
a legal notice, here is a blessing:
May you do good and not evil.
May you find forgiveness for yourself and forgive others.
May you share freely, never taking more than you give.
Интересно, а может ли это не позволить кому-то использовать SQLite по религиозным убеждениям?
Информацию об этом взял отсюда.
Мар. 23, 2008
01:47 pm - Книжка: Next Generation Java Testing
Сейчас с тестированием и TDD знаком практически каждый программист, информации по теме достаточно: имеется огромное количество статей, кучи книжек, но тестирование применяется далеко не во всех проектах. Оно и понятно, то что выглядит просто на игрушечных примерах из книжек, бывает очень трудно перенести в реальную сложную систему. Мы можем легко написать программу подсчета числе фибоначи в стиле TDD, но при написании чего-то более сложного и нетривиального возникают проблемы у которых нет простых однозначных рефений. В книжке Next Generation Java Testing предлагается прагматичный взгяд на тестирование, а также описывается фреймворк TestNG, созданный авторами.
Книга начинается с описания JUnit 3, его проблем, и то, как они решены в TestNG. Потом идут распространенные паттерны тестирования: data driven testing (который отлично поддерживается в TestNG), тестирование асинхронных и многонитиевых программ, тестирование производительности (здесь TestNG также имеет навороченные средства), использование моков и стабов и применение средства code coverage. Далее идет описание тестирования приложений использующих конкретных API: JEE API, Spring Framework, Guice. Завершается книжка философким разделом, который на мой взгляд представляет собой саму интересную часть.
Самое приятное в книге это прагматичный подход. Никто не предлагает писать весь код в стиле TDD, более того, авторы не считают плохой практикой написание тестов после того, как был написан код, также авторы осуждают бездумное использование coverage tools, с тем чтобы покрыть 100% кода, что не может не радовать. К сожалению, книга требует достаточных начальных знаний по тестированию, что не позволяет ее использовать разработчикам, не знакомых с тестированием.
Мар. 13, 2008
10:21 pm - Как строятся билды в MPS
Долгое время мы строили наши внутренние билды MPS в BuildDesk, тулзе позволяющей достаточно просто создать инсталлятор. По ряду причин, нам пришлось от нее отказаться. Конечно, мы решили создать язык для описания билдов, и вот что из этого получилось.
( Читать дальше )Мар. 11, 2008
06:41 pm - Удивительное рядом
Обнаружил, что в классе java.awt.KeyEvent есть константа VK_DEAD_OGONEK. Кто нибудь знает что это такое? :)
UPD: Оказалось что это вполне легальный символ http://en.wikipedia.org/wiki/Ogonek
Мар. 7, 2008
09:32 pm - Первое публичное приложение на MPS
С сегодняшнего дня, bug tracker к TeamCity работает не на JIRA, а на Charisma. Charisma полностью написано на MPS. При этом это не игрушечное веб приложение, какие любят делать за полчаса гуру Ruby в своих скринкастах. В нем широко используется AJAX, проработано взаимодействие с пользователем, оно хорошо работает на больших базах и при приличной нагрузке.
До начала проекта Charisma, MPS было чем-то вроде proof of concept. Все вроде как работало, но на простых приложения, и очень небольших проектах. По мере развития Сharisma, мы ускорили многие подсистемы MPS, более полно отработали взаимодействие языков друг с другом. Разработка Charisma приблизила MPS к реальной среде для разработки приложений.
Charisma это настоящее промышленное приложение. Его существование доказывает то, что реализация LOP в MPS жизнеспособна, и уже развилась до такой степени, что при помощи нее можно писать реальные приложения.
Находится оно по адресу: http://jetbrains.net/tracker/_htmlTempl
P.S. Кстати, если вы студент 2-4 курса, и вас интересует проект MPS, то у нас открыта вакансия стажера. Для того, чтобы попасть к нам нужно решить тестовое задание. За подробностями обращайтесь на Konstantin.Solomatov@jetbrains.com
Фев. 6, 2008
12:41 am - О функциональных языках
В интернете, особенно на сайтах посвященных языкам программирования, можно услышать много положительного о так называемых функциональных языках программирования: то, что в них сделать ошибку намного тяжелее, чем в императивных языках, то что за ними будущее программирования, да и много еще. В этом посте я расскажу о том, что же такое функциональный язык, так ли правдиво все что о них говорят, не используем ли мы такие возможности в промышленных языках, и какой толк из их знания может получить программист-практик.
( Читать )Navigate: (Previous 20 Entries)
