[00:10:57] <ada_ru> (Oleg) Ссылка там выше
[00:11:15] <ada_ru> (Oleg) Не видно? У меня видно
[00:11:53] <ada_ru> (t91x0) - Мея видо?
- Софт астрое, давай оду
[00:12:19] <ada_ru> (t91x0) https://github.com/OlegPowerC/moxa_http_mactable
[00:12:31] <ada_ru> (t91x0) Ссылка видна и на десктопе, и на телефоне
[00:14:41] <ada_ru> (Oleg) отвечает (t91x0) на <- Мея видо?
- Софт а…>
:-)
[00:14:54] <ada_ru> (Oleg) Аду надо! Надо аду!
[00:14:58] <ada_ru> (Oleg) Скоро будет
[00:15:17] <ada_ru> (I_vlxy_I) отвечает (t91x0) на <- Мея видо?
- Софт а…>
да ладно, не будет же он все эти слова писать с большой буквы
[00:15:54] <ada_ru> (I_vlxy_I) да и буквы посередине тоже
[00:16:00] <ada_ru> (I_vlxy_I) тут капс нужен был
[00:16:14] <ada_ru> (Eugene) С моей стороны пули вылетели, проблема на вашей стороне!
[13:15:03] <ada_ru> (nitrocerber) отвечает (Oleg) на <Кто нибудь может гля…>
>>It possible only by HTTP/HTTPS.
*it IS
[13:15:28] <ada_ru> (Oleg) Спасибо - поправлю
[13:37:10] <ada_ru> (nitrocerber) И лучше переставить слова. It is only possible by...
[13:38:03] <ada_ru> (Oleg) Понял
[14:40:45] <ada_ru> (I_vlxy_I) "Я стал работать с ним, и проблемы в реализации некоторых задач исчезли. Несмотря на то, что я до сих пор не люблю синтаксис языка и избегаю использования некоторых вещей, Python стал моим № 1 для многих новых проектов. Этот язык повсюду — в мире биткойна, веб-сервисов, везде."
https://habr.com/company/skillbox/blog/434676/
[14:43:17] <ada_ru> (Максим) _создавать системы из «сплава» всего этого_ Хорошо сказано, чёрт возьми!
[14:43:30] <ada_ru> (Oleg) Не
[14:43:35] <ada_ru> (Oleg) Тут самое главное:
[14:43:36] <ada_ru> (Oleg) Больше писать на JavaScript.
[14:43:40] <ada_ru> (Oleg) Ж—))))))ъ
[14:44:05] <ada_ru> (Oleg) Эллиптическая криптография. - это же уже давно повсеместно
[14:44:23] <ada_ru> (I_vlxy_I) ну, типа не внедрять, а понимать что это такое. эллиптическая крипта
[14:45:37] <ada_ru> (Oleg) И питона, питона побольше!
[14:46:03] <ada_ru> (I_vlxy_I) питон + js + криптография + сети + датасайенс. как-то так.
[14:47:19] <ada_ru> (Максим) "В мире JavaScript мы снова видим суть всех вещей" - а я не вижу или отказываюсь видеть 😕
[14:47:38] <ada_ru> (I_vlxy_I) просто суть вещей весьма неприглядна 😊
[14:56:27] <ada_ru> (t91x0) отвечает (I_vlxy_I) на <просто суть вещей ве…>
<прислал наклейку> 🍞
[15:00:31] <ada_ru> (t91x0) Господи, не могу найти картинку со страшной жабой и подписью "Я здесь не для того, чтобы соответствовать вашим ожиданиям!".
Это о сути вещей.
[15:01:56] <ada_ru> (Eugene) А, кстати, в GPS используется cpython или rpyton?
[15:05:53] <ada_ru> (Максим) наверное cpython
[15:14:50] <ada_ru> (nitrocerber) gnatpython!
[15:16:08] <ada_ru> (I_vlxy_I) чтобы всё было кошерно. надо интерпретёр питона на Аде просто переписать.
[15:16:14] <ada_ru> (I_vlxy_I) будет mission critical python 😊
[15:21:42] <ada_ru> (Oleg) От он ваш Go
[15:21:45] <ada_ru> (Oleg) Server: GoAhead-WebsPragma: no-cacheCache-control: no-cacheContent-Type: text/xml<?xml version="1.0" encoding="UTF-8"?>DoRequest err
Get http://10.88.14.6/xml/DDM.xml: net/http: HTTP/1.x transport connection broken: malformed MIME header line: <?xml version="1.0" encoding="UTF-8"?>
Authentication Error
[15:22:01] <ada_ru> (Oleg) То то не так
[15:22:03] <ada_ru> (Oleg) То это
[15:22:34] <ada_ru> (I_vlxy_I) отвечает (I_vlxy_I) на <будет mission critic…>
btw: питон то наверно довольно неподъемная задача, а вот lua на аде — вполне.
[15:23:22] <ada_ru> (I_vlxy_I) lua вообще один из самых востребованных встраиваемых языков.
[15:25:08] <ada_ru> (I_vlxy_I) Lua любят в играх, любят в геосервисах и в симуляторах робототехники. из личного опыта.
[15:27:13] <ada_ru> (Gourytch) lua кстати вполне подъёмно заимплементить.
[15:28:59] <ada_ru> (Максим) а зачем lua если есть js?
[15:29:48] <ada_ru> (Gourytch) ну... штоб было =)
[15:31:48] <ada_ru> (Gourytch) да и-и-и-и вообще есть bush (Business Shell)
[15:32:39] <ada_ru> (I_vlxy_I) js сильно сложнее чем lua, так то
[15:33:05] <ada_ru> (I_vlxy_I) то есть заимплементить lua в полном совместимом с другими реализациями, объеме намного проще, чем js.
[15:33:18] <ada_ru> (I_vlxy_I) lua меньше Оберона. По крайней мере грамматически.
[15:33:50] <ada_ru> (Gourytch) меньше, проще, понятнее, популярнее.
[15:35:36] <ada_ru> (Gourytch) src/lua-5.3.5/src$ cat * | wc -l
24359
25 тыщ сишных строчек.
[15:39:38] <ada_ru> (I_vlxy_I) угу. значит на языке более высокого уровня, где и обобщенное программирование существует, оно займет тыщ 10 или меньше.
[15:41:33] <ada_ru> (I_vlxy_I) насколько я понимаю, есть и на расте реализации какие-то и на жабе
[15:45:47] <ada_ru> (Gourytch) сам Lua это полдела. вот LuaJIT реализовать - это уже более трудоёмкая вещь.
src/LuaJIT-2.1.0-beta3$ find . -depth -type f -regex '.*\.\(c\|h\|lua\)$' -exec cat {} \; | wc -l
98286
объём сырцов в 4 раза больше
[15:46:19] <ada_ru> (I_vlxy_I) а зачем оно?
[15:46:35] <ada_ru> (I_vlxy_I) в смысле наверно да, работает быстрее, но не для скорости lua юзают таки.
[15:47:02] <ada_ru> (Gourytch) оно даёт дофигакратное ускорение
[15:47:22] <ada_ru> (I_vlxy_I) зато оно дает тормоза в произвольных местах
[15:47:32] <ada_ru> (I_vlxy_I) в моменты когда жит запускается и что-то там компилит
[15:47:39] <ada_ru> (I_vlxy_I) я это в джулии проходил. нафиг-нафиг.
[15:48:34] <ada_ru> (Gourytch) minetest (игрушка такая), например, пользует lua в качестве основного движка своего. вот он без LuaJIT со скоростью давленного таракана работает. а с jit-ом - прям' вжух! (ну в сравнении, конечно)
[15:49:15] <ada_ru> (I_vlxy_I) дык мы же говорим про встраивание lua в большие проги (на той же Аде) а не про написания прог на lua.
[15:49:26] <ada_ru> (I_vlxy_I) для второго нужен luajit, да. для первого - нафиг не надо.
[15:49:29] <ada_ru> (I_vlxy_I) и даже вредно
[15:52:27] <ada_ru> (Gourytch) http://luajit.org/performance_x86.html
в среднем двадцатикратное ускорение.
но если пользовать lua чисто как скриптовый клей, в котором предполагается очень малое время проводить - то да, интерпретатора более чем достаточно.
[15:53:05] <ada_ru> (I_vlxy_I) ну вот типа да. например как язык матлаба в матлабе юзается
[15:54:47] <ada_ru> (I_vlxy_I) А кто тут за Prolog топил? Вот и на питоне так можно! https://github.com/logpy/logpy
[15:54:58] <ada_ru> (I_vlxy_I) пролог нинужин!
[15:55:03] <ada_ru> (I_vlxy_I) нужин только питон!
[15:55:05] <ada_ru> (nitrocerber) пролог красивый..)
[15:55:08] <ada_ru> (nitrocerber) но не нужен
[15:55:20] <ada_ru> (I_vlxy_I) питон тоже красивый! ты посмотри на его отступы!
[15:55:28] <ada_ru> (nitrocerber) не, питон это выпердыш
[15:55:42] <ada_ru> (nitrocerber) стандартное скриптоподобное чудовище
[15:55:43] <ada_ru> (I_vlxy_I) Но выпердыш красивый!
[15:55:49] <ada_ru> (Gourytch) хых... пролог нинужен чуть меньше чем всем, факт.
[15:55:51] <ada_ru> (I_vlxy_I) На скриншотах отлично смотрится
[15:56:07] <ada_ru> (nitrocerber) То ли дело пролог, два дня думаешь, потом пишешь предиката на 1 строчку, а он стока всего делаешь, ух! без поллитры и не разберёшься
[15:56:11] <ada_ru> (nitrocerber) вот это искусство
[15:56:12] <ada_ru> (Gourytch) а питон выпердыш, но востребованный.
[15:56:19] <ada_ru> (nitrocerber) а питон - это как лапти вязать
[15:56:34] <ada_ru> (nitrocerber) ну лапти-то всяко нужнее шедевров живописи в обиходе
[15:56:40] <ada_ru> (Gourytch) а среди "безполлитры" - это хацкель - он моден
[15:56:43] <ada_ru> (I_vlxy_I) отвечает (nitrocerber) на <То ли дело пролог, д…>
вот это как раз и не нужно людям. не нужно и вредно вообще.
[15:56:47] <ada_ru> (I_vlxy_I) ибо малопредсказуемо.
[15:57:09] <ada_ru> (I_vlxy_I) нужно чтобы - делаешь неделю, равномерно, много строчек, и оно работает понятно как без поллитры.
[15:58:03] <ada_ru> (nitrocerber) в индустрии - безусловно. я же говорю -красивый, а не удобный)
[15:58:18] <ada_ru> (nitrocerber) и не надёжный и не и не и не итд итп
[15:58:36] <ada_ru> (Gourytch) язык как искусство =)
[15:59:19] <ada_ru> (nitrocerber) я помню нас заставляли в универе на прологе писать генератор лабиринта заданного размера без циклов и с доступностью во все комнаты. так интересно было)
[15:59:40] <ada_ru> (Gourytch) (то, что вышло из под пера Сальвадора Дали тоже не особо практично, но красиво и необычно, например)
[15:59:51] <ada_ru> (nitrocerber) ну вот да, те же аналогии у меня.
[16:00:18] <ada_ru> (Gourytch) отвечает (nitrocerber) на <я помню нас заставля…>
Р-екурсия )
[16:00:26] <ada_ru> (I_vlxy_I) отвечает (nitrocerber) на <я помню нас заставля…>
злобно! аж захотелось самому попробовать этот пролог.
[16:00:45] <ada_ru> (nitrocerber) Ну мой на лабиринте 5 на 15 сожрал нахрен все ресурсы и так и не вернулся
[16:00:48] <ada_ru> (I_vlxy_I) отвечает (Gourytch) на <Р-екурсия )>
ой, а с рекурсией можно? а в чем понт тогда? рекурсия это ж те же цыклы
[16:00:52] <ada_ru> (Gourytch) отвечает (I_vlxy_I) на <злобно! аж захотелос…>
на аде точно так же сможешь
[16:00:54] <ada_ru> (nitrocerber) Потому что я честный перебор зафигачил
[16:01:00] <ada_ru> (nitrocerber) Умные ребята какие-то эвристики туда вкорячивали
[16:01:15] <ada_ru> (nitrocerber) Да на аде-то это написать как два пальца
[16:01:22] <ada_ru> (I_vlxy_I) ну, то есть любая прога на хацкелле без циклов
[16:01:25] <ada_ru> (I_vlxy_I) толко рекурсия
[16:01:27] <ada_ru> (Gourytch) отвечает (I_vlxy_I) на <ой, а с рекурсией мо…>
ну это же по-другому! сама концепция! =)
[16:01:29] <ada_ru> (I_vlxy_I) или там на erlang'e
[16:01:48] <ada_ru> (I_vlxy_I) да в точности та же самая концепция. рекурсия от цикла ничем не отличается.
[16:02:06] <ada_ru> (nitrocerber) разница в способе описания)
[16:02:13] <ada_ru> (Gourytch) отвечает (I_vlxy_I) на <да в точности та же …>
как это не отличается? КАК ЭТО НЕ ОТЛИЧАЕТСЯ?
а использование стека? =))
[16:02:32] <ada_ru> (Gourytch) циклом ты никогда стек не выжрешь, а вот рекурсией - запросто )
[16:02:37] <ada_ru> (I_vlxy_I) отвечает (Gourytch) на <как это не отличаетс…>
а нету. если хвостовая.
[16:02:39] <ada_ru> (I_vlxy_I) бесконечная рекурсия не хавающая стек - нормальная тема.
[16:03:09] <ada_ru> (I_vlxy_I) циклом я не только стек могу выжрать, я могу выжрать НЕСКОЛЬКО стеков а потом еще и всю кучу. 😊
[16:03:14] <ada_ru> (I_vlxy_I) и утечь все ресурсы нафиг
[16:03:19] <ada_ru> (I_vlxy_I) не вижу особой разницы
[16:05:32] <ada_ru> (I_vlxy_I) в erlang'e вообще совсем никогда нету циклов в языке. да и в хаскеле тоже. и ничего. не кончается стек 😊
[16:05:59] <ada_ru> (I_vlxy_I) при этом каких-то отличий от кручения циклов не ощущается на уровне моска. ни одна извилина не шевелится в процессе.
[16:07:39] <ada_ru> (I_vlxy_I) я думал в прологе нужено было без циклов и без рекурсии замутить такое. типа за один сложный шаг.
[16:07:45] <ada_ru> (I_vlxy_I) вот это был бы челендж!
[16:11:12] <ada_ru> (Gourytch) отвечает (I_vlxy_I) на <бесконечная рекурсия…>
нувот как? например есть навскидку такой кусок кода (сишный например):
void eater(int level, const char* p) {
char buf[10];
for (int i = 0; i < 10; ++i)
buf[i] = (rand() % 0xFF) ^ p[i];
if (level) eater(level-1, buf);
}
это извращение, конечно, но для концепции сойдёт. как его снаружи можно умудриться приучить не хавать стек?
[16:14:35] <ada_ru> (I_vlxy_I) ой. си. щща гляну
[16:15:53] <ada_ru> (I_vlxy_I) ну, погоди. у тебя такой алгоритм и в цикле будет жрать память
[16:16:21] <ada_ru> (I_vlxy_I) вытащи buf вовне и всё.
[16:16:35] <ada_ru> (Oleg) Парни, любая рекурсия жрет стек Даже функция с nop внутри
[16:16:47] <ada_ru> (Oleg) Мало - много - жрет
[16:16:54] <ada_ru> (I_vlxy_I) отвечает (Oleg) на <Парни, любая рекурси…>
оптимизацию хвостовой рекурсии не слышал/
[16:16:56] <ada_ru> (I_vlxy_I) ?
[16:17:05] <ada_ru> (Oleg) Так, смотри
[16:17:11] <ada_ru> (Oleg) Вызвал функцию,
[16:17:18] <ada_ru> (I_vlxy_I) а она есть! в некоторых яп прамо в требованиях к реализации. в том же erlang и haskell
[16:17:21] <ada_ru> (Oleg) Регистры легли в стек
[16:17:29] <ada_ru> (I_vlxy_I) в некоторых - реализуется компилятором добровольно иногда
[16:17:34] <ada_ru> (I_vlxy_I) да нету регистров
[16:17:43] <ada_ru> (I_vlxy_I) ничего на свете нету, опа!
[16:17:49] <ada_ru> (Oleg) И студентов тоже нету ....
[16:17:51] <ada_ru> (Oleg) 😊
[16:18:05] <ada_ru> (I_vlxy_I) иначе бесконечная рекурсия в erlang'e выжирала бы память.
[16:18:09] <ada_ru> (I_vlxy_I) а циклов в этом ЯП НЕТУ ВООБЩЕ
[16:18:18] <ada_ru> (I_vlxy_I) и в haskell'e тоже
[16:18:33] <ada_ru> (I_vlxy_I) нету циклов! нету инструкции ИдиНа.
[16:18:37] <ada_ru> (Oleg) Не погоди - внутри в ASM как она выглядит?
[16:18:39] <ada_ru> (I_vlxy_I) есть только вызов функций
[16:18:51] <ada_ru> (Oleg) Disasm даешь!
[16:19:20] <ada_ru> (I_vlxy_I) отвечает (Oleg) на <Не погоди - внутри в…>
зависит от коньтекста. если рекурсия случилась хвостовой, то в асме будут jmp'ы
[16:19:39] <ada_ru> (Oleg) Ну так это не вызов функции 😊
[16:19:51] <ada_ru> (I_vlxy_I) дык на языке то ты функцию вызываешь
[16:19:56] <ada_ru> (Oleg) Это жалкая пародия - а на самом деле цикл
[16:20:10] <ada_ru> (Oleg) Вызов это call rcall 😊
[16:20:14] <ada_ru> (I_vlxy_I) так то и в с++ у тебя вызов функции в итоге далеко не всегда компилируется в какой-нибудь call
[16:20:25] <ada_ru> (I_vlxy_I) про инлайн функций слышал?
[16:20:32] <ada_ru> (I_vlxy_I) автоматический
[16:20:38] <ada_ru> (Oleg) Ну ты меня за лузера держишь ? Ж-)))
[16:20:49] <ada_ru> (I_vlxy_I) не, только за чайника 😊
[16:20:50] <ada_ru> (Oleg) Я прекрасно знаю что такое inline
[16:21:12] <ada_ru> (Oleg) Только надо понимать - что инлайн просто вставит в итоге кусок кода в нужное место
[16:21:28] <ada_ru> (Gourytch) для хвостовой рекурсии надо иметь отсутствие состояния. тогда будет можно разворот в итерацию.
afair
[16:21:30] <ada_ru> (I_vlxy_I) ну и отлично. в своей проге ты вызываешь функцию. в любом случае. циклов у тебя нету. но в call это дело не превращается.
[16:22:00] <ada_ru> (I_vlxy_I) тем более что в целевой архитектуре инструкции call может вообще не быть 😃
[16:22:28] <ada_ru> (I_vlxy_I) еще раз - мы говорим в терминах языка, а не в терминах того, во что оно там скомпиляется.
[16:22:35] <ada_ru> (I_vlxy_I) оно может у тебя вообще в js скомпиляться 😃
[16:23:15] <ada_ru> (I_vlxy_I) поведение при этом, семантика, должна остаться соответствующей тому, что описано в описании ТВОЕГО языка, а не того во что оно там собралось.
[16:24:03] <ada_ru> (Oleg) Ну будет другая - не важно - Функция у нормальных людей - это переход на выполнение другого кода, в последующим возвратом в место где мы ее вызвали (возможно с сохранением контекста) и как минимум счетчик комманд и всякие регистры состояния нужно сохранить.
Ну а функция у курильщиков - это все что угодно
[16:24:04] <ada_ru> (Oleg) 😊
[16:25:22] <ada_ru> (I_vlxy_I) нету в языках программирования высокого уровня (например в Си) понятия "cчетчик комманд" и "регистры"
[16:25:34] <ada_ru> (I_vlxy_I) и уж тем более в ерланге и хаскеле нет такого
[16:25:44] <ada_ru> (I_vlxy_I) программист может вообще не подозревать о таких штуках. да и не нужны они ему
[16:26:56] <ada_ru> (Oleg) Конечно - программисты нынче вобще не подозревают о многом
[16:27:13] <ada_ru> (Oleg) Вот и тормозит страничка в браузере на Celeron 1.6
[16:27:21] <ada_ru> (Oleg) C 4Gb памяти
[16:28:00] <ada_ru> (Oleg) Знакомый купил ребенку моноблок - Intel J3060
[16:28:02] <ada_ru> (I_vlxy_I) ладно, я вам тут вот еще покушать принёс: https://leanpub.com/clean-architectures-in-python
[16:28:12] <ada_ru> (Oleg) На нем даже смешариков не посмотреть
[16:28:23] <ada_ru> (Oleg) Причем вот что интересно
[16:28:40] <ada_ru> (Gourytch) отвечает (I_vlxy_I) на <нету в языках програ…>
эммм... ключевое слово register как бы намекает. ;)
[16:28:41] <ada_ru> (Oleg) Открыл Youtube - тормозит больше сама страница, ввод и так далее
[16:28:56] <ada_ru> (Oleg) А видеопоток более менее
[16:29:24] <ada_ru> (I_vlxy_I) отвечает (Gourytch) на <эммм... ключевое сло…>
ты еще про auto вспомни 😊 это устаревшие штуки и их выпиливают из языка. потому, что нонче компилеры не нуждаются в таких хинтах со стороны программера.
[16:30:06] <ada_ru> (Oleg) А писатели компиляторов тоже не должны о них зать?
[16:30:34] <ada_ru> (Oleg) картинка https://www.ada-ru.org/files/bot/x9.jpg
[16:30:36] <ada_ru> (Oleg) Ж-)))
[16:30:58] <ada_ru> (I_vlxy_I) смотря во что компилер компилет. если не в железо, или если для железа где нет регистров. то да. не должен знать.
[16:31:09] <ada_ru> (Oleg) Ну да, согласен
[16:31:13] <ada_ru> (I_vlxy_I) ну или если ты делаешь фронт для llvm, то тоже железные регистры тебе побоку.
[16:31:14] <ada_ru> (Oleg) Но это не мой профиль
[16:31:25] <ada_ru> (Gourytch) отвечает (I_vlxy_I) на <ты еще про auto вспо…>
ты чегооо! auto это модно! это куда круче какого-то там register.
ну и, кстати, да: сейчас оптимизаторы делают гораздо более качественную оптимизацию всего приложения, нежели среднестатистический опытный программист.
[16:32:05] <ada_ru> (Oleg) Читали как Пион С++ обогнал?
[16:32:12] <ada_ru> (Gourytch) неа. где?
[16:32:13] <ada_ru> (Oleg) С такими программистами то конечно
[16:32:19] <ada_ru> (I_vlxy_I) отвечает (Gourytch) на <ты чегооо! auto это …>
ну, в плюсах пошли на отламывание обратной совместимости (до того auto уже нинужен), что auto теперь имеет вообще другую семантику, да.
[16:34:36] <ada_ru> (Oleg) https://stackoverflow.com/questions/9378500/why-is-splitting-a-string-slower-in-c-than-python
[16:34:41] <ada_ru> (Oleg) Например
[16:34:56] <ada_ru> (Oleg) Ну то есть понятно что там все кончилось счастливо
[16:35:08] <ada_ru> (Oleg) Но сам факт того что можно так сделать есть
[16:35:40] <ada_ru> (I_vlxy_I) да-да, почему моя сортировка пузырьком на асме тормозит сильнее, чем стандартная сортировка на питоне?
[16:35:58] <ada_ru> (Oleg) Думаю потому что на ASM написано плохо
[16:36:13] <ada_ru> (Oleg) Это не значит что ASM говно
[16:37:10] <ada_ru> (I_vlxy_I) да нет. сортировка пузырьком отлично написана.
[16:37:22] <ada_ru> (I_vlxy_I) идеально. в плане работы с регистрами вообще зашибись.
[16:37:35] <ada_ru> (Oleg) И почему тогда медленнее?
[16:38:21] <ada_ru> (I_vlxy_I) потому, что ПУЗЫРЬКОМ
[16:38:33] <ada_ru> (Oleg) Ну так это не корректно сравнивать
[16:38:54] <ada_ru> (Oleg) х... с пальцем то😊
[16:39:12] <ada_ru> (I_vlxy_I) ну вот, там по ссылке примерно так и сравнивают 😊
[16:39:14] <ada_ru> (I_vlxy_I) ну а чо? там сортировка и тут сортировка.
[16:39:16] <ada_ru> (I_vlxy_I) чобы и нет?
[16:39:22] <ada_ru> (Gourytch) отвечает (Oleg) на <https://stackoverflo…>
просто с++ не приняты readonly строчки. если сделать оптимизированный вариант, который может строку мастерить как ссылку внешний объект с оффсетом - то не надо будет много копировать и будет быстрее.
[16:39:34] <ada_ru> (Oleg) Так и я про то же.
[16:39:52] <ada_ru> (Oleg) Я к тому что вы тут говорите что программист не должен знать архитектуру
[16:40:14] <ada_ru> (Oleg) Ну тогда и вдаваться во всякие внутренности C++ не должен
[16:40:29] <ada_ru> (Oleg) А там огого как можно накосячить
[16:40:47] <ada_ru> (I_vlxy_I) нет. мы говорим что он прежде всего должен знать хотя бы язык на котором пишет и его семантику. а уж опосля можно пускаться в детали реализации компилятора и целевой архитектуры. и как и во что там компилится, а потом как исполняется.
[16:41:42] <ada_ru> (Gourytch) отвечает (I_vlxy_I) на <идеально. в плане ра…>
вспомнил старую рекламу журнала:
возьмём журнал "А" и положим его в серную кислоту, а наш журнал поместим в дистиллированную воду. через полчаса журнал A превратился в го^W коричневые ошмётки, а наш журнал такой же красивый и нарядный =)
[16:41:44] <ada_ru> (Oleg) Это не касается как минимум всех кто работает с baremetal
[16:41:47] <ada_ru> (I_vlxy_I) и при этом уметь различать уровни и не перескакивасть с одного на другой
[16:43:29] <ada_ru> (Oleg) Вася - ты ассемблер знаешь? вот и дебаж мою прогу. Я них...я в дебагере не понимаю! зато знаю что такое рекурсия
[16:43:32] <ada_ru> (Oleg) Так чтоль?
[16:44:07] <ada_ru> (Oleg) Кто пишет на Python / JS не касается конечно
[16:44:18] <ada_ru> (Oleg) А вот Go уже очень даже
[16:45:47] <ada_ru> (I_vlxy_I) отвечает (Oleg) на <А вот Go уже очень д…>
даже если ты юзаешь вот этот компилятор? https://github.com/gopherjs/gopherjs
[16:46:00] <ada_ru> (Gourytch) картинка https://www.ada-ru.org/files/bot/x10.jpg
[16:46:39] <ada_ru> (Oleg) Это порно , причем жесткое 😊 компилить чтото в жабаскрипт 😊
[16:47:53] <ada_ru> (Oleg) Зачем вобще тогда писать на Go? я его использую только потому что можно компильнуть в исполняемый файл. И прельстили меня библиотеки
[16:47:54] <ada_ru> (Gourytch) afair ада тоже умеет в порно
[16:48:04] <ada_ru> (Oleg) Как оказалось которые тоже так себе
[16:48:34] <ada_ru> (Oleg) отвечает (Gourytch) на <afair ада тоже умеет…>
Кто нибудь использовал?
[16:48:45] <ada_ru> (Oleg) Реальный кейс какой?
[16:49:22] <ada_ru> (I_vlxy_I) отвечает (Oleg) на <Зачем вобще тогда пи…>
для строгой статической компиляции. то есть ради адекватного языка.
[16:49:40] <ada_ru> (Oleg) Ну если только
[16:49:54] <ada_ru> (I_vlxy_I) дык это дофига значит так то.
[16:49:58] <ada_ru> (Gourytch) отвечает (Oleg) на <Кто нибудь использов…>
я не пользовал. мне не надо было никогда такое.
[16:50:09] <ada_ru> (I_vlxy_I) типа — зачем нам Ада, если есть Си? Один фиг они ж компилятся в асм!
[16:50:19] <ada_ru> (Oleg) Не - вещи разные
[16:50:29] <ada_ru> (Gourytch) отвечает (Oleg) на <Реальный кейс какой?>
реальный кейс - писать на том, что тебе удобно, но что будет выполняться в браузере, например.
[16:51:11] <ada_ru> (Oleg) отвечает (Gourytch) на <реальный кейс - писа…>
Так да, но в JS все гораздо проще и удобнее чем в АДА
[16:51:23] <ada_ru> (Oleg) 😊
[16:51:35] <ada_ru> (Oleg) Ну конечно то что можно на нем сделать
[16:51:39] <ada_ru> (Gourytch) отвечает (Oleg) на <Так да, но в JS все …>
ну... э... вот я бы не сказал. :)
[16:51:51] <ada_ru> (I_vlxy_I) отвечает (Oleg) на <Так да, но в JS все …>
<прислал наклейку> 🤔
[16:51:59] <ada_ru> (Gourytch) хотя на вкус и цвкет все фломастеры разные
[16:53:18] <ada_ru> (Oleg) Кому как
[16:53:42] <ada_ru> (Oleg) Ну окей - будет у кого опыт ADA->JS покажите что на входе и что на выходе
[16:55:56] <ada_ru> (I_vlxy_I) вроде далеко не только лишь вся Ада может в js компилиться. Подмножество ограниченное весьма. Не?
[16:56:03] <ada_ru> (I_vlxy_I) в смысле в текущей реализации
[16:57:23] <ada_ru> (Oleg) Естественно
[16:58:11] <ada_ru> (Oleg) Читал страшные истории С++ -> JS а потом этот код на Node.JS
[17:00:01] <ada_ru> (Gourytch) кстати вот не могу найти ссылку. лет с десяток, наверное, назад, искал - и был какой-то коммерческий транслятор, а сейчас только на матрёшку есть ссылки. чудеса.
[17:01:01] <ada_ru> (Gourytch) хотя всё проходит и забывается. вот раньше был проект InternetC (реальные сишные программы компилились и потом результат выполнялся в браузере), а теперь про этот проект фиг найдёшь.
[17:02:15] <ada_ru> (Gourytch) https://github.com/Blady-Com/tp7ada-gnoga
какой-то сюр: TurboPascal-ные модули привинтить к Ada =)
[17:02:51] <ada_ru> (Gourytch) не иначе как ради graph.tpu =)
[17:31:12] <ada_ru> (Eugene) отвечает (Oleg) на <Парни, любая рекурси…>
tail call optimization — обязательное требование к любой реализации Scheme с 1975 г
[17:35:16] <ada_ru> (Oleg) Ну да согласен. Рекурсивные функции оптимизированные tail call optimization не будут жрать стек так как превращаются из рекурсии в цикл
[17:39:57] <ada_ru> (Eugene) в немерле тоже нет циклов в языке, есть макросы, которые имитируют циклы рекурсией
[17:41:04] <ada_ru> (Oleg) https://helloacm.com/understanding-tail-recursion-visual-studio-c-assembly-view/
[17:41:38] <ada_ru> (Eugene) в gcc тоже давно есть потимизация хвостовой рекурсии, а вот в новомодном расте — нету
[17:42:09] <ada_ru> (Oleg) В ЬЫ nj;t - yj gj ccskrt vj;yj dbltnm xnj vj;yj yfrjlbnm nfrjt
[17:42:16] <ada_ru> (Oleg) Xnj ybrfr yt jgnbvbpbhetncz
[17:52:30] <ada_ru> (nitrocerber) отвечает (Oleg) на <Кто нибудь использов…>
аффтар матрёшки на этом деле фермы считает)
[17:52:50] <ada_ru> (nitrocerber) Максим кинься ссылкой, я не помню(
[17:53:09] <ada_ru> (nitrocerber) там жы ваш ada2js и поенгл с боку
[18:08:25] <ada_ru> (Oleg) Книжку скачал
[18:08:27] <ada_ru> (Oleg) Спасибо
[18:08:36] <ada_ru> (Oleg) Понравилась стоимость - 0 😊
[18:17:32] <ada_ru> (I_vlxy_I) отвечает (nitrocerber) на <аффтар матрёшки на э…>
весёлая ферма?
[18:22:10] <ada_ru> (ScienteGenue) Это какая-то флеш-игра для скучающих домохозяек
[18:23:59] <ada_ru> (Максим) отвечает (Oleg) на <Ну окей - будет у ко…>
http://hds.ada-ru.org/ Ну вот это вот фсё на Аде исполняется в бравзере с WebGL
[18:28:16] <ada_ru> (I_vlxy_I) там какой-то очень лайтово используемый webgl, кажется. если не знать что оно там юзается, то и не заметишь
[18:29:29] <ada_ru> (Максим) Поэтому и пишу 😊 Вообще веб дизайн от программиста это всегда специфичненько. По себе сужу
[18:29:56] <ada_ru> (Максим) Особенно, когда в свободное от работы время
[18:34:22] <ada_ru> (Максим) Вот как выглядит логин на ada-ru.org: https://github.com/reznikmm/ada_ru/blob/servlet/src/client/logins.adb
[18:36:43] <ada_ru> (I_vlxy_I) Аааа! Код на АДЕ!
[18:36:58] <ada_ru> (Максим) Ну это не совсем логин, это запрос у сервера, залогинился юзер или нет
[18:37:02] <ada_ru> (nitrocerber) гори, детка, гори (ц)
[18:37:03] <ada_ru> (Eugene) кто посмел в адачат скинуть ссылку на код на аде???
[18:37:25] <ada_ru> (nitrocerber) <прислал наклейку> 😱
[18:43:03] <ada_ru> (ScienteGenue) Привет, Ада-камрады!
[18:43:26] <ada_ru> (Максим) Привет
[18:44:37] <ada_ru> (ScienteGenue) У нас в одном проекте где была использована Ада в одном(-них) из модулей она использовалась, начинают потихоньку выпиливать (
[18:45:43] <ada_ru> (Максим) Секретный проект?
[18:46:07] <ada_ru> (ScienteGenue) Да обычной коммерческий
[18:47:27] <ada_ru> (nitrocerber) А пошто выпиливают?
[18:48:02] <ada_ru> (ScienteGenue) Объяснения один-два такое: на более других языках получается быстрее, несмотря что качество хуже
[18:48:32] <ada_ru> (ScienteGenue) В интегральном смысле конкретно в тех наших условиях
[18:49:05] <ada_ru> (ScienteGenue) Типа удешевление
[18:49:29] <ada_ru> (I_vlxy_I) оптимизация!
[18:49:35] <ada_ru> (ScienteGenue) Хотябы на Си++ перевод. Не на php:)
[18:49:44] <ada_ru> (I_vlxy_I) ну так то да, с тем же понтом и с++ выкидывают из проектов.
[18:49:56] <ada_ru> (I_vlxy_I) типа наструячим щща на питоне или js и зашибись!
[18:50:02] <ada_ru> (kremovtort) на rust
[18:50:06] <ada_ru> (I_vlxy_I) один фиг код через полгода на помойку
[18:50:17] <ada_ru> (I_vlxy_I) требования поплывут и изменятся.
[18:50:44] <ada_ru> (I_vlxy_I) отвечает (kremovtort) на <на rust>
ну, возможно да, раст неплохо годится чтобы код на нём писанный выбрасывать на помойку.
[18:50:46] <ada_ru> (kremovtort) На питоне или js пол года кодить не выбросив код на помойку? Вот это программисты, таких редко встретишь.
[18:50:59] <ada_ru> (ScienteGenue) Козлы, короче
[18:51:37] <ada_ru> (I_vlxy_I) отвечает (ScienteGenue) на <Козлы, короче>
дык небось и адский программеров найтить тяжелее, или заманить программеров писать на аде, если они не адские.
[18:52:16] <ada_ru> (ScienteGenue) На мой взгляд из обычного программиста на си/си++ можно сделать адского программиста за 2 недели
[18:52:35] <ada_ru> (ScienteGenue) Не такой уж и большой срок
[18:52:53] <ada_ru> (I_vlxy_I) Обычно от кода хочется чтобы:
* он быстро работал
* он был быстро написан
Либо одно, либо другое, либо и то и другое. Не факт что Ада хорошо ложится в эту парадигму 😊
[18:53:18] <ada_ru> (I_vlxy_I) отвечает (ScienteGenue) на <На мой взгляд из обы…>
А если он не хочет? 😊 Много ли плюсовиков горят желанием перейти на Аду и забросить плюсы?
[18:53:24] <ada_ru> (ScienteGenue) Спарковская Ада работает очень быстро
[18:53:25] <ada_ru> (I_vlxy_I) И куда они потом с таким опытом пойдут?
[18:53:36] <ada_ru> (Oleg) За 9 месяцев можно точно программиста сделать 😊
[18:53:48] <ada_ru> (I_vlxy_I) отвечает (Oleg) на <За 9 месяцев можно т…>
личинку программиста
[18:53:52] <ada_ru> (Oleg) Ж-)
[18:53:58] <ada_ru> (ScienteGenue) отвечает (Oleg) на <За 9 месяцев можно т…>
Это только можно личинку программиста сделать )
[18:54:07] <ada_ru> (nitrocerber) отвечает (I_vlxy_I) на <И куда они потом с т…>
А надо, чтобы сознание определяло бытие!
[18:54:11] <ada_ru> (nitrocerber) А не наоборот
[18:54:26] <ada_ru> (I_vlxy_I) отвечает (nitrocerber) на <А надо, чтобы сознан…>
На практике битиё определяет сознание.
[18:54:30] <ada_ru> (Oleg) Интересно шо за проект, и как туда изначально попала АДА
[18:54:34] <ada_ru> (nitrocerber) А то так всё и скатится в беспросвеиный тупоскрипт
[18:55:18] <ada_ru> (kremovtort) отвечает (I_vlxy_I) на <Обычно от кода хочет…>
Мне лично от кода обычно хочется, что-бы я в четыре утра не просыпался критичные баги чинить и чтобы открывая код мне не хотелось волосы на голове рвать. Всё остальное — второстепенное.
[18:55:31] <ada_ru> (I_vlxy_I) если контора большая и у конторы внутри юзается какое-нибудь редкоземельный язык (ада, pl/i или же раст), то это хорошо для компании и плохо для сотрудников.
[18:55:57] <ada_ru> (kremovtort) отвечает (I_vlxy_I) на <если контора большая…>
а для сотрудников это чем плохо?
[18:56:40] <ada_ru> (I_vlxy_I) отвечает (kremovtort) на <а для сотрудников эт…>
потом работу не найдут. они оказываются прикованными к этой конторе.
[18:57:01] <ada_ru> (I_vlxy_I) либо найдут, но с сильной потерей в зарплате
[18:57:11] <ada_ru> (nitrocerber) А может надо так работать, чтобы потом не наступало?
[18:57:19] <ada_ru> (nitrocerber) Работаешь себе и рааботаешь.. До пенсии
[18:57:31] <ada_ru> (nitrocerber) А не бегаешь каждые года два как собака побитая?
[18:57:34] <ada_ru> (kremovtort) отвечает (I_vlxy_I) на <потом работу не найд…>
> потом работу не найдут
Но если язык редкий, то не только вакансий мало, но и разработчиков, не?
[18:57:56] <ada_ru> (kremovtort) Вон заходишь в хаскель чат и там вроде все устроенные, хотя куда уж реже.
[18:58:15] <ada_ru> (Oleg) отвечает (nitrocerber) на <А может надо так раб…>
Так то хорошо - да только если своя контора ну или коммунизм
[18:58:23] <ada_ru> (I_vlxy_I) отвечает (nitrocerber) на <А может надо так раб…>
"потом" всегда наступает. компания может сдохнуть, компания иногда устраивает сокращения (как интел например) под которое можно попасть вне зависимости от скилла и заслуг.
также жизненные обстоятельства могут быть такими, что нужно будет переехать в другое место.
[18:58:41] <ada_ru> (I_vlxy_I) отвечает (kremovtort) на <> потом работу не на…>
разработчиков такие компании выращивают внутри из студентов.
[18:59:23] <ada_ru> (kremovtort) отвечает (I_vlxy_I) на <потом работу не найд…>
Ну и вообще, часто после "редких" технологий самом не хочется работать с мейнстримом, ибо знаешь, что желание волосы на голове рвать будет появляться довольно часто.
[18:59:26] <ada_ru> (I_vlxy_I) в итоге таким товарищам и платить можно поменьше - один фиг никуда не денутся.
[18:59:57] <ada_ru> (I_vlxy_I) отвечает (kremovtort) на <Ну и вообще, часто п…>
именно! даже если твоя технология это PL/I или еще какой брейнфак.
[19:00:18] <ada_ru> (ScienteGenue) Ну вы опять свели всё в какую-то фигнг
[19:01:26] <ada_ru> (ScienteGenue) Лучше обсудим полее остросюжетные на новый говд вопросы: сыр с какой плесенью брать
[19:02:30] <ada_ru> (nitrocerber) С синей!
[19:02:41] <ada_ru> (Максим) Сама выростет!
[19:02:57] <ada_ru> (ScienteGenue) отвечает (nitrocerber) на <С синей!>
Откуда знаешь? )
[19:03:00] <ada_ru> (Oleg) отвечает (Максим) на <Сама выростет!>
Только хотел сказать - без плесени - просто долго заранее
[19:03:51] <ada_ru> (I_vlxy_I) отвечает (nitrocerber) на <С синей!>
кстати, пролетала новость, что в подмосковье наладили производство сыра с плесенью
[19:04:17] <ada_ru> (I_vlxy_I) <прислал видео>
[19:04:27] <ada_ru> (ScienteGenue) я только что её поел
[19:04:36] <ada_ru> (nitrocerber) Да пробовал я отечественные... У сыротеки нормас, особенно стилтон. А остальные чот хрень
[19:04:37] <ada_ru> (I_vlxy_I) Его там переплавляли и снова в магазин
[19:04:39] <ada_ru> (ScienteGenue) это была бела плесень
[19:06:04] <ada_ru> (ScienteGenue) сыр с плесенью переплавляют?)))
[19:06:55] <ada_ru> (I_vlxy_I) https://ria.ru/20181220/1548302192.html
[19:07:11] <ada_ru> (I_vlxy_I) Угу. Обычно это какой-нибудь сыр "Российский"
[19:07:15] <ada_ru> (I_vlxy_I) с плесенью
[19:07:40] <ada_ru> (I_vlxy_I) на выходе сыр почти без плесени 😊
[19:09:22] <ada_ru> (ScienteGenue) -Это про какой-то бьрак или типа того
[19:10:23] <ada_ru> (I_vlxy_I) просроченный делают свежим!
[19:12:42] <ada_ru> (ScienteGenue) Ада - отличный язк. Ну... как минимум очень хороший. Мир на 95% не дорос ещё до Ады
[19:12:46] <ada_ru> (nitrocerber) Сосики дорблю, селёдка дорблю и колбаса дорблю, ога
[19:14:51] <ada_ru> (I_vlxy_I) отвечает (ScienteGenue) на <Ада - отличный язык.…>
Ада слишком хороша для этого мира?
[19:15:06] <ada_ru> (nitrocerber) Эх не читали вы тред на форуме)))
[19:15:07] <ada_ru> (ScienteGenue) Для 5% она отлична
[19:16:00] <ada_ru> (I_vlxy_I) Вообще, если на неком ЯП проги пишутся очень, слишком, долго, то это весомый аргумент выкинуть этот язык, вне зависимости от того, насколько надежные проги в итоге выходят. Ибо этот язык не реалтайм.
[19:17:46] <ada_ru> (ScienteGenue) А язык должен быть в этом смысле реалтайм? А вообще существуют такие языки?
[19:18:00] <ada_ru> (Максим) Хм, такого определения реалтайм языка я еще не видел 😊
[19:18:22] <ada_ru> (nitrocerber) Это бизнесс риалтайм
[19:18:41] <ada_ru> (ScienteGenue) У нас тут бизнесм ены завелись?
[19:18:49] <ada_ru> (Максим) кто замерял-то долго или слишком долго пишутся на Аде проги?
[19:19:06] <ada_ru> (ScienteGenue) я замерял в нашем проекте
[19:19:25] <ada_ru> (ScienteGenue) на глаз, понятное дело
[19:19:28] <ada_ru> (Максим) О, и как?
[19:19:56] <ada_ru> (ScienteGenue) Где-то раза в 3 медленнее, чем си++. Но и качество ниже, чем на си++.
[19:20:34] <ada_ru> (kremovtort) отвечает (ScienteGenue) на <Ада - отличный язык.…>
Судя по появлению го и популяризации жса и питона -- мир уже никогда не дорастет до ЯП с фичами хотя-бы из 80-х.
[19:20:59] <ada_ru> (ScienteGenue) отвечает (kremovtort) на <Судя по появлению го…>
Как знать...
[19:22:27] <ada_ru> (nitrocerber) Я вот этой скорости не понимаю
[19:22:33] <ada_ru> (I_vlxy_I) отвечает (ScienteGenue) на <Где-то раза в 3 медл…>
и дольше пишется и результат хуже? o_O
[19:22:38] <ada_ru> (nitrocerber) Я полчаса думаю, 5 минут печатаю
[19:22:53] <ada_ru> (nitrocerber) Там бегин у тебя тли скобка - ускорения не будет
[19:23:05] <ada_ru> (ScienteGenue) отвечает (I_vlxy_I) на <и дольше пишется и р…>
Пишестся быстрее, но результат хуже
[19:23:13] <ada_ru> (kremovtort) отвечает (ScienteGenue) на <Где-то раза в 3 медл…>
trollmode
Забавно, что, судя по всему, на расте проги пишутся и быстрее и надёжнее чем на плюсах
/trollmode
[19:23:44] <ada_ru> (I_vlxy_I) "Где-то раза в 3 медленнее, чем на си++. Но и качество ниже, чем на си++."
[19:23:53] <ada_ru> (I_vlxy_I) качество на Аде ниже чем на С++
[19:23:57] <ada_ru> (I_vlxy_I) И пишется в 3 раза медленней
[19:24:02] <ada_ru> (I_vlxy_I) O_O
[19:24:08] <ada_ru> (ScienteGenue) что за раст? язык для хипстеров? которые даже не способны предстаказать столько стека нужно будет их программе?
[19:24:30] <ada_ru> (ScienteGenue) отвечает (I_vlxy_I) на <O_O>
Алексей, вы полярность перепутали
[19:24:32] <ada_ru> (Oleg) Не - для хипстеров это Go/Python
[19:24:53] <ada_ru> (Oleg) Rast задумка хорошая
[19:24:54] <ada_ru> (ScienteGenue) Да вы все одним Rust/Go/Python мазаны
[19:24:57] <ada_ru> (I_vlxy_I) "Но и качество ниже, чем на си++" — тут вроде вполне однозначно сказано
[19:25:19] <ada_ru> (ScienteGenue) отвечает (I_vlxy_I) на <"Но и качество ниже,…>
Ну может я не так написал, имется ввиду, что реализация на си++ хуже качеством
[19:25:32] <ada_ru> (I_vlxy_I) оок 😊
[19:25:45] <ada_ru> (I_vlxy_I) хочется качество колличеством описать как-то.
[19:26:07] <ada_ru> (nitrocerber) отвечает (I_vlxy_I) на <"Но и качество ниже,…>
Да опечатался человек що вы тгавите
[19:27:15] <ada_ru> (I_vlxy_I) а то же ж можно пока адский программист пишет свою прогу, сделать 3 итерации на плюсах. даже если постановка задачи не изменится (а она обычно постоянно меняется, если это не какой-нибудь автомотив вне стадии R&D, а на стадии уже производства), то можно это время на тестирование и допил потратить.
[19:27:41] <ada_ru> (I_vlxy_I) и это по сравнению с плюсами! на плюсах, считается, что разработка весьма медленно идёт.
[19:28:06] <ada_ru> (I_vlxy_I) дофига областей где с++ уже не является реалтайм языком, и куда ему вход практически закрыт.
[19:28:12] <ada_ru> (Gourytch) На ассемблере можно написать все что угодно, но жизнь слишком коротка.
[19:28:40] <ada_ru> (I_vlxy_I) отвечает (Gourytch) на <На ассемблере можно …>
ну вот типа да. и никогда не дописать, ибо реальность вокруг будет меняться слишком быстро.
[19:30:05] <ada_ru> (Максим) отвечает (ScienteGenue) на <Да вы все одним Rust…>
Не все!
[19:30:08] <ada_ru> (Gourytch) отвечает (I_vlxy_I) на <ну вот типа да. и ни…>
я уже говорил же, что в стране компутеров МежДелМаша ассемблер - это основной язык?
но разработчики обычно не сильно спешат
[19:30:31] <ada_ru> (Gourytch) ну и пишутся не на год-два.
[19:30:44] <ada_ru> (I_vlxy_I) 3 раза.. то есть для Ады остаются ниши, где ТЗ четкое, не меняющееся и горизонт планирования очень далёкий. Значит это только большие конторы, только уже исследованные области. И только если цена ошибки очень высока. Причем сетап такой, что поправить ошибку вообще никак нельзя.
То есть та же авионика например.
А вот софтвер какой-нибудь для марсохода — это уже не Ада, ибо там ошибку обычно поправить МОЖНО, выслав новую прошивку. И там гибкость может быть важнее надежности.
[19:31:11] <ada_ru> (ScienteGenue) отвечает (Максим) на <Не все!>
Ну я же не всех имел ввиду)
[19:31:50] <ada_ru> (ScienteGenue) Это я так, для острастки
[19:32:49] <ada_ru> (I_vlxy_I) кстати, скорость разработки же еще от предметки зависит
[19:33:18] <ada_ru> (I_vlxy_I) @ScienteGenue у вас там какая предметная область?
[19:33:25] <ada_ru> (ScienteGenue) llvm на аде если писать, то он опять же раза в 3
[19:33:33] <ada_ru> (I_vlxy_I) Ибо в плане написания драйверов скорость разработки на Си будет таки выше чем на js
[19:33:43] <ada_ru> (ScienteGenue) отвечает (I_vlxy_I) на <@ScienteGenue у вас …>
САПР для программистов
[19:33:54] <ada_ru> (I_vlxy_I) ой. а это как?
[19:34:08] <ada_ru> (I_vlxy_I) можешь спалить сайт конторы, если он есть? 😉
[19:34:15] <ada_ru> (ScienteGenue) Ну типа IDE (на базе Eclipse)
[19:34:25] <ada_ru> (ScienteGenue) Пока что нельзя
[19:34:38] <ada_ru> (I_vlxy_I) ok
[19:34:55] <ada_ru> (I_vlxy_I) Средства разработки, значит?
[19:35:04] <ada_ru> (I_vlxy_I) небось для мелкоконтроллеров что-то
[19:35:06] <ada_ru> (ScienteGenue) Пока что непонятно кто перед кем ку делать должен
[19:35:14] <ada_ru> (ScienteGenue) Для них тоже, да
[19:35:50] <ada_ru> (I_vlxy_I) будьте как адакор - пишите всё на python!
[19:36:11] <ada_ru> (ScienteGenue) Ж-)
[19:36:12] <ada_ru> (I_vlxy_I) точнее - перепишите
[19:36:40] <ada_ru> (I_vlxy_I) тулзы для верификации мишн критикл софтвареза должны быть писаны на python - так надежнее!
[19:36:51] <ada_ru> (ScienteGenue) Шутку понял
[19:37:14] <ada_ru> (ScienteGenue) В том проекте нет ни строчки на питоне
[19:38:01] <ada_ru> (I_vlxy_I) ну, тогда хоть на js...
[19:38:09] <ada_ru> (I_vlxy_I) а морду - на электроне! удобно же!
[19:38:24] <ada_ru> (I_vlxy_I) если хочется вдруг (зачем?!) статической типизации, то typescript!
[19:40:38] <ada_ru> (ScienteGenue) rm -rf
[19:42:07] <ada_ru> (I_vlxy_I) блин. 3 раза.. нет, я в шоке. не может быть, чтобы вообще на любых задачах Ада была настолько медленней в плане разработки чем плюсы!
[19:42:25] <ada_ru> (I_vlxy_I) а как же этта.. что код мы больше читаем чем пишем, а Ада читабельней?
[19:43:01] <ada_ru> (ScienteGenue) читабельней. но где осредоточнено много разработки, там за своим кодом дай бог уследить.
[19:43:40] <ada_ru> (ScienteGenue) на соседний код редко когда смотреть. а если смотреть - ничего не понять. он же не на аде написан.
[19:44:16] <ada_ru> (I_vlxy_I) ну, типа ты же не hello world пишешь. Ты пишешь модуль в большой системе. И в процессе ты постоянно взаимодействуешь с разными (чужими)частями проекта этого. Если язык дружественен для читателя (как Ада) то ты будешь постоянно терять меньше времени чтобы найти что нужно в проекта, разобраться как работает и так далее.
[19:44:42] <ada_ru> (ScienteGenue) недавно я наблюдал ситацию, что один типа разработчик несколько рабочих дней ставил qt sdk. Я всегда с тавил минут за 5. Был в шоке.
[19:44:45] <ada_ru> (I_vlxy_I) Единственный вариант, где ада должно сильно проигрывать в скорости разработки — это когда ты пишешь свой кусок на Аде в проекте на С++.
[19:45:07] <ada_ru> (I_vlxy_I) Вот тогда ты от читабельности Ады ничего не выигрываешь, только теряешь на постоянном переключении между языками.
[19:45:21] <ada_ru> (kremovtort) отвечает (ScienteGenue) на <Да вы все одним Rust…>
Двум последним из этого списка вообще не стоило существовать, а Rust первый после ATS язык системного программирования, который даёт какие-то гарантии по поводу обращений к памяти и гонок данных.
[19:46:24] <ada_ru> (ScienteGenue) У меня другой опыт. Возьмём за лучшее качество 1.0. Так вот. скорость разработки на аде 1.0; качество 0.99; скорость разработки на си++ 3.0, качество 0.3
[19:46:56] <ada_ru> (I_vlxy_I) Итого, Ада быстра и хороша в разработке когда весь проект и все либы тоже на Аде. И, вероятно, разработчиков больше одного.
[19:47:34] <ada_ru> (I_vlxy_I) пилить свой модуль на Аде в проекте на С++ смысла нет. в большинстве случаев.
[19:47:41] <ada_ru> (kremovtort) Хотя ещё фрамаси есть, но есть у меня сомнения по её поводу, учитывая то, для какого языка это расширение.
[19:47:54] <ada_ru> (I_vlxy_I) отвечает (kremovtort) на <Хотя ещё фрамаси ест…>
а цыклон?
[19:48:07] <ada_ru> (ScienteGenue) Скорость исполнения это вообще несколько с боку. А если брать во внимание спарк, то она (скорость) должна быть не ниже, чем на си, но со всеми положительными свойствами доказуемости
[19:48:26] <ada_ru> (ScienteGenue) цыклон не взлетел
[19:48:50] <ada_ru> (ScienteGenue) frame-c тоже не взлетела
[19:48:58] <ada_ru> (ScienteGenue) убогое нерабочее поделие
[19:49:02] <ada_ru> (I_vlxy_I) раст взлетел!
[19:49:09] <ada_ru> (I_vlxy_I) ну, или по крайней мере, подпрыгивает
[19:49:23] <ada_ru> (ScienteGenue) в унитазе он подпрыгивает
[19:50:22] <ada_ru> (ScienteGenue) чего они там добились? выбрасывать исключение при пересечении границ массива? убожище
[19:50:42] <ada_ru> (I_vlxy_I) отвечает (ScienteGenue) на <чего они там добилис…>
вроде там довольно много ошибок компиляции.
[19:51:14] <ada_ru> (ScienteGenue) это всё на словах. реально я не ощущаю это в материальных ощущениях
[19:51:32] <ada_ru> (ScienteGenue) т.е. враньё
[19:51:35] <ada_ru> (I_vlxy_I) а ты на расте пишешь?
[19:51:40] <ada_ru> (ScienteGenue) нет
[19:52:04] <ada_ru> (I_vlxy_I) перепиши модуль на Аде на расте! пусть этот модуль будет особенным. не на плюсах!
[19:52:14] <ada_ru> (ScienteGenue) НЕТ! )
[19:52:18] <ada_ru> (I_vlxy_I) ДЫА!
[19:52:47] <ada_ru> (I_vlxy_I) скорость разработки 2.0 относительно плюсов, надежность 2.0 относительно Ады!
[19:52:57] <ada_ru> (ScienteGenue) Bvgjccb,kt
[19:52:58] <ada_ru> (I_vlxy_I) модность x666!
[19:53:10] <ada_ru> (I_vlxy_I) и смузи в подарок!
[19:53:55] <ada_ru> (ScienteGenue) Напишите для затравки вычисление линейного уравнения второго порядка, а я напущу свои тесты.
[19:54:55] <ada_ru> (ScienteGenue) Сколько оно пройдёт поглядим. У меня есть треки аналогичные по аде, си, си++, всяким убогим интерпретируемым языкам программирования. они осёл даже на асме 16битном писал писал. но у него показатели хуже всех получились.
[19:55:00] <ada_ru> (I_vlxy_I) ты формализуй что на входе, что на выходе должно быть. Вон, возможно @kremovtort напишет 😊
[19:55:15] <ada_ru> (ScienteGenue) Ща...
[19:55:59] <ada_ru> (I_vlxy_I) если раст будет плох, то я напишу на Аде. Вы тогда поймете насколько Ада плохой язык.
[19:57:37] <ada_ru> (I_vlxy_I) вообще, если я напишу это на трех языках, то лучше всех будет, скорее всего, с++
[19:59:24] <ada_ru> (ScienteGenue) https://yadi.sk/d/k0EuVswC2iYjPA
[19:59:27] <ada_ru> (ScienteGenue) https://yadi.sk/d/f6KjaP2UnIvk2Q
[20:00:01] <ada_ru> (ScienteGenue) Файлам по лет 10. Про Scons можно не обращать внимания. Главное исполнимый файл.
[20:00:49] <ada_ru> (ScienteGenue) Про plex65 тоже. Гдавное работающая программа.
[20:00:52] <ada_ru> (I_vlxy_I) моя не понимай что такое int, и что такое double применительно к языкам отличным от си. хотя в си тоже может быть всякое
[20:00:54] <ada_ru> (I_vlxy_I) например 8 битный int
[20:01:58] <ada_ru> (ScienteGenue) для си имеется ввиду int := int64_t и/или int32_t
[20:03:08] <ada_ru> (ScienteGenue) в lab01.html существеннен последний абзац. Всякие hg-хранилища - это неактуальная инфа 10 летнейд авности
[20:03:22] <ada_ru> (I_vlxy_I) double - 64бита по IEEE 754-1985?
[20:03:45] <ada_ru> (ScienteGenue) \потирая ручки
[20:04:04] <ada_ru> (ScienteGenue) Я коллекциор=нирую программы на разных ЯП, которые решились пройти этот тест
[20:04:17] <ada_ru> (I_vlxy_I) ну, этта.. на расте я пас. пока что. могу вот Аду опозорить 😊 ближе к новому году.
[20:04:37] <ada_ru> (ScienteGenue) На Аде у мнас уже есть идеально-работающапя версию )
[20:04:38] <ada_ru> (I_vlxy_I) предсказывают, что Ада будет хуже плюсов 😊
[20:04:55] <ada_ru> (I_vlxy_I) дык, идеально работающая не интересно. интересно как люди пишут.
[20:05:02] <ada_ru> (ScienteGenue) Позорьтесь пожалуйста на всякимъх растах/игго и прочих nodejs )
[20:05:19] <ada_ru> (I_vlxy_I) у нас адский чатик, будем позориться на онтопике!
[20:05:56] <ada_ru> (I_vlxy_I) я просто к тому, что степень позорности решения может и будет зависеть больше от программиста чем от инструмента.
[20:05:58] <ada_ru> (ScienteGenue) Да поди реализации получатся одинакомыми байт с байт
[20:05:59] <ada_ru> (I_vlxy_I) в данном случае
[20:06:23] <ada_ru> (kremovtort) отвечает (ScienteGenue) на <нет>
То есть вы не пишете на расте и при этом жалуетесь, что не чувствуете, что Раст как-то вам помогает? Мммммммм
[20:07:24] <ada_ru> (ScienteGenue) отвечает (kremovtort) на <То есть вы не пишете…>
А чем он может помочь?
[20:07:39] <ada_ru> (ScienteGenue) Я даже в описании его не нашёл ничего более-менее стоящего
[20:08:50] <ada_ru> (ScienteGenue) Чем он лучше Си хотябы?
[20:09:33] <ada_ru> (ScienteGenue) Всякий синтакический мусор^wсахар типа лямбд (если они там вообще есть) не считается. По существу?
[20:09:53] <ada_ru> (I_vlxy_I) отвечает (kremovtort) на <То есть вы не пишете…>
напишешь решение задачки?
[20:10:23] <ada_ru> (ScienteGenue) На расте у меня ещё нету образцов, было бы интересно добавить в коллекцию
[20:11:14] <ada_ru> (I_vlxy_I) отвечает (ScienteGenue) на <На расте у меня ещё …>
Не, ну ведь интересно же сравнить как люди пишут и на Аде тоже? 😉
[20:11:15] <ada_ru> (kremovtort) отвечает (ScienteGenue) на <Чем он лучше Си хотя…>
Линейные типы и RAII
[20:11:42] <ada_ru> (ScienteGenue) Что это? Зачем это?
[20:12:03] <ada_ru> (ScienteGenue) линейный тип это что? типа больше число?
[20:12:13] <ada_ru> (kremovtort) Вот тут то и выяснилось, что сварщик не настоящий
[20:13:03] <ada_ru> (kremovtort) > Linear types corresponds to linear logic and ensures that objects are used exactly once, allowing the system to safely deallocate an object after its use.
[20:14:03] <ada_ru> (kremovtort) Ещё алгебраические типы данных (хотя и не полноценные из-за специфики языка).
[20:14:05] <ada_ru> (ScienteGenue) я 30+ лет за рулём, меня на такой мякине не проведёшь
[20:14:46] <ada_ru> (kremovtort) За рулём 30 лет, и пейпер вы последний видимо 30 лет назад и читали.
[20:15:46] <ada_ru> (ScienteGenue) 30 лет назад ещё не было стандарта си98++ ) вы по малолетству даже не знаете когда какие стандарты выходили
[20:16:32] <ada_ru> (kremovtort) Ну стандарты это совсем не то чтиво о котором я говорю.
[20:16:52] <ada_ru> (ScienteGenue) Раста тоже тогда не было)
[20:18:15] <ada_ru> (kremovtort) Ну Clean например ещё в 87 появился
[20:18:21] <ada_ru> (ScienteGenue) На лицо фанатизм. Школьник прочитал про модный хипстерский раст и начинает втирать людям, которые пол жизни знают и применяют в промышленности множество языков (кроме хипстерских, конечно).
[20:19:25] <ada_ru> (I_vlxy_I) не фанатизмом было бы решить задачку на расте 😊
[20:19:36] <ada_ru> (ScienteGenue) Вот! Я слышу мудрые слова
[20:21:01] <ada_ru> (kremovtort) Это уже не сегодня. У меня 3 часа ночи.
[20:21:31] <ada_ru> (I_vlxy_I) дык к новому году будет ок, думаю.
[20:21:42] <ada_ru> (I_vlxy_I) я сам до сайд-проектов раньше не доберусь и на Аде решение не напишу 😊
[20:22:37] <ada_ru> (ScienteGenue) Из современных более-менее интересных языков я пытался на пони написать аналогичную программу, но оказалось... это не так просто)
[20:22:58] <ada_ru> (kremovtort) отвечает (ScienteGenue) на <На лицо фанатизм. Шк…>
Иначе говоря CS вы никогда не интересовались, вы просто программированием зарабатывали? И научные статьи соответственно в этой области не читали?
[20:23:00] <ada_ru> (ScienteGenue) да какой там писать... на аде это строчек 20
[20:23:07] <ada_ru> (ScienteGenue) или 15, типа того
[20:24:12] <ada_ru> (ScienteGenue) причём для типов с плавающей точкой и для целых - нужно поменять буквально несколько слов. на си/сиЪЪ же придётся практически всю программу переписывать. потому что ада - обладает симметрией
[20:24:48] <ada_ru> (I_vlxy_I) отвечает (ScienteGenue) на <да какой там писать.…>
ты учти, что такое я давненько не писал. точно же половину нужного забуду, а вторую половину продолбаю из за незнания Ады 😊
[20:24:52] <ada_ru> (I_vlxy_I) так что всё будет хорошо.
[20:25:45] <ada_ru> (ScienteGenue) там есть мелкие подводные камни. например, выводить x1 или x2 сначала или наоборот, если корни разные - такое не считается за ошибку.
[20:26:22] <ada_ru> (ScienteGenue) просто исправлю. потому что это не критично.
[20:27:37] <ada_ru> (ScienteGenue) нет смысла в тесте на таком подлавливать. так же как и на точности. некоторые райнтаймы так округляют, некотороые - по другому. это тоже не будет считаться ошибкой. просто в систему тестирования будет внесено что вот такое округление тоже возможно.
[20:29:47] <ada_ru> (ScienteGenue) у меня в коллекции есть два перла перл, руби ("не компилируется"/работает сейчас, хотя раньше работал. привет интерпретируемым язкам), си, несколько си++, ада, питон.
[20:30:03] <ada_ru> (ScienteGenue) кто-то на баше писал, но круто наломался
[20:30:15] <ada_ru> (ScienteGenue) ассемблер занял последнее место
[20:32:26] <ada_ru> (Максим) Даёшь репозиторий на гитхаб! Йандекс диск унылое говно 😕
[20:32:39] <ada_ru> (I_vlxy_I) вот, кстати, да.
[20:32:49] <ada_ru> (I_vlxy_I) и оформлять PR'ами
[20:33:28] <ada_ru> (ScienteGenue) Репу заводите где удобно
[20:33:51] <ada_ru> (Максим) Я его прочитать не могу, он у нас забанен 😄
[20:34:28] <ada_ru> (ScienteGenue) Причем, это только первые 2 теста на качество. Последующие идут на количество (быстродействие).
[20:36:28] <ada_ru> (ScienteGenue) Цитирую по памяти. На вход подаётся всё что угодно. На выходе строка с символом 4, если решение комплексное,
[20:37:57] <ada_ru> (ScienteGenue) Порядок агрументов уравнения ax**2 + bx + c = 0 натуральный в командной строке: a b c
[20:38:16] <ada_ru> (ScienteGenue) 0, если переполнение или решения нет
[20:38:37] <ada_ru> (ScienteGenue) 3 x1 x2
[20:38:59] <ada_ru> (ScienteGenue) 2 x (когда корень только один)
[20:39:31] <ada_ru> (username_is_not_avalaible) Вот до чего людей отсутствие типов-сумм доводит
[20:40:04] <ada_ru> (ScienteGenue) Две версии для плавающей точки и целых. «Ошибки» рантайма по округлению и не тому порядку вывода х1 х2 за ошибки не считаются
[20:40:43] <ada_ru> (ScienteGenue) отвечает (username_is_not_avalaible) на <Вот до чего людей от…>
Это у вас где? Давайте и ваш вариант а коллекцию
[20:40:53] <ada_ru> (Oleg) 2. Реализация алгоритма коректного нахождения корней квадратного уровнения. Для проверки реализации в хранилище должен быть SConstruct-файл или Makefile, который генерирует исполняемый модуль под именем intover. Язык реализации: стандартный Си.
Агрументы идут по-поряку: a b c.
Программа должна выдать на экран символ:
4, если в решении имеются комплексные корни
3, если есть два корня, с выводом их на экран
2, если оба корня равны, с выводом только одного на экран (a = 0)
1, если неверные входные значения
0, решение невозможно вычислить (переполнение и случай когда a = b = c = 0, a = b = 0)
Вывод всех чисел и результатов происходит через пробел. Вывод должен быть в виде строки, т.е. завершаться символом перевода строки. Все манипуляции с вычислениями должны проводиться с использованием типа double.
[20:41:01] <ada_ru> (Oleg) У них видимо на украине
[20:41:07] <ada_ru> (Oleg) Там яндекс забанили
[20:41:44] <ada_ru> (ScienteGenue) отвечает (Oleg) на <Там яндекс забанили>
Спасибо за цитату
[20:42:13] <ada_ru> (ScienteGenue) Я просто отошёл в магазин, а файл только дома
[20:42:43] <ada_ru> (I_vlxy_I) да, правительства странные любят всякое банить. причем, как обычно, забанили не всё 😃
[20:42:48] <ada_ru> (nitrocerber) На счёт банов - есть такая жутко секретная штука - впн. Но это такоэ
[20:43:10] <ada_ru> (Oleg) И прокси и впн и нам вобще на правительство пох
[20:43:14] <ada_ru> (I_vlxy_I) отвечает (nitrocerber) на <На счёт банов - есть…>
обычно банального friGate хватает
[20:43:46] <ada_ru> (ScienteGenue) Т.е. программа должна всегда правильное (с поправкой на округление рантайма) решение выдавать, либо сигнализировать, что оно не возможно
[20:43:48] <ada_ru> (nitrocerber) Та оспаде у меня телега с обычного билайна и домашнего онлайма без всяких проксей и впнов работает
[20:44:04] <ada_ru> (nitrocerber) Подозреваю что яндексы с вконтактами забанены примерно так же
[20:44:29] <ada_ru> (Oleg) Кстати интересно почему на ASM плохой код получился.
[20:45:17] <ada_ru> (username_is_not_avalaible) отвечает (ScienteGenue) на <Это у вас где? Давай…>
enum EquationRoots {
None,
Single(f64),
Two(f64, f64)
}
fn solve_square_equation(a: f64, b: f64, c: f64) -> EquationRoots {
...
}
[20:46:08] <ada_ru> (nitrocerber) Эти типа записи с дискриминантом чи що?
[20:46:18] <ada_ru> (I_vlxy_I) отвечает (username_is_not_avalaible) на <enum EquationRoots {…>
и как это поможет сформировать правильный вариант ответа в stdout?
[20:46:27] <ada_ru> (I_vlxy_I) тут же говорилось про формат выхлопа не функции, а проги
[20:46:37] <ada_ru> (I_vlxy_I) отвечает (nitrocerber) на <Эти типа записи с ди…>
оно, да
[20:46:46] <ada_ru> (I_vlxy_I) ну местами чутка помощнее
[20:46:58] <ada_ru> (kremovtort) отвечает (nitrocerber) на <Эти типа записи с ди…>
https://ru.m.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%B5%D0%B1%D1%80%D0%B0%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D1%82%D0%B8%D0%BF_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85
[20:48:38] <ada_ru> (nitrocerber) Звучит круто. А что-то кроме методологии оно в себе несёт?
[20:49:11] <ada_ru> (Gourytch) отвечает (Максим) на <Даёшь репозиторий на…>
зачем дело встало? делаем там company, туда добавляемся и - алга
[20:49:58] <ada_ru> (Максим) отвечает (nitrocerber) на <На счёт банов - есть…>
Да его включать же надо. Гораздо проще попросить выложить на гитхаб 😋
[20:50:11] <ada_ru> (username_is_not_avalaible) отвечает (nitrocerber) на <Эти типа записи с ди…>
Только лучше.
[20:50:25] <ada_ru> (nitrocerber) Лучшее - враг хорошего
[20:50:39] <ada_ru> (I_vlxy_I) отвечает (Максим) на <Да его включать же н…>
гитхаб тут палюбому лучше - описание задачи в ридмишку, а решения в каталоги в репе
[20:51:23] <ada_ru> (username_is_not_avalaible) отвечает (nitrocerber) на <Звучит круто. А что-…>
Несёт. Например, код
fn extract(opt: Option<u32>) -> u32 {
match opt {
Some(val) => val
}
}
не скомпилируется
[20:51:47] <ada_ru> (username_is_not_avalaible) Ну и гарантированно ненуллабельные ссылки -- это всё-таки понадёжнее
[20:52:16] <ada_ru> (nitrocerber) Ну код мне ни о чём не говорит, один фиг я таких словесей не разумию
[20:52:37] <ada_ru> (ScienteGenue) отвечает (username_is_not_avalaible) на <Несёт. Например, код…>
Это всё очень интересно, но не будете ли вы против поучавствовать во всеобщем забеге с известными правилами и публикацией результата и инструкийй по сборке вашего языка программирования
[20:53:01] <ada_ru> (username_is_not_avalaible) отвечает (ScienteGenue) на <Это всё очень интере…>
Конкретно сейчас мне немножко лень, извините
[20:53:17] <ada_ru> (ScienteGenue) Не прямо сейчас. Можно и на днях
[20:53:24] <ada_ru> (username_is_not_avalaible) Ну ок
[20:54:30] <ada_ru> (ScienteGenue) Практичка показывает, что (пока что) профессиональный программист не может эту задачу решить быстрееЮ чем за 10 рабочих часов, а студент за пол семестра :-)
[20:55:08] <ada_ru> (nitrocerber) А ботание матчасти взлдит в подсчёт времени?)
[20:55:22] <ada_ru> (ScienteGenue) Если не считать ада-программистов, конечно
[20:55:35] <ada_ru> (username_is_not_avalaible) Обязательно на C писать?
[20:56:00] <ada_ru> (ScienteGenue) Считается что к решению ax**2 + bx + c = 0 участник уже готов по плане теории )
[20:56:02] <ada_ru> (I_vlxy_I) отвечает (username_is_not_avalaible) на <Обязательно на C пис…>
на расте
[20:56:13] <ada_ru> (ScienteGenue) отвечает (username_is_not_avalaible) на <Обязательно на C пис…>
Любой ЯП по вашему выбору
[20:56:14] <ada_ru> (Gourytch) на Tcl
[20:56:29] <ada_ru> (ScienteGenue) Лучше как раз и не на Си. На Си уже написано более всего
[20:56:41] <ada_ru> (I_vlxy_I) на шаблонах с++! компилишь прогу, и компиль тебе ответ выдает.
[20:56:46] <ada_ru> (ScienteGenue) лучше на всяких раст/игого и прчих tcl
[20:58:04] <ada_ru> (username_is_not_avalaible) Аргументы на стандартный вход подаются?
[20:58:19] <ada_ru> (ScienteGenue) да. в порядке: a b c
[20:58:36] <ada_ru> (ScienteGenue) в смысле нет) подаются аргументами командной строки
[20:58:51] <ada_ru> (ScienteGenue) argv[0], argv[1] = a, argv[2] = b и т.д.
[20:59:21] <ada_ru> (username_is_not_avalaible) отвечает (ScienteGenue) на <в смысле нет) подают…>
Ну ок
[21:01:21] <ada_ru> (ScienteGenue) Желательно по присыланию написать сколько времени было потрачено на написание программыю. потом мы отсортируем программы с решением на разных языках программирования по количеству ошибок и сделаем шедевральный вывод о убогости языков программирования, принявших участие в конкурсе ))
[21:02:16] <ada_ru> (I_vlxy_I) кстати, а какой способ учета времени считается кошерным?
[21:02:45] <ada_ru> (I_vlxy_I) ну, т.е. когда у меня задача, я ж о неё думаю в произвольные моменты времени. когда куда-то иду, когда чай пью, когда в метро еду.. этот процесс довольно непредсказуемый.
[21:02:46] <ada_ru> (ScienteGenue) ну... чем быстрее, тем лучше, но если это не влияет на количество ошибок
[21:03:04] <ada_ru> (ScienteGenue) ааа... ну тут на глаз
[21:04:21] <ada_ru> (I_vlxy_I) надо, короче, обдумать один раз, а потом написать на нескольких языках
[21:04:32] <ada_ru> (I_vlxy_I) и замерять уже чисто время за клавой.
[21:05:49] <ada_ru> (ScienteGenue) Задачка, казалось-бы очень простая
[21:11:22] <ada_ru> (I_vlxy_I) немного в сторону от темы:
начал использовать пакетный менеджер conan для с++
итог пока такой: сам по себе пакетный манагер хороший. весьма. но репозитории от комьюнити, точнее пакеты в этих репозиториях регулярно приходится немного поправлять чтобы оно работало как надо.
Также есть ощущение, что conan сам по себе на с++ никак не заточен и не завязан. Например он вполне годится для фортрана.
Говорят его пробовали для D, go и rust - но это направление решили не развивать, так как у них свои пакетные манагеры есть.
[21:11:31] <ada_ru> (I_vlxy_I) Отсюда шальная идея - а не пощупать ли его для Ады?
[21:11:49] <ada_ru> (I_vlxy_I) Особенно если каким-то образом удалось бы адакору заинтересовать... Это могла бы быть пушка.
[21:11:55] <ada_ru> (I_vlxy_I) пэрсик!
[21:12:08] <ada_ru> (I_vlxy_I) И да, conan сам по себе написан на том, что adacore любит больше всего!
[21:12:20] <ada_ru> (ScienteGenue) На Си? )
[21:12:24] <ada_ru> (I_vlxy_I) на питоне!
[21:12:29] <ada_ru> (ScienteGenue) Тьфу)
[21:12:44] <ada_ru> (I_vlxy_I) но это, кстати плюс. уж лучше питон, чем язык cmake
[21:13:13] <ada_ru> (ScienteGenue) а где можно посмотреть на этот конон?
[21:13:22] <ada_ru> (Максим) адакора пока что верит в alire
[21:14:18] <ada_ru> (I_vlxy_I) https://docs.conan.io/en/latest/introduction.html
[21:14:27] <ada_ru> (I_vlxy_I) https://docs.conan.io/en/latest/getting_started.html
[21:15:03] <ada_ru> (I_vlxy_I) конан, в частности, хорош тем, что там легко делаются корпоративные, закрытые, репозитории.
[21:19:31] <ada_ru> (I_vlxy_I) отвечает (Максим) на <адакора пока что вер…>
ну, хорошо, если так. просто он мне кажется менее расширяемым так то.
[21:22:53] <ada_ru> (Oleg) MariaDB старый WorkBench больше не пашет
[21:23:01] <ada_ru> (Oleg) скачал новый и
[21:23:03] <ada_ru> (Oleg) ...
[21:23:11] <ada_ru> (Oleg) картинка https://www.ada-ru.org/files/bot/x11.jpg
[21:23:57] <ada_ru> (I_vlxy_I) отвечает (Oleg) на <>
может это про радары? 😊
[21:31:13] <ada_ru> (I_vlxy_I) $ cat conanfile.txt
[requires]
opencv/3.4.3@conan/stable
libuv/1.24.0@bincrafters/stable
flatbuffers/1.8.0@uilianries/stable
[generators]
cmake
[options]
opencv:png=False
[21:31:59] <ada_ru> (I_vlxy_I) как-то так прописываются необходимые зависимости для сборки проекта
[21:52:38] <ada_ru> (I_vlxy_I) https://github.com/SoftwareNetwork/sw/blob/b0692f4849343f6bf58e6ed4cc9b70ea52839b66/src/driver/cpp/compiler.h#L453
[21:52:47] <ada_ru> (I_vlxy_I) (это безотносительно конана, это какая-то другая штука)
[21:55:20] <ada_ru> (coopht) надо portage юзать и будет счастье )
[21:56:00] <ada_ru> (coopht) отвечает (I_vlxy_I) на <как-то так прописыва…>
а этот conan, он компилит пакеты на хосте или там какие-то хитрые бинари?
[22:07:29] <ada_ru> (I_vlxy_I) отвечает (coopht) на <а этот conan, он ком…>
либо скачивает бинарь, если в репе есть бинарь либы, собранной с нужными опциями нужным компилятором, либо скачивает исходники и собирает на месте.
[22:07:53] <ada_ru> (I_vlxy_I) отвечает (coopht) на <надо portage юзать и…>
не портабельно 😊 виндоюзеры будут страдать!
[22:08:32] <ada_ru> (coopht) отвечает (I_vlxy_I) на <не портабельно 😊 вин…>
И линуксоиды тоже, как только линукс не убунту, или-что нибудь еще, так начнутся пляски с бубном
[22:08:59] <ada_ru> (I_vlxy_I) м? что, почему?
[22:09:34] <ada_ru> (coopht) потому что зависимости
[22:09:43] <ada_ru> (I_vlxy_I) у портаджа?
[22:09:50] <ada_ru> (coopht) нет, у conan
[22:10:00] <ada_ru> (I_vlxy_I) а какие такие у него зависимости?
[22:10:14] <ada_ru> (coopht) у него никаких, у либ которые оно качает и ставит
[22:10:16] <ada_ru> (I_vlxy_I) вроде как прелесть именно в том, что пофиг что у тебя за ось и что в ней установлено.
[22:10:44] <ada_ru> (I_vlxy_I) оно и тулзы подтягивает нужные. например подтянуло мне gyp и ninja. и собрало.
[22:10:49] <ada_ru> (coopht) т.е. если opencv мне надо становить, то conan скачает все дерево зависимостей?
[22:11:14] <ada_ru> (I_vlxy_I) отвечает (coopht) на <т.е. если opencv мне…>
зависит от настроек. но может, да. Но там зависимостей у opencv довольно мало, так то.
[22:11:21] <ada_ru> (I_vlxy_I) на малинке около часа сборка шла.
[22:11:35] <ada_ru> (I_vlxy_I) на десктопе думаю минут за 15 управилось бы
[22:11:54] <ada_ru> (coopht) ну короче как portgae гентушный
[22:11:56] <ada_ru> (I_vlxy_I) при условии, что в репе не было бы готовых бинарей. а они там есть (но не для малины)
[22:12:16] <ada_ru> (I_vlxy_I) поэтому на десктопе установка opencv занимает несколько секунд. так то.
[22:12:28] <ada_ru> (coopht) а как бинари компилятся, для архитектуры вцелом без каких-то флагов оптимизаций?
[22:12:58] <ada_ru> (I_vlxy_I) как положишь, так и будут 😊
[22:13:19] <ada_ru> (I_vlxy_I) можно дойти до гентушного подхода, когда типа хочу все собрать, хочу с оптимизацией под мой камень
[22:13:29] <ada_ru> (I_vlxy_I) а можно просто в репу бинари сложить максимально универсальные и ладно
[22:13:34] <ada_ru> (I_vlxy_I) и качать уже бинари
[22:13:45] <ada_ru> (coopht) понятно
[22:14:22] <ada_ru> (I_vlxy_I) в общем, оно достаточно гибкое и удобное для разворачивания корпоративных реп для разработчиков.
[22:15:08] <ada_ru> (coopht) а оно как-то верифицируется? Где гарантия что те бинари которые там есть они без бекдоров/вирусов?
[22:15:29] <ada_ru> (I_vlxy_I) а комьюнити репы - сложно юзать если у тебя либо чутка требования другие нежели у майнтейнеров, либо у тебя чутка архитектура не мейнстрим. и даже если ты непритязателен и сидишь на мейнстриме, все равно периодически придется чутка напильником дотачивать комьюнити пакеты.
[22:15:32] <ada_ru> (I_vlxy_I) как-то так.
[22:15:37] <ada_ru> (I_vlxy_I) в общем, это круто. 😊
[22:16:02] <ada_ru> (I_vlxy_I) отвечает (coopht) на <а оно как-то верифиц…>
вопрос в том, доверяешь ты конкретному майнтейнеру или нет.
[22:16:43] <ada_ru> (I_vlxy_I) я прежде всего конан рассматриваю для своих репозиториев внутри конторы. ну или для "поиграться" дома.
внешние репы на работе - зло.
[22:17:07] <ada_ru> (I_vlxy_I) а, ну и все пакетики из комьюнити, доступны на гитхабе. так то.
[22:17:18] <ada_ru> (I_vlxy_I) можно читать/клонировать/фиксить/слать багрепорты.
[22:18:54] <ada_ru> (Eugene) отвечает (Максим) на <Да его включать же н…>
проще пользоваться оперой — там встроенный впн, один раз включил и забыл
[22:20:26] <ada_ru> (Vinpuh) Опера впн его же вроде прикрыли сами разрабы?
[22:21:44] <ada_ru> (Vinpuh) А его уже в новую впилили :)
[22:25:14] <ada_ru> (Eugene) выпилили опера турбо, впилили опера впн
[22:26:01] <ada_ru> (Eugene) ещё, как вариант, можно поставить прогу goodbyedpi — помогает, когда провайдеры по простому банят ресурсы
[23:27:14] <ada_ru> (nordwnd) Почему то, после всех ваших обсуждений возникает дикое желание открыть sicp и ваять что нибудь на lisp
[23:27:35] <ada_ru> (nordwnd) Странно отчего это....
[23:28:01] <ada_ru> (nordwnd) Вы такие умелые популяризаторы....
[23:28:19] <ada_ru> (nordwnd) ;)
[23:39:34] <ada_ru> (I_vlxy_I) отвечает (nordwnd) на <Почему то, после все…>
O_o почему именно лисп то?
[23:40:51] <ada_ru> (nordwnd) Потому что, хочется
[23:55:07] <ada_ru> (I_vlxy_I) решай сицп на Аде!