суббота, 28 июля 2018 г.

[prog.memories] Хороший текст был написан почти три года назад. Есть на что оглянуться

В процессе подготовки к митапу в Питере пересматриваю свои старые материалы в поисках того, что можно переиспользовать в докладе. Дошел вот до этой заметки, написанной в августе 2015-го года, т.е. без малого три года назад: It's all about in-process message dispatching или...

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

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

среда, 25 июля 2018 г.

[prog.flame] И вот для этого стоило осваивать Хаскелл?

Люди сообщают с мест:

Компания называется Restaumatic, Польша. Пишем сервисы для ресторанов: заказ еды, системы скидок, сайты, вот это вот все. Обычный web, CRUD, фронтенд на PureScript, бэкенд на Haskell. На самом деле, переписываем потихоньку эту функциональность с RoR и добавляем новую.

Цинк: cpp_stm_free: монадическая STM библиотека для параллельного программирования.

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

Мне, например, нравится использовать C++ в вещах, связанных с низким или более-менее низким уровнем. Протоколы какие-нибудь реализовывать, устройствами какими-нибудь управлять, писать ядра СУБД или MQ-брокеров, ресурсы экономить (выжимать тактики из битиков, как кто-то когда-то хорошо сказал). Но это прежде всего потому, что сами эти задачи мне нравятся. А C++ оказался весьма хорошо приспособлен для таких задач.

Но вот формошлепство, складской учет и пр. скучные для меня самого задачи, не нравятся мне в принципе. Заниматься такими вещами, конечно, можно. И что-то подобное бывало в прошлом, когда времена были трудными и аутсорсеры в наших местах еще только-только начинали появляться, а внутренний рынок разработки ПО стремительно схлопывался. Но это не от хорошей жизни. И заманить меня на разработку подобного рода софта в нормальных условиях вряд ли возможно. Тем более обещанием того, что в проекте будет использоваться любимый язык программирования.

А тут Web-приложение с бэкэндом на Хаскелле, которое суть складской учет, который во времена оные отлично покрывали dBase-ами и Clipper-ами... Нужно, наверное, очень сильно любить Хаскелл ;)

PS. Интересно было бы лет через 5-10 узнать, чем все закончилось. А то вспоминается пример Sociomantic-а, в котором когда-то выбрали в качестве языка реализации D1, а потом столкнулись с тем, что есть большая и работающая кодовая база на D1, который уже никому не нужен, и есть совсем другой D2, который с D1 не совместим ни на уровне языка, ни на уровне библиотек. Но там хотя бы выбор шустрого D был оправдан требованиями к скорости реакции. Ради чего выбирать Хаскелл для рядового Web-приложения -- это вопрос.

понедельник, 23 июля 2018 г.

[prog.c++] В августе буду выступать на митапе St.Petersburg C++ User Group

Благодаря Анастасии Казаковой из JetBrians в августе, 23-го числа (четверг), выступлю в Питере на митапе тамошней C++ User Group с докладом "Акторы в C++: взгляд старого практикующего актородела". Все подробности и возможность зарегистрироваться на митап вот здесь.

Этот доклад будет квинтэссенцией из моих предыдущих докладов на CoreHard C++ и C++ Russia. Предыдущие доклады были сильно ограничены по времени: всего сорок минут на само выступление + 10-15 минут на вопросы. Здесь же будет практически часовое выступление, в процессе которого я постараюсь затронуть основные моменты, связанные с акторами в C++. Т.е. что такое Модель Акторов вообще и почему к ней сейчас такой интерес. Имеет ли смысл использовать акторы в C++ (да, имеет, но не всегда). Какие особенности накладывает C++ при этом. Что есть готового для C++ вообще, почему это настолько сильно отличается друг от друга. Ну и немного про SObjectizer, конечно. В общем, то, что раньше приходилось растягивать на 3-4 отдельных доклада в этот раз будет выдано в рамках одного рассказа, без лишней воды и философствований.

В общем, приходите, должно быть интересно. По крайней мере можно будет посмотреть на меня живьем и задать какой-нибудь неудобный вопрос в лицо. Вроде того, почему я такой муд так сильно не люблю Rust Java, пора ли закапывать С++ и есть ли жизнь в ИТ после сорока ;)