[00:01:34] <valexey_> эмм.. так не бывает :-) то есть либо исключение/кот ошибки ничего не стоит если его никогда не бросать, но стоит много если его таки бросить, либо оно постоянно отжирает производительность при каждом вызове, даже если все хорошо.
[06:55:39] <Kemet> чего им отжирать производительность, они работают, когда работают))) а АО тоже норм, есть секции FINALLY, которые потом выполняются
[11:19:15] <Kemet> valexey_: "попробуй аналог res, err := Func(); на обероне написать :-) почувствует разницу"
множественный возврат - это изврат, на обероне то будет как то так res := Func( err ); или Func(..., res, er );
[13:39:50] <_valexey_> Изврат - это возвращать результат через аргумет
[13:40:23] <_valexey_> Это как у кишечнополостных, которые кушают и какают одной и той же дыркой.
[16:16:52] <vlad2> И закономерный итог: https://forum.oberoncore.ru/viewtopic.php?p=103966#p103966
[16:18:45] <valexey> я вообще не понимаю, пишут что нельзя говорить про сравнение поизводительности, но он же именно сравнивает производительность!
[16:19:08] <valexey> такое ощущение, что там просто идет подгонка под результат
[16:30:27] <valexey> https://marquetteeducator.files.wordpress.com/2012/07/5232012052424iwsmt.jpeg
[16:30:40] <valexey> Владимир Ситников жжот!
[17:21:32] <Kemet> _valexey_ Изврат - это возвращать результат через аргумет
Неее, изврат, это потом искать, где ты облажался, упустил возвращаемое значение или перепутал местами, а аргумент он и в африке аргумент
[17:21:56] <Kemet> в общем множественный возврат это извращение идиотов
[17:22:30] <valexey> м? а как ты их местами перепутаешь то? ошибка компиляции же будет
[17:22:41] <valexey> а что значит "упустил возвращаемое значение"?
[17:23:08] <valexey> я эти устрицы регулярно ел, озвученных проблем не было.
[17:23:16] <Kemet> ну разные решения есть, можно и опускать, ну как перепутаеь, а так, типы совпадут и фчсё
[17:23:45] <valexey> типы не совпадут. обычно тип Error отличается от целевого типа :-)
[17:24:02] <valexey> а int, int мало когда возвращают. так то.
[17:24:03] <Kemet> да всякое бывает
[17:24:14] <valexey> ну, вот за несколько лет не было ни разу.
[17:24:30] <Kemet> потенциально опасное, запутывающее и нахрен не нужное дерьмецо
[17:24:54] <valexey> а вот когда реально путали в каше аргументов что там возвращается, а что передается - вот это бывало
[17:24:54] <Kemet> возращать нужно одну сучность, а остальное в аргументах
[17:25:11] <valexey> foo(bar,bar, bee, fee, something, wtf);
[17:25:20] <valexey> чо, куда, зачем? никто не знает.
[17:25:31] <Kemet> там же тоже типы
[17:25:39] <Kemet> используй имена, раз не помнишь
[17:25:40] <Kemet> )
[17:26:06] <valexey> особенно этим грешит opencv например. и именно в этом месте питонячьи интерфейсы удобней плюсатых - в питонячьих то. что возвращается - возвращается через return, а не через аргументы.
[17:26:27] <Kemet> а если ide, так вообще подсказка сразу выскакивает с сигнатурой и описанием
[17:27:33] <valexey> ну, это какбэ мой личный опыт. возврат множества значений или возврат туплы (с возможностью её на месте раздербанить) удобней и генерит меньше ошибок, нежели возврат через аргументы
[17:50:17] <vlad2> Kemet: лично мне чтение книжуки по хаскелю вправило мозг - на хаскеле писать не стал, но вот на С++ стал всегда результат возвращать как результат, а не через аргументы. Только положительный опыт от такой перестройки.
[17:51:02] <vlad2> Короче, согласен с valexey'ем - возврат через аргуметы это пережиток паскальной эры :)
[17:54:46] <vlad2> Если язык позволяет возвращать нормальный результат, то модифицирование аргументов сразу становится некошерным.
[17:55:25] <valexey> а когда уже вкусил это в другом языке, то твой обычный язык, который форсит тебя возвращать результат через аргументы, становится менее кошерным :-)
[17:57:26] <valexey> кстати, в с++17 сделали таки удобно:
std::tuple<int, int&> f();
auto [x, y] = f();
[17:57:46] <valexey> но у нас тут даже с++11 до конца не освоен (ибо msvs2012 кое-кем еще используется ;-( )
[17:57:59] <valexey> http://en.cppreference.com/w/cpp/language/structured_binding
[18:00:27] <valexey> глядишь, и pattern matching завезут нормальный для алгебраических типов данных...
[18:27:18] <Kemet> valexey, ну это не модификация, аозврат через аут аргументы
[18:28:34] <Kemet> vlad2, рад за тебя))
[18:36:20] <Kemet> Но для троллинга оберонкоровцев зорошая тема, нужно запилить в кп кортежи и множественный изврат
[18:36:37] <valexey> Злой ты...
[18:37:11] <valexey> Я смотрю Дагаев хочет победить С++ по производительности :-D
[18:37:54] <valexey> кстати, а откуда такая мода пошла - исходники BB кидать в виде хитрожопо закодированного текста?
[18:37:58] <valexey> почему не просто архивом кинуть?
[18:38:07] <valexey> или даже просто файлом
[18:41:17] <Kemet> Блин, у меня был готов отличный инструмент для троллинга, случайно удалил((( я тогда подумывал, не переписать ли рослин на ао, начал ьыло, а потом думаю, нужен юникод, он в бб поддерживается и начал курочить их компилятор, простой шарпополобный язык получился, со свойствами и дженериками ))) нуу думаю, фсё, кспец всем, а потом то одно то лругое, забыл и как то удалил(((( ну может и есть где на болванке, хз
[18:42:03] <valexey> эхъ...
[18:42:20] <Kemet> Потому что это их родной формат архива
[18:42:56] <valexey> ну это ж не архив, а ересь. он же не сжимает нормально.
[18:43:08] <valexey> это скорее ююк какой-то. uuencode
[18:43:27] <Kemet> Типа тара)
[18:43:50] <valexey> там же текст. тар таки не сжимает, но и в принтабл текст не переводит.
[18:44:08] <valexey> это нечто вроде tar + uuencode
[18:44:13] <Kemet> Зато он текстовый, это преподносится как достоинство)
[18:44:20] <valexey> o_O
[18:44:31] <valexey> кстати, их же там две разновидности вроде, не?
[18:44:54] <Kemet> Вроде нет
[18:45:48] <Kemet> Так их арзив распечатать можно, а потом разпощнать, лолой перфокарты, дайошь оберонистый арзив, да это с обертна пошло
[18:46:14] <valexey> ну я и говорю заююченый тар
[18:46:22] <valexey> или за base64ный тар.
[18:46:22] <Kemet> Блин, защитное стекло это жесть
[18:46:45] <valexey> но нафига оно на форуме - я хз.
[18:47:30] <Kemet> Не знаю, в а2 отказались в пользу обычных форматов
[18:48:05] <valexey> A2 явно разрабатывают католики или ваще протестанты!
[18:48:14] <valexey> А ББ он православный! Каноничный!
[18:48:30] <valexey> Настолько каноничный, что Оберон от вирта это уже не канон!
[18:48:46] <Kemet> И земля у них плоская и весь мир вокруг оберона вертится)
[18:49:54] <Kemet> Илья как то слишком негативно к многопоточке настроеен
[18:50:41] <valexey> ну, потому чта сложна!
[18:50:58] <valexey> ну, я тоже не люблю когда многопоточку пихают лишь для того, чтобы асинхронно что-то делать.
[18:51:11] <valexey> но вот в Go отлично сделано!
[18:52:03] <Kemet> Стиль программирования другой, часто приходится гонять копии, данные делать не мутабельными, а кп вроде не подволят возвращать массивы и записи, только в виде указателей
[18:52:47] <valexey> ну, для многопоточки да, другой стиль. ну и шо?
[18:53:02] <valexey> собственно стиль программирования сильно от задачи зависит же.
[18:53:20] <Kemet> Ну да, когда просто асинхронка, хочется простоты
[18:55:42] <valexey> поскольку я на Go пришел после некоторого опыта с erlang'ом (где тоже потоки общаются через сообщения), где вытесняющая многопоточность легковесная (там где у Go горутина, там у ерланга поток), то проблем с мышлением не было.
[18:55:55] <Kemet> Ну здесьспецифика определенна, излишняя сложнаяость, потому чтобы зоть чтото упростить и немутабельные данные, это резко упрощает, остаются точки синхронизации
[18:56:13] <valexey> Т.е. просто пишешь код исходя из того, что горутины могут выполняться в проивольном порядке и даже все одновременно (число ядер = числу горутин. например 1000).
[18:56:18] <valexey> и всё!
[18:59:13] <Kemet> Так да, но это щначит, что данные нужно проектировать, чтобы не умер никто, поэтому ему и не нравится, нарисовал струетуры и пиши обработчики, так проще и меньше голова ьолит
[19:00:55] <Kemet> Ну то есть ему многопоточка не нужна, он запустит 1000 процессов на 1000 ядер и напишет протокол, ширу и синхронизацию)
[19:01:10] <valexey> :-D
[19:01:42] <valexey> ну, если общаться только через каналы - не умрет никто. но естественно нужно думать про очередность, не зарыл ли где себе собаку.
[19:02:27] <Kemet> В результате, все равно получится то же самое, но он этого не видит, потому ч о задачи маленькие и там корутины мелкие и распределены
[19:02:56] <valexey> как только ты закладываешься на то, что вот тут ты послал сообщение, а потом к моменту T оно уже гарантировано успеет обработаться (хотя ты не ждал явным образом этого события, не делал waitFor блаблабла, не получал через канал ответку - что всё, обработалось), так сразу у тебя проблемы, да.
[19:03:29] <Kemet> Дык о том и речь, все равно есть точка синзронизации, есть барьеры
[19:04:25] <valexey> я регулярно натыкаюсь в коде на какой-нибудь sleep(42). обычно, в случае многопоточки, да и вообще, проектировании системы, как только видишь слип - значит это ошибка.
[19:04:43] <valexey> ибо в этом вот месте человек делает предположение, что за это время успеет совершиться нечто.
[19:05:47] <Kemet> Да, поэтому старый многопоточный компилятора ао и выпилили
[19:06:57] <Kemet> Ну, сначала увеличили время одидания, но это не решило, и постепенно стали выпиливать там параллельные скопы, а потом и сам компиль
[19:07:12] <valexey> хы
[19:08:07] <Kemet> Ну это можно было все решить, сделав нормальный барьер, а не. О убожество, что было, но не захотели, к слову, мы ни разу на этом компиляторе проблем не словили
[19:08:49] <valexey> представляю, приходят такие ББоберонщики к гуглу и говорят - мы нашли в дизайне вашего Go ошибку. goрутины это хорошо, но только если они все крутятся ровно в одном потоке! не нужны вам многопоточные приложения на ваших серверах с 64 ядрами!
[19:08:56] <valexey> одного потока вам будет достаточно!
[19:10:13] <Kemet> Нее, у Ильи же другое, он имеет ввилу, что нужно разделить синтаксис вызова простой горутины и параллельной
[19:10:54] <valexey> кажется это можно было бы сделать либой, это раз
[19:11:17] <valexey> два - работа горутин там сложнее чем просто последовательная она или параллельная
[19:11:33] <valexey> они там хитро динамически группируются, кто каким потоком крутится.
[19:11:44] <valexey> потоков (почти всегда) сильно меньше чем горутин
[19:12:31] <valexey> с учетом того, что Го юзается для высоконагруженных серверов (в основном), тупая горутина там не особо востребована.
[19:12:58] <valexey> в этом плане Го это противоположность оберону, коий был изобретен для однопользовательной однозадачной десктоп-системы.
[19:13:05] <valexey> интерактивной десктоп-системы
[19:15:08] <Kemet> В локфри версии а2 там планировщик тоже хитрый, он планирует рутины на виртуальные процессоры, а потом уже на фищические ядра
[19:15:31] <valexey> как говорится, A2 это уже не оберон!
[19:15:37] <valexey> ты б еще Zonnon в пример привел!
[19:16:19] <Kemet> В зонноне похоже сами разрабы заблутали
[19:16:33] <valexey> скорее финансирование кончилось :-)
[19:16:41] <valexey> то была любовь за деньги
[19:17:37] <Kemet> Ну, его легко наверное поднять на современной базе, но он же никому не нужен
[19:18:12] <valexey> хотя, какие-то минимальные шевеления есть https://github.com/zonnonproject/compiler/
[19:19:18] <Kemet> Его сейчас фиг чем скомпилишь, только переписывать
[19:19:37] <Kemet> Да и он под старый нет
[19:19:52] <valexey> да? разве шарп настолько сильно поменялся?
[19:20:22] <valexey> в шарпее есть изменения ломающие обратную совместимость?
[19:20:29] <Kemet> Там инфраструктура
[19:21:20] <Kemet> Там использовался какой то фреймворк для мидленда и компиляции, он много менялся, а потом умер
[19:22:12] <valexey> хы
[19:22:30] <Kemet> И да в нете есть много не совместимости, но это несовместимость версионная, на кском нить 2.0 оно будет работать
[19:24:41] <Kemet> Ну не так чтобы зы, они хотели инфраструктуру использовать, там вроде анализатор был и все такое, им оставалось язык придумать, фронт написать и рантайм накалякать
[19:25:23] <Kemet> Код фронта жуууть
[19:25:42] <valexey> хуяк и в продакшн!
[19:25:54] <valexey> хотя они же долго язык этот пилили. не с 2000 ли года?
[19:26:20] <valexey> но кому нужен просто еще один язык программирования, не нацеленный на решение конкретных практических задач?
[19:26:22] <Kemet> Я думаб, на базе рослина за пару тройку недель неспешной работы можно сделать
[19:26:23] <valexey> никому.
[19:26:35] <valexey> даже если его допилить.
[19:28:11] <Kemet> Да он вроде допиленый до заявленного, там баги править нужно и либы
[19:28:39] <valexey> и нинужин!
[19:33:42] <Kemet> Синтак там больше к дельфи миграция
[19:34:06] <Kemet> Ну жто понятно, типа дельфисты набегут)
[19:34:38] <Kemet> Но им .нэт не нужин
[19:34:46] <valexey> дык делфи вроде уже заигрывал с .net
[19:34:48] <valexey> и это был провал
[19:35:38] <Kemet> Ну не то чтобы провал, но надежд не оправдал, да тогда нэт и не взлетел же
[19:37:23] <Kemet> Потом был дельфи для пыхыпы и тоже не оправдал, но все это не нужно было убивать, потребность была, росла, но борман тогда уже вошел в пике
[19:38:05] <valexey> нужно было резать косты!
[19:40:44] <Kemet> Ну это когда dec начала падать, ла что там, валить ее собственные акционеры стали, тск каддый считал своим долгом пнуть, там де такие гешефты выпадывали
[19:44:01] <Kemet> А сейчас жта жмбаркадера странные вещи с языком делает
[19:44:29] <Kemet> Не делфи а хрен поймешь
[19:44:53] <Kemet> Ладна, нада писать кот
[19:45:00] <Kemet> Всем пока
[19:46:38] <valexey> кот это хорошо, да.
[19:46:50] <geniepro> valexey: помнишь, ты писал, что буддену надо посмотреть на дилан? так он уже смотрел год назад )) https://budden73.livejournal.com/25207.html
[19:47:55] <valexey> испужался вирусов!
[19:48:23] <geniepro> ))
[19:56:19] <geniepro> » vlad2> Kemet: лично мне чтение книжуки по хаскелю вправило мозг - на хаскеле писать не стал, но вот на С++ стал всегда результат возвращать как результат, а не через аргументы. Только положительный опыт от такой перестройки.

сделай следующий шаг -- начни писать на хаскеле )))
[20:00:19] <valexey> хаскель не зайдет
[20:00:28] <valexey> надо пробовать раст
[20:08:09] <Kemet> У раста даже название странное
[20:09:02] <valexey> у всех ЯП названия странные. ну, быть может, кроме самых первых и древних
[20:09:28] <valexey> вот что такое оберон? при чем тут феи? что такое Гоу, кто куда идет?
[20:09:44] <valexey> ржа тут мало выделяется на общем уровне бреда
[20:09:53] <Kemet> Похоже в ethz всех разогнали, кризис, та и мейер там видимо не любит ,)))
[20:11:14] <Kemet> Не любит оберон
[20:12:16] <valexey> интересно. на тему кризиса. кажется оберонщики должны жаждать какого-нибудь кризиса. экономического там, или просто кризиса индустрии. чтобы ресурсов стало меньше, чтобы всех на военные рельсы и там приказом свыше писать на обероне и не выпендриваться со сложными языками.
[20:13:17] <Kemet> Блин, много хорошего в а2 до ума не ловели, там даже локалищация ис каропки есть, но до конца не лоделаннаы, ну там еще нужно словари для перевода сделать, да
[20:14:12] <valexey> а вот в ББ всё есть! даже однопроходные перевод ключевых слов кириллических, написанный за один вечер без отладчика!
[20:16:23] <Kemet> Там пишешь скажем форму, ну или в билдере рисуешь и созраняешь в репозиторий, ну то ьишь в файл, оно там везде xml, и вот при загрузке формы, каждое слово и фраза в прощертяхж автоматом переыэведется на нужный язык
[20:18:08] <valexey> прикольно, да.
[20:18:35] <Kemet> Словари нужно где то надергать
[20:19:59] <Kemet> Там вообще жтим xml болели, там даве компонент унаследован от xmlelement
[20:20:01] <valexey> а разве это не для каждого проекта нужно делать руками? а то ведь перевод по словарю может порождать ну очень странные фразы и не совсем уместные даже одиночные слова
[20:21:03] <Kemet> Нет, просто словари, словари глобальны, транслятор при загрузке формы поля сам переводит, все строковые ресурсы
[20:21:37] <valexey> это ж капец будет. в плане качества перевода
[20:21:57] <valexey> оно небось File как "документ" переведет.
[20:22:06] <Kemet> Нет, там фразы целиком, вроде один. к одном
[20:22:28] <valexey> а, если фразами, то норм. но всё равно под своей проект донастраивать надо.
[20:22:32] <valexey> под свой сет фраз
[20:23:43] <Kemet> Это обысючная локализация как в других вещах, но сделанная так, в словарь заносят нудные фразы и слова и они прос о трансл рубтся на нужный язык, там лобгики нет , прос о таблицы
[20:24:01] <valexey> да, я понял
[20:24:40] <Kemet> Настроить можно, вроде там модно пошьзовательский словари указывать, сначала в низ ищется соответствие
[20:25:09] <valexey> да, полезная штука
[20:26:03] <Kemet> И она даже работает) а не, какая то логика есть, но в особых случаях
[20:29:47] <Kemet> Там также делали глобальное логирование и средства для ммммм пу скажем наблюдения ватч, за разными подсистемами, до конца не доделали, увы, но там еще было реплай система, ну то есть система грохнулась, трассу в файл записала, и этот файл можно было подсунуть лругой а2, и он ее воспроизведет
[20:30:33] <Kemet> Сделает усе что делал пользователь
[20:31:01] <valexey> прикольно
[20:31:03] <valexey> и полезно
[20:31:13] <valexey> но, видимо, это тоже разврат мозга и импринтинг!
[20:32:16] <Kemet> Видимо да)) хо, тоже отличная тема для затравки)
[20:33:53] <Kemet> Таак, у меня будет свободна неделя, вот думаю, может опять недошарп слабать, и бб на него перевести)
[20:35:00] <valexey> info21 инфаркт хватит
[20:35:28] <Kemet> Только зотел написать)
[20:36:33] <Kemet> А ведь даде кому то понравится)) и придется потом поддерживать, ну нафиг
[20:36:59] <valexey> :-D
[20:37:14] <geniepro> Kemet: денег нарубишь же!
[20:38:01] <Kemet> Я лучше каркас бб в ао засуну, это будет самый лучший троллинг
[20:39:19] <valexey> настоящий троллинг - это засунуть ББ в С++ прогу :-)
[20:40:11] <Kemet> Не оценят
[20:40:26] <Kemet> А ты в смысле мереписать на цпп
[20:40:55] <valexey> ну, ядро, да. модульки прикладные то пусть на КП остаются :-P
[20:42:08] <Kemet> Это я не осилю, я со словарем делаю обратное и цпп никак в мозг не ложится, не мой язык, даже окамл лучше шел
[20:43:16] <Kemet> Ваще мо выбор был бы модула 3 и окамл
[20:44:06] <valexey> у камла мне реализация не шибко нравится. ну и эти его родимые пятна от repl'a, когда любую сущность можно переопределить заново.
[20:44:23] <valexey> типа
let a=13;
let a = 3.1415;
[20:44:25] <valexey> и нормуль.
[20:44:40] <valexey> имеем, по факту, два 'a' разных типов
[20:44:45] <valexey> но к первому уже не обратиться.
[20:45:12] <valexey> ну и то, что реализация там откусывает от интов по биту - тоже фигня.
[20:45:17] <Kemet> Да, фигово
[20:45:49] <valexey> но так то язык норм в принципе. коньцепции есть интересные и юзать плюс-минус можно.
[20:46:04] <valexey> модула-3 тоже оченно приятные впечатления оставила.
[20:46:13] <geniepro> valexey: норм же! в хацкеле так же в do-синтаксисе:
do
 a <- return 13
 a <- return 3.14
[20:46:19] <valexey> и реализация неплоха. т.е. видно что не фрики делали.
[20:46:27] <Kemet> Выпилить жту херню и нормальный язык будет
[20:47:10] <geniepro> valexey> ну и то, что реализация там откусывает от интов по биту - тоже фигня.
а зачем камль это делает? в хаскеле это нужно дляленивости
[20:47:23] <valexey> для мусорщика вроде
[20:47:48] <geniepro> зачем инты мусорщиком собирать?
[20:47:48] <valexey> https://stackoverflow.com/questions/3773985/why-is-an-int-in-ocaml-only-31-bits
[20:48:22] <valexey> короче, там нужно очень сильно поприсядать, чобы с нормальными интами начать работать. и это жрет как строчки кода, так и производительность
[20:48:58] <geniepro> This is called a tagged pointer representation

так это и в блекбоксе же так!
[20:49:24] <valexey> э? разве? там же у примитивных типов ничего не откусывают, ты чо?
[20:49:55] <geniepro> ну у указателей же такая кодировка там
[20:49:58] <valexey> короче, если бы камло переписать НОРМАЛЬНО, им можно было бы пользоваться.
[20:50:07] <geniepro> valexey: ПЕРЕПИШИ!!!
[20:50:15] <valexey> а уже переписали
[20:50:18] <valexey> и назвали растом
[20:50:21] <geniepro> F# не устраивает что ли????
[20:50:39] <valexey> фшарп это дотнет. донтет нигде не используется и нинужин
[20:51:03] <geniepro> будешь писать на го -- станешь гомиком, будешь пользоваться растом -- станешь педерастом!!!
[20:51:17] <valexey> наоборот
[20:51:23] <valexey> один раст не педераст!
[20:51:34] <valexey> он д'Артаньян!
[20:53:19] <geniepro> 1>------ Build started: Project: Zonnon.RTL, Configuration: ROTORrelease Any CPU ------
1>D:\Prj\VS\Zonnon\compiler-master\solution\Zonnon.RTL\Compute\Data.cs(51,21,51,30): warning CS0660: 'DataRange' defines operator == or operator != but does not override Object.Equals(object o)
1>D:\Prj\VS\Zonnon\compiler-master\solution\Zonnon.RTL\Compute\Data.cs(51,21,51,30): warning CS0661: 'DataRange' defines operator == or operator != but does not override Object.GetHashCode()
1>D:\Prj\VS\Zonnon\compiler-master\solution\Zonnon.RTL\Compute\Data.cs(137,17,137,26): warning CS0649: Field 'Data._disposed' is never assigned to, and will always have its default value false
1>  Zonnon.RTL -> D:\Prj\VS\Zonnon\compiler-master\solution\Zonnon.RTL\bin\ROTORrelease\Zonnon.RTL.dll
2>------ Build started: Project: ETH.Zonnon, Configuration: ROTORrelease Any CPU ------
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\ASTVisitor.cs(488,48,488,57): warning CS0612: 'RANGESTEP' is obsolete
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\ASTChecker.cs(239,49,239,58): warning CS0612: 'RANGESTEP' is obsolete
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\ASTVisitor.cs(594,58,594,77): warning CS0612: 'UNKNOWN_NONTERMINAL' is obsolete
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\ASTChecker.cs(663,59,663,78): warning CS0612: 'UNKNOWN_NONTERMINAL' is obsolete
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\ASTtoXML.cs(758,48,758,57): warning CS0612: 'RANGESTEP' is obsolete
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\ASTtoXML.cs(3278,59,3278,78): warning CS0612: 'UNKNOWN_NONTERMINAL' is obsolete
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\Compiler.cs(45,40,45,55): warning CS0672: Member 'ZonnonCodeProvider.CreateGenerator()' overrides obsolete member 'CodeDomProvider.CreateGenerator()'. Add the Obsolete attribute to 'ZonnonCodeProvider.CreateGenerator()'.
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\Compiler.cs(47,39,47,53): warning CS0672: Member 'ZonnonCodeProvider.CreateCompiler()' overrides obsolete member 'CodeDomProvider.CreateCompiler()'. Add the Obsolete attribute to 'ZonnonCodeProvider.CreateCompiler()'.
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\Compiler.cs(51,35,51,47): warning CS0672: Member 'ZonnonCodeProvider.CreateParser()' overrides obsolete member 'CodeDomProvider.CreateParser()'. Add the Obsolete attribute to 'ZonnonCodeProvider.CreateParser()'.
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\Protocol.cs(1398,29,1398,48): warning CS0612: 'UNKNOWN_NONTERMINAL' is obsolete
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\Protocol.cs(1417,20,1417,39): warning CS0612: 'UNKNOWN_NONTERMINAL' is obsolete
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\Protocol.cs(1423,45,1423,64): warning CS0612: 'UNKNOWN_NONTERMINAL' is obsolete
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\Protocol.cs(1423,20,1423,39): warning CS0612: 'UNKNOWN_NONTERMINAL' is obsolete
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\Protocol.cs(1433,20,1433,39): warning CS0612: 'UNKNOWN_NONTERMINAL' is obsolete
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\Protocol.cs(1392,21,1392,40): warning CS0612: 'UNKNOWN_NONTERMINAL' is obsolete
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\Compute\Structs.cs(27,12,27,23): warning CS0660: 'ComputeType' defines operator == or operator != but does not override Object.Equals(object o)
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\Compute\Structs.cs(27,12,27,23): warning CS0661: 'ComputeType' defines operator == or operator != but does not override Object.GetHashCode()
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\ASTVisitor.cs(154,38,154,47): warning CS0612: 'RANGESTEP' is obsolete
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\ASTVisitor.cs(406,48,406,67): warning CS0612: 'UNKNOWN_NONTERMINAL' is obsolete
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\Protocol.cs(846,17,846,36): warning CS0612: 'UNKNOWN_NONTERMINAL' is obsolete
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\Protocol.cs(847,41,847,60): warning CS0612: 'UNKNOWN_NONTERMINAL' is obsolete
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\Protocol.cs(948,17,948,36): warning CS0612: 'UNKNOWN_NONTERMINAL' is obsolete
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\Protocol.cs(953,44,953,63): warning CS0612: 'UNKNOWN_NONTERMINAL' is obsolete
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\Protocol.cs(1395,62,1395,81): warning CS0612: 'UNKNOWN_NONTERMINAL' is obsolete
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\Protocol.cs(1396,67,1396,86): warning CS0612: 'UNKNOWN_NONTERMINAL' is obsolete
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\Protocol.cs(1404,21,1404,40): warning CS0612: 'UNKNOWN_NONTERMINAL' is obsolete
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\Protocol.cs(1404,64,1404,83): warning CS0612: 'UNKNOWN_NONTERMINAL' is obsolete
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\Protocol.cs(1425,17,1425,36): warning CS0612: 'UNKNOWN_NONTERMINAL' is obsolete
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\Protocol.cs(1435,17,1435,36): warning CS0612: 'UNKNOWN_NONTERMINAL' is obsolete
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\TreeN.cs(28006,18,28006,36): warning CS0219: The variable 'member_is_accessor' is assigned but its value is never used
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\TreeN.cs(2827,13,2827,29): warning CS0162: Unreachable code detected
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\TreeN.cs(2827,13,2827,29): warning CS0164: This label has not been referenced
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\TreeN.cs(9427,18,9427,31): warning CS0219: The variable 'this_is_field' is assigned but its value is never used
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\TreeN.cs(10337,17,10337,36): warning CS0612: 'UNKNOWN_NONTERMINAL' is obsolete
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\TreeN.cs(10338,41,10338,60): warning CS0612: 'UNKNOWN_NONTERMINAL' is obsolete
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\TreeN.cs(10344,48,10344,67): warning CS0612: 'UNKNOWN_NONTERMINAL' is obsolete
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\TreeN.cs(22586,17,22586,42): warning CS0252: Possible unintended reference comparison; to get a value comparison, cast the left hand side to type 'TypeNode'
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\TreeN.cs(22585,17,22585,42): warning CS0252: Possible unintended reference comparison; to get a value comparison, cast the left hand side to type 'TypeNode'
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\TreeN.cs(22584,17,22584,43): warning CS0252: Possible unintended reference comparison; to get a value comparison, cast the left hand side to type 'TypeNode'
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\TreeN.cs(22583,17,22583,40): warning CS0252: Possible unintended reference comparison; to get a value comparison, cast the left hand side to type 'TypeNode'
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\TreeN.cs(22582,17,22582,42): warning CS0252: Possible unintended reference comparison; to get a value comparison, cast the left hand side to type 'TypeNode'
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\TreeN.cs(22581,17,22581,42): warning CS0252: Possible unintended reference comparison; to get a value comparison, cast the left hand side to type 'TypeNode'
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\TreeN.cs(22580,17,22580,42): warning CS0252: Possible unintended reference comparison; to get a value comparison, cast the left hand side to type 'TypeNode'
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\TreeN.cs(22579,17,22579,41): warning CS0252: Possible unintended reference comparison; to get a value comparison, cast the left hand side to type 'TypeNode'
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\TreeN.cs(22578,17,22578,41): warning CS0252: Possible unintended reference comparison; to get a value comparison, cast the left hand side to type 'TypeNode'
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\TreeN.cs(22577,17,22577,41): warning CS0252: Possible unintended reference comparison; to get a value comparison, cast the left hand side to type 'TypeNode'
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\TreeN.cs(22576,17,22576,41): warning CS0252: Possible unintended reference comparison; to get a value comparison, cast the left hand side to type 'TypeNode'
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\TreeN.cs(22575,17,22575,40): warning CS0252: Possible unintended reference comparison; to get a value comparison, cast the left hand side to type 'TypeNode'
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\TreeN.cs(14279,29,14279,33): warning CS0169: The field 'EXTERNAL_TYPE.decl' is never used
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\TreeN.cs(36334,14,36334,25): warning CS0414: The field 'BLOCK.CFGAnalysed' is assigned but its value is never used
2>D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\Protocol.cs(202,8,202,13): warning CS0414: The field 'TableGenerator.valid' is assigned but its value is never used
2>  ETH.Zonnon -> D:\Prj\VS\Zonnon\compiler-master\solution\Compiler\bin\ROTORrelease\ETH.Zonnon.dll
3>------ Build started: Project: ETH.Zonnon.CommandLineCompiler, Configuration: ROTORrelease Any CPU ------
4>------ Build started: Project: Tester, Configuration: ROTORrelease Any CPU ------
3>  ETH.Zonnon.CommandLineCompiler -> D:\Prj\VS\Zonnon\compiler-master\solution\CommandLine\bin\ROTORrelease\zc.exe
4>  Tester -> D:\Prj\VS\Zonnon\compiler-master\solution\Tester\bin\ROTORrelease\Tester.exe
========== Build: 4 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
[20:53:31] <geniepro> зонон компиляется успешно!!!
[20:53:36] <valexey> а запускается?
[20:53:58] <valexey> а компиляет?
[20:54:22] <geniepro> а хз
[21:00:25] <Kemet> Чем ты его собирал?
[21:00:44] <geniepro> кимпилирует, но при запуске проги ругается:

D:\...ompiler-master\solution\CommandLine\bin\ROTORrelease>main.exe

Необработанное исключение: System.IO.FileLoadException: Не удалось загрузить файл или сборку "Zonnon.RTL, Version=1.3.0.
0, Culture=neutral, PublicKeyToken=null" либо одну из их зависимостей. Найденное определение манифеста сборки не соответ
ствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)
  в Zonnon.run.Main()

хотя Zonnon.RTL.dll там же рядом есть
[21:00:55] <geniepro> Kemet> Чем ты его собирал?

VS2015
[21:02:12] <valexey> говно.нет
[21:02:58] <geniepro> я как-то на зонноне даже прожку одну сделал: http://www.99-bottles-of-beer.net/language-zonnon-1241.html
[21:03:57] <valexey> зашкварился!
[21:04:26] <geniepro> это было давно, я тогда начинал только ))))
[21:05:11] <Kemet> Я и говорю, фиг скомпилируешь из сырцов, я с сайта етхз бинарник брал
[21:05:12] <geniepro> хотя 6-й год, я тогда ещё про хаскель не знал, только на сях мелкоконтроллеры прогал, модулу-2 думал заюзать
[21:05:38] <geniepro> так сам компилятор же скомпилялся и даже работает, только что дальше делать хз
[21:05:47] <geniepro> надо какие-то зависимости где-то искать
[21:06:22] <geniepro> прога, скомпиленная им, не пашет -- чего-то не хватает ей
[21:06:52] <Kemet> Нэта соответствуюшей версии)
[21:07:01] <geniepro> хз
[21:07:22] <geniepro> там есть какие-то параметры компиляции связанные с версиями сборок -- я хз чо это
[21:07:40] <Kemet> А ты проверь рабочим с сайта зоннона
[21:08:15] <Kemet> У меня им собранные программы работали
[21:12:50] <geniepro> зоннон билдер )))) а где палитра компонентов??? где редактор форм? )))
[21:13:23] <Kemet> В студии))
[21:13:35] <Kemet> Там же интеграция с какойто есть
[21:14:33] <geniepro> а вот последним компилером из этого зонон билдера собралось и выполняется, но я думаю там не в компиляторе дело, а в его параметрах командной строки
[21:14:47] <geniepro> там интеграция с VS2008
[21:16:45] <geniepro> лол в зоннон билдере есть подсветка синтаксиса! это так не по обероновски!!!
[21:17:40] <valexey> дык у оберона КАПС вместо подсветки синтаксиса
[21:17:48] <valexey> у зонона КАПСА нет. поэтому приходится светить
[21:18:09] <valexey> Вирт же считает, что без выделения ключевых слов (капсом или подсветкой синтаксиса) писать и читать код невозможно.
[21:18:43] <valexey> В Оберон-системе не было цвета изначально (да и сейчас в современном тоже нет), там два цвета - черное и белое. Поэтому приходилось выделять ключевые слова КАПСОМ
[21:18:56] <valexey> хотя, конечно. ничто не мешало их подчеркивать например.
[21:19:52] <geniepro> заменил в зонон билдере компилер на тот что сам скомпилял -- всё чотко пашет!!!
[21:20:10] <geniepro> говорю же -- сам компилер рабочий, просто надо уметь параметры указывать
[21:20:49] <geniepro> ну, собсно там на сайте версия 1.3 и я скомпилял тоже версию 1ю3
[21:21:11] <geniepro> о, ща буду ставить на виртуалку астралинупс последний
[21:24:35] <Kemet> geniepro, в а2 же тоде есть подсветка в тамошней шняге)
[21:24:52] <geniepro> ваще не оберон тогда!
[21:25:00] <Kemet> Ага
[21:25:22] <geniepro> Kemet: так что кемет ты зря нагнал на зонон компилер -- он рабочий
[21:25:34] <Kemet> И номера строк, это ваще жууть же)
[21:26:04] <geniepro> йопта! в установщике астралинупса спрашивается согласие с лицензионным соглашением!
[21:26:06] <Kemet> Ну я ко пилил который на плексе, он нифига не раьотал
[21:26:25] <geniepro> плек давно умер же, щас норм ))
[21:26:36] <valexey> я когда fpga'шный комп собрал виртовый и запустил Оберон там, немного обалдел от того, что в текстовом редакторе со строки на строку можно переводить текстовый курсор только мышкой.
[21:26:53] <valexey> ну либо жмешь Enter и переходишь к редактированию новой строки.
[21:26:54] <geniepro> о_О это как так? ))
[21:27:07] <geniepro> а там вапще клавиатура поддерживается?
[21:27:12] <valexey> ну, как.. click-click by your mouse - как то так :-)
[21:27:25] <valexey> ну, печатать можно.
[21:27:28] <geniepro> значит вирт маускликер? )))
[21:27:44] <valexey> не, Оберон система настолько сурова, что требует чтобы программист тоже был однопроходным
[21:27:51] <valexey> чтобы он за один проход писал модуль целиком
[21:28:16] <valexey> т.е. набирая текст и жмакая Enter можно набрать код одного модуля без юзания мыши.
[21:28:18] <geniepro> капец! астралинупс требует пароль не менее 8 символов!
[21:28:39] <valexey> но если вдруг тебе потребуется поправить что-то в предыдущей строке, то все, извиняй. тянись за крысой.
[21:29:10] <geniepro> valexey: вот ты ржёшь а ведь япошки в 80-х реально выпускали паскаль-компьютеры с редактором и однопроходным компилером! пишешь строка за строкой и сразу там компиляется!
[21:29:11] <valexey> Я думаю, что если бы в ББ были такие же ограничения, то секта свидетелей Оберона с означенного форума, и в этом бы плюсы нашла.
[21:29:41] <valexey> Типа - возможность дешево править предыдущую строку - это разврат мозга на уровне импринтинга!
[21:30:01] <valexey> нужно сразу верно писать. нужно к этому приучаться! и не писать код пока не уверен на все 100 процентов!
[21:30:31] <geniepro> и ваще -- написал код на бумашке, проверил, поправил -- переписывай на комп сразу набело!!!
[21:30:47] <valexey> да! слепым десятипальцевым методом!
[21:31:25] <geniepro> понеслась установка
[21:31:55] <geniepro> вот из всех виденных мною линупсов астра -- самый приятный дистрибутив на вид!
[21:32:38] <valexey> у меня на работе бубунта, дома арч. и никакой зависимости!
[21:32:46] <geniepro> зононский компилер умеет OpenCL!!!
[21:33:30] <geniepro> о_О чо такое служба ALD?
[21:34:08] <geniepro> о_О http://astra-linux.com/wiki/index.php/Astra_Linux_Directory_(ALD)
[21:34:32] <valexey> типа актив директори?
[21:34:57] <geniepro> походу
[21:36:10] <geniepro> вот мне интересно -- что трурль нашёл в блекбоксе что носит его в куче копий на флешке?
[21:39:21] <valexey> любимая песочница
[21:40:11] <geniepro> а ведь когда-то он писал статьи по декларативному программированию! я их изучал когда-то )))
[21:40:50] <geniepro> https://www.cnet.com/google-amp/news/amd-has-a-spectre-meltdown-like-security-flaw-of-its-own/
[21:42:09] <geniepro> Илон Маск призвал колонизировать Марс до начала Третьей мировой войны

Подробнее на РБК:
https://www.rbc.ru/society/12/03/2018/5aa646f39a7947f866c29a8d
[21:42:14] <geniepro> он что-то знает!!!
[21:48:05] <geniepro> вау астралинупс пашет!!!
[21:48:26] <Kemet> geniepro, ну, я так же а2 везде таскаю))
[21:48:40] <geniepro> Kemet: но зачем???
[21:49:11] <Kemet> Сел, воткнул, пораьотал и дальше
[21:49:20] <geniepro> капец!!! раньше интерфейс астралинупса копировал венду хр, а щас вин10!!! ужос
[21:51:52] <geniepro> лол в поставке астралинупса какая-то ММО -- типа танчиков
[21:52:39] <geniepro> - Подсудимый, что вас побудило ограбить банк?
- Он первый начал!
[22:04:05] <_valexey_> geniepro: как называется?
[22:18:28] <geniepro> _valexey_: Warzone 2100
[22:23:14] <_valexey_> geniepro: это ж не MMO, это RTS
[22:23:29] <geniepro> ye nfv vekmnbgktqthysq ht;bv tcnm
[22:23:39] <geniepro> ну там мультиплейерный режим есть
[22:23:50] <_valexey_> Аля total annihilation
[22:23:59] <_valexey_> Уж точно на танчики ничем не похоже
[22:24:00] <geniepro> red alert!
[22:24:11] <geniepro> да один фиг )))
[22:24:36] <geniepro> ты кстати с 2016г в танчики не заходишь!
[22:27:03] <_valexey_> geniepro: угу :-)
[22:39:24] <geniepro> Твиттер распространяет чушь быстрее, чем правду
Ложные новости в Твиттере репостят быстрее и энергичнее, чем новости подлинные – и репостят их не боты, а настоящие люди.
https://www.nkj.ru/news/33363/
[22:43:45] <_valexey_> geniepro:ты уверен что ты только что не распространил ложь? :-)
[22:44:08] <geniepro> тут нет твииттер, тут можно )))
[23:24:53] <valexey_> geniepro: Я эту хм.. новость (в том числе без упоминания твиттера) сегодня из нескольких источников видел/слышал
[23:25:13] <valexey_> Кажется это то самое утверждение, которое не может быть ни истинным ни ложным :-)
[23:25:28] <valexey_> парадокс лжеца
[23:25:36] <valexey_> народ развлекается :-)