[00:32:18] <valexey> vlad2: вкушаешь стройность жабаскрипта? :-)
[00:45:48] <vlad2> И эти люди говорят про сложность перегрузки С++???
[00:51:17] <valexey> кстати, один оберонщик не знал что в js есть сборщик мусора :-)
[00:51:43] <valexey> хотя на js писал
[00:53:58] <valexey> o! vlad2 : http://habrahabr.ru/blogs/cpp/125564/
[00:54:33] <valexey> ПОЧЕМУ ТАМ НИКТО ОБЕРОН НЕ УПОМИНУЛ?!
[00:55:34] <vlad2> Ну у оберонщиков вообще зачастую кругозор крайне сужен. Паскаль и все...
[00:57:07] <valexey> ну, имеется тенденция к активной любви шарпа :-)
[00:57:24] <valexey> точнее, не так. к любви сквозь зубы.
[00:57:24] <valexey> :-)
[00:57:28] <valexey> ну и почему-то любви к винде.
[00:58:38] <vlad2> Ну любители юникса не могут не любить си :)
[00:59:45] <valexey> ну.. э-э.. черт.
[01:00:05] <valexey> хотя нет, могут! но только динозавры из эксельсиора :-)
[01:00:36] <valexey> но вообще, винда же тоже насквозь сишная. так что не вижу принципиальной разницы.
[01:02:22] <vlad2> Эх... не замутить ли мне message bus?
[01:02:23] <vlad2> Just for fun, так сказать...
[01:03:12] <valexey> ты что, этого же в плюсах сделать нельзя столь же эффективно как в абироне!
[01:03:20] <valexey> и чтобы так же безопасно было!
[01:03:51] <valexey> А статейка на хабре эта - она не про плюсы, а про жуткий перфекционизм некоторых. Бездумно соблюдая все гайды сразу - получишь какашшку.
[01:03:58] <vlad2> Просто не охота по иерархии рытся и кастить. Думаю проще будет мессэдж спустить кому надо.
[01:04:06] <valexey> Чо-то походу у людей чувства меры нету.
[01:04:22] <vlad2> Угу. Точно.
[01:05:10] <vlad2> На самом деле если наследование не нужно (а оно не нужно), то message bus можно через typeid сделать - вполне эффективно.
[01:05:27] <vlad2> Ну а если нужно - можно откопать мою реализацию на шаблонах.
[01:07:01] <valexey> интересно, господа оберонщики зацепятся за эту хабровую статью или нет? :-)
[01:09:56] <vlad2> А ты им кинул?
[01:10:15] <vlad2> Все, пошол мутить message bus
[01:10:42] <valexey> Не, не кинул. Мне религия кидать им не позволяет :-)
[01:10:45] <valexey> "И все бы ничего, если бы не потенциальная тормознутость Java по сравнению с C++.
А разработка-то на ней однозначно легче. По крайней мере можно не думать о бесконечных амперсандах и звездочках."
[01:14:06] <vlad2> Да-ад, кому-то мешают звездочки :)
[01:15:42] <valexey> и операция присваивания обозначается некошерным значком!
[01:16:45] <valexey> вот в ObjC психологически как-то тяжко, когда у тебя почти каждая строчка кода начинается с открывающейся скобочки.
[01:17:07] <vlad2> Да, мне было тяжко. Ибо синтаксис действительно...
[01:18:31] <valexey> но в общем то постепенно втягиваешься, начинаешь финкать дифферент и хочешь еще и еще!
[01:41:36] <valexey> врага надо знать в лицо! http://habrahabr.ru/blogs/net/125507/
[01:47:52] <valexey> ня. возможно мы тоже будем патентовать некоторые интерфейсные решения :-\
[01:47:59] <valexey> почти что даблклик :-)
[02:07:51] <vlad2> Коварный typeid...
[02:08:07] <vlad2> НЕ работает без виртуальных функций.
[02:08:59] <valexey> я знаю
[02:09:20] <valexey> rtti работает только для хреней с таблицами виртуальных функций.
[02:09:43] <valexey> таблица виртуальных функций это ж метаинформация времени исполнения.
[02:10:01] <valexey> поэтому там и тип можно где-то рядом хранить и вообще что хочешь еше.
[02:10:11] <valexey> это дескриптов объекта по сути :-) ну, то есть описатель.
[02:10:21] <vlad2> Да, но какого хера оно не ругается при компиляции?
[02:11:48] <valexey> хм. гм. надо посмотреть.
[02:12:23] <valexey> /me пшел смотреть
[02:13:16] <vlad2> Хе-хе. Заработала message bus :)
[02:13:39] <vlad2> Вроде ниче так получилось. Не страшно.
[02:13:53] <vlad2> Во всяком случае хак, для которого она нужна - страшнее :)
[02:14:16] <valexey> Ж-)
[02:15:12] <vlad2> Какие тебе маны нужны? Есть же стандарт ;)
[02:17:39] <valexey> вот стандарт в манах и хочу :-)
[02:17:57] <valexey> почему man printf показывает мне страничку с описаловом, а man cout  нет?
[02:18:03] <valexey> vlad2: алсо у меня все работает.
[02:18:22] <valexey> $ cat typeid.cpp
#include <iostream>
#include <typeinfo>

struct Foo
{
       int boo;
};

int main()
{
       Foo a;
       std::cout << typeid(a).name() << std::endl;
}

[02:18:45] <vlad2> И как? Ругается?
[02:19:25] <valexey> нет. нормально печатает.
[02:19:43] <valexey> с фига ли ему ругаццо? он же все знает на этапе компиляции :-)
[02:19:51] <valexey> $ ./a.out
3Foo

[02:20:35] <vlad2> Мда.
[02:20:44] <vlad2> Тогда это дваойной пипец.
[02:20:54] <vlad2> Тут работает - а ту не работает.
[02:21:29] <vlad2> Ты там наследование сделай ;)
[02:21:35] <vlad2> У тебя сразу все обломается.
[02:21:52] <vlad2> struct B : Foo
[02:22:12] <vlad2> Foo &a = b;
[02:23:05] <valexey> ути как хитро
[02:23:13] <valexey> ну ясен красен, что оно выдаст что тип будет Foo
[02:23:56] <valexey> $ cat typeid.cpp
#include <iostream>
#include <typeinfo>

struct Foo { int boo; };
struct Boo : Foo {char figa;};


int main()
{
       Boo b;
       Foo& a = b;
       std::cout << typeid(a).name() << std::endl;
}

[02:24:05] <valexey> $ ./a.out
3Foo

[02:24:16] <valexey> но это и правильно. и ошибок нет.
[02:24:45] <valexey> "It is generally only useful to use typeid on the dereference of a pointer or reference (i.e. typeid(*ptr) or typeid(ref)) to an object of polymorphic class type (a class with at least one virtual function) because these are the only expressions that are associated with run-time type information. The type of any other expression is known at compile time."
[02:36:27] <vlad2> Короче я забил на typeid и поставил dynamic_cast
[02:36:30] <vlad2> Ибо нефиг
[02:37:06] <valexey> ужас
[02:37:09] <valexey> он же тормоз!
[02:37:32] <valexey> кстати, а разве он работает без виртуала?
[02:38:16] <vlad2> Нет, не работает. Зато ругается, если виртуала нет ;)
[02:38:36] <vlad2> По поводу тормозов - всего лишь в 20 раз тормознее бэкбокса :)
[02:38:42] <vlad2> Так что...
[02:39:05] <valexey> 20 раз. гы
[02:39:05] <vlad2> premature optimization и все такое
[02:39:29] <vlad2> "O" все равно одинаковый ;)
[02:39:30] <valexey> морква всех эвилов!
[02:39:41] <valexey> Ну, про O это хаскелисты любят петь
[02:39:51] <valexey> Ну подумаешь в 100 раз медленней, один фиг О то же самое (на бесконечности)
[02:52:16] <valexey> гы. наш мюкроконтроллер по мощности (точнее по памяти) примерно соответствует Apple II
[02:54:19] <vlad2> Прошлый век ;)
[02:55:09] <valexey> ога
[02:55:27] <valexey> только тогда это был десктоп, а теперь хрень в часах, или в наушнике
[02:55:38] <valexey> работающая без перезарядки неделями.
[08:11:58] <geniepro> ⎝⓿⏝⓿⎠
[08:12:06] <geniepro> ٩(͡๏̮͡๏)۶

ت


[14:49:29] <valexey> Гы. ББ головного мозга детектед!
[14:49:42] <valexey> http://forum.oberoncore.ru/viewtopic.php?p=64463#p64463
[14:53:05] <geniepro> запускать ББ, что бы запускать ББ, что бы запускать ББ, что бы запускать ББ, что бы запускать ББ,... ))
[14:56:46] <geniepro> "ххх: Привет, че делаешь?
ууу: Играю со своей киской...
ууу: Всмысле с кошкой!!!
ууу: Я знаю о чем ты подумал козел!!!!
Пользователь "ууу" удалил Вас из списка друзей!"

)))
[15:18:24] <valexey> http://www.ozon.ru/context/detail/id/3670557/
[15:18:26] <valexey> жесть
[15:18:32] <valexey> стоимость книжки - жесть
[15:42:22] <valexey> logs
[15:42:26] <valexey> log
[15:42:28] <Жаба> valexey, Logs here: http://adaforge.qtada.com/jaba/log/oberon@conference.jabber.ru/
[16:40:58] <vlad2> Дык, мак ;)
[16:42:25] <valexey> скачал в chm и теперь радуюсь :-)
[16:46:10] <vlad2> На самом деле как бы не орали оберонщики об исключительной гибкости и расширяемости ББ - и его приходится переписывать (основательно), чтобы заставить работать для каких-то случаев.
[16:46:25] <vlad2> Вот только способны на это немногие представители.
[16:46:45] <vlad2> Предпочитают задачу под бб прогнуть :)
[16:46:59] <vlad2> (то самое "не нужно" :)
[16:51:28] <valexey> угу :-)
[16:51:37] <valexey> любой фреймворк не является гибким
[16:54:38] <vlad2> Угу. Либы априори гибче :)
[16:55:07] <valexey> угу. их хотя бы комбинировать в одном проекте можно без особой головной боли
[17:45:33] <valexey> гы-ы. 20 битные указатели
[17:59:37] <vlad2> Почему нет? :)
[18:01:36] <valexey> дык ведь жесть и содомия!
[18:01:47] <valexey> мир микроконтроллеров чудесат
[18:07:59] <valexey> vlad2: а как при 16ти битах жили в досе с >64 кбайт памяти? били память на страницы а затем их переключали?
[18:08:23] <vlad2> Ну типа.
[18:08:32] <vlad2> Сегментный регистрт был.
[18:10:13] <valexey> ага-а. а тут техасы пробуют и рыбку съесть и кой на что сесть
[18:10:32] <valexey> сохранить и обратную совместимость и оставить плоскую модель памяти
[18:10:41] <valexey> и расширить адресацию до мегабайта
[18:14:06] <valexey> капец. регистры 20ти битные
[18:14:11] <valexey> слово машинное - 16 бит
[18:14:25] <valexey> таким образом, для хранения указателя нужно тратить 4 байта памяти
[18:15:56] <vlad2> И что в этом плохого? :)
[18:16:06] <vlad2> Мало памяти? :)
[18:17:14] <vlad2> Ну сделай как в ДОСе, только вручную :) Храни массив 16 битных указателей + 1 "сегментный регистр".
[18:17:28] <vlad2> Потом всегда получешь 20 битный :)
[18:17:42] <valexey> в регистре хранить недостающие 8 бит? :-)
[18:17:47] <valexey> тьху, 5 бита
[18:17:49] <valexey> 4
[18:18:09] <valexey> ну памяти да, не много. аж 8 Кб :-)
[18:18:13] <vlad2> Не в регистре - а рядом с массивом :)
[18:18:59] <vlad2> struct { std::vector<uint16> addrs; unsigned char segment; };
[18:19:47] <valexey> или в глобальной переменной, чтобы было жить и отлаживаться веселее!
[18:19:50] <valexey> хо-хо-хо!
[18:19:54] <vlad2> ^)
[18:19:58] <vlad2> :)
[18:21:01] <valexey> форт какой-нибудь реализовать под этот msp что-ли :-)
[18:22:17] <valexey> хотя уже есть
[18:25:45] <valexey> "Ряд свойств, а именно интерактивность <http://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D1%81%D1%82%D1%8C>, гибкость и простота разработки делают Форт эффективным языком в прикладных исследованиях и при создании инструментальных средств."
[18:25:51] <valexey> Ну и зачем тогда оберон? :-)
[18:32:41] <vlad2> Угу :)
[18:42:42] <vlad2> Если в ассертах появляются сложные логические условия - значит функция должны быть разбита на две :)
[18:45:45] <valexey> сложные это какие?
[18:46:35] <vlad2> Больше двух :)
[18:46:50] <valexey> ну, если там логическое И, то это фигня
[18:47:07] <valexey> ибо последовательно идущие ассерты как раз эквиваленты этому самому И :-)
[18:47:47] <vlad2> Не, у меня было что-то типа (a && b) || (c && d)
[18:48:00] <vlad2> Причем следующие ассерты в том же духе.
[18:48:23] <vlad2> Функция пытается одновременно делать ращные вещи.
[18:48:27] <vlad2> Нафиг.
[18:48:41] <valexey> если там встречается или, то да, надо бить
[18:49:36] <vlad2> Проблема, конечно, в том, что вот чувствуешь, что надо бить, а как - не понятно.
[18:49:51] <vlad2> Зато потом - да, блин, именно так и надо, это ж очевидно :)
[18:51:34] <valexey> ога. с проектирование интерфейса пользователя также. месяц ходишь и думаешь, как же сделать.  а сделаешь - дык любому ламеру сразу очевидно, что вот именно так и надо было сразу делать. просто же? что месяц делал, не понятно :-)
[18:53:26] <vlad2> Угу :) Со вчерашнего дня медитирую тут. Простая вещь, а куча кода получается (с этими самыми ассертами) - что-то не так.
[18:57:05] <valexey> это все из за циклов не по Дейсктре :-)
[18:58:26] <vlad2> О. Сразу заработало :)
[18:58:47] <vlad2> Как только кода стало в три раза меньше, чем сначала :)
[18:58:54] <valexey> гы
[18:59:08] <valexey> Кстати, а правда что мелкософт chm закопал?
[18:59:17] <valexey> И что у них теперь какой-то другой формат справки
[19:00:50] <valexey> то есть вендопрогу теперь модно не с chm справкой поставлять а с чем-то иным
[19:00:51] <vlad2> Да, давно закопал.
[19:00:57] <vlad2> ХЗ, что у них сейчас.
[19:01:14] <vlad2> Всегда модно было в простом html :)
[19:01:14] <valexey> кошмар какой. а я только-только начал осозновать, что hlp устарел и надо на chm переходить
[19:01:22] <vlad2> Угу :)
[19:01:45] <valexey> достали постоянно все менять :-)
[19:03:36] <vlad2> Мля... не говори...
[19:04:15] <vlad2> Именно поэтому оберонщики имеют своих адептов ;) Цикл Дейкстры он и через 20 лет цикл Дейкстры.
[19:04:44] <valexey> ну это да. с другой стороны, pure c тоже рулит :-)
[19:04:51] <valexey> равно как и всякие мюкроконтроллеры
[19:05:53] <valexey> с третьей стороны, ББ активно от винды зависит. и с каждым годом кажется все более окаменевшей какашкой мамонта.
[19:06:03] <vlad2> Ну да, там тоже никаких chm :)
[19:06:16] <valexey> угу. свой велосипед для всего
[19:06:24] <valexey> а когда-то ведь ББ реально был передовой технологией
[19:06:48] <vlad2> Да, если бы M$ была эплом, то ББ уже не ранился бы вообще ;)
[19:06:50] <valexey> представь себе - год эдак 1994-1995, макось классика
[19:07:22] <valexey> народ стенает от MacApp переписываемый на плюсы мучительно
[19:07:27] <valexey> и тут бац, и ББ
[19:07:29] <valexey> кошерный
[19:07:41] <valexey> с современным интерфейсом и сборщиком мусора :-)
[19:11:33] <valexey> при том что он появился в 1992 году
[19:11:50] <valexey> ну, думаю к 1994 его как раз допилили примерно до текущего состояния :-)
[19:19:41] <valexey> между прочим, это классическое развитие событий - имеем продукт/технологию ультра современную (ББ например) => имеем пачку фанатов/пользователей, бурно развивается, и все хорошо. Затем развитие гаснет, все потихоньку загнивает, изменения минимальны. Лет через пять-десять после этого оставшиеся (и новые) фанаты в качестве одного из преимуществ этого продукта начинают называть то, что он активно не развивается.
[19:20:04] <valexey> и не гонется за современной модой. :-)
[19:20:55] <valexey> я это наблюдаю уже в нескольких сообществах такое
[19:34:54] <vlad2> Расскажи это info21 ;)
[19:36:03] <valexey> vlad2: кстати, не знаешь как докинуть до пендостана файло размером в 100 мегабайт?
[19:36:07] <valexey> через почту не пролазит
[19:36:13] <valexey> дропбокс не кошерен
[19:36:26] <valexey> да, файл не желательно показывать широкой публике :-)
[19:36:35] <vlad2> Пошли почтой ;)
[19:38:47] <valexey> не пролезет же 100 метровый файл
[19:41:34] <vlad2> Я имл ввиду snail mail :)
[19:42:07] <vlad2> На яндексе можно оставить.
[19:42:23] <vlad2> Ил и это и есть дропбокс?
[19:42:42] <valexey> дропбокс не подходит своим лицензионным соглашением :-)
[19:43:44] <valexey> зашифровал и на рапидшару выложил :-)
[20:23:34] <vlad2> А чем нынче модно шифровать?
[20:23:56] <valexey> я тупо в опциях зипа -e указал
[20:24:05] <valexey> наверно это фиговый лист, но у меня не шибко секретные данные :-)
[20:24:33] <vlad2> А что такое e?
[20:24:41] <valexey> опция такая :-)
[20:25:04] <valexey> -e     Encrypt the contents of the zip archive using a password which is entered on the terminal  in  response  to  a  prompt
             (this  will  not  be  echoed;  if  standard  error is not a tty, zip will exit with an error).  The password prompt is
             repeated to save the user from typing errors.  Note that this encrypts with standard pkzip encryption which is consid‐
             ered weak.
[20:25:31] <vlad2> Ну так бы и сказал - пароль с архивом :)
[20:25:48] <vlad2> Белые люди архивируют в ФАРе и не знают, что такое -е :)
[20:26:12] <valexey> а я макосьная нигра, поэтому я знаю что такое e, и читаю маны :-\
[20:27:53] <valexey> ну, либа надо какие-то десктопные гуевые утили ставить
[20:27:55] <valexey> а мне лениво
[22:24:21] <vlad2> Да, message bus пережила этап прототипирования и похоже войдет в конекчный код :)
[22:24:36] <vlad2> привет оберонщикам!
[22:25:35] <valexey> :-)