Дмитрий Нестерук

Блог о программировании — C#, F#, C++, архитектура, и многое другое

Итоги 2011 года

с 15 комментариями

Сейчас блоггеры усиленно подводят итоги уходящего года, и я тут подумал – а чем я хуже? Мне тоже есть что рассказать! Рассказывать я буду конечно про технические вещи, с которыми успел “поиграться” в 2011 году. Поехали…

ПО, которое удалось зарелизить:

  • JetBrains ReSharper SDK, включая онлайн документацию. Также получилось добавить одну фичу непосредственно в ReSharper.

  • ActiveMesa R2P — обновления для ReSharper 6.0 и 6.1, также несколько фич по запросам пользователей (что особенно приятно). Появилось много классных вещей, без которых я и сам уже жить не могу. Впрочем, пишется в основном для себя, так что это понятно.

  • ActiveMesa MathSharp — нужно иметь много наглости чтобы просить почти 100 долларов за приложение, которое писалось максимум неделю. И покупают ведь! Первое приложение которое я выпускаю по ClickOnce, и не без факапов конечно же, но тем не менее… теперь точно понятно, что пользователи готовы качать 100-мегабайтный инсталлятор .Net 4 и их это не особо напрягает.

Языки и их использование:

  • D — открытие года для меня. Уже успел купить и прочитать книжку Александреску а также попробовать пописать на нем. Впечатления крайне позитивные, несмотря на отсутствие 64-битной поддержки а также явную “недопиленность” стандартной библиотеки Phobos. D – это язык на котором хочется писать и шипить ПО, в том числе и кросс-платформенное. Настоятельно рекомендую!

  • C# — продолжаю пользоваться, всем в принципе доволен. Обрастаю библиотеками с методами расширений, т.к. в любом проекте одно и то же, снова и снова. Также активно использую монаду Maybe для R2P.

  • C++ — продолжаю пользоваться, нововведения меня не очень затронули, в основном использую “хорошо забытое старое” а также типичный стэк – Intel TBB, OpenMP, SIMD.

  • F# — пришел к выводу что он очень хорош для определенного круга задач, и не очень хорош для всего что требует серьезного использования ООП. При написании MathSharp, да и вообще парсеров, он очень полезен. Для математики тоже весьма неплох, хотя тут уже его приемущества чисто психологические (т.е. это приемущества для математиков, но не для меня).

  • JavaScript — практически не использую напрямую, пишу все на C# и транскомпилирую через SharpKit (см. ниже). За пределами $.getJSON() стараюсь вообще не трогать.

Программы и компоненты, которые продолжают давать ощутимые бенефиты:

  • Контролы DevExpress (WinForms) — использую их с 2006 года и в целом доволен, особенно доволен стилизацией, до которой конкурентам далеко. Контролы DX продолжают лидировать в плане красивости UI, а это важно для пользователей.

  • Intel Parallel Studio — до черного пояса Intel мне как до луны, но инструментарием я продолжаю пользоваться, причем весьма успешно. Как ни странно, мне намного больше импонирует использование связки C# & IntelCPP чем связки C# & C++/CLI.

  • TypograFix продолжает развиваться, улучшаться, и этот пост я пишу, конечно же, на нем. (Через RDC, сидя на Mac’е.)

Программы и компоненты которые понравились и стали частью процесса:

  • Innovasys Document!X — теперь это моя стандартная тула для генерирования документации (CHM и Web) как для коммерческих, так и для OSS проектов. Действительно хороший продукт, который стоит своих денег.

  • Red Gate SmartAssembly — все любят ругать Red Gate за Reflector, но продукт SmartAssembly они выкупили у другой компании, и продукт это неплохой. SA – это обфускатор, ILMerge и репортилка исключений в одном флаконе. Да, ценник “зашкаливает”, но мне очень нравится функционал и UI. Нет, я не страдаю любовью к обфускаторам т.к. считаю эту затею бессмысленной, но вот красивый exception reporting многого стоит.

  • WiX — да-да, бесплатный пакет для создания инсталляторов существует уже давно, но “распробовал” его я только в этом году. Теперь все инсталляторы которые не используют ClickOnce делаются именно на WiX. Единственное, чего не хватает – это фич автообновления. Правда автообновление уже давно перестало быть большой проблемой. Но все равно хочется иметь его “из коробки”.

  • ActiPro Syntax Editor (WinForms) — казалось бы, что особенного в контроле-редакторе который показывает подсветку синтаксиса и code completion для C#? А то, что процесс динамического прототипирования можно сделать более “цивильным”. А динамическое прототипирование дает настолько серьезный прирост производительности, что не делать его уже кажется грехом. Впрочем, мне кажется я никогда не смогу объяснить людям все его бенефиты. Что же, это не критично.

  • SharpKit — транскомпилятор из C# в JavaScript. Чтобы не писать JS, который есть зло и должен умереть, хотя кто-то и соглашается на нем писать. Тулкит имеет завязки на разные фреймворки вроде jQuery, да и свои байндинги писать на так уж сложно.

Программы, которые я больше не планирую использовать:

  • SQL Server и другие RDBMS, а также такие ORM-фреймворки как Telerik OpenAccess. MongoDB хватает “за глаза”, и подход NOSQL идеален для большинства задач. Единственное исключение пока это embeddability, и тут я пожалуй продолжу пользоваться SQL CE (например в том же R2P), т.к. хороших альтернатив мало.

  • IIS и ASP.NET MVC — с момента моего перехода на подход JS+REST, эти технологии оказались нерелевантными. Хотя, по правде сказать, я по-прежнему использую IIS 6 для хостинга WCF REST приложений, но по крайней мере клиентскую часть я писать на ASP.NET больше не намерен.

  • NDepend — в нем есть полезные фичи, но они запрятаны под слоями академичного анализа который, если честно, не очень-то полезен для анализа моего кода. Гораздо полезнее обычные механизмы статического анализа.

  • Typemock Isolator — я на самом деле давно забросил использование такой “тяжелой артиллерии”, но недавно попробовал снова и был разочарован: оказалось что в VS Ultimate Typemock генерит много багов, и умеет работать только при определенно выставленной конфигурации, которая меня не устраивает.

  • Telerik MVC поскольку его больше не существует :) не говоря уже о том что я больше не буду писать под ASP.NET.

Технологии, которые удивили или порадовали:

  • Kindle DX — пожалуй лучшее мое приобретение года. Вопрос о покупке iPad’а даже не стоял, а KDX я прикупил после долгих раздумий и не сожалею – уже прочитал на нем уйму книг. Глаза он щадит, размер вменяемый для чтения “почти А4”. Есть конечно фейлы – бесплатный 3G не работает в России и Латвии (в Скандинавии – на ура), браузер допотопный, WiFi нету, и книжки которые продает Amazon (типа ‘Kindle Edition’) покупать нельзя т.к. все листинги кода в них – битмапы, оптимизированные под “маленький” киндл. Что просто чудовищно. PDF FTW.

  • Windows Phone 7 — честно скажу: я ожидал увидеть очередное мертворожденное детище. А получилась операционка с уникальным, красивым user experience. Ведь могут когда захотят! Теперь остается ждать планшетов, хотя скажу сразу: если iPad 3 будет выпущен с Retina Display, куплю не задумываясь, ибо хочется, наконец-то, вменяемого разрешения. Если оно будет, можно будет и PDFы попробовать читать, и travel guides всякие, комиксы, и так далее…

  • Qt Creator — не совсем “моё”, конечно, но Qt Creator порадовал тем что он, во-первых, работает, а во-вторых даже более-менее понятен. В принципе, если приложение действительно нужно сделать кросс-платформенным, то я бы скорее смотрел на Qt чем на Java или AIR. И все это в очередной раз подчеркивает, что если хочешь чтобы твой алгоритм был кросс-платформенным, пиши его на С++. Ну или на С, это тоже сработает.

Что технологического я ожидаю в 2012 году:

  • Запуск Visual Studio 2012, в комплекте с поддержкой Metro-style apps, AMP и отладкой на GPU, C#5 и так далее. Запуск новой Студии в Петербурге буду проводить лично, если только Microsoft не передумает и не снимет снова Прибалтийскую для эвента на 500 человек как на запуск 2010й. Впрочем, я не против, так и так.

  • Разработческая конференция на пароме, курсирующем по скандинавии. С последующими туристическими ответвлениями. Будет весело.

  • Смерть и/или перерождение RIM. Серьезно, что же с ними будет? Кто-нибудь может себе представить WP7 на Blackberry?

Ну и наконец:

  • В 2012м я окончательно уеду из России (куда – пока секрет, скажу лишь что это не Англия и не Швеция). Впрочем, произойдет это небыстро – переезд это дело мутное, нужно сделать 1000 дел, все проверить-перепроверить, совершить несколько плановых полетов. Главное что это произойдет – понимание этого уже радует.

P.S.: С Новым Годом!!!

Написано Dmitri

31 Декабрь 2011 в 13:36

Опубликовано в Life, Technology

Follow

Get every new post delivered to your Inbox.

Join 51 other followers