[00:03:48] <valexey> да какие нафиг скобки? это просто прямой дамп структуры данных
[00:04:24] <valexey> посмотри как хаскельный преттипринтер тебе напечатает какое-нибудь развесистое дерево
[00:05:06] <valexey> на синтаксис при первоначальной разработке языка должно тратиться ровно НУЛЬ усилий
[00:06:01] <valexey> если пишем на хаскеле, то мы спокойно описываем в самом хаскеле сущности языка, его семантику, строим типы и структуры данных. а преттипринтер нам это пишет в консоль (когда руками в хаскеле что-то зададим), и умеет читать с консоли
[00:06:06] <genieprox> пока нашёл вот такие темы:
Функции против процедур http://oberspace.dyndns.org/index.php/topic,20.0.html
Динамические (открытые) массивы в Оберонах. http://oberspace.dyndns.org/index.php/topic,47.0.html
Параметрический полиморфизм и Оберон. http://oberspace.dyndns.org/index.php/topic,49.0.html
Oberon-07M http://oberspace.dyndns.org/index.php/topic,39.0.html
Идеальный ЯП http://oberspace.dyndns.org/index.php/topic,18.0.html
Допилить оберон под себя http://oberspace.dyndns.org/index.php/topic,26.0.html
[Oberon-07] перегрузка процедур http://oberspace.dyndns.org/index.php/topic,56.0.html
Oberon-07M - Нужен ли препроцессор? http://oberspace.dyndns.org/index.php/topic,46.0.html
помнится, де-то было ещё обсуждение недостатков оператора WITH, но это вроде было на форуме у коров
[00:06:38] <valexey> угу
[00:06:44] <genieprox> я нинаю что такое хаскельный преттипринтер
[00:06:46] <valexey> но оператора WITH нет в Обероне 07
[00:07:25] <valexey> ну реализуй Show для своего типа данных (если оно автоматом не реализуется) и будет оно ;-)
[00:07:30] <genieprox> если нет WITH, то как забираться с селектором по типам?
[00:08:05] <valexey> там спец функция вроде как. типо - является ли вот эта хрень вот этим типом
[00:08:13] <valexey> и вперед, пошел строить if-elseif-else
[00:08:24] <genieprox> а оператор CASE там есть?
[00:09:23] <valexey> есть. но для типов тебе это никак не поможет
[00:14:11] <genieprox> case typeof(obj) of
   Type1 -> action1
   Type2 -> action2
   Type3 -> action3
   _     -> default_action
[00:15:23] <valexey> это ты сейчас обратно WITH возродил так? :-)
[00:15:40] <genieprox> ну без кийворда with )) он нинужен )
[00:16:36] <valexey> механизм лежащий внизу with и case существенно разные
[00:16:44] <valexey> сколь я помню
[00:16:52] <valexey> именно поэтому у вирта это было два ключевых слова
[00:16:54] <valexey> а не одно
[00:19:55] <valexey> для начала неплохо бы описать цели и задачи - ради чего вообще язык создается?
[00:21:35] <genieprox> struct Type1 is
   n is Integer
   c is Char

struct Type2 deriving Type1 is
   s is String

proc Foo(obj is Type1) is
   case typeof(obj) of
       obj1 is Type1 -> obj1.n <- 123
       obj2 is Type2 -> obj2.s <- "qwerty"

как-то так?
[00:22:12] <genieprox> > для начала неплохо бы описать цели и задачи - ради чего вообще язык создается?
ну что за странный вопрос?
хочешь, что бы было сделано правильно -- сделай сам!!!
[00:23:04] <genieprox> proc Foo(obj is Type1) is
   case typeof(obj) of
       Type1(obj1) -> obj1.n <- 123
       Type2(obj2) -> obj2.s <- "qwerty"
[00:24:17] <valexey> твой вариант страдает той же проблемой, что и with - проглядывают те же дыры
[00:25:14] <valexey> а правильно для чего сделано? ;-) всегда должна быть какая-то цель. язык для лулзов - одно, язык для микроконтроллеров - другое. язык для написания компиляторов - хаскель  ;-)
[00:25:50] <genieprox> > язык для написания компиляторов - хаскель  ;-)
согласен ))
[00:26:51] <genieprox> для общего употребления! в перспективе -- хахват власти над миром с помощью Skynet, запрограммированном на этом языке )))
[00:26:59] <genieprox> захват*
[00:27:33] <valexey> если для общего - значит ни для чего :-)
[00:27:35] <genieprox> на форуме у оберонкоров тема про WITH стёрта или спрятана что ле?
[00:27:56] <valexey> ща поищу
[00:28:05] <genieprox> короче, область применения -- распределённые веб-приложения! ))
[00:29:29] <genieprox> ну ладно, просто распределённые приложения )) а уж как там прикрутить веб-морду -- это к языку отношения не имеет )
[00:30:16] <genieprox> эрланг лучше чем эрланг!
питон лучше чем питон!
хаскель лучше чем хаскель!
оберон лучше чем оберон! (самая лёгкая часть)
)))
[00:32:39] <valexey> ;-)
[00:32:54] <valexey> то есть эдакий аналог-конкурент Go и Ерланга? ;-)
[00:33:22] <valexey> Языг для программирования серверной части систем массового обслуживания
[00:34:11] <genieprox> типа того )
[00:34:44] <genieprox> Go фтопку, он не имеет перспективы
[00:35:12] <valexey> почему?
[00:35:41] <genieprox> да ну его! эти гугловцы криворукие разве могут нормальный язык придумать?
[00:36:11] <valexey> ну, этож патомак языка из Plan9
[00:36:16] <valexey> и создатели те же
[00:36:24] <valexey> гугл как бэ не при чем
[00:36:58] <genieprox> они продались гуглу и будут гореть в аду!
[00:37:28] <genieprox> и те кто будут юзать Go -- тоже будут гореть в аду ещё при жизни )
[00:38:05] <valexey> да, не нахожу тему про дырявый WITH
[00:38:08] <valexey> забавно
[00:38:19] <valexey> Впрочем, думаю можно воспроизвести.
[00:52:16] <genieprox> если без оператора with -- то как?
[00:53:21] <genieprox> кстати, полезны ли расширяемые перечисления? ведь не только к записям можно добавлять поля, но и к перечислению добавлять новые элементы
в o`Haskell такая фишка была
[00:54:18] <valexey> Иерархия enum'ов?
[00:54:27] <valexey> Не знаю ;-)
[00:54:44] <genieprox> да, и для распределённых (параллельных) программ получается низзя глобальные мутабельные переменные?
[00:55:24] <genieprox> млин получится какой-то эрланг со статической типизацией )
[00:55:24] <valexey> зя. но они должны быть недоступны из других потоков
[00:55:41] <valexey> и с мутабельными переменными, ога ;-)
[00:55:44] <genieprox> а зачем вообще нужны глобальные мутабельные переменные?
[00:56:08] <valexey> а что ты под глобальными подразумеваешь?
[00:56:26] <genieprox> или тогда путь они будут как MVar в хаскеле -- со встроенным мутексом )
[00:56:31] <valexey> ну, например подсистема ввода-вывода - вполне себе глобальна и мутабельна
[00:56:37] <valexey> попробуй её сделать другой
[00:56:39] <valexey> :-)
[00:56:44] <genieprox> глобальные -- такие, которые видны из всех процедур модуля
[00:57:15] <genieprox> IO -- не переменная же! его надо расматривать как базу данных -- транзакционно
[00:57:36] <valexey> всю память можно рассматривать как базу данных :-)
[00:57:45] <valexey> в том числе и транзакционно ;-)
[00:59:40] <valexey> пойду, убью в танки кого-нибудь и спать :-)
[01:00:05] <valexey> genieprox: оформи свою мысль в тему на форуме. со ссылками на кривости оберона и на то что не сумел найти (тот же WITH)
[01:00:14] <valexey> /me ушел
[01:00:34] <genieprox> я чота не смог создать тему на форуме ((
[01:01:24] <kemiisto> :-D
[01:01:39] <kemiisto> вовремя это он ушёл
[01:04:31] <genieprox> в принципе уже же есть такая тема:
http://oberspace.dyndns.org/index.php/topic,26.0.html Допилить оберон под себя
[01:29:02] <valexey> genieprox: как не смог?
[01:30:00] <genieprox> ну я пытался, но там сбой связи что ли произошёл, не помню уже )
[01:32:06] <genieprox> щас вроде создалось
[01:32:45] <valexey> Гут
[01:33:02] <valexey> А что у тебя с интернетом?
[01:34:35] <valexey> Новой темы не вижу
[01:35:30] <genieprox> я удалил тему
[01:35:41] <valexey> Ясно
[01:35:52] <genieprox> просто пока нечего там в теле сообщения писать
[01:38:08] <valexey> Ну хотя бы постановку задачи
[01:38:20] <valexey> Ты вот сейчас веб ковыряешь
[01:38:33] <valexey> Вот и расскажи о том, что болит
[01:41:23] <genieprox> да про веб рассказывать почти нечего -- для него надо использовать специализированный инструментарий
[01:43:53] <genieprox> создам тему, когда будет что обсудить )
[01:45:38] <valexey> Ну, веб - хороший пример системы массового обслуживания
[01:46:27] <valexey> Где легковесный процесс служит не столько быстродействию, сколько декомпозиции задачи
[01:48:42] <valexey> Ну и чтобы память не превратилась в кучу мусора
[01:52:56] <valexey> То есть мы хотим что бы работало быстро
[01:53:09] <valexey> Мы хотим что бы писать просто
[01:53:36] <valexey> И не хотим заниматься самодисциплиной
[01:56:19] <valexey> Да! И хотим обновлять без остановки сервиса.
[01:57:01] <genieprox> вот запущен процесс -- как его обновить без остановки?
[01:57:44] <genieprox> горячая замена кода требует функций без побочных эффектов, кстати
[02:00:00] <valexey> Не обязательно
[02:01:10] <valexey> у ерланга функции с побочным эффектом все
[13:43:26] <valexey> "А что касается сравнения с простотой ББ - не заметил у вижуалстудии радикальных преимуществ. С непривычки сильно раздражает количество помогальников, хотя надо признать, что в студии без них никак. Ну нельзя там, как в КП - бросить взгляд на исходник и мгновенно понять суть. Надо использовать всплывающие подсказки, без них ты слеп - не видишь ничего."
[13:43:50] <valexey> http://forum.oberoncore.ru/viewtopic.php?f=12&t=3569
[14:05:32] <valexey> "Спасибо. Важно иметь свидетельства, которые удобно предъявлять студентам и проч." @ info21
[14:05:51] <valexey> Прям свидетели оберона, честное слово.
[14:06:17] <kemiisto> ага, тут тролли уже проснулись
[14:06:19] <kemiisto> :)
[14:06:22] <kemiisto> тут и посидим
[14:06:27] <kemiisto> .
[14:06:34] <valexey> :-)
[14:07:02] <valexey> Тролли проснулись на оборонкоре!
[14:10:42] <kemiisto> рыбак рыбака
[14:10:44] <kemiisto> :D
[14:11:38] <kemiisto> Во!
[14:11:45] <kemiisto> Новая поговорка Интернетов!
[14:11:59] <kemiisto> Тролль троллЯ видет издалека!
[14:12:05] <kemiisto> не очень в рифму
[14:12:11] <kemiisto> но хуй то с ним
[14:12:18] <kemiisto> ТУТ ВАЖНА СУТЬ!!!111
[14:12:19] <valexey> Троллит издалека :-)
[14:25:51] <kemiisto> http://lifehacker.com/5841196/top-10-ways-to-turn-your-retired-gadgetry-into-the-technology-of-the-future
[14:25:56] <kemiisto> займись делом!
[14:26:10] <kemiisto> таблетка из макбука решает!
[14:28:17] <valexey> kemiisto: geniepro похоже таки решил создать новый язык
[14:28:19] <valexey> См логи
[14:28:44] <kemiisto> а я видел, вроде
[14:28:53] <kemiisto> с питоноподобным синтаксисом
[14:28:56] <kemiisto> обетон
[14:30:05] <valexey> Угу
[14:31:42] <valexey> Мне похоже не удалось убедить его что синтаксис языка не важен при первоначальной разработке
[14:32:00] <valexey> И что надо сразу начинать с семантики
[14:33:35] <kemiisto> valexey: он тему не мог создать, кстати :)
[14:33:52] <valexey> Смог
[14:33:58] <valexey> Он удалил ее
[14:34:02] <valexey> См логи
[16:04:47] <valexey> kemiisto: link time optimization же clang/llvm умеет
[16:05:07] <kemiisto> там фортрана нет
[16:05:08] <kemiisto> нинужен
[16:05:20] <valexey> Угу. Потому и нет.
[16:05:52] <kemiisto> valexey: в смысле?
[16:07:08] <valexey> ФОРТРАН нинужен, потому он и не поддерживается в clang/llvm
[16:08:09] <kemiisto> :-D
[16:08:12] <kemiisto> ТРОЛОЛО!
[17:16:10] <valexey> kemiisto: а что у ФОРТРАНа нонче с гуем? Какая либа модна для него?
[17:17:01] <kemiisto> если именно на фортране писать
[17:17:06] <kemiisto> то я бы взял
[17:17:18] <kemiisto> https://github.com/jerryd/gtk-fortran/wiki
[17:17:37] <valexey> Gtk?
[17:17:43] <kemiisto> чем хорош Gtk
[17:17:47] <kemiisto> так это сями
[17:17:50] <valexey> Под мак это же ужасно!
[17:17:58] <valexey> Гы
[17:18:33] <valexey> Правильно, лучше уж си чем ФОРТРАН!
[17:18:36] <kemiisto> valexey: я к тому, что фортран на раз-два интерфйесится с сями
[17:18:41] <kemiisto> но не с плюсами
[17:18:52] <valexey> А, это то
[17:18:52] <kemiisto> там есть модуль ISO_C_BINDING
[17:18:59] <valexey> Ну, это все так
[17:19:18] <valexey> Но хедеры ФОРТРАН небось один хрен не понимает
[17:19:38] <kemiisto> нет
[17:19:48] <kemiisto> но видишь
[17:19:57] <kemiisto> у них получилось автоматически генерить
[17:20:01] <kemiisto> для Gtk
[17:20:08] <kemiisto> а Gtk не маленький
[17:20:47] <kemiisto> но
[17:20:59] <kemiisto> Ada, Eiffel
[17:21:04] <kemiisto> там везде Gtk
[17:21:10] <kemiisto> мне что-то подсказывает
[17:21:14] <kemiisto> что причина таже
[17:21:19] <valexey> Ада предпочитает qt
[17:21:27] <kemiisto> с сями все умеют интерфейсится
[17:21:30] <kemiisto> ну, да
[17:21:35] <kemiisto> видимо по этому
[17:21:39] <valexey> У тебя устаревшие сведения де
[17:21:41] <valexey> Же
[17:21:47] <kemiisto> IDE от AdaCore
[17:21:51] <kemiisto> на Gtk
[17:21:58] <valexey> Она древняя же
[17:22:03] <valexey> Эта IDE
[17:22:11] <valexey> Потому и на gtk
[17:22:22] <kemiisto> а Qt там неполностью поддерживается
[17:22:36] <valexey> По моему почти полностью
[17:23:02] <valexey> И геморроя с ним на порядок меньше чем с гтк
[17:23:11] <valexey> По отзывам адовцев
[17:23:42] <kemiisto> на плюсах геморроя ещё меньше
[17:23:47] <kemiisto> ада нинужна!
[17:24:30] <valexey> У плюсов свои геморрои :-)
[17:26:13] <kemiisto> но плюсы почти каждый знает
[17:26:19] <kemiisto> а ада нинужна!
[17:27:26] <kemiisto> ББ!
[17:27:29] <kemiisto> BBCB!
[17:27:38] <valexey> Почти каждый который думает что их знает, на самом деле их нифига не знает
[17:28:01] <kemiisto> ада по объёмы не меньше
[17:28:06] <kemiisto> и ты сам говорил
[17:28:12] <kemiisto> что раздувается
[17:28:15] <kemiisto> также
[17:28:18] <kemiisto> бездумно
[17:28:41] <valexey> Она раздувается вширь, а плюсы вглубь.
[17:28:59] <kemiisto> не суть
[17:29:00] <valexey> Причем плюсы это делают медленней
[17:29:08] <valexey> Но эффект сильнее :-)
[17:29:27] <kemiisto> да
[17:30:25] <kemiisto> резонирует
[17:30:35] <kemiisto> слишком много си-кодеров
[17:30:44] <kemiisto> критическая масса
[17:32:32] <valexey> Да они даже незнают чем си от С++ отличается! В сишном его подмножестве
[17:37:02] <kemiisto> valexey: а когда-то делали http://gtk-cocoa.sourceforge.net/
[17:39:02] <valexey> Сдохло?
[17:40:44] <kemiisto> ну, судя по поддерживаемой версии Gtk (1.2), сдохло и давно
[17:42:08] <valexey> Гут
[18:39:36] <kemiisto> genieprox: где компилятор то?
[18:39:38] <kemiisto> :)
[18:40:38] <genieprox> какой компилятор? 0_0 я подписался тока под интерпретатор )
[18:40:58] <kemiisto> genieprox: ну давай интертрепатор!!!!1111
[18:41:02] <kemiisto> или ты как Вирт
[18:41:05] <kemiisto> только спеку
[18:41:10] <kemiisto> будешь делать?
[18:41:11] <kemiisto> :D
[18:41:57] <genieprox> > http://forum.oberoncore.ru/viewtopic.php?f=12&t=3569
про что там? а то мне не видно, закрытая тема
[18:42:35] <genieprox> kemiisto> только спеку
спеку проверять же нужно, значит какой-то исполнитель программ придётся сделать )
[18:43:53] <kemiisto> Link to download the file OberonCore • Просмотр темы - Впечатления от майнстрима.pdf --> http://file.qip.ru/document/5qzirz4r/OberonCore__Просмотр_темы_-_Вп.html ( 0.98 Mb )
[18:44:08] <kemiisto> чёт много получилось :D
[18:46:29] <genieprox> млин я недавно видел в маршрутке парень с каким-то планшетом типа iPad (может это и был айпад) -- прикольно. тоже захотелось )))
[18:50:51] <genieprox> > Волею судьбы выпало мне поучаствовать в одном небольшом веб проекте на ASP.NET.
так, уже интересно, щас это для меня больная тема ))
[18:52:18] <genieprox> > А что касается сравнения с простотой ББ - не заметил у вижуалстудии радикальных преимуществ. С непривычки
сильно раздражает количество помогальников, хотя надо признать, что в студии без них никак. Ну нельзя там,
как в КП - бросить взгляд на исходник и мгновенно понять суть. Надо использовать всплывающие подсказки,
без них ты слеп - не видишь ничего.

смешной пассаж )) как-будто в бб на кп вот так просто кинул взгляд на исходник и всё понял )))
[18:54:38] <genieprox> > Да, к примеру, полная квалификация имени, принятая в обероне. Простейшим образом облегчает восприятие. Удлиняет "словесность", но читать легче.

Вот тут с огромным неудовольствием вынужден согласиться )))
[18:56:16] <genieprox> но как быть с определяемыми в других модулях операциях типа + - * / ???
[18:57:15] <genieprox> 1%2 Rational.* 3%5 или всё же 1%2 * 3%5 ???
[19:16:03] <valexey> genieprox: нифига. Там же есть именованный импорт
[19:16:27] <valexey> И B.foo ничем не лучше просто foo
[19:17:23] <kemiisto> genieprox: так в Oberon их нет
[19:17:36] <kemiisto> квалифицированный импорт - одна из причин
[19:17:45] <kemiisto> упоминается
[19:17:58] <kemiisto> valexey: не понял тебя
[19:18:01] <kemiisto> лучше же!
[19:18:16] <valexey> Чем? Кто такой B?
[19:18:20] <kemiisto> модуль
[19:18:24] <kemiisto> название модуля
[19:18:38] <valexey> Модуля с таким именем нет и не было никогда
[19:18:50] <genieprox> в Оберон Компаньоне были такие операции, и выглядело их использование именно так: 1 Math.+ 5
[19:18:53] <kemiisto> как это?
[19:19:06] <valexey> Так
[19:19:14] <valexey> Именованный импорт же
[19:19:25] <valexey> Или как там его
[19:19:26] <kemiisto> valexey: ой, глупость какая
[19:19:33] <kemiisto> я тебя в сишечном стиле отвечу
[19:19:41] <kemiisto> просто не используй именованный импорт
[19:19:44] <kemiisto> :)
[19:19:53] <kemiisto> убедительно?
[19:19:56] <valexey> А я и не
[19:20:02] <valexey> Но другие то да
[19:20:11] <kemiisto> ну это их проблемы
[19:20:11] <valexey> И читать это не приятно
[19:20:25] <valexey> Нет это мои проблемы
[19:20:32] <kemiisto> не читай!
[19:22:25] <genieprox> непонятно... чем плохо использование:
import Data.Map as Map
m = Map.fromList [(1, "a"), (2, "b")]
[19:22:51] <genieprox> import qualified Data.Map as Map
[19:23:07] <kemiisto> genieprox: ниже по тексту
[19:23:11] <kemiisto> непонятно
[19:23:16] <kemiisto> где искать Map
[19:23:21] <genieprox> да, и в хаскелле тоже если импорт квалифицированный, то будет типа Math.+
[19:23:55] <genieprox> так мышкой наводишь на Map и у тебя показывается, что это Data.Map ))
[19:24:17] <kemiisto> genieprox: язык должен разрабатываться в отрыве от инструментария
[19:24:24] <kemiisto> Вирт же!
[19:28:12] <genieprox> в хаскелле однао ещё можно так:
import qualified Math
import Math((+), (-), (*), (/))

вот пример:

import qualified Prelude
import Prelude((+), (-))

main = do
   Prelude.print Prelude.$ 1 + 2
[19:29:10] <genieprox> Main> :main
3
[19:39:16] <valexey> kemiisto: я к тому, что если человек ленится длинно писать, то его ничто не остановит
[19:39:28] <valexey> И лучше ему не припятствовать
[19:39:51] <kemiisto> хм...
[19:39:54] <kemiisto> не согласен
[19:40:00] <kemiisto> лучше препятствовать
[19:40:04] <kemiisto> вот, например
[19:40:09] <valexey> А я согласен :-)
[19:40:14] <kemiisto> не будь в абиронах переименование модулей
[19:40:21] <kemiisto> тебе бы читать было проще
[19:41:02] <valexey> Я просто читал шарповый код в таком стиле писаный
[19:41:06] <valexey> Это ужасно
[19:41:21] <valexey> Господа губановы так пишут
[19:41:35] <valexey> Это не читабельно. Абсолютно.
[19:41:36] <kemiisto> с полной квалификацией имён?
[19:41:42] <valexey> Да
[19:41:45] <kemiisto> ну там это, конечно, глубо
[19:41:52] <kemiisto> там же вложенные неймспейсы
[19:41:57] <valexey> Угу
[19:41:58] <kemiisto> и зачастую глубоковложенные
[19:42:03] <valexey> Угу
[19:42:05] <kemiisto> нет, это другой мир
[19:42:12] <kemiisto> а вот если как в абиронах
[19:42:14] <kemiisto> модули
[19:42:18] <kemiisto> без подмодулей
[19:42:23] <kemiisto> как в адах всяких
[19:42:27] <valexey> И длина строки у них в результате символов 200
[19:42:31] <kemiisto> :D
[19:42:51] <valexey> В КП дефакто есть подмодули
[19:43:07] <kemiisto> да?
[19:43:11] <valexey> Подсистемами зовутся
[19:43:15] <kemiisto> пруф или не было!
[19:43:16] <kemiisto> ааа
[19:43:20] <kemiisto> ну это
[19:43:31] <valexey> Ужасно, да
[19:44:12] <kemiisto> valexey: кстати, ты помнится говорил
[19:44:13] <valexey> Ну и длинные имена модулей тоже.
[19:44:29] <kemiisto> что тебе лучше иметь возможность интерфейс модуля писать ручками
[19:44:44] <valexey> Да
[19:44:56] <valexey> А реализацию генерить на его основе
[19:45:03] <kemiisto> В
[19:45:07] <valexey> Иногда
[19:45:08] <kemiisto> это как?
[19:45:22] <valexey> Костяк реализации
[19:45:28] <kemiisto> а
[19:45:32] <kemiisto> ну, не суть
[19:45:37] <kemiisto> главное то
[19:45:39] <valexey> То есть функции, предусловия и так далее
[19:45:56] <valexey> В обероне же все с ног на голову поставили
[19:46:05] <kemiisto> что в Fortran 2008 (последний стандарт) специально для тебя такую возможность добавили
[19:46:09] <kemiisto> :)
[19:46:10] <kemiisto> http://fortranwiki.org/fortran/show/Submodules
[19:46:16] <valexey> Вау!
[19:46:47] <kemiisto> читал, что с MODULA-2 и Ada брали пример
[19:46:59] <kemiisto> но можно и как в абиронах
[19:47:01] <valexey> Угу
[19:47:15] <valexey> Вот это да, это модульность
[19:49:10] <kemiisto> хм...
[19:49:15] <kemiisto> а в чём цимус?
[19:49:50] <valexey> Утица в первичности  спеки
[19:49:57] <valexey> Цимус
[19:50:35] <kemiisto> а
[19:50:38] <kemiisto> я понял
[19:50:42] <kemiisto> ну это да
[19:50:47] <kemiisto> то есть
[19:50:53] <kemiisto> я бы сказал, что
[19:51:00] <kemiisto> вообще все эти вещи
[19:51:26] <kemiisto> скурпулёзное проектирование, frozen specification
[19:51:30] <kemiisto> и т.д.
[19:51:39] <kemiisto> это таки только одна из методологий
[19:51:54] <kemiisto> не всегда удобно так себя ограничивать
[19:52:03] <valexey> Угу
[19:52:12] <valexey> Но иногда надо по зарез
[19:52:16] <kemiisto> то есть ББ, скажем, будет годен для проектов, где ТЗ нет
[19:52:25] <kemiisto> и, возможно, быть не может
[19:52:42] <valexey> Поэтому это должно быть в языке, но должно быть не обязательным
[19:53:02] <kemiisto> возможно
[19:53:06] <kemiisto> кстати, да
[19:53:09] <kemiisto> таки непонятно
[19:53:29] <kemiisto> зачем выпилили возможность ручками писать интерфейсы модулей
[19:53:34] <kemiisto> как было в MODULA-2
[19:53:48] <kemiisto> язык ведь это почти не усложнило
[19:53:50] <kemiisto> бы
[19:54:34] <valexey> Угу. Только пришлось бы еще одну фазу втыкать - проверку соответствия реализации спеке
[19:54:48] <kemiisto> да
[19:55:17] <valexey> Но это элементарно же
[19:56:28] <valexey> У Вирта ведь экспериментальный проект был. То есть без тз и полного проектирования. Минимум бюрократии.
[19:56:36] <kemiisto> постой
[19:56:39] <kemiisto> а если так
[19:56:56] <kemiisto> сначала по спеке пишешь "референсную" реализацию
[19:57:08] <kemiisto> можно даже "пустышку"
[19:57:16] <kemiisto> скомпилячил получил интерфейс
[19:57:34] <kemiisto> это был, скажем, MODULE Foo
[19:57:43] <kemiisto> теперь пишем MODULE Foo1
[19:57:53] <kemiisto> и вот тут нам нужно переименование!
[19:58:04] <kemiisto> везде, где юзался Foo
[19:58:07] <kemiisto> пишем
[19:58:16] <kemiisto> IMPORT Foo := Foo1
[19:58:23] <kemiisto> интерфейс старый
[19:58:26] <kemiisto> реализация новая
[19:58:38] <valexey> А потом какой-нибудь козел поставит звездочку у лишней процедуры и все
[19:58:47] <kemiisto> вот так, наверное, необходимость в переименовании и возникла...
[19:58:58] <kemiisto> valexey: где?
[19:59:01] <valexey> И пользователи могут привязаться К ней
[19:59:04] <kemiisto> в новой реализации
[19:59:10] <kemiisto> ?
[19:59:11] <valexey> Угу
[19:59:24] <kemiisto> как они привяжуться к ней?
[19:59:33] <kemiisto> они работают со старым интерфейсом
[19:59:43] <kemiisto> там только процедурки из Foo
[19:59:49] <valexey> Ок
[19:59:57] <kemiisto> стой
[20:00:01] <kemiisto> я точно помню
[20:00:06] <kemiisto> что видел это где-то
[20:00:15] <valexey> Предположим, что Foo1 вообще ничего не экспортирует.
[20:00:19] <kemiisto> что именно для этого переименование и задумано
[20:00:29] <valexey> В результате получим рантайм ошибку
[20:00:38] <kemiisto> valexey: вот тут я не уверен
[20:00:45] <valexey> Оно мне нужно?
[20:00:54] <kemiisto> но это мы уже обсуждали
[20:01:03] <kemiisto> в ББ многое проверяется в ран-тайм
[20:02:01] <valexey> Дык ведь реализатору Foo1 придется в ручную проверять свой модуль на соответствие спеке
[20:04:45] <valexey> А это источник ошибок
[20:04:56] <valexey> Рантайм ошибок!
[20:05:30] <valexey> Причем этого можно избежать без изменения динамичной природы бб
[20:05:58] <kemiisto> да
[21:51:22] <kemiisto> valexey: используй правильную ФС!!!111
[21:51:24] <kemiisto> http://code.google.com/p/maczfs/
[22:15:01] <kemiisto> http://www.haiku-os.org/news/2011-09-03_google_summer_code_2011_results
[22:15:25] <kemiisto> гвест эдишнс!
[22:15:28] <kemiisto> блеать!
[22:15:48] <valexey> О, ты до гайки добрался
[22:15:52] <valexey> Прелесно
[22:16:10] <kemiisto> это я GSoC ковырял
[22:16:13] <kemiisto> и наткнулсо
[22:16:24] <kemiisto> ты, вроде, пиарил
[22:16:36] <valexey> Гайка рулез
[22:16:56] <valexey> Целиком писана на плюсах
[22:17:08] <kemiisto> :D
[22:17:13] <kemiisto> да...
[22:17:24] <kemiisto> Оборонкоре не одобрил бы...
[22:18:47] <kemiisto> http://ru.wikipedia.org/wiki/Haiku#.D0.A0.D0.B0.D0.B7.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D0.BA.D0.B0_.D0.BF.D1.80.D0.B8.D0.BB.D0.BE.D0.B6.D0.B5.D0.BD.D0.B8.D0.B9
[22:18:55] <kemiisto> ФОРТРАН, БЛЕАТЬ!
[22:19:00] <kemiisto> видимо, Г
[22:19:00] <valexey> ?
[22:19:05] <kemiisto> гфортран
[22:19:15] <valexey> :-)
[22:21:43] <kemiisto> http://wiki.minix3.org/en/MinixReleases
[22:21:48] <kemiisto> Release 3.1.7
[22:21:56] <kemiisto> Support for the cp1251 and koi8-u charsets
[22:21:59] <kemiisto> ба!
[22:33:08] <kemiisto> опять я начудил
[22:33:15] <kemiisto> скачал образ VM
[22:33:19] <kemiisto> а не ISO
[22:33:24] <kemiisto> а там GCC 2
[22:33:29] <kemiisto> :'(
[22:33:31] <valexey> Гы
[22:33:47] <valexey> Ну а что такого? Совместимость с би
[22:33:49] <kemiisto> kemiisto: а никак нельзя установить GCC4 туда?
[22:34:02] <kemiisto> valexey: это тебе было
[22:34:03] <kemiisto> :D
[22:34:48] <valexey> Есть сборка системы для и посредствомм гцц 4 и есть гибрид где и то и это
[22:35:04] <kemiisto> хм
[22:35:09] <kemiisto> а как узнать
[22:35:12] <kemiisto> что у меня?
[22:35:19] <valexey> Зайди на haiku-os@c.j.r
[22:35:24] <valexey> И спроси
[22:35:39] <kemiisto> valexey: :D
[22:35:50] <kemiisto> хорошо хоть не в гугл послал
[22:35:55] <kemiisto> и на том спасибо
[22:35:56] <kemiisto> кста
[22:36:01] <kemiisto> насчёт MDI
[22:36:18] <valexey> Дык соседняя конфа же
[22:36:56] <kemiisto> http://forum.oberoncore.ru/viewtopic.php?f=34&t=379&p=53461&hilit=MDI#p53461
[22:37:17] <kemiisto> позывы были!
[22:37:19] <kemiisto> заметь
[22:37:27] <kemiisto> Info21 не был против!
[22:37:29] <kemiisto> XD
[22:37:47] <valexey> :-)
[22:38:36] <kemiisto> https://www.haiku-os.org/get-haiku
[22:38:44] <kemiisto> третье зеркало решает!
[22:39:18] <kemiisto> чёт там больно докуя скандинавов
[22:39:20] <kemiisto> ...
[22:39:28] <valexey> :-)
[22:41:26] <kemiisto> у них даже есть своя юзер группа
[22:41:27] <kemiisto> http://dev.hug-nordic.org/
[22:41:42] <valexey> Ужас
[22:41:52] <valexey> Суровые скандинавы
[22:42:07] <kemiisto> скандинавский социализм позволяет заниматься всякой куйнёй
[22:42:12] <kemiisto> ОСями на читсых сях
[22:42:14] <kemiisto> например
[22:42:17] <kemiisto> :D
[22:42:52] <valexey> Да они все на чистых сях. В отличае от гайки
[22:43:00] <kemiisto> а нордический темперамент - необходимое условие С++ кодеров
[22:43:14] <kemiisto> valexey: ошибся
[22:43:19] <kemiisto> плюсы имелись ввиду
[22:43:22] <kemiisto> ну понятно
[22:43:28] <kemiisto> сам создатель отседова
[22:43:34] <genieprox> а чёй-то хайкой майкрософт занялся вдруг? о_О
[22:43:36] <valexey> Еще симбиан такой же
[22:43:47] <valexey> genieprox: где?
[22:44:04] <kemiisto> valexey: не переживай так! :D
[22:44:16] <kemiisto> они портят не всё, за что берутся
[22:44:29] <genieprox> да вот тут же на фотке: http://ru.wikipedia.org/wiki/Haiku#.D0.A0.D0.B0.D0.B7.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D0.BA.D0.B0_.D0.BF.D1.80.D0.B8.D0.BB.D0.BE.D0.B6.D0.B5.D0.BD.D0.B8.D0.B9
"Фотография оригинального диска с альфа-версией Haiku OS R1. Фотография была сделана внутри Центра Исследований и Разработок компании Microsoft, г. Хайфа, Израиль."
[22:44:44] <valexey> genieprox:это не микрософт
[22:44:59] <kemiisto> valexey: опередил
[22:45:22] <valexey> Это один знакомый беосьник, который волею судеб работает ныне на мс
[22:47:26] <genieprox> Двое русских разработчиков портировали тулкит Qt на Haiku, благодаря чему стало возможным запускать программы написанные с использованием тулкита.
[22:47:50] <valexey> Компилировать
[22:47:59] <valexey> Да, я знаю
[22:48:39] <valexey> BeOS и гайка - то чем я пользовался начиная с 2000 года
[22:49:11] <genieprox> а чё фирма Be закрылась-то?
[22:49:38] <valexey> Их купил палм
[22:49:50] <genieprox> мне как-то попадалась BeOS 4.5 -- ,fkjdfkcz? yj ytcthm`pyj
[22:50:46] <genieprox> В 2001 году активы компании были скуплены Palm, Inc. за 11 млн долларов, после чего была начата процедура ликвидации.

купили что бы закрыть? смысл?
[22:50:57] <genieprox> мне как-то попадалась BeOS 4.5 -- баловался, но несерьёзно*
[22:51:46] <valexey> genieprox:что бы наработки и сотрудников получить
[22:55:55] <kemiisto> http://www.freelists.org/post/haiku-development/RFC-GSOC-2011-VirtualBox-guest-additions-added-to-official-optional-packages
[22:56:01] <kemiisto> тут есть бинари
[22:56:22] <valexey> Я предпочитаю raw
[22:56:27] <kemiisto> A gcc4 Haiku build is a requirement
[22:56:35] <kemiisto> она ничего не спрашивает
[22:56:40] <kemiisto> когда ставится с ISO
[22:56:47] <kemiisto> :(
[22:57:48] <valexey> А должна?
[22:58:00] <valexey> С исо оно и работать может
[22:58:06] <valexey> Без установки
[23:03:50] <kemiisto> valexey: NB!
[23:03:51] <kemiisto> http://habrahabr.ru/blogs/Dura_Lex/128668/
[23:03:54] <kemiisto> :D
[23:04:02] <genieprox> valexey> возможность анотирования метаинформацией как минимум всего того, что может экспортировать модуль.
что конкретно это значит?
[23:05:12] <valexey> genieprox: это значит что язык это умеющий - рулит!
[23:06:29] <valexey> Возможность добавить информацию к любой сущности. Любую информацию. В рантайме эту инфу можно получить
[23:08:04] <valexey> Например вот модуль, в нем функция foo, метаинфа например может содержать кто написал ее, а может содержать например ее время работы в зависимости от аргументов
[23:08:15] <valexey> В общем, любая инфа
[23:08:36] <genieprox> некие теги к любому объекту?
[23:08:38] <valexey> Какая именно и в каком виде - решает программист
[23:08:40] <valexey> Да
[23:09:14] <valexey> К любой сущности времени компиляции
[23:09:40] <valexey> Константе, типу, функции, модулю, и так далее
[23:09:45] <genieprox> если считать, что всё есть объект, то и функции тоже становятся объектами, а значит просто у базового суперкласса Object должно быть поле Tag типа Object
[23:10:26] <genieprox> так годится?
[23:10:41] <valexey> Круто. Но ты подумай о техническом воплощении.
[23:11:12] <valexey> Я перечислил у чего это имеет смысл
[23:11:49] <valexey> У объекта класса это смысла не имеет. Ибо это мы можем и так сделать
[23:12:06] <valexey> Без непосредственной поддержки компилятора
[23:12:23] <valexey> А вот для статических сущностей - не можем
[23:13:21] <genieprox> в чём проблема технического воплощения?
[23:14:22] <valexey> Я ж написал
[23:15:10] <genieprox> valexey> максимум дополнительных сложностей для создания глобальных переменных в модулях
как это понять? требовать от программиста, что бы он указывал при описании глобальной переменной, что она ему действительно позарез нужна, а потом заставлял мучиться, используя её?
[23:16:01] <valexey> Ну, например в плюсах достаточно для этого сложностей :-)
[23:17:01] <valexey> Либо не глобольные переменные должны быть еще приятней глобальных в использовании
[23:24:12] <genieprox> test
[23:24:12] <Жаба> genieprox, passed
[23:24:44] <genieprox> хорошо, кто реально будет заполнять всю эту етаинформацию, и кто булет ею пользоваться?
[23:25:18] <valexey> Программисты
[23:25:26] <valexey> См ерланг
[23:25:37] <genieprox> кстати, в эйфелле для класса можно такие ноты указывать, не знаю правда насколько это то
[23:25:38] <valexey> Там это есть в усеченном виде
[23:25:55] <valexey> См анотации в жабе