![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Плюнув на привычку молчать, пока не спрашивают, выступил на междусобойчике по Перлу в Берлине.
Первым делом, забыл песочные часы дома. Вспомнил, что хотел по ним контролировать время как раз в тот момент, когда возвращаться было уже поздно. Вторым, поезд, на котором ехал, на первой же станции встал и сказал, что больше не поедет. Третьим, придя в зал конференции, поставил рюкзак у дивана, а потом забыл, где он стоит. Ходил, искал минут пять. Плюс ещё перенесли доклад на самый конец. Впрочем, это, скорее, на самом деле плюс. Вот сейчас думаю, может быть это были сигналы свыше и не стоило оставлять следов на английском. Всё-таки про менеджмент были не очень лестная информация.
Материала набралось часа на два вдумчивой беседы с введением в тему, дискуссией и примерами. Впихнул в 20 минут доклада. Мне десять нужно обычно просто, чтоб разогреться и рассказать, какой я хорошенький. В результате, получилось, как получилось.
Вдогонку картинке про agile добавлю ещё две, сделанные сегодня в электричке.

The Legend of The Right Process:
- We pretend we build pyramids.
- Waterfall, spiral, scrum, XP... are similar: product can only grow. Differences are only in the ways of growth.
- We pretend we cannot throw anything away. We do not reduce waste but deny it.
"The Legend of The Right Process" by Vit R is licensed under a Creative Commons Attribution 3.0 Unported License.
Harvard management methodology wizards claim that the human resources quality is not important, if you have the right management process.
Be prepared.

Если кто-нибудь возьмётся подкорректировать английский, закину в блог текст доклада. А то у меня владение языком гораздо ниже того уровня, чем требуется для адекватного воздействия на аудиторию.
Первым делом, забыл песочные часы дома. Вспомнил, что хотел по ним контролировать время как раз в тот момент, когда возвращаться было уже поздно. Вторым, поезд, на котором ехал, на первой же станции встал и сказал, что больше не поедет. Третьим, придя в зал конференции, поставил рюкзак у дивана, а потом забыл, где он стоит. Ходил, искал минут пять. Плюс ещё перенесли доклад на самый конец. Впрочем, это, скорее, на самом деле плюс. Вот сейчас думаю, может быть это были сигналы свыше и не стоило оставлять следов на английском. Всё-таки про менеджмент были не очень лестная информация.
Материала набралось часа на два вдумчивой беседы с введением в тему, дискуссией и примерами. Впихнул в 20 минут доклада. Мне десять нужно обычно просто, чтоб разогреться и рассказать, какой я хорошенький. В результате, получилось, как получилось.
Вдогонку картинке про agile добавлю ещё две, сделанные сегодня в электричке.
GPW 2013

The Legend of The Right Process:
- We pretend we build pyramids.
- Waterfall, spiral, scrum, XP... are similar: product can only grow. Differences are only in the ways of growth.
- We pretend we cannot throw anything away. We do not reduce waste but deny it.

Harvard management methodology wizards claim that the human resources quality is not important, if you have the right management process.
Be prepared.

Если кто-нибудь возьмётся подкорректировать английский, закину в блог текст доклада. А то у меня владение языком гораздо ниже того уровня, чем требуется для адекватного воздействия на аудиторию.
no subject
Date: 2013-03-16 12:02 am (UTC)А вот для VerilogPerl я использовал все самое свежее.
У меня сложилось впечатление, что на перле трудно специфицировать структуры данных типа деревьев, массивов структур из массивов структур и т.д. То есть я это выучил как подмножество, но за пределы подмножества не понимаю, как ступать, а превращать жизнь в изучение перла не хочу, ибо занимаюсь другими вещами.
Исключение, которое меня реально шокировало:
no subject
Date: 2013-03-16 12:37 am (UTC)Ну-у-у. Не знаю. Если пытаться на Перле сделать Верилог, то, наверно, трудно. Для людей, работавших на С с указателями должно быть просто. Нужно просто прочитать не "Перл для идиотов", а что-нибудь посерьёзнее.
When I call my variables $a or $b
По голове кандилябром сразу. Имена переменных не должны быть короткими, за исключением особых случаев.
Кому будем жаловаться?
В Перле просто куча сокращений для ключевых слов. В большинстве случаев это исключительно удобно для людей, с Перлом работающих, но китайская грамота для не посвящённых. Ну так он и является языком для профессионалов. В гоночную машину тоже не стоит сажать всех кого попало.
По-моему, кое-у-кого нездоровая тенденция доказательства проблематичности Перла через всякие извращения.
no subject
Date: 2013-03-16 03:47 am (UTC)*** Для людей, работавших на С с указателями должно быть просто. ***
Ну вот что-что, а в С я абсолютный эксперт, ибо пишу на нем с 1986 года, причем написал три C компилятор-а (два на основе PCC и один с нуля), и поэтому меня напрягает как например в Перле написать эффективно рекурсивный обход дерева с модификацией со структурами вида:
struct node
{
int data;
struct node * left;
struct node * right;
};
Причем дерево нужно не только обходить, но и модифицировать - переносить поддеревья с места на место. Это что - нужно использовать перловский ООП и references?
Еще всякие массивы структур массивов хэшей массивов (я конечно разобрался в частных случаях, но как-то все странно смотрится).
no subject
Date: 2013-03-16 10:22 am (UTC)Первым делом - структура С - это тот же класс С++, только не могущий сделать аттрибуты private и protected. Так что OO для задачи - это самое то.
Вторым, спрашиваю у гугла "perl binary tree" и первая же ссылка выдаёт.
Правда, пример какой-то древний. Если написать use strict; и use warnings;, что всегда стоит делать, то надо ставить кавычки.
как например в Перле написать эффективно
"Эффективно" на Перле - это "быстро написать"
Если нужна скорость выполнения, проще взять другой язык. Правда, на разумных массивах данных разница не такая, чтобы стоило этим озабачиваться.
no subject
Date: 2013-03-16 03:26 pm (UTC)Это сразу объясняет, почему в перловских книжках бинарные деревья появляются где-то в advanced разделах. Кроме этого, это опровергает утверждение многих (не всех) перловцев, что якобы перл является универсальным языком для всего ("если у вас есть задача - напишите ее на перле").
no subject
Date: 2013-03-16 03:49 pm (UTC)А вот и фиг.
КлассОбъект - это blessed variable. Класс - это модуль.Можно сделать класс на массиве, можно на текствой переменной. Хеш просто в большинстве случаев удобнее. Но, если требует задача, можно сделать так, чтобы решение подходило под неё лучше.
Проблема в том, что в моих задачах таких структур может быть условно миллион экземпляров расзной степени одновременности.
Ну и? Если они просто болтаются без дела, проблема не в Перле, а в архитектуре. У меня спокойно из всяких хешей массивов хешей и таблицы на миллионы строк выводятся, и подструктуры извлекаются, и файлы в JSON на десяток мегабайт пишутся. (Которые потом одним движением берутся другим перловским скриптом для дальнейшей обработки)
Насколько эффективна реализация таких объектов в интерпретаторе или компиляторе перла? Memory footprint? Насколько хорош сборщик мусора?
Пардон, благородный дон пишет реалтайм? Тогда я бы посоветовал делать критичные к времени вещи на C++, а если без Перла не обойтись, то ему оставить только интерфейсы.
Если это не реалтайм а расчёты чего-то сложного, то я бы не обращал внимания на такие мелочи. Ну будет работать программа полторы минуты вместо сорока секунд. У меня вообще некоторые рассчёты шли часа по четыре. Правда, там основное время было на чтение и запись. Но результаты были всё равно готовы раньше, чем я бы на С++ просто базовые функции оттестировал.
Это сразу объясняет, почему в перловских книжках бинарные деревья появляются где-то в advanced разделах.
Бинарные деревья появляются во всех книжкак в advanced разделах. А делать структуры как в примере на Перле умеют даже люди, которые не знают, что такое хеш и воспринимают это просто как форму записи.