понедельник, 7 января 2013 г.

Вкусные лямбды и коллекции в Scala

Изучая язык, приятно находить в нём вкусные плюшки. Безусловно, выбор языка определяется его применимостью к поставленной задаче. Но когда условия задачи не очень жёсткие (например, если делается уютная маленькая программка для себя или пишется диплом), то и такие вещи играют роль.

Долгое время эталоном вкусного языка для меня являлся исключительно Ruby. Его динамичность вплоть до добавления новых методов в рантайме позволяет создавать потрясающие DSL и писать всякие человеко-читаемые вещи вроде Time.now + 3.hours или c.format(100).should == '$ 100', не говоря уже о встроенных в язык приятных сладостях вроде однострочных концевых условий (parts.reverse! unless self.postfix?) и возможности опускать ненужные скобки.

Остальные языки, которые я знал, оставались по вкусности далекоо-далеко позади. Конечно, это не было трагедией. Я не однобокий человек и, любя Ruby, спокойно писал диплом и работал в UGENE на C++. Но на C++ я никогда не стал бы писать для души: оскомину набьёт быстро.

Начав изучать Scala, я с радостью обнаружил, что тут тоже много вкусностей, но до рубишных они не дотягивали: да, тоже можно делать так-то, но на Ruby всё равно вышло бы красивее.

Но все же в Scala есть такое место, где она может быть лаконичнее и красивее даже чем Ruby! Это цепочки коротких действий (map, filter, foreach) над коллекциями или, в общем случае, итераторами.

пятница, 9 ноября 2012 г.

Точки над константами слева.

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

В курсе компьютерной графики, который вёл на третьем курсе Денис Гладкий, были поставлены жёсткие требования к качеству кода, большинство их которых были признаны нами справедливыми и выполнялись. То были стандартные правила вроде отсутствия повторений и аккуратной работы с интерфейсами DirectX, желательно, путём заворачивания их в изящные обёртки.

Но два требования вызвали у нас серьёзный протест: окружать тело однострочных блоков условий и циклов фигурными скобками и писать в любых сравнениях константы слева. (Основным языком курса был C++) Основная мотивация ясна. Первое правило устраняет возможность ошибки при дописывании новой строчки к однострочному блоку и забывании таки окружить его при этом фигурными скобками. Второе ставит своей основной целью предотвратить ошибочное написание «=» вместо «==» в условиях, типа if(count = 0).

понедельник, 5 ноября 2012 г.

Комикс "Отцы и дети" (2006)

Около шести лет этот "шедевр" пылился в папке, но вчера, разбирая свои последние вещи из Новосибирска, я наткнулся на него и решил, что он должен увидеть мир :)

Итак, встречайте, одно из лучших творений 11-1 класса ФМШ, каким вы его любите, литературно-художественный мэшап по заказу Е. Н. Брыковой — «Отцы и дети»!

(Осторожно, много траффика! Картинки кликабельны)

пятница, 5 октября 2012 г.

Кубанско-сибирский разговорник

Предисловие

Мало кто знает, но помимо "профилирующих" физики и программирования и "внеклассного" рисования, я ещё и большой любитель русского языка — не без помощи Елены Николаевны Брыковой, за что ей большое спасибо. Поэтому за четыре месяца, что я непрерывно нахожусь в Краснодаре, я начал замечать некоторые отличия в местной разговорной речи от родной, сибирской. Некоторые из них могут оказаться полезны кому-то из гостей Кубани, некоторые просто любопытны и забавны для стороннего наблюдателя, поэтому я решил собирать такие слова, которые привлекли моё внимание. Итак, встречайте,

Кубанско-сибирский разговорник

(неполный и всё ещё пополняемый)

Кулёк — пакет любого размера, от маленького целлофанового до гигантского икеевского. Пример: (в супермаркете) Кулёк считать или у вас свой?

Под расчёт — без сдачи. NB: сибирский вариант "без сдачи" здесь вообще не работает. Примеры: (в маршрутке) За троих под расчёт возьмите. (в магазине) С вас 27.50, и будьте добры, под расчёт.

За — помимо основного значения, может заменять предлоги о, об, про и т.п. Примеры: Я тебе за это и говорю. А за лекцию мы ничего и не знали.

Прозвонить — позвонить с целью предупредить или договориться. Пример: (на занятии) В следующий раз увидимся в четверг, а насчёт времени и места я вам в среду прозвоню.

Полотенчик — тут всё ясно, уменьшительное от «полотенце», просто меня умиляет эта смена рода со среднего на мужской, равно как и её повсеместность даже среди грамотных людей. Пример: (у доктора) Завтра на УЗИ подойдёте в 9 натощак, и не забудьте полотенчик.


-- Небольшой экскурс в мир природы --

Дубки — цветы хризантемы (из-за похожести формы листьев)

Панычи — цветы цинии (без вариантов ☺).

Бесстыдница — дерево платан (за то, что летом сбрасывает кору и «оголяется»). Если же верить интернету, то так обычно называют эвкалипт шаровидный или земляничное дерево, но не здесь.

Если замечу ещё что-то интересное, буду добавлять. А если у вас есть что добавить — пишите!

UPD:

Шпаргалка-медведь — шпаргалка-бомба, то есть заранее полностью написанный ответ на один из билетов. Пример: На сессии я особенно люблю делать шпоры-медведи.

Самокат (самоэкзамен) — автомат, то есть экзамен, проставленный «автоматически», за особые заслуги. Пример: Осталось два экзамена, но по ним у меня самокаты.

воскресенье, 20 мая 2012 г.

Сори

В моей жизни всегда
было слишком много обмана
и
пора завязывать

Скажу честно

"
МНЕ НЕКОГДА ВЕСТИ МОИ БЛОГИ
"

Я потому и пишу много в тви, fb, вк итд, что это занимает доли секунды.

А на хороший пост в блоге уходят дни.
Я перфекционист.

Извините.
Буду писать лишь тогда, когда совсем будет нечего делать.

Впереди лето.
Надейтесь, что не займу себя какой-нибудь полезной фигнёй :)

Удачи и любви всем =)

воскресенье, 28 августа 2011 г.

Всё, что не убивает нас... нет, я не про макраме и бабочек

cybervantuz: Всё что нас не убивает, делает нас сильнее.Особенно сильными нас делают бабочки капустницы, макраме и тамбовская городская детская библиотека.

— башорг, #396820

Стоял сегодня на остановке в девятом часу, уставший, злой на весь мир. И вдруг пришло осмысление этой фразы про неубивание и делание сильнее. Я предлагаю более простую её формулировку, очевидную. «Все, кому на вас не пофиг, делают вас сильнее». Рассмотрим по пунктам.

суббота, 30 июля 2011 г.

Об эмоциях

Пришёл к такому выводу. Если действовать на волне своих эмоций, то ощущаешь гораздо больше драйва, чем если руководствоваться холодным рассудком. Зато совершаешь при этом намного больше ошибок, и серьёзных. Конечно, нельзя совсем не совершать ошибок, ведь именно на собственном опыте получаешь самые важные жизненные уроки. Некоторые умудряются полностью подавлять свои эмоции, но это вредно для психики: так и в маньяка недолго превратиться. Но нужно, как и всегда, знать меру и искать золотую середину. Словесный понос в Twitter и на Facebook, пара импульсивных покупок и других безумных поступков — симптомы одной болезни: за последние две недели я далеко отклонился от этой середины. Но когда последствия стало невозможно игнорировать, когда я начал вредить как своим друзьям, так и собственному здоровью, я, признаюсь, немного испугался. Это очень эффективно отрезвляет. Абсолютно рациональным человеком это меня не сделало, им я никогда и не был. Я просто понял, что иду в неверном направлении, и резко развернулся. Теперь главное снова не перескочить через двойную сплошную.