[01:14:32] <vlad2> vаlexey: куда ездил-то? На новую работу? ;)
[03:15:45] <vlad2> На какие только извращения люди не идут, лишь бы потоки не использовать :) http://forum.oberoncore.ru/viewtopic.php?p=84151#p84151
[17:55:59] <alexey.veselovsky> vlad2: а зачем там многопоточность? ну, то есть в веб-сервера она в общем то реально не нужна
[17:56:16] <alexey.veselovsky> использовать в веб-сервере вместо асинхронного IO многопоточность - моветон.
[19:23:29] <vlad2> Ну я на это смотрел исключительно со стороны гуевого приложения. Как там внбсервера пишутся - я не в курче.
[19:24:00] <alexey.veselovsky> да и для гуев в общем то тоже не шибко нужно, если у тебя нет чего-то сильно вычисляющего
[19:25:26] <vlad2> Не-не. Извините. Мы это уже проходили. Нах-нах.
[19:25:37] <alexey.veselovsky> э?
[19:26:14] <vlad2> Весь ИО не связанный непосредственно с интеракшином - только по потдельным потокам.
[19:26:39] <alexey.veselovsky> в смысле? почему?
[19:26:58] <alexey.veselovsky> если этот IO ни разу не блокирующий то.
[19:27:25] <vlad2> Потому что какой-нибудь коннекшин отвалится только потому, что юзер слшком много данных импортирует.
[19:27:49] <vlad2> А асинхронность = головная боль.
[19:27:53] <alexey.veselovsky> гм. не понял. как оно отвалится, если IO асинхронное?
[19:28:07] <alexey.veselovsky> асинхронность - головная боль только если не уметь его готовить :-)
[19:28:36] <alexey.veselovsky> есть же fiber’ы или иные кооперативные и не очень многозадачности которые не требуют многопоточки
[19:29:26] <vlad2> Я тебе говорю как человек лично выдравший кооперативную многозадачность с йелдами в асинхронном ИО - такого кошмара я больше не потерплю.
[19:30:14] <alexey.veselovsky> гм. а я писал и разбирался в коде писанным без многопоточки вот в таком вот стиле. и все было хорошо.
[19:30:22] <vlad2> Причем те, кто это делал видимо тоже были уверены, что они умеют готовить асинхронный ИО :)
[19:30:36] <alexey.veselovsky> возмжно это было так просто потому, что там это дело умели готовить, и уж точно не пытались это писать на Си? :-)
[19:30:50] <vlad2> Очень может быть.
[19:31:47] <alexey.veselovsky> хотя к КП это конечно никаким боком не относится - там поддержки таковой в языке нет, а в виде либы тоже не сделать абстракций вменяемых.
[19:32:05] <vlad2> Там есть actions по таймеру.
[19:32:18] <vlad2> И 100% загрузка КПУ (тоже проходили)
[19:32:22] <alexey.veselovsky> ну, это ж не язык, это ББ, и это сделано криво
[19:32:31] <alexey.veselovsky> я тоже проходил :-)
[19:33:25] <alexey.veselovsky> vlad2: помнишь я делал видео во вьюшке в ББ?
[19:33:33] <vlad2> С отдельным потоком, который ждет или ИО или терминэйта все резко упрощается.
[19:33:34] <alexey.veselovsky> и помнишь как пришлось извращаться чтобы 30 fps получить?
[19:33:44] <vlad2> Да, помню.
[19:33:54] <alexey.veselovsky> это ж жуть!
[19:34:17] <alexey.veselovsky> то есть там нужно вкорячивать костыль напрямую через WinAPI
[19:34:35] <alexey.veselovsky> который заставляет ББ активней дергаться во всех его частях тела
[19:35:04] <vlad2> Да, при этом все пассажи петрухи по поводу того как он ненавидит все АПИ, кроме ламповогшо фрэймворка выглядят... гхм... снепрофессионально.
[19:35:41] <vlad2> Кстати, ты осили тему про FOR?
[19:35:52] <alexey.veselovsky> причем, казалось бы, чего проще - взять и добавить возможность создавать независимые таймеры для тех кому это надо. То есть на уровне фреймворка.
[19:35:57] <alexey.veselovsky> Неа, не осилил.
[19:36:10] <alexey.veselovsky> Мне это не кажется сколь либо важным, по сравнению со всем остальным :-)
[19:37:25] <alexey.veselovsky> не, то есть хоть FOR хоть WHILE пиши - погоды оно не сделает особой :-)
[19:38:03] <vlad2> Мне кажется товарищ ddn из лагеря драконоидов...
[19:38:12] <alexey.veselovsky> чо это?
[19:38:36] <vlad2> Ну поклонники Дракона.
[19:38:54] <vlad2> Типа Влада Жаринова.
[19:39:29] <vlad2> Вот я помню в универе писал вычисление детерминанта и не помню, чтоб там было 5 вложенных циклов...
[19:40:59] <alexey.veselovsky> а что он там написал? если кратко
[19:41:36] <vlad2> Я еще не вкурил :)
[19:44:06] <alexey.veselovsky> ну, то есть у меня моск выдал ошибку уже вот тут :
[19:44:13] <alexey.veselovsky> “Оператор FOR зло уже потому что модифицирует пространство имен, превращая свой счетчик из VAR-переменной в IN-переменную в своем операторном параметре”
[19:44:39] <alexey.veselovsky> если говорить о Обероне, то в каком месте он что-то там делает с пространством имен вообще?
[19:44:55] <alexey.veselovsky> Там же вроде как с индексом можно извращаться как угодно унутре
[19:45:03] <alexey.veselovsky> менять его там...
[19:46:39] <vlad2> Ага. И это типа плохо.
[19:47:02] <alexey.veselovsky> не, ну ведь он говорит наоборот - плохо если FOR меняет область видимости
[19:47:08] <alexey.veselovsky> а он, в Обероне, НЕ МЕНЯЕТ!
[19:51:13] <vlad2> Во. Я пока еще смог ответить :)
[19:56:26] <alexey.veselovsky> да, выглядит так, будто пытаются разложить все по полочкам чисто ради раскладывания по полочкам. даже если в результате этого раскладывания найти что-либо станет сложнее.
[19:57:11] <vlad2> Угу.
[19:57:29] <alexey.veselovsky> ну, вообще да, такая модель для какого-нибудь дракона подходит лучше. в одном месте написали список переменных, а потом раздраконили алгоритмы в схему
[19:57:50] <alexey.veselovsky> не нужно рисовать множество вложенных прямоугольников с надписями где какие переменные
[19:59:15] <vlad2> Дракон - алгоритмы без данных :)
[19:59:25] <alexey.veselovsky> угу :-)
[19:59:32] <vlad2> Очень правильное высказывание, кстатиж.
[19:59:57] <vlad2> Сразу отсекает области неээфективного применения.
[20:00:07] <alexey.veselovsky> ога
[21:06:03] <alexey.veselovsky> блин. вот до чего доводит отсутствие выосокоуровневых средств в ЯП: https://github.com/videolan/vlc/blob/master/lib/video.c#L91
[21:06:23] <alexey.veselovsky> на плюсах наверняка было бы написано более вменяемо
[21:08:18] <alexey.veselovsky> вот еще замечательный образчик:
[21:08:29] <alexey.veselovsky> /* Create a variable for showing the fullscreen interface */
var_Create( p_libvlc, "intf-toggle-fscontrol", VLC_VAR_BOOL );
var_SetBool( p_libvlc, "intf-toggle-fscontrol", true );
[21:14:09] <vlad2> Ужос!
[21:14:21] <alexey.veselovsky> и там вот все в таком стиле писано!
[21:15:33] <geniepro> у них там на оберонкоре есть чудик с ником bill -- отжигает нипадеццки )))
"Я реально книжный червь, могу понескольку раз перечитать энциклопедии, только читать легко а понять нет. Сложные книги не смогу переварить, так что просьба посоветуйте книжки для школьников и начинаюших. Хочу получить миллион за решение задачи N/NP классов, только кроме википедии ничего солидного не прочитал." http://forum.oberoncore.ru/viewtopic.php?f=35&t=4622
[21:16:02] <alexey.veselovsky> да ужж..
[21:16:19] <alexey.veselovsky> не первый раз замечаю, что Оберон прям таки притягивает неадекватов!
[21:16:25] <vlad2> Да мы вроде уже прикалывались.
[21:16:31] <alexey.veselovsky> (вот например нас тут :-) )
[21:16:31] <vlad2> Типа школьник.
[21:16:37] <vlad2> Но оказался студентом :)
[21:17:04] <Jordan> это кто?
[21:17:06] <geniepro> по моему -- он весьма опытный тролль, жирно откормленный )
[21:17:15] <vlad2> Да не.
[21:17:47] <geniepro> ну по-любому -- единственный весёлый чувак в коровнике )
[21:18:01] <alexey.veselovsky> не понял, а как же Рыжий?!
[21:18:14] <vlad2> рыжего читать трудно
[21:18:31] <geniepro> рыжий во-первых шизик, а во-вторых куда-то пропал уже )
[21:18:36] <alexey.veselovsky> трудно, но весело! Вот Жаринова - да, трудно.
[21:18:42] <alexey.veselovsky> А Рыжего вполне нормально.
[21:18:47] <vlad2> Там, кстати, мадзи жгет. На тему некошерного END и выходов из циклов :)
[21:19:05] <geniepro> Драконографа читать трудно и совсем невесело )
[21:19:31] <alexey.veselovsky> ух! ObjC как глоток свежего воздуха после Сишного кода VLC!
[21:19:48] <geniepro> вапще, эти тёрки по поводу циклов меня удивляют -- уже 40 лет назад их перетёрли, а оберонщеги до сих пор обсуждают )
[21:19:50] <vlad2> Хе-хе.
[21:20:21] <alexey.veselovsky> да блин, нашли самую большую проблему современности, ага.
[21:20:25] <vlad2> Да ты че. Первый general purpose язык с ЦД и без выходов из циклов!
[21:20:54] <vlad2> (за 40 лет)
[21:21:17] <geniepro> не уверен, что первый... наверняка были и раньше -- в конце кончов, языков программирования несколько тысяч уже, никто их всех знать не может
[21:22:24] <Jordan> Проблема в КП это повальный system.
[21:22:36] <alexey.veselovsky> скорее в ББ :-)
[21:22:36] <vlad2> Вот погодите, я выкачу методы для О7... :)
[21:22:47] <vlad2> И будетодлним языком больше!
[21:22:49] <Jordan> Причём system не стандартизированный.
[21:22:53] <alexey.veselovsky> о-о, е-е!
[21:23:07] <Jordan> Ассемблер на ровном месте.
[21:23:16] <Jordan> Но высокоуровневый.
[21:23:34] <alexey.veselovsky> vlad2: кстати, название для расширенного Оберона-07 -- Обертон. По моему, самое оно :-) И узнаваемо, и по смыслу подходит.
[21:24:02] <Jordan> Обертон прайм :-)
[21:24:08] <Jordan> Обертрон
[21:24:28] <alexey.veselovsky> http://ru.wikipedia.org/wiki/Обертон <http://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D0%B5%D1%80%D1%82%D0%BE%D0%BD>
[21:24:56] <alexey.veselovsky> http://ru.wikipedia.org/wiki/Оберон_(персонаж) <http://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D0%B5%D1%80%D0%BE%D0%BD_(%D0%BF%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%B6)>
[21:24:59] <vlad2> Поздняк. Уже сабмитнут как eberon :)
[21:25:10] <alexey.veselovsky> “В поэме «Гуон Бордосский <http://ru.wikipedia.org/wiki/%D0%93%D1%83%D0%BE%D0%BD_%D0%91%D0%BE%D1%80%D0%B4%D0%BE%D1%81%D1%81%D0%BA%D0%B8%D0%B9>» рыцарь Гуон попадает в феерическую страну <http://ru.wikipedia.org/wiki/%D0%A1%D1%82%D1%80%D0%B0%D0%BD%D0%B0_%D1%84%D0%B5%D0%B9> Оберона. Тот дает ему чудесный рог и затем по звуку этого рога всегда приходит ему на помощь.”
[21:26:43] <vlad2> Орогорн!
[21:26:49] <vlad2> Сейчас опять начнется.
[21:27:25] <geniepro> назовите его Порноберон и не парьтесь )
[21:27:54] <geniepro> ну а чо, есть жи линупс Пидора, чо бы Порноберону не быть )
[21:28:12] <alexey.veselovsky> Поберон :-)
[21:29:31] <Jordan> Пидора так и осталось офиц названием?
[21:29:42] <Jordan> Переименовали?
[21:30:09] <vlad2> Обещали в следующем релизе переименовать.
[21:31:23] <geniepro> я не понимаю, зачем переименовывать? ведь на западе такая мощная ЛГБТ-пропаганда, для них это название прямо родное же )))
[21:31:42] <alexey.veselovsky> для них то как раз нет :-)
[21:32:10] <geniepro> ну.... для средней азии -- россия вполне запад )))
[21:32:27] <alexey.veselovsky> у нас же это законодательно запрещено
[21:32:27] <geniepro> ну ладно, север ))
[21:32:31] <vlad2> Мощная ЛГБТ пропаганда только в россии ;)
[21:32:34] <alexey.veselovsky> пропаганда
[21:32:48] <Jordan> Как так.
[21:32:56] <Jordan> Какие ваши доказательства.
[21:33:08] <geniepro> а, в России это называется пропагандой, а в Америках это просто всего навсего образ жизни ))
[21:33:20] <vlad2> Только и делают, что в СМИ мусолят.
[21:33:41] <alexey.veselovsky> http://ru.wikipedia.org/wiki/Законодательные_запреты_пропаганды_гомосексуализма_в_России <http://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%BA%D0%BE%D0%BD%D0%BE%D0%B4%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%BF%D1%80%D0%B5%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%BF%D0%B0%D0%B3%D0%B0%D0%BD%D0%B4%D1%8B_%D0%B3%D0%BE%D0%BC%D0%BE%D1%81%D0%B5%D0%BA%D1%81%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%BC%D0%B0_%D0%B2_%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D0%B8>
[21:34:02] <vlad2> А товарищ Милонов - главный пидар :)
[21:34:07] <Jordan> Вот почему кипишь то у ЛГБТ ьыл.
[21:34:10] <Jordan> был
[21:34:52] <geniepro> ху из товарищ Милонов? ))
[21:34:56] <alexey.veselovsky> http://ru.wikipedia.org/wiki/Законодательные_запреты_пропаганды_гомосексуализма_в_России#.D0.9E.D0.BA.D0.BE.D0.BD.D1.87.D0.B0.D1.82.D0.B5.D0.BB.D1.8C.D0.BD.D0.B0.D1.8F_.D0.B2.D0.B5.D1.80.D1.81.D0.B8.D1.8F_.D0.B8_.D0.BF.D1.80.D0.B8.D0.BD.D1.8F.D1.82.D0.B8.D0.B5_.D0.B7.D0.B0.D0.BA.D0.BE.D0.BD.D0.BE.D0.BF.D1.80.D0.BE.D0.B5.D0.BA.D1.82.D0.B0 <http://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%BA%D0%BE%D0%BD%D0%BE%D0%B4%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%BF%D1%80%D0%B5%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%BF%D0%B0%D0%B3%D0%B0%D0%BD%D0%B4%D1%8B_%D0%B3%D0%BE%D0%BC%D0%BE%D1%81%D0%B5%D0%BA%D1%81%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%BC%D0%B0_%D0%B2_%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D0%B8#.D0.9E.D0.BA.D0.BE.D0.BD.D1.87.D0.B0.D1.82.D0.B5.D0.BB.D1.8C.D0.BD.D0.B0.D1.8F_.D0.B2.D0.B5.D1.80.D1.81.D0.B8.D1.8F_.D0.B8_.D0.BF.D1.80.D0.B8.D0.BD.D1.8F.D1.82.D0.B8.D0.B5_.D0.B7.D0.B0.D0.BA.D0.BE.D0.BD.D0.BE.D0.BF.D1.80.D0.BE.D0.B5.D0.BA.D1.82.D0.B0>
[21:37:12] <geniepro> дети -- как пластилин, что лепишь -- то и вылепишь
лепишь лгбтшника -- вылепишь пидара или лесби
[21:37:30] <alexey.veselovsky> на самом деле это не совсем так
[21:37:40] <alexey.veselovsky> можно в результате легко получить аццкого гомофоба
[21:39:07] <geniepro> В ответ на принятый законопроект гей-активисты вышли с одиночными пикетами к костромской областной детской библиотеке с плакатами «Гомосексуальность это норма» и «Кто защитит подростков геев?».[52] Им было предъявлено обвинение в «пропаганде гомосексуализма», однако 23 марта 2012 года мировой суд в Костроме признал их невиновными.[52][53]
[21:39:39] <Jordan> Ну вот... Нафика тогда закон...
[21:39:50] <alexey.veselovsky> дык они небось вышли ДО ТОГО как закон вступил в силу
[21:40:01] <geniepro> вот как это моюет быть нормой? норма -- это существенно больше 50%, думаю, это долюно быть больше 62%. так и что, если гейство норма, то две трети населения -- геи? нет же, а значит ни хера не норма
[21:40:03] <alexey.veselovsky> там довольно большая задержка от принятия до вступления закона в силу
[21:40:08] <Jordan> Ах хитрюги
[21:40:18] <vlad2> Милонов: http://www.vesti.ru/doc.html?id=1149120
[21:40:40] <alexey.veselovsky> geniepro: ну то есть по твоему ни мужской пол ни женский пол нормой не являются? :-)
[21:40:46] <alexey.veselovsky> ибо и тех и других меньше двух третей :-D
[21:40:59] <vlad2> Ну в общем и целом: http://lurkmore.to/%D0%92%D0%B8%D1%82%D0%B0%D0%BB%D0%B8%D0%B9_%D0%9C%D0%B8%D0%BB%D0%BE%D0%BD%D0%BE%D0%B2
[21:41:01] <alexey.veselovsky> и одного из них больше 50 процентов, а другого меньше
[21:41:19] <geniepro> это уже другое
[21:41:27] <alexey.veselovsky> да нет, не другое :-)
[21:42:09] <geniepro> половой диморфизм устроила природа, для того что бы ускорить эволюцию и разнообразие генофонда
[21:42:12] <alexey.veselovsky> гомосексуализм это в общем то вполне нормально. это не причуда современной (или какой-то там другой) культуры. это как бэ от природы :-) ну, то есть у других животных это тоже имеется
[21:42:24] <geniepro> а вот например гермафродитизм -- эе не норма
[21:42:46] <alexey.veselovsky> половой деморфизм, это не то что ты думаешь :-) и он как раз у человека почти отсутствует
[21:42:53] <Jordan> Ах как легко назвать человека латентным гомосеком. Прям универсальный ответ.
[21:42:58] <alexey.veselovsky> а вот у, скажем, горилл он явно выражен
[21:43:02] <Jordan> Лурк не зачот.
[21:45:36] <Jordan> Одно дело проявление и исправление наклонности, другое дело культивирование.
[21:45:45] <geniepro> Виталий Милонов (Рыжий Властелин, Милонна, Мудило с кадилом
[21:45:47] <geniepro> ))
[21:46:27] <alexey.veselovsky> ну, на самом деле тут как обычно идет бездумная борьба гомофобов с гомосексуалистами, на эмоциях и с нулем мозга с обоих сторон
[21:46:56] <Jordan> Ты о чём? О законопроекте?
[21:47:01] <alexey.veselovsky> на самом деле, все ведь банально - нужно просто не обращать внимание на сексуальные предпочтения если ты не собираешься сексуальную связь с человеком данным иметь.
[21:47:05] <geniepro> У самок сумчатых есть два влагалища, которые имеют общее выходное отверстие, но ведут к двум разным отделам внутри матки. Соответственно, половой член самцов — как вилка с двумя зубцами. Детёныши сумчатых обычно развиваются в наружной сумке, в которой находятся молочные железы. Новорожденный, полуоформленный эмбрион, прикрепляется к железе и постепенно завершает постнатальное развитие.
[21:47:07] <geniepro> о_О
[21:47:25] <Jordan> Алексей стоп.
[21:47:28] <alexey.veselovsky> вот и все.
[21:47:34] <Jordan> Законопроект был о запрете пропаганды.
[21:47:52] <Jordan> А не о том, что бы запретить двум мужикам друг друга шпилить.
[21:47:59] <geniepro> У самцов и самок птиц есть клоака, отверстие, через которое выходят наружу яйца, сперма и продукты выделения. Совокупление происходит при соединении губ клоак самца и самки, причём у самца стенки клоаки немного выворачиваются наружу. Таким образом самец переносит сперму в клоаку самки. Этот процесс иногда называется «поцелуй клоак»
[21:48:10] <geniepro> о_О кто пишет эту больную википедию ))
[21:48:17] <geniepro> «поцелуй клоак»
[21:48:20] <Jordan> Проблема, в интеграции геев.
[21:48:20] <alexey.veselovsky> (если на то пошло, то два мужика гомосексуала, по статистике, обычно друг друга таки не шпилят - это распространенное заблуждение)
[21:48:53] <Jordan> Наличие прав. таких как офиц оформление отношений.
[21:48:59] <geniepro> Алексей, откуда у тебя такая статистика? ты меня пугаешь ))
[21:49:09] <alexey.veselovsky> а я читал исследование по этому поводу
[21:50:00] <alexey.veselovsky> jordan: да пофиг на такие права даже. важнее другое - когда детям объясняют какие есть средства контарцепции и для чего, нужно рассказывать про ВСЕ варианты, а не только “традиционные”
[21:50:22] <alexey.veselovsky> ибо иначе могут возникнуть проблемы с теми же вен. заболеваниями.
[21:50:38] <alexey.veselovsky> а по новому закону это делать банально нельзя
[21:50:46] <Jordan> Это серьёзная проблема.
[21:50:53] <geniepro> короче, я считаю, что для достижения Россией полноценной независимости ей нужно поднять население до полумиллиарда тел. а повсеместное распространение лгбт будет попросту мешать достижению этой цели
поэтому, имхо, России не нужны ни геи, ни лесби. особенно геи, ибо два мужика ребёнка не родят
[21:51:33] <alexey.veselovsky> geniepro: искореннение лгбт как явления (ну, скажем поголовный отстрел) снизит, вообще говоря, репродуктивную функцию женщин
[21:51:57] <Jordan> Не понял. Где связь.
[21:52:03] <geniepro> ну не растрел, это уже перегиб, а просто не афишировать -- то есть запрет пропаганды
[21:52:10] <alexey.veselovsky> ибо ген отвечающий за гомосексуальность у мужчин как раз таки значительно репродуктивную функцию у женщин повышает. настолько, что этот ген не отсеивается отбором
[21:52:39] <geniepro> откуда эти сведения о таком гене? опять от наркоманки Асены? ))
[21:52:42] <alexey.veselovsky> говорю же - там намного интересней и сложнее механизмы, возникновения гомосексуальности этой у человека и других близких к нам животных
[21:53:06] <alexey.veselovsky> скорее от Маркова
[21:53:10] <alexey.veselovsky> и не только
[21:53:50] <Jordan> И что за источник? Сумашедший профессор?
[21:53:55] <alexey.veselovsky> сейчас же я вижу просто банальное эмоциональное противостояние. прямые одношаговые решения принимаемые одноклеточными с обоих сторон
[21:53:58] <Jordan> Про ген.
[21:54:22] <geniepro> Клоака — расширенная конечная часть задней кишки у некоторых позвоночных животных.
Клоака — редко используемый синоним слова «канализация».
Клоака — в переносном значении, какое-либо сильно грязное место (например, общественный туалет).
Большая Клоака (лат. Cloaсa Maxima) — канализация под Римским форумом.
[21:54:25] <alexey.veselovsky> не, насколько я знаю, это уже почти мейнстримная гипотеза
[21:54:33] <geniepro> предлагаю переименовать коровник в клоаку ))
[21:54:53] <Jordan> Гипотеза
[21:55:03] <Jordan> Именно что гипотеза
[21:55:16] <Jordan> Тут факты нужны, а не мэйнстрим
[21:55:39] <Jordan> Где тесты, где выборка, какие основания.
[21:55:49] <Jordan> ЛГБТшный заказ.
[21:56:27] <alexey.veselovsky> кроме того, у близких к нам видов, например у шимпанзе, гомосексуальность служит для снижения внутривидовой агрессии и улучшения сотрудничества внутри “коллектива”
[21:56:49] <alexey.veselovsky> ну и гомосексуальные игры собственно даже у крыс наблюдаются :-)
[21:56:58] <Jordan> Шимпанзе не на том уровне социализации и взаимодействия чем человек.
[21:57:16] <geniepro> о! Влад, а переименуй Еберон в Клоакерон )))
[21:57:20] <alexey.veselovsky> речь идет о базовой психологии, она у нас очень похожа
[21:57:52] <geniepro> психопатологии, ты хотел сказать )
[21:58:01] <Jordan> Очень похожа. Но это как с хромасомами, вроде изменить одну и пошли количественные и не похожие изменения.
[21:58:24] <alexey.veselovsky> блин, ну подумайте сами, почему это за миллионы лет не отсеялось отбором :-)
[21:58:29] <Jordan> Вот эта чуть непохожесть, семимильный мост. Между человеком и животным
[21:58:40] <alexey.veselovsky> человек это и есть животное
[21:58:40] <geniepro> так эта, мутации постоянные, портят генофонд типа )
[21:59:01] <alexey.veselovsky> неа, это не мутации постоянные. это вполне конкретная штука.
[21:59:02] <Jordan> Уже нет. присутствует та самая непохожесть.
[21:59:14] <alexey.veselovsky> man животное
[21:59:17] <alexey.veselovsky> :-)
[21:59:20] <geniepro> Jordan: не ну так если подумать, многие человеки не отличаются от животных ))
[21:59:23] <alexey.veselovsky> еще точнее - мы звери
[21:59:39] <alexey.veselovsky> а еще мы хордовые :-)
[21:59:43] <geniepro> alexey.veselovsky: ага, узконосые обезьяны если ещё точнее )
[21:59:50] <alexey.veselovsky> угу
[22:00:02] <alexey.veselovsky> такс, узконосые обезъяны. я домой пошел
[22:01:36] <geniepro> во! когда инфо21 в следующий раз заглянет в оберспейс, я обязательно поприветствую его словами: "Здравствуйте, дорогая вы наша узконосая обезьяна!" ))) он же обожает напоминать всем что мы -- приматы )))
[22:02:09] <Jordan> Придлоги вроде, они ведь не мешают или не афишируют свои отношения, несерьёзны. Так при любом ослаблении, ЛГБТ пытаются продвинуться ещё дальше. Так как банально не хотят быть "вторым сортом". Равенство в правах и т.д
[22:02:34] <Jordan> Допустим тот же ББ.
[22:03:04] <geniepro> о_О а при чёс здесь ББ? )) тогда уж гейфон ))
[22:03:19] <Jordan> Некоторое сообщество считает ББ как универсальное средство, и всё что не ББ плохо и т.д
[22:03:37] <geniepro> ну пусть считают, лишь бы на глаза мне не попадались )))
[22:03:45] <Jordan> Вот это просто пример.
[22:04:59] <Jordan> Если дать заинтересованным лицам возможность так скажем продвигать свои идеи они будут делать, это. Любые поблажки стимулируют их.
[22:09:46] <Jordan> Влад, Какие фичи уже доступны в ебероне? Расширизмы.
[22:09:46] <geniepro> Jordan: если хочешь реально отдистанцироваться от животного происхождения, то тебе дорога в трансгуманизм )
[22:11:30] <Jordan> Я не об это говорил.
[22:11:38] <geniepro> При этом в качестве примеров пропаганды гомосексуализма депутатом от фракции ЛДПР Еленой Бабич были названы, в частности, размещение фразы «Гей, славяне» на первых полосах газет, наличие в городе учреждений с названием «Радуга», изображений Петра I на фоне радуги.[57][58]
[22:11:40] <geniepro> ))
[22:12:10] <geniepro> Когда появилась фраза "Гей, славяне!" -- ещё никаких лгбтшников в природе не существовало )
[22:12:35] <Jordan> Вот она монополизация слов и смысла на них.
[22:15:06] <geniepro> http://forum.oberoncore.ru/viewtopic.php?f=82&t=2573
Peter Almazov Заголовок сообщения: две базовые формы цикла - бред?
Добавлено: Понедельник, 19 Апрель, 2010 21:39
--------
Валерий Лаптев писал(а):
Запостил в РСДН тему: Как учить технике программирования. Народ - не врубается... То есть даже не понимает проблему - обучение технике...
Тяжело разговаривать.
О двух базовых формах цикла - понятия не имеют. Ощущаю себя миссионером-просветителем...
Среди профессиональных программистов.
--------
Вы не слишком там усердствуйте. Потому что две базовые формы цикла - это бред здешнего форума.
[22:17:15] <Jordan> Вот интересно, как тогда без этих знаний, программируют. Возможно, что проблема преувеличена.
[22:18:32] <Jordan> А есть ссылка на рсдн?
[22:19:25] <Jordan> http://rsdn.ru/forum/education/3779381.flat#3779381
[22:20:18] <geniepro> видимо да
[22:21:14] <Jordan> Весь сыр бор for vs while? for перебор, while перебор с условием окончания к примеру.
[22:21:46] <Jordan> В си и с++ for универсален, из за этого возможно и не врубаются.
[22:21:59] <Jordan> Что это это разные техники.
[22:22:15] <geniepro> От: 31415926
LVV>Кроме того, Илья Ермаков пришел к тем же идеям. Он не только студентов обучает, но и сотрудников для своей конторы готовит, то есть производственник. И отнюдь не физик.
Ну — если сам Илья Ермаков.... Кстати — он кто такой? Губернатор острова Борнео?
[22:22:16] <geniepro> ))
[22:23:09] <vlad2> Jordan: в ебероне будут методы (в процессе еще).
[22:23:28] <geniepro> vlad2: а де репозиторий-то? )
[22:24:25] <vlad2> https://github.com/vladfolts/oberonjs/tree/master/src/eberon
[22:24:52] <geniepro> D>>А можно узнать, задача вычисления факториала — это задача на перебор или на поиск?
LVV>На перебор.
А числа Фибоначчи посчитать?
[22:25:09] <geniepro> вапще-то это же поиск значения функции при заданном аргументе
[22:25:20] <Jordan> Так стоп перебор и есть поиск.
[22:25:38] <Jordan> Перебираем что то в поиске с условием
[22:26:20] <Jordan> Или я не прав?
[22:26:48] <geniepro> нузывать перебором любой поиск -- это имхо перебор )))
[22:27:10] <Jordan> Будет ООП. Методы будут объявлять в RECORD или какое слово типа CLASS будет?
[22:27:32] <geniepro> поиск полным перебором или неполным...
[22:27:46] <Jordan> Ну то есть в любом случае нужно перебирать.
[22:28:40] <Jordan> Поиск это перебор с условием
[22:28:46] <Jordan> окончания
[22:29:01] <geniepro> у меня один сотрудник никак не мог поверить, что при двоично поиске в массиве с миллионом элементов нужно не более 20 выборок )))) лол, и ведь программы пишет))
[22:29:22] <vlad2> Методы будут объявляться в RECORD вместе с филдами.
[22:29:40] <geniepro> в сортированном массиве*
[22:29:58] <geniepro> vlad2: методы аля КП?
[22:29:59] <Jordan> Да это и предполагает использование бин поиска
[22:30:24] <Jordan> Всё же перебор происходит, но неполный.
[22:30:26] <vlad2> Сначала взял из КП, в тогде получается ничего нет из КП :)
[22:30:33] <vlad2> (пока)
[22:31:00] <vlad2> В КП принципиально не нравится то, что декларация метода оторвана от RECORD
[22:31:28] <geniepro> конкретно фибоначчи: самый быстрый способ расчёта -- алгоритмом с умножением матриц. никакого поиска
[22:31:35] <vlad2> Отсупервызовов а-ля КП тоже отказался (писал здесь почему)
[22:33:39] <Jordan> Теперь понял.
[22:33:40] <vlad2> КП-ые атрибуты ABSTRACT, NEW - тоже не нужны (пока)
[22:34:02] <Jordan> ABSTRACT там для чего?
[22:34:02] <geniepro> не всякий поиск -- перебор, не всякий перебор -- поиск
[22:34:26] <geniepro> абстарктные записи нельзя создавать, можно лишь наследовать
[22:34:28] <vlad2> Для обозначение того, что метод/рекорд абстрактный.
[22:34:56] <boris_ilov> vlad: А ты ООП то хочешь какое?
[22:35:08] <vlad2> Я пока не виже смысла обозначать это явно - если в рекорде есть абстрактные методв, значит метод абстрактный. В С++ так и никаких проблем это не создает.
[22:35:13] <boris_ilov> как в плюсах или как в О2?
[22:35:33] <boris_ilov> инкапсуляция на уровне класса или модуля?
[22:35:37] <vlad2> Оно одинаковое и в плюсах и в О2 (если сравнивать с JS)
[22:35:41] <geniepro> vlad2: а как будут обозначаться абстрактные методы?
[22:35:49] <vlad2> инкапсуляция на уровне модуля остается
[22:35:50] <boris_ilov> "Оно одинаковое и в плюсах и в О2"
[22:36:05] <boris_ilov> в каком месте? :)
[22:36:19] <geniepro> ну в плюсах множественное наследование -- уже не то что в О2
[22:36:34] <vlad2> Абстрактные методы будут обозачаться тем, что для них не будет definition.
[22:37:14] <vlad2> boris_ilov: это все детали :) Множественного наследования пока не будет. Если и будет в перспективе - то наследование интерфейсов.
[22:37:24] <boris_ilov> не
[22:37:31] <boris_ilov> я про инкапсуляцию
[22:37:38] <boris_ilov> разница таки очень большая
[22:37:41] <geniepro> vlad2> Абстрактные методы будут обозачаться тем, что для них не будет definition.
о_О не понял. не будет реализации (implementation)? а то definition-то обязан быть -- иначе откуда ему взяться, этому методу?
[22:38:06] <vlad2> boris_ilov: инкапсуляция на уровне модуля, т.е. как в О2.
[22:38:13] <boris_ilov> понял
[22:38:29] <vlad2> RECORD PROCEDURE method() END;
[22:39:03] <vlad2> Если в модуле нет определения PROCEDURE T.method(); END T.method; - то метод абстрактный.
[22:39:09] <geniepro> boris_ilov: инкапсуляция не имеет отношения к ООП. у ООП единственная фишка -- наследование.
а инкапсуляция и полиморфизм есть и там, где нет никакого ооп
[22:39:54] <boris_ilov> Всегда считал что как раз инкапсуляция главная фишка ООП
[22:39:56] <boris_ilov> O_o
[22:40:20] <boris_ilov> Как и в модульности
[22:40:23] <vlad2> Угу. Один из трех китов. geniepro гонит :)
[22:40:40] <geniepro> vlad2> Если в модуле нет определения PROCEDURE T.method(); END T.method; - то метод абстрактный.
ну да, это и есть implementation
а definition -- это RECORD PROCEDURE method() END;
[22:40:54] <vlad2> declaration
[22:40:56] <geniepro> vlad2> Угу. Один из трех китов. geniepro гонит :)
[22:41:08] <geniepro> да нифига подобного -- в этом вопросе со мной даже Усов согласен
[22:41:26] <vlad2> ОК. Я просто придкрживаюсь классического определения ООП.
[22:41:42] <vlad2> Конечнор любой усов может давать свои определения.
[22:42:20] <boris_ilov> vlad: а наследование будет? Или через композицию?
[22:42:22] <geniepro> инкапсуляция относится к абстрактным типам данных, которые есть в том же ФП
полиморфизм -- тоже не является исключительным свойством ООП, оно и в ФП тоже есть
[22:42:34] <Jordan> Влад скажи простым языком, ООП будет как в oblect pascal?
[22:42:55] <geniepro> vlad2> declaration
декларация, дефиниция -- один хрен
[22:44:01] <geniepro> в Модуле два есть асбракция типов данных (инкапсуляция), но нет никакого ООП
[22:44:13] <geniepro> абстракция*
[22:45:35] <boris_ilov> geniepro: Ты о чем то другом говоришь
[22:45:39] <boris_ilov> Инкапсуляция — механизм языка программирования, ограничивающий доступ к составляющим объект компонентам (методам и свойствам), делает их приватными, то есть доступными только внутри объекта
[22:46:04] <geniepro> короче, то, что ООП прихватизировал себе инкапсуляцию и полиморфизм -- это то же самое, как и геи, забравшие себе радугу )))
[22:46:31] <geniepro> радуга есть независимо от геев
инкапсуляция есть независимо от ООП
[22:46:52] <boris_ilov> Я знаю инкапсуляцию на уровне класса
[22:46:57] <Jordan> Инкапсуляция это тот же static в модуле
[22:47:01] <boris_ilov> на уровне модуля
[22:47:07] <boris_ilov> и через замыкание
[22:47:15] <boris_ilov> других не знаю
[22:48:00] <boris_ilov> Jordan: не понял
[22:48:08] <Jordan> Как не знаешь. Тот же static в си. Переменая видна только в том файле где объявлена.
[22:48:21] <Jordan> За пределы модуля она не видна.
[22:48:26] <Jordan> Скрыта
[22:48:33] <boris_ilov> не шарю в сях
[22:48:37] <boris_ilov> может быть
[22:49:28] <Jordan> [22:46:32] <geniepro>
инкапсуляция есть независимо от ООП
[22:49:34] <Jordan> Да.
[22:50:03] <boris_ilov> посмотрел про static
[22:50:14] <boris_ilov> похоже, но не то
[22:50:38] <Jordan> Чем не то? Это может быть и структура и функция
[22:50:45] <geniepro> вапще, непонятно, что такое ООП...
есть инкапсуляция и полиморфизм без ООП, а есть и ООП без наследования...
нет никаких трёх китов ООП )))
[22:51:09] <boris_ilov> уфф
[22:51:23] <boris_ilov> ладно останемся каждый при своих тараканах
[22:51:44] <Jordan> Переменная объявленная глобально как static (вне блоков) видима в пределах остатка исходного файла, в котором она определена. Выше своего описания и в других исходных файлах эта переменная объявленная глобально как static невидима.
[22:52:02] <geniepro> в сях static у глобальной сущности -- просто аналог модификатора private
[22:52:45] <Jordan> класс разве не глобальный?
[22:53:21] <geniepro> в сях нет классов
[22:53:28] <boris_ilov> "Переменные, объявленные на внутреннем уровне со спецификатором static, дают возможность сохранить значение переменной при выходе из блока и использовать его при повторном входе в блок. Такая переменная имеет глобальное время жизни, но видна только внутри блока, в котором была объявлена."
[22:53:38] <boris_ilov> как то совсем не так как вы повествуете
[22:54:05] <geniepro> static внутри функции -- это аналог модификатора own из алгола-60
[22:54:44] <boris_ilov> и при чем тут инкапсуляция
[22:54:47] <boris_ilov> ?
[22:54:52] <geniepro> по сути, такая переменная является внешней по отношению к этой функции, ни нигде кроме неё невидимой
[22:55:03] <boris_ilov> и чо?
[22:55:06] <boris_ilov> :D
[22:55:26] <boris_ilov> функция у нас объектом с состоянием внезапно стала?
[22:55:42] <geniepro> если ты в глобальном области видимости указываешь переменную как static, то она становится недоступной из других файлов программы
[22:55:49] <boris_ilov> ну и что?
[22:56:00] <boris_ilov> это НЕ инкапсуляция
[22:56:02] <geniepro> почему внезапно? алголу-60 уже 52 года как )
[22:56:09] <geniepro> 53
[22:56:22] <Jordan> Инкапсуляция на уровне модуля а не класса. Тот же класс это модуль в модуле.
[22:56:23] <geniepro> это инкапсуляция, разновидность её
[22:56:30] <vlad2> Jordan: я не в курсе особенностей ООП обжектпаскаля. Нфследование будет как обычно - с переобпределнием методов.
[22:56:45] <Jordan> Да значит оно.
[22:56:51] <boris_ilov> vlad: А оно надо?
[22:56:58] <geniepro> модуль в модуле-2 не является классом -- его же нельзя инстанцировать, да и наследования модулей тоже нет
[22:57:08] <vlad2> Я там целый топик объяснял зачем оно мне надо :)
[22:57:18] <Jordan> Но реализовать то можно?
[22:57:22] <boris_ilov> "его же нельзя инстанцировать" а нафик?
[22:57:53] <boris_ilov> Для меня Модули и ООП - это две вещи
[22:58:08] <boris_ilov> 1. Объект с собственным состоянием
[22:58:13] <boris_ilov> 2. Инкапсуляция
[22:58:22] <geniepro> о_О ну так клссы-то для того делаются, что бы их инстанцировали! класс -- это тип данных, а не единица хранения программного кода как модуль
[22:58:23] <boris_ilov> Все остальное свистелки и перделки
[22:58:31] <geniepro> точнее единица компиляции как модуль
[22:58:33] <Jordan> Допустим пример. Один класс на один модуль. Название класса совпадает с названием модуля.
[22:59:15] <boris_ilov> vlad: Я вот реально задумался а нужно ли ээто самое наследование
[22:59:36] <geniepro> сишарповский класс со стаическими методами и полями -- это всё от бедности, из-за того что в сишарпе нет модульности
[22:59:39] <boris_ilov> потому как где нужно решается спокойно композицией
[23:00:43] <boris_ilov> "о_О ну так клссы-то для того делаются, что бы их инстанцировали" тык да
[23:00:53] <boris_ilov> этим они от модулей и отличаются
[23:00:56] <geniepro> boris_ilov> потому как где нужно решается спокойно композицией
не всегда
есть случаи, когда наследование хорошо ложится на задачу, и композицией её трудно заменить.
ГУИ например
[23:01:12] <boris_ilov> эммм пример можно?
[23:01:31] <Jordan> наследовать прямоугольник
[23:01:41] <boris_ilov> O_O
[23:01:45] <boris_ilov> такое бывает?
[23:01:53] <geniepro> ООП выстрелил из-за GUI -- а там как раз наследование полезно
[23:02:10] <Jordan> методы по обработке прямоугольника. реализуешь базовый класс, от него уточняешь виджеты
[23:02:15] <boris_ilov> ну есть класс окно
[23:02:25] <boris_ilov> сделал класс кнопка с полем окно
[23:02:29] <boris_ilov> делов то
[23:02:36] <boris_ilov> или ты про другое?
[23:03:01] <geniepro> окно -- это контейнер, в котором хранятся другие контейнеры -- кнопки, табы и прочее
[23:03:16] <boris_ilov> не я про виндовую абстракцию
[23:03:22] <boris_ilov> в винде кнопка - это окно
[23:03:34] <geniepro> хотя, в языках с динамической типизацией наследование может и не нужно, но в статически-типизированных таки нужно
[23:04:08] <Jordan> Ну правильно, наследую основные функции отрисовки
[23:04:17] <geniepro> другой пример, из-за которых в компиляторе хаскелла ввели разновидность расширяемых записей -- это исключения, выстроенные в иерархию
[23:04:33] <boris_ilov> Вот наследование интерфейсов да нужно
[23:04:34] <geniepro> как только появляется иерархия -- это означает необходимость наследования
[23:05:04] <boris_ilov> тык реализацию то нафига наследовать?
[23:05:31] <boris_ilov> Вот есть класс "окно" у него метод "перерисовать"
[23:05:40] <boris_ilov> хочу кнопка(окно)
[23:05:51] <geniepro> инетрфейсов на все случаи жизни не напасёшься
[23:05:58] <boris_ilov> но реализация "перерисоввать" мне нах не нужна
[23:06:12] <geniepro> наследование полезно для гетерогенных коллекций
[23:06:24] <geniepro> хотя динамическим языкам пофиг
[23:06:25] <boris_ilov> если нужна то делаю поле "окно" в "кнопка"
[23:06:37] <boris_ilov> и обращаюсь к методам окна
[23:06:45] <Jordan> Да
[23:08:31] <Jordan> В ББ так сделано, у каждого объекта общее поле info
[23:08:56] <boris_ilov> В смысле?
[23:09:31] <boris_ilov> причем тут ББ?
[23:09:33] <Jordan> \bb16-oberoncore\Host\Mod\CFrames.odc
[23:09:38] <Jordan> Как пример
[23:10:53] <boris_ilov> не совсем
[23:11:06] <boris_ilov> тут просто поле тепа RECORD
[23:11:22] <boris_ilov> а я говорю про засовывание родителя
[23:11:31] <boris_ilov> ну по такой же методе, да
[23:11:37] <Jordan> Так это равзе не наследование?
[23:11:47] <Jordan> разве
[23:11:48] <boris_ilov> где?
[23:11:58] <Jordan> а я говорю про засовывание родителя
[23:12:03] <Jordan> [23:11:24] <boris_ilov> а я говорю про засовывание родителя
[23:12:20] <boris_ilov> тык наследование
[23:12:27] <boris_ilov> но без наследования :)
[23:12:45] <boris_ilov> в смысле без поддержки языка
[23:12:53] <Jordan> А понял.
[23:13:22] <boris_ilov> хотя info наверно хороший пример
[23:13:30] <boris_ilov> только я там методов не вижу
[23:13:58] <boris_ilov> вот еще методы info добавить и будет оно
[23:14:00] <boris_ilov> :)
[23:18:19] <Jordan> О нет я нашёл 2 return в одной функции на КП
[23:18:32] <Jordan> Правда в WITH
[23:18:35] <geniepro> boris_ilov> Поставил у себя локально redmine. Попробовал прикрутить хранилище с github. Работает оооочень медленно. Идею ф топку.
что за redmine такой? система контроля версий?
[23:18:59] <Jordan>
PROCEDURE CopyOfPiece (p: LPiece): LPiece;
VAR lp: LPiece; sp: Piece;
BEGIN
WITH p: Piece DO NEW(sp);
sp^ := p^;
RETURN sp
ELSE
NEW(lp);
lp.prev := p.prev; lp.next := p.next; lp.len := p.len; lp.attr := p.attr;
lp.file := p(LPiece).file; lp.org := p(LPiece).org;
RETURN lp
END
END CopyOfPiece;
[23:19:18] <boris_ilov> redmine - это багтрэкер и управдение проектами
[23:19:41] <geniepro> я как раз сёдня шерстил свои проекты на работе на сишарпе и плюсах -- ни одного continue )) куча break, но большая часть их -- в switch, а не в циклах
[23:19:58] <Jordan>
PROCEDURE CopyOfPiece (p: LPiece): LPiece;
VAR lp: LPiece; sp: Piece;
BEGIN
WITH p: Piece DO NEW(sp);
sp^ := p^;
RETURN sp
ELSE
NEW(lp);
lp.prev := p.prev; lp.next := p.next; lp.len := p.len; lp.attr := p.attr;
lp.file := p(LPiece).file; lp.org := p(LPiece).org;
RETURN lp
END
END CopyOfPiece;
[23:20:10] <Jordan> Читабильнее
[23:20:11] <boris_ilov> http://www.redmine.org/
[23:20:19] <boris_ilov> вот это редмайн
[23:20:30] <boris_ilov> т.е. буквально этот сайт на редмайн
[23:21:26] <boris_ilov> весьма популярная система
[23:23:06] <boris_ilov> чуваки редмайн разрабатывают с помощью редмайн
[23:23:18] <boris_ilov> ну они рубисты им пох
[23:23:20] <boris_ilov> :D
[23:23:32] <Jordan> Влад хотел спросить. Почему на КП нельзя сделать абстракцию потоков? В чём проблема? В языке?
[23:23:35] <boris_ilov> это почти как оберон на обероне
[23:24:39] <boris_ilov> RETURN из середины зло
[23:24:56] <boris_ilov> сам грешу
[23:25:01] <boris_ilov> но один хрен зло
[23:25:49] <Jordan> Я думал это языком запрещено в кп
[23:25:54] <boris_ilov> нет
[23:26:04] <boris_ilov> это запрещено только в 07
[23:27:23] <geniepro> boris_ilov: а traс не смотрел? http://trac.edgewall.org/
http://ru.wikipedia.org/wiki/Trac
[23:28:00] <boris_ilov> неа
[23:28:11] <boris_ilov> я работаю в редмайн
[23:28:24] <boris_ilov> больше меня ничего не интересует
[23:28:39] <boris_ilov> знаю что altassian еще хвалят
[23:28:49] <boris_ilov> но оно платное
[23:28:50] <geniepro> boris_ilov> RETURN из середины зло
только сёдня в одной мелкой функции на с++ сделал ретурн из цикла, что бы выкинуть лишнюю переменную. но там несколько строк, так что не страшно )
[23:29:05] <Jordan> Ещё вопросец. множественный return нарушает струк программирование, но ведь в момент времени может быть активирован лишь один return всегда выход из процедуры один активный? Так?
[23:29:06] <boris_ilov> когда несколько строк не страшно да
[23:29:25] <vаlexey> гы. развели ромашку -- ООП не ООП. :-) А на самом то деле все просто: ООП это один из подхода моделирования предметной области, и методика мышления, если угодно. А какими именно средствами она реализуется - дело десятое. См. тот же смалтолк. Или см. ерланг, где нет классов и наследования, но ООП можно в полный рост. В ряде случаев там это на порядок удобней чем в той же жабе делается.
[23:29:56] <boris_ilov> еще один таракан в нашу компанию :D
[23:30:20] <Jordan> ООП это мистификация. :-)
[23:30:30] <vаlexey> и class в C++ это не для ООП, это базовый блок для конструирования того что тебе хочется. В частности для диспетчеризации вызовов вот таким вот образом.
[23:30:45] <boris_ilov> я вообще не так смотрю на ООП
[23:30:54] <boris_ilov> вот совсем и полностьюю.
[23:31:02] <boris_ilov> мне на моделирование предметки насрать
[23:31:13] <boris_ilov> мне ООП нравится за инкапсуляцию
[23:31:32] <boris_ilov> т.е. возможность сделать регламентированный интерфейс у некоторого объекта
[23:31:56] <boris_ilov> чтобы всякие человеки с руками из жопы не могли себе в ногу выстрелить
[23:31:58] <geniepro> Jordan> Ещё вопросец. множественный return нарушает струк программирование, но ведь в момент времени может быть активирован лишь один return всегда выход из процедуры один активный? Так?
несколько выходов из процедуры -- это мелочь.
куда страшнее несколько входов в процедуру )))
[23:32:00] <vаlexey> ты думаешь в Смалтолке (куда уж ООПшней!) все хорошо с инкапсуляцией? :-) Алсо там объекты обмениваются сообщениями, сообщение в том числе может содержать код ;-)
[23:32:21] <boris_ilov> Вот в 1С есть регистры
[23:32:27] <boris_ilov> у них есть методы
[23:32:42] <boris_ilov> и блин никак эти методы от пользователей не скрыть
[23:33:01] <boris_ilov> т.е. я не могу обеспечить инварианты при использовании моего регистра
[23:33:07] <boris_ilov> вот тут нужно ООП
[23:33:11] <boris_ilov> остальное пыль
[23:33:14] <vаlexey> именно! также и в смалтолке :-) И это ООП.
[23:33:14] <boris_ilov> :D
[23:33:17] <geniepro> boris_ilov> мне на моделирование предметки насрать
ну правильно, тебе уже братья Нуралиевы всю предметку смоделировали, об этом думать не надо ))
[23:33:21] <vаlexey> Ты можешь послать любое сообщение любому объекту.
[23:33:27] <Jordan> Кстати о маленьких функция с return
[23:33:33] <boris_ilov> "предметку смоделировали,"
[23:33:37] <boris_ilov> э нет
[23:33:41] <vаlexey> И он может его либо обработать либо не обработать. В том числе сообщения можно слать такому объекту как nil :-)
[23:34:01] <boris_ilov> ну и замечвтельно
[23:34:11] <geniepro> vаlexey: и как объект nil отреагирует на это сообщение? )
[23:34:13] <boris_ilov> сообщщения то я обрабатываю
[23:34:19] <vаlexey> geniepro: возвращает nil
[23:34:19] <Jordan>
function Find(x, y: Word): PButton;
var
i: LongInt;
begin
i := 0;
while (i < Table.Size) and (PointInRect(x, y, Table[i]^.PosX, Table[i]^.PosY, Table[i]^.SizeX, Table[i]^.SizeY) <> true) do
begin
Inc(i);
end;
if (i = Table.Size) then
begin
Result := NIL;
end
else begin
Result := Table[i];
end;
end;
[23:34:20] <boris_ilov> значит доступ регламетированный
[23:34:40] <Jordan> А если бы был return проверка ниже бы не понадобилась
[23:34:54] <vаlexey> boris_ilov: посылка любого сообщения в терминах смалтолка, эквивалентна вызову любого метода в c++/java
[23:35:00] <vаlexey> то есть приватных не бывает
[23:35:11] <boris_ilov> тык замечательно
[23:35:34] <boris_ilov> объект знает от кого сообщение?
[23:35:52] <vаlexey> да, вроде бы можно узнать.
[23:36:04] <boris_ilov> ну значит можно ограничить доступ
[23:36:16] <boris_ilov> т.е. посылать чужаков подальше
[23:36:18] <vаlexey> только уже ручками :-) а не средствами языка
[23:36:31] <geniepro> объекты-чужаки могут ддосить твои объекты )))
[23:36:50] <vаlexey> ога. и брутфорсить, чтобы подобрать такое сообщение которое ты обработаешь :-)
[23:36:57] <boris_ilov> в общем за смоллток я не знаю
[23:37:24] <boris_ilov> но ООП типа CP, Java или плюсов
[23:37:36] <boris_ilov> мне бы очень помогло в 1С
[23:37:57] <boris_ilov> ибо задолбала публичность всего и вся
[23:38:12] <boris_ilov> это еще хуже чем глобальные переменные
[23:38:22] <vаlexey> а то о чем ты говоришь - это всего лишь скрытия собственного состояния от чужаков, это фигня. это не ООП вообще говоря. ну, скажем это например защита памяти приложений, изоляция друг от друга. То есть это не ООПшный механизм. И он был моден намного до того как ООП вылезло из лабораторий посредством GUI
[23:38:39] <Jordan> [23:37:59] <boris_ilov> ибо задолбала публичность всего и вся
[23:38:47] <boris_ilov> ну сокрытие в модульности есть, да
[23:38:48] <Jordan> Структуру можно скрыть хендлом
[23:38:58] <boris_ilov> а?
[23:39:03] <vаlexey> Да тебе не ООП нужно, а банально модульность, или иной механизм разделения мух и котлет
[23:39:08] <vаlexey> Хотя бы на уровне чистого Си.
[23:39:15] <Jordan> обращение не через указатель, а через к примеру integer
[23:39:23] <boris_ilov> Си идет лесом
[23:39:25] <vаlexey> Jordan: не надо извратов!
[23:39:29] <boris_ilov> уж лучше как есть :D
[23:39:44] <vаlexey> boris_ilov: то о чем ты говоришь (сокрытие каких-то там функций) в Си есть искаропки и без извращений.
[23:39:45] <Jordan> Почему изврат, как в windows
[23:40:09] <boris_ilov> valexey: меня уже пытались посветить в эту веру ;)
[23:40:24] <boris_ilov> святитьэ
[23:40:26] <boris_ilov> *
[23:40:28] <vlad2> Jordan: потоки в ББ не сделать в силу неготовности рантайма (GC)
[23:40:43] <vlad2> Сам Илья делал и забил в итоге.
[23:41:01] <Jordan> Просто использовать потоки posix неполучиться, нужно вносить изменения в gc?
[23:41:08] <vаlexey> boris_ilov: да это не вера, это просто фича языка. С 70-какого то там года :-)
[23:41:17] <vlad2> Да, просто не получится.
[23:41:19] <boris_ilov> Мне нужны либо модули с состоянием, либо объекты
[23:41:33] <vаlexey> Модули с состоянием в Си как раз есть.
[23:41:40] <boris_ilov> хде?
[23:41:53] <vаlexey> Да везде. man единица компиляции
[23:42:00] <boris_ilov> уфф
[23:42:17] <boris_ilov> не у вас сишников там своя атмосфера
[23:42:32] <boris_ilov> вы модулем готовы что угодно назвать
[23:42:49] <boris_ilov> и инкапсуляцией
[23:42:56] <Jordan> vlad2 В ББ многопоточность отсутствует и в данный момент недоступна?
[23:42:59] <vаlexey> да какая атмосфера? есть единица компиляции (один сишный файл main.c) у него могут быть переменные, в том числе которые видны только для него (и локальны для него)
[23:43:01] <vаlexey> всё
[23:43:02] <vlad2> просто ширше надо смотреть - не только на наличие ключевого слова MODULE ;)
[23:43:16] <vаlexey> ничем не отличается от модулей оберона с их глобальными переменными
[23:43:28] <boris_ilov> это в корне не то что в обероне
[23:43:35] <vаlexey> в чем отличие?
[23:43:45] <Jordan> В обероне модули с плюшками
[23:43:53] <vаlexey> c какими? :-)
[23:43:53] <Jordan> Пространство имён
[23:43:55] <boris_ilov> в том что в обероне модуль это объект по сути
[23:44:03] <boris_ilov> загружаемый и выгружаемый
[23:44:05] <vlad2> Jordan: недоступно. Кошероный ответ с оборонкоре: используй несколько ББ.
[23:44:20] <vаlexey> поскольку всё есть объект, сказав что модуль по сути объект, ты ничего не говоришь :-)
[23:44:45] <vаlexey> где в репорте хоть слово про загружаемость и выгружаемость?
[23:44:47] <vаlexey> :-)
[23:44:50] <Jordan> Межббшная связь? Это сложнее реализовать чем потоки?
[23:45:01] <boris_ilov> валексей ты слишком долго коддил на си
[23:45:02] <vаlexey> и загрузи как мне и выгрузи модуль в Astrobe
[23:45:04] <vlad2> boris_ilov: толку от того, что он выгружаемый, я все равно не могу им манипулировать так же сводобно как объектом с интерфейсом
[23:45:05] <boris_ilov> :)
[23:45:09] <vаlexey> и вообще. мы же про инкапсуляцию говорим
[23:45:47] <vаlexey> (алсо даже в Оберон ОС больше одного экземпляра модуля в системе загружено быть не может, так что лесом)
[23:45:50] <boris_ilov> valexey: как ты себе представляешь "модули" Си в 1С?
[23:46:06] <vаlexey> я не знаю 1С, так что никак не представляю.
[23:46:17] <vаlexey> также я не представляю там и классы
[23:46:24] <vаlexey> или протоколы
[23:46:30] <vаlexey> или интерфейсы смалтолковые
[23:46:34] <boris_ilov> так о чем мы тогда говорим? :P
[23:47:14] <boris_ilov> "я все равно не могу им манипулировать так же сводобно как объектом с интерфейсом"
[23:47:18] <boris_ilov> что это значит?
[23:47:34] <boris_ilov> выгрузить ты его можешь в любой момент
[23:47:42] <boris_ilov> это штатная операция
[23:47:45] <vаlexey> и словить AV :-)
[23:47:54] <boris_ilov> кого?
[23:48:02] <vаlexey> Access Violation
[23:48:08] <boris_ilov> ничего ты не словишь
[23:48:09] <vlad2> Это значит, что я не могу граузить разные модули с одинаковым интерфейсом в количестве больше одного.
[23:48:20] <vаlexey> ловили в ББ уже и не раз :-)
[23:48:21] <boris_ilov> а зачем?
[23:48:29] <vаlexey> горячей замены кода в ББ нормального нет.
[23:48:31] <vlad2> См. топик :)
[23:48:34] <vаlexey> это вам не erlang
[23:49:03] <boris_ilov> ну как в erlange может и нет
[23:49:15] <boris_ilov> но горячая замена это штатный режим работы
[23:49:16] <vlad2> http://oberspace.dyndns.org/index.php/topic,579.0.html
[23:49:19] <Jordan> [23:48:31] <vаlexey> горячей замены кода в ББ нормального нет. Из за запуска под windows или вообще в реализации ББ?
[23:49:34] <vаlexey> Из за реализации.
[23:49:46] <vаlexey> erlang то под виндой есть, и ему это не мешает :-)
[23:49:47] <boris_ilov> vlad: я там вообще не понял что ты хочешь сделать
[23:50:12] <boris_ilov> vаlexey: несешь пургу
[23:50:17] <boris_ilov> вот чесно
[23:50:23] <vаlexey> как мне заменить модуль который сейчас активно используется другими модулями? ;-)
[23:50:27] <vlad2> конкертно вот этой сообщение: http://oberspace.dyndns.org/index.php/topic,579.msg19628.html#msg19628
[23:50:30] <boris_ilov> в ББ нельзя ни строчки написать без горячей замены
[23:50:31] <vаlexey> в erlang'e я это могу сделать
[23:50:50] <boris_ilov> " используется другими модулями" почитать документацию для начала
[23:50:55] <boris_ilov> и подумать
[23:51:06] <vаlexey> не хочу думать! хочу делать! ;-)
[23:51:08] <boris_ilov> говорил тебе уже в прошлый раз
[23:51:23] <vаlexey> алсо хрен с два ты безболезненно заменишь модуль который экспортирует константы
[23:51:42] <boris_ilov> с чего?
[23:52:06] <vаlexey> с того что константы вкомпиливаются в другие модули намертво. придется перекомпилять других
[23:52:23] <boris_ilov> valexey: Еще раз. Если бы в ББ не было горячей замены, то никто бы в нем вооюще ничего разрработать бы не смог
[23:52:56] <boris_ilov> vаlexey: это если ты их изменишь
[23:52:59] <vаlexey> это не горячая замена, это фигня на палочке. ты можешь там менять только листья графа
[23:53:08] <boris_ilov> не только
[23:53:11] <boris_ilov> см. Dir
[23:53:30] <boris_ilov> Замене подлежит минимум "объект" да
[23:53:32] <vаlexey> в лучшем случае (в худшем, если твой модуль используют не через IMPORT, то можно легко словить AV, что уже было показано)
[23:53:42] <vаlexey> да собственно я сам его ловил когда кодил под ББ
[23:53:57] <boris_ilov> а ты как хочешь то?
[23:54:03] <vаlexey> именно в момент выгрузки модуля
[23:54:07] <boris_ilov> AV ни разу не ловил
[23:54:37] <vаlexey> я хочу нормально - чтобы горячая замена была прозрачна. причем любого модуля в иерархии использования.
[23:54:47] <boris_ilov> тык так и есть
[23:54:57] <boris_ilov> почитай доку
[23:55:03] <boris_ilov> и попробуй наконец
[23:55:13] <vаlexey> дык я пробовал наконец. и ловил AV :-)
[23:55:41] <vаlexey> просто потому что в тот момент когда модуль выгружался кто-то дергал за метод которого больше не было.
[23:55:49] <boris_ilov> как ты этого добился? как воспроизвести?
[23:56:02] <geniepro> vаlexey: не извращайся и не будет AV ))
[23:56:18] <boris_ilov> vаlexey: ты какую-то фантастику рассказываешь
[23:56:24] <vаlexey> мне лениво это дело сейчас расковыривать. в конце концов это не принципиально :-)
[23:56:26] <boris_ilov> ты как выгружал то?
[23:56:34] <boris_ilov> пинком по системнику? :D
[23:56:54] <boris_ilov> ибо это надо умудриться сделать
[23:57:04] <geniepro> boris_ilov: если редмайн написан на руби, он наверное жутко тормозной?
[23:57:13] <boris_ilov> да вроде норм
[23:57:23] <boris_ilov> у нас на слабеньком серваке крутится
[23:57:40] <boris_ilov> ну не F1 точно
[23:58:46] <geniepro> vаlexey: а ты какой системой багтрекинга/ведения проектов пользуешься?
[23:58:49] <vаlexey> boris_ilov: будет время, воспроизведу. но это, как понимаешь, не в приоритете у меня сейчас.
[23:59:17] <vаlexey> geniepro: смотря для чего. а так - букета помоев мне вполне хватает (bitbucket) для всего
[23:59:24] <vаlexey> или гитхаба
[23:59:41] <geniepro> ну это онлайновое решение, а для внутрифирменных проектов?