[00:00:45] <Jordan> сколько стандарт языка весит?
[00:01:46] <boris_ilov> хз
[00:02:04] <geniepro> import (
"github.com/lxn/win"
)
внушаить )
[00:02:50] <boris_ilov> ну круто же!
[00:03:14] <boris_ilov> нигде такого не видел
[00:03:27] <boris_ilov> и ведь идея проста как пробка
[00:03:31] <geniepro> if mw.toolBar, err = NewToolBar(mw); err != nil {
return nil, err
}
жуть )))
[00:03:59] <boris_ilov> на самом деле не такая уж и жуть
[00:04:07] <boris_ilov> т.к. это стандартный паттерн
[00:04:14] <boris_ilov> это везде в коде так
[00:04:21] <geniepro> что мешало так написать?
mw.toolBar, err = NewToolBar(mw)
if err != nil {
return nil, err
}
[00:04:38] <boris_ilov> ну шаблон у них такой
[00:04:40] <boris_ilov> стиль
[00:04:54] <geniepro> странный шаблон -- лишь бы не как у всех )))
[00:04:55] <boris_ilov> если его все придерживаются, то почему бы и нет?
[00:05:16] <boris_ilov> зато в Go так у всех :)
[00:05:24] <Jordan> Что за фетиш с запятой?
[00:05:29] <Jordan> ,
[00:05:32] <geniepro> я понимаю когда так делают в с++ что бы уменьшить область видимости -- но в с++ это не работает так как надо
[00:05:53] <boris_ilov> Jordan: Где?
[00:06:14] <boris_ilov> mw.toolBar, err - сишная фича
[00:06:20] <boris_ilov> return nil, err - луашная
[00:07:03] <boris_ilov> хотя нет вру первое это смесь подхода луа и си
[00:07:44] <geniepro> вапще-то это просто кортёж из двух элементов
в хацкеле написали бы типа так:
(mw.toolBar, err) <- NewToolBar(mw)
if err /= nil then
return (Nil, err)
[00:08:43] <geniepro> xnj vtifkj bv erfpfnm rheukst crj,rb xnj ,s yt ,skj nfrb[ ytj;blfyys[ hfpyjxntybq///
[00:08:51] <geniepro> что мешало им указать круглые скобки что бы не было таких неожиданных разночтений...
[00:09:11] <boris_ilov> ну то что присвоение и сравнение засунули в выражение это ж чисто сишно
[00:09:27] <geniepro> это маразматишно
[00:09:48] <boris_ilov> тем не менее это древняя фича си
[00:09:56] <boris_ilov> go тут ни при чем
[00:10:01] <geniepro> хотя я сам так часто делаю в с++
[00:10:59] <Jordan> return nil, err что конкретно возвращает?
[00:11:20] <geniepro> if (Foo *bar = baz()) { some stuff}
[00:12:17] <geniepro> Jordan> return nil, err что конкретно возвращает?
он возвращает пару (кортёж из двух элементов, анонимную запись с двумя полями), первый элемент равен nil, второй - err
[00:13:11] <Jordan> теперь понятно
[00:13:19] <boris_ilov> это как в Lua
[00:13:26] <geniepro> geniepro> if (Foo *bar = baz()) { some stuff}
проблема этого кода в том, что bar виден ПОСЛЕ оператора if, и получается смысла от такой конструкции мало
[00:15:15] <Jordan> Будет полезно, есть ссылки на примеры кода http://forum.runtu.org/index.php?topic=2523.0
[00:15:20] <boris_ilov> Jordan: https://github.com/ilovb/1c-toolkit/blob/master/lua/cf_tools/cf_reader.lua#L273
[00:15:37] <boris_ilov> сразу 4 значения :D
[00:16:12] <Jordan> и множественный return, Вирт бы не одобрил
[00:16:33] <boris_ilov> а мне нравится
[00:16:34] <Jordan> Борис тебе такой код, понятен?
[00:16:40] <boris_ilov> да
[00:16:46] <geniepro> "Правда я не совсем понимаю почему пишется про сборку мусора, если Go не объектно-ориентированный язык. Или он считает созданные и не освобожденные структуры? В общем надо разбираться."
супер )))
[00:16:50] <boris_ilov> я ж писал :D
[00:17:38] <Jordan> Разницы нет, GC от ООП не зависит
[00:17:41] <boris_ilov> Jordan: Это простой итератор. Ничего сложного
[00:17:48] <small_> boris_ilov: нигде такого не видел
[05:03:27] boris_ilov: и ведь идея проста как пробка
в реболе такое есть запросто. Там например пишешь
get site/file
и он его скачивает на локаль =)
[00:18:07] <small_> это явно в реболе подсмотрено, такая простота
[00:18:09] <boris_ilov> да
[00:19:06] <boris_ilov> шо за звер?
[00:19:57] <small_> http://rebol.com/ — для экспериментов берите rebol2
[00:20:02] <small_> а не ребол3
[00:20:11] <small_> ребол3 в процессе варки сообществом
[00:20:24] <small_> там есть бесплатные, есть платные версии
[00:20:59] <small_> ребол2 клозед соурс (давно очень сделан), ребол3 по новым веяниям скрипя сердцем заГПЛил автор
[00:21:32] <small_> и сообщество программёрское очень фертильное, не хуже местного оберспейса
[00:21:46] <small_> там есть спец. прога altme для общения, всё на реболе
[00:22:02] <small_> сообщество реболистов сродни сообществу оберонщиков по духу
[00:22:16] <small_> та же твёрдая вера хз во что и фертильность =)
[00:22:22] <boris_ilov> :D
[00:22:24] <тихий бот> boris_ilov, :-\
[00:24:57] <small_> что у ребола особый смак - что ребол2 сам пару сотен килобайт
[00:25:09] <small_> и типичная прога на реболе несколько килобайт или даже строк
[00:25:22] <small_> при этом читаемость прекрасная, в отличие от перла
[00:25:43] <small_> у него даже есть такой ребвеб свой =)
[00:26:21] <small_> то есть ребол-скрипты перекачиваются на клиент в песочницу (в реболе всё в песочницах, и есть особо строгие "secure" песочницы
[00:26:31] <small_> и там на клиенте прямо запускаются
[00:27:15] <small_> то есть http://rebol.com/index.r если из REBOL/View если запустить, то оно отработает со ссылками на .r всякие скрипты
[00:27:16] <small_> =)
[00:27:23] <vаlexey> ага. каждый считает что в Go ту или иную фичу утянули именно у того языка, который этот самый каждый, видел раньше :-)
[00:27:40] <vаlexey> на самом деле многое из этого довольно древнее, и концов не найти.
[00:28:00] <small_> в реболе DSL на DSLе и DSLем погоняет, очень контекстно зависимый язык
[00:28:00] <Jordan> Всё придумано в 80-ых
[00:28:09] <vаlexey> а где уж авторы Go это увидили - вообще дело десятое
[00:28:13] <small_> а ребол вроде тож в 80ых
[00:28:45] <small_> в реболе бы этот импорт из гитхаба выглядел бы как
import github.com/lalala/lololo
[00:28:52] <vаlexey> Важно же не только увидеть, важно осмыслить и все увиденное и придуманное сложить в непротиворечивый логичный язык. А это, черт побери, СЛОЖНО.
[00:29:00] <geniepro> small_> и сообщество программёрское очень фертильное, не хуже местного оберспейса
это как понимать? фертильность -- способность к деторождению, как оно относится к мертворождённым оберонщикам? о_О
[00:29:06] <small_> то есть кавычки это лишний шугар, который реболовому интерпретеру вовсе не нужен
[00:29:24] <vаlexey> На Си Go, кстати, тоже похож постольку поскольку. Не больше чем на Оберон.
[00:29:39] <small_> vаlexey, а ребол ДО УЖАСА логичен
[00:29:50] <small_> там сложна только коре либа
[00:29:51] <vаlexey> Если уж сравнивать, то с предшественником - Limbo
[00:30:10] <small_> то есть имплементация коре либы. А всё остальное запоминается на щёт раз
[00:30:16] <vаlexey> small_: не буду спорить. я просто вопросом не владею.
[00:32:19] <small_> я тоже мало владею
[00:32:23] <small_> но игрушка прикольная
[00:32:53] <small_> люблю я дслистые языки
[00:33:11] <small_> они сродни какому-нить роману улисс =)
[00:33:19] <small_> чё токо не увидишь по дороге =)
[00:33:31] <small_> нескучно жить.
[00:34:23] <vаlexey> boris_ilov: современные ЯП, я бы даже сказал эти вот Инди-ЯП они хороши. Хотя они еще и не мейнстрим, но многие штуки на них делаются намного проще. Вообще, они как-то эргономичней. Что Go, что Julia. Даже haskell (ghc).
[00:34:44] <vаlexey> Даже не столько языком, сколько инфраструктурой вокруг. В тысячи мелочей в инструментарии.
[00:35:01] <small_> типа
[00:35:06] <small_> forever [
...
]
[00:35:08] <small_> =)
[00:35:12] <vаlexey> В этом плане тот же С++ со всем его инструментарием вчистую им проигрывает.
[00:35:22] <vаlexey> Да и Ада тоже. И Оберон во всех ипостасях.
[00:36:07] <small_> вот например какая прога выведет кнопку? в си++ это несколько килобайт. а в реболе просто слово button
[00:36:16] <vаlexey> boris_ilov: Лимбо: http://ru.wikipedia.org/wiki/Limbo
[00:36:19] <vаlexey> узнаешь? :-)
[00:36:23] <small_> То есть 6 байт
[00:37:18] <Jordan> small_ Но под этими 6 байтами скрывается инициализация окна, вызов функции которая рисует кнопку и овер ещё действий.
[00:37:20] <boris_ilov> угу Ж)
[00:37:35] <small_> Jordan, это всё сделает интерпретатор ребола же
[00:37:56] <small_> и причём сделает мгновенно
[00:37:58] <Jordan> гуи в стандарте?
[00:38:01] <small_> да
[00:38:08] <small_> ну, простые
[00:38:41] <geniepro> обновил оперу, подготовил все закладки и прочее к экспорту перед деинсталяцией оперы -- и забыл экспортнуть )))
[00:38:52] <small_> гг быватт
[00:39:50] <geniepro> раньше у меня была 32-х битная опекра, зависала отожрав три гига озу
теперь у меня 64-х битная опера -- пока не отожрёт всю виртуальную память -- не зависнет наверное ))) проверим
[00:41:54] <Jordan> geniepro Озу сколько?
[00:42:01] <small_> ещё она сожрёт 2^64 ячеек хдд
[00:42:07] <geniepro> 8 гиг
[00:42:07] <small_> под кеша
[00:43:01] <Jordan> geniepro Так ты пару сотен вкладок закрой, и своп пропадёт. :-)
[00:43:30] <Jordan> свопить не будет
[00:43:32] <small_> да. надо альтми поставить же
[00:43:39] <small_> скучно мне тут с вами =)
[00:46:43] <geniepro> Jordan: опера на 50 вкладках 3 гига жрала...
[00:50:47] <geniepro> первый компилер Go вроде на окамле делали, а щас там как?
[00:50:55] <vаlexey> нет
[00:50:56] <тихий бот> vаlexey, Нет, не нет...
[00:50:59] <vаlexey> первый компилер на Сях писали
[00:51:04] <vаlexey> второй - на С++ :-)
[00:51:18] <vаlexey> то есть две реализации - одна референсная-референсная, она на Си.
[00:51:25] <vаlexey> Вторая - часть gcc, и она на С++
[00:51:32] <Jordan> Не на пщ?
[00:51:37] <geniepro> блин, я перепутал с Rust )))
[00:51:39] <Jordan> Yt yf go&
[00:51:43] <Jordan> Не на go&
[00:51:56] <vаlexey> нет. какой смысл на Go писать компилятор Go?
[00:52:27] <Jordan> Раскрутка, все дела
[00:52:31] <geniepro> во! теперь будем называть этот язык Пщ, а процесс программирования на нём -- пыщ-пыщ )))
[00:52:46] <vаlexey> а смысл в этой раскрутке?
[00:53:04] <vаlexey> компилятор - слишком специфическая штука чтобы об него тестироваться полноценно
[00:53:23] <geniepro> ну, раскрутка является одним из тестов -- если в компилере есть ощибки, то он сам себя не откомпилит )))
[00:53:46] <geniepro> или точнее -- если он сам себя не откомпилит -- то в нём точно есть ошибки ))
[00:53:55] <vаlexey> при написании компилятора используется малая часть языка.
[00:53:56] <geniepro> .lem
[00:53:57] <тихий бот> geniepro, Земля падает на Солнце и все гибнут.
[00:54:13] <geniepro> так де ваши версии сказочки? я аж две версии сделал )))
[00:55:02] <geniepro> vаlexey: ты утверждал, что прямое переписывание с хаскеля на оберон породит ужасный код, а де же твой анализ и сравнение моих двух вариантов? )))
[00:55:42] <vаlexey> а мне некогда - ко мне едет дед Лайн на упряжке о тринадцати песцах
[00:55:55] <vаlexey> неделя осталась
[00:56:19] <vаlexey> а тут кое-где коняка не валяка
[00:56:22] <geniepro> vаlexey> при написании компилятора используется малая часть языка.
ну это смотря какой язык.
ежели, скажем, это лисп с его 7 языковыми элементами -- то невозможно использовать меньше, чем их все семь ))
[00:57:04] <geniepro> vаlexey: а что за проектик?
[00:57:17] <geniepro> всё тот спортивный гаджет?
[00:57:25] <vаlexey> ну, он уже не спортивный, но да.
[00:57:42] <geniepro> а какой? чисто украшательский уже? ))
[00:57:49] <vаlexey> и не браслетик :-)
[00:58:13] <vаlexey> штука для ловли апное и других нарушений сна
[00:58:21] <geniepro> неужели??? ты послушался Влада и решил, что его надо совать в опу, а не на руку надевать? )))
[00:58:40] <vаlexey> ну, это не оригинальная мысль :-)
[00:58:51] <vаlexey> у нас шуточки на эту тему еще в 2011 году были в команде :-)
[00:59:46] <geniepro> как порадовал комментарий к статье про еду из риса и связанные с ним проблемы дефекации -- "гомосятина -- лучшее средство от запора!") )))
[01:00:09] <geniepro> vаlexey: дык Влад как раз примерно в те годы и предлагал это )
[01:00:21] <vаlexey> не, он позже предлагал :-)
[01:00:38] <vаlexey> вообще у нас в шутку было МНОГО идей куда его засунуть можно и куда прикрепить :-)
[01:00:38] <geniepro> эх Влад, неуспемший )))
[01:07:35] <small_> мде
[01:07:41] <small_> маразм крепчает.
[01:41:46] <small_> Тёплое ламповое видео https://www.youtube.com/watch?v=oCXMoqJ3cs8 =)
[13:03:36] <vаlexey> log
[13:03:37] <Жаба> vаlexey, Logs here: http://195.54.192.104:8080/oberon@conference.jabber.ru/
[13:03:37] <тихий бот> жаба - дура
[15:12:17] <geniepro> .lem
[15:12:18] <тихий бот> geniepro, Земля замерзает и все гибнут.
[15:30:23] <vаlexey> lem
[15:30:31] <vаlexey> /lem
[15:30:34] <vаlexey> .lem
[15:30:34] <тихий бот> vаlexey, Земля сталкивается с огромной кометой и разрушается.
[15:39:31] <geniepro> .lem
[15:39:31] <тихий бот> geniepro, Земля замерзает и все гибнут.
[15:39:38] <geniepro> .lem
[15:39:38] <тихий бот> geniepro, Земля падает на Солнце и все гибнут.
[15:39:42] <geniepro> .lem
[15:39:42] <тихий бот> geniepro, Земля учёные открывают огромных различных странных предметов которые не понимают нас и являются нерадиоактивными и могут быть уничтожены атомной бомбой.
[15:39:47] <geniepro> во!
[16:10:06] <vаlexey> http://www.opennet.ru/opennews/art.shtml?num=39663
[16:10:08] <vаlexey> гы
[16:16:04] <geniepro> а что смешного? о_О
[16:17:01] <geniepro> блин, приходится делать соединение к 1С -- одним глазом в вижуал студию, другим в конфигуратор 1С ))
[16:24:19] <vаlexey> ужас!
[16:44:32] <small_> geniepro, чтобы ты не думал что я только флудить умею, вот моя гордая фамилия тут =) https://github.com/opencog/relex/blob/master/AUTHORS
[16:44:37] <small_> Филиппов
[16:47:42] <small_> ну я правда не коре делал, а разные патчи
[16:51:45] <small_> для поддержки русского языка в этой системе нужно было вроде бы другой фундамент. Поэтому этого не было сделано совсем
[16:52:12] <small_> ну, дополнительный фундамент надо было. И соратников по русскому у меня не было в той системе
[16:52:21] <small_> поэтому я занимался инглишем =)
[16:52:25] <geniepro> а что это за прога?
[16:53:16] <small_> опенког - это гигафреймворк для обобщённого ИИ с кучей подсистем, а подсистема релекс экстрактрировала всякие отношения субъект-объект и т.п. из текста на ест. языке
[16:53:45] <geniepro> ну и как, работет этот скайнет? )
[16:53:50] <small_> короче релекс это выч.лингвистика
[16:54:02] <small_> а я только релекс юзал, остальной опенког мне был без надобности
[16:54:17] <small_> мой проект.восток на этом релексе и был среди прочего =)
[16:54:24] <geniepro> (S (NP Alice) (VP looked (PP at (NP (NP the cover) (PP of (NP Shonen Jump))))) .)
лисп детектед )
[16:54:35] <small_> да, есть там такой формат
[16:54:59] <small_> для совместимости с внешней лиспнёй
[17:05:15] <small_> ну и дебагать деревья в лисп-формате милое дело
[17:06:09] <small_> ну, тамошние деревья =)
[19:49:58] <small_> го, говорите
[19:54:38] <vаlexey> Go, gadget, go!
[19:55:20] <vаlexey> концептуально Go ничего особо интересного не представляет. Это сугубо практичный язык, инструмент тупо для решения задач.
[19:56:26] <small_> да... мне щас не до конкретных языков. я общебиокибернетические задачи решаю =)
[19:57:12] <small_> забацаю себе в опенсурсе десктоп апп типа EgpBiocyberneticsIncarnation1 =)
[19:59:46] <geniepro> .lem
[19:59:47] <тихий бот> geniepro, Земля замерзает и все гибнут.
[19:59:58] <geniepro> тихий бот: скучный ты...
[20:04:58] <geniepro> http://time.com/69316/basic/
Fifty Years of BASIC, the Programming Language That Made Computers Personal
[20:09:53] <small_> БЕЙСУК
[20:10:22] <small_> БЕЙСУК ПЯТЬДЕСЯТ ЛЕТ
[20:12:14] <small_> кибернетика это наука бытия кормчим
[20:51:52] <Jordan> Рыжий троллинг устроил на оберкоре
[21:20:52] <small_> эх, давно я не шпрехал на родимой жаве
[22:01:07] <vlad2> .ad;жава;жава тормозит
[22:01:08] <тихий бот> vlad2, "жава" assigned
[22:01:10] <vlad2> жава
[22:01:10] <тихий бот> жава тормозит
[22:03:46] <vаlexey> а жабаскрипт летает!
[22:04:46] <vlad2> .ad;жава;жава тормозит, а жабаскрипт летает!
[22:04:47] <тихий бот> vlad2, "жава" assigned
[22:04:51] <vlad2> жава
[22:04:51] <тихий бот> жава тормозит, а жабаскрипт летает!
[22:05:08] <vlad2> клеветы
[22:05:09] <тихий бот> vlad2, абирон - нинужен потому, что в нём нет шаблонов а в питоне всё делается удобно
[22:59:45] <vаlexey> vlad2: а как в питоне объявляется новая переменная?
[23:00:03] <vlad2> v = 123
[23:00:25] <vаlexey> ужас! то есть от обычного присваивания не отличается?
[23:00:30] <vаlexey> это ж можно и попутать!
[23:00:32] <vlad2> .ad;питон;питон няшка!
[23:00:33] <тихий бот> vlad2, "питон" assigned
[23:00:35] <vlad2> питон
[23:00:35] <тихий бот> питон няшка!
[23:00:43] <vlad2> Нет, не отличается.
[23:00:56] <vаlexey> в джулии также. мне это кажется как-то стремно
[23:00:57] <vlad2> У кого надо - все работает ;)
[23:01:13] <vlad2> Ты сначала наступи на грабли, потом говори, что это стремно :)
[23:01:23] <vаlexey> ну, то есть опечатался, и оно завело новую переменную вместо того, чтобы ругануться
[23:01:47] <vlad2> У меня бывало несколько раз - но оно не стоит того, чтобы как-то корячить синтаксис "во избежание"
[23:01:59] <vlad2> Да, именно - заводит.
[23:02:09] <vlad2> Пишите тесты, без них все равно в питоне никуда.
[23:02:11] <vаlexey> ну я и говорю. опечатка не отловится
[23:02:38] <vаlexey> хотя можно конечно макрос вкорячить какой-нибудь
[23:03:18] <vаlexey> черт. джулия отлична для хакинга
[23:03:24] <vаlexey> хакабельная во все щели :-)
[23:03:53] <vаlexey> более хакабельная чем тот же питон ;-)
[23:13:56] <vlad2> питон не надо хэкать - там все работает без хэков :)
[23:20:26] <vаlexey> не, хакать надо свой быдлокод :-)
[23:20:28] <vаlexey> в этом смысле
[23:20:39] <vаlexey> иногда же хочется странного
[23:20:46] <vаlexey> eDSL какой соорудить
[23:21:08] <vаlexey> или там вот проверку на первое использование переменной
[23:37:16] <geniepro> на питоне быдлокоды нее пишутся )))
[23:45:47] <vаlexey> гыгы