Итак, у вас было целых два дня на то, чтобы подготовиться к подаче материала про Cloud Haskell, а также составить общее впечатление об отличиях Cloud Haskell от Erlang. Сегодня же мы наконец-то увидим пусть и простую, но саму что ни на есть настоящую программу, использующую сабж. Возможно, кто-то из читателей предпочел бы сначала ознакомиться с детальным описанием API, но я лично всегда больше любил учиться на примерах, так что API отложим до завтра.

Cloud Haskell — это фреймворк / DSL для разработки конкарент распределенных отказоустойчивых приложений без разделяемого состояния. Типа Erlang, только лучше. Как минимум, за счет строгой статической типизации, компиляции в нативный код и более приятного синтаксиса. Кроме того, как будет показано ниже, Cloud Haskell лишен некоторых родовых травм Erlang’а и в некоторых аспектах более гибок.

Как я уже когда-то писал, потоки в Haskell сделаны как можно более легковесными для минимизации накладных расходов и чтобы поверх них можно было сотворить все что угодно. Прекрасным примером всего что угодно является Cloud Haskell. Это попытка принести в мир Haskell модель акторов а-ля Erlang. И, как оказалось, попытка эта на редкость удачная. Не как Akka.

В прошедшем году я прочитал несколько десятков книг, опубликовал немало постов в блоге и писал много кода на Erlang. Поэтому Дедушка Мороз принес мне хороший, годный подарок, как раз такой, о котором я мечтал. А мечтал я о хороших беспроводных наушниках, благодаря которым я наконец-то перестану постоянно спотыкаться о длиннющие провода моих KOSS SB-40.

В этом выпуске: Haskell и Erlang под JVM, как написать свой отладчик, какой программой записывать разговоры по Skype, и не только. Предыдущие выпуски: ноябрь 2013, октябрь 2013, сентябрь 2013, август 2013.

Продолжаем вспоминать Windows API. До сих пор мы писали грустные и унылые однопоточные программки из серии «вызови правильную процедуру с нужными аргументами и посмотри на ее код возврата». Сегодня же мы наконец-то напишем хоть и простенькую, но все же самую что ни на есть многопоточную программу, с теми самыми тредами и мьютексами, которые все постоянно ругают.

Недавно коллега рассказал мне об одном интересном паттерне в Erlang’е. На самом деле, то, о чем он рассказал, это настолько полезная и очевидная фигня, что я не понимаю, как мне до сих пор нигде не попадалось упоминание сего приема (возможно, все-таки попадалось, но я не предал этому особого значения) и как можно было не додуматься до такого самостоятельно.

Конечно же, вы видели множество программ, запускающихся автоматически во время загрузки системы. В Windows есть немало способов добавить программу в автозагрузку. Сегодня мы рассмотрим наиболее простой и популярный способ, который заключается в добавлении специальной записи в реестр. Разумеется, как и ранее, мы будем писать программу на Си и Windows API.

В продолжение заметки Я тупой и криворукий джуниор. Еще одна черта моего характера, которой я горжусь, это лень. Казалось бы, всем известно, что лень — это плохо. Как вообще можно ею гордиться? Не волнуйтесь, господа, сейчас я вам все объясню!

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