[17:18:41] <ada_ru> (Sergei) Сегодня меня нашёл HR из Брюсселя, предлагал писать на Аде. Я сказал, что хорошо бы, но в Брюссель переезжать не хочу, могу удалённо или парт тайм, наездами. Он сказал, что это всё ему не подходит, и попрощался. Но если кому интересно, контакт его есть, пишите.
[17:19:21] <ada_ru> (Oleg) скажи я за тебя !
[17:19:23] <ada_ru> (Oleg) Ж-)
[17:22:46] <ada_ru> (I_vlxy_I) А про чего проект?
[17:23:06] <ada_ru> (I_vlxy_I) Может там нужно быть гражданином NATO!
[17:23:28] <ada_ru> (Sergei) Я не вникал, может и не нужно.
[17:24:08] <ada_ru> (Sergei) Это, вообще, уже 3 проект на аде за мою бытность пробегает, но первые 2 мне не ответили ничего на резюме
[17:24:28] <ada_ru> (Sergei) а этот сам разыскал
[17:24:57] <ada_ru> (I_vlxy_I) Не густо, но есть.
[17:26:31] <ada_ru> (Lieutenant_Commander_Data) https://people.cs.kuleuven.be/~dirk.craeynest/ada-belgium/jobs/
[17:26:46] <ada_ru> (Lieutenant_Commander_Data) Вот тут иногда появляются вакансии
[17:30:02] <ada_ru> (Sergei) О, спасибо. Жаль, в основном про Бельгию
[17:31:56] <ada_ru> (I_vlxy_I) А существуют ли ммелкие конторы/стратапы юзающие Аду?
[17:32:28] <ada_ru> (Sergei) Не знаю, но знаю почему не существует
[17:32:55] <ada_ru> (I_vlxy_I) Э?
[17:32:59] <ada_ru> (Sergei) Но не скажу
[17:33:37] <ada_ru> (Sergei) И вообще, кто мешает участнику канала открыть стартап и юзать Аду?
[17:34:22] <ada_ru> (I_vlxy_I) Ну, заниматься бизнесом это отдельный скилл, склад ума и головная боль
[17:34:39] <ada_ru> (I_vlxy_I) Безотносительно Ады
[17:35:17] <ada_ru> (Sergei) Ну вот, а так как Аду выбирают "чтобы не иметь головной боли" или "иметь, но не такую как у всех" они плохо ладят
[17:35:19] <ada_ru> (I_vlxy_I) Особенно в России :-)
[17:36:56] <ada_ru> (I_vlxy_I) По моим ощущениям, от Ады видимая польза начинается в проекте от 2-3 миллионов строк собственного кода.

Это сугубое IMHO
[17:38:45] <ada_ru> (Лекс) Я готовлю стартап который будет на Аде 🧐
[17:39:30] <ada_ru> (Lieutenant_Commander_Data) Аду сложно юзать в стартапе, потому что очень сложно ее стыковать с уже существующими технологиями со всеми вытекающими последствиями
[17:40:33] <ada_ru> (I_vlxy_I)  отвечает (Lieutenant_Commander_Data) на <Аду сложно юзать в с…>
Не сложнее какого-нибудь Go. Даже проще
[17:40:46] <ada_ru> (I_vlxy_I)  отвечает (Лекс) на <Я готовлю стартап ко…>
Вау! А про что?
[17:41:05] <ada_ru> (Lieutenant_Commander_Data)  отвечает (I_vlxy_I) на <Не сложнее какого-ни…>
Но намного сложнее Java,C++,C и питончика, и того же js
[17:41:10] <ada_ru> (Sergei) Да, +1 к Вау
[17:41:33] <ada_ru> (Lieutenant_Commander_Data) потому что для всего кроме ады написано огромное количество библиотек для чего угодно.
[17:41:48] <ada_ru> (Лекс) Единственная проблема Ады, как и многих не мейнстримных языков — отсутствие большого количества готовых библиотек на все случаи жизни, поэтому в мелком бизнесе он не заходит, а в крупном кухня вообще немного другая.
Поэтому проще на сярпе или пихоне хуяк-хуяк и в продакшен
[17:42:01] <ada_ru> (Oleg)  отвечает (Lieutenant_Commander_Data) на <потому что для всего…>
Тогда пользовать нужно JS и Python
[17:42:47] <ada_ru> (Sergei) Единственная проблема Ады - С++, который перекрывает 90% применений, и ещё 5% перекрывает дельфи, а на остальные есть Go, Python и т.д.
[17:43:27] <ada_ru> (Лекс)  отвечает (I_vlxy_I) на <Вау! А про что?>
Не скажу 😜 Когда спецификацию напишем, расскажу
[17:43:35] <ada_ru> (Lieutenant_Commander_Data)  отвечает (Sergei) на <Единственная проблем…>
Я бы сказал в Адском стеке отсутствует 90% того что есть в C++ стеке
[17:44:34] <ada_ru> (Sergei) Я бы не стал тут расхваливать С++. Просто скажу так: случилось, что они конкурренты.
[17:45:22] <ada_ru> (Sergei) По законам конкурренции проигравший на большом поле должен искать нишевые решения, или уходить ...
[17:47:26] <ada_ru> (Sergei) Внятной политики нишевости у Ады, как языка, стандарта, я не припомню.
[17:49:27] <ada_ru> (Sergei) Отталкиваемся от википедии:

"На практике оказалось, что Ада, заняв предназначенную ей нишу в военных и родственных им разработках встроенных систем, за пределы данной ниши так и не вышла ни на Западе, ни в СССР, ни на постсоветском пространстве. Причин этому называется много. Противники языка упирают на его сложность и недостатки, сторонники говорят, прежде всего, об объективных обстоятельствах появления языка и негативных сторонах процесса его внедрения."

Далее там Рыбин цитируется
[17:50:27] <ada_ru> (Sergei) То есть, выживание Ады = поиск её ниши всеми заинтересованными лицами
[17:51:58] <ada_ru> (Sergei) То же относится и к стартапу. Инвестору надо будет объяснять "почему именно Ада"
[17:52:55] <ada_ru> (I_vlxy_I)  отвечает (Лекс) на <Не скажу 😜 Когда спе…>
0k :-)
[17:54:08] <ada_ru> (Лекс)  отвечает (Sergei) на <То же относится и к …>
Инвестору похрен на технологию реализации, его интересует прибыль.
[17:54:35] <ada_ru> (Sergei) Ада имеет потенциал и амбиции универсального языка, и мы подсознательно не хотим видеть её как нишевое решение. Вот потому никто и не двигается в этом направлении, наверное
[17:55:13] <ada_ru> (Лекс) Даже в разработке прикладного по под ключ разработчику чаще всего всё равно на язык. Ему нужен результат
[17:59:49] <ada_ru> (Sergei) Возможно. Другая проблема - сами программисты. Писать на Аде более рисковано и потому должны быть хорошие причины, чтобы это делать.
[18:03:39] <ada_ru> (Sergei) Третья причина - удовольствие. Создавая Аду об удовольствии, в общем, не думали, а потеряв нишу военных приложений не сразу вспоминают, что программисту должно быть интересно использовать язык на конкуррентном уровне.
[18:05:10] <ada_ru> (Лекс) Прошу обосновать два последних сообщения
[18:08:35] <ada_ru> (Лекс) Лично я испытываю удовольствие от Ады, и даже от банального проектирования под Аду. Чего не могу сказать о других языках, разве что Перл ещё радует — я как-то писал на нем будучи пьяным, всё работало как задумалось 😂
[18:10:38] <ada_ru> (Лекс) Главный недостаток Ады в том, что на канале Ада оффтопят и болтают, а не производят тонны адового кода😂
[18:14:26] <ada_ru> (Sergei) Могу сделать выборочное обоснование, более подробное не позволяет рабочий график. Выборочное обоснование применительно к мультизадачности.
Ада меня отрезает от железяки , по сути, подставляю некую виртуальную многозадачность. Я не могу конструировать свой тип задачи, алгоритмы работы типа task жёстко заданы реализацией. В результате у меня не выделяются в мозгу вещества, отвечающие за удовольствие, когда я пишу многозадачность на Аде, если только я не делаю это чисто по-Адски. Хороший вопрос - почему сейчас так мало уделяется внимания проектированию многозадачности чисто по-Адски. Вот на эту тему стоит поговорить, но у меня подозрение - на порядок медленнее, очень дорого. См. дискуссию о фрагментированном стеке (я даже вроде на github какое-то демо ваял).
[18:15:24] <ada_ru> (I_vlxy_I)  отвечает (Lieutenant_Commander_Data) на <Но намного сложнее J…>
Нет. У Ады интерфейсинг с плюсами и Си сильно проще жабного. И много эффективней.

Другое дело, что у жабы собственных либ больше
[18:15:42] <ada_ru> (Sergei) В результате, вот выходит новая вкусная железяка XXXX вектор процессор
[18:15:54] <ada_ru> (Sergei) Я не могу использовать его многозадачность из Ады
[18:16:06] <ada_ru> (Lieutenant_Commander_Data)  отвечает (I_vlxy_I) на <Нет. У Ады интерфейс…>
Интерфейс между языками простой, спору нет. Но вот биндингов нет.
[18:16:35] <ada_ru> (t91x0)  отвечает (Sergei) на <В результате, вот вы…>
Ну какие векторы для ады, это же для другого делалось
[18:18:11] <ada_ru> (I_vlxy_I)  отвечает (Sergei) на <Третья причина - удо…>
Удовольствия и интереса в процессе программирования на Го - нуль. Язык слишком простой и ограниченный. Он скучный. Писать на нем - многословно (многострочечно) и уныло.

Но результата позволяет достигнуть быстро.
[18:19:55] <ada_ru> (I_vlxy_I)  отвечает (Lieutenant_Commander_Data) на <Интерфейс между язык…>
Потому, что проектов и программистов нет :-) Боинг не в счёт - они не выкладывают наработки
[18:21:23] <ada_ru> (Lieutenant_Commander_Data)  отвечает (I_vlxy_I) на <Потому, что проектов…>
Да причин много разных. Но факт остается фактом.
[18:21:55] <ada_ru> (Sergei) Есть прекрасные книжки 80-х о проектировании многозадачности в Аде. Классика. Ничего менять не надо.
Кроме одного. Если тогда можно было говорить о 10-30, макс 100 задачах то сегодня мы хотим минимум 10 000, а ещё лучше 10 000 000 задач.
[18:22:13] <ada_ru> (Sergei) И Ада не даёт ответа
[18:22:59] <ada_ru> (Sergei) Не интересно всю жизнь программировать 100 задач
[18:24:39] <ada_ru> (AnatoliyChepiga) Мне кажется мы забываем про главное: на аде получается качественнее и дольше, но дороже. А во многих местах (и особенно в стартапах), чем дешевле
[18:25:47] <ada_ru> (AnatoliyChepiga) Тем лучше. Занять рынок. А потом уже можно и на аде переписать, а может снять пенки и уехать на Канарские острова, а дальше хоть трава не расти
[18:27:43] <ada_ru> (Sergei) Да, верно. И если бы мы могли обосновать, почему дороже. Но это не просто сделать сегодня.
[18:28:54] <ada_ru> (I_vlxy_I)  отвечает (Sergei) на <Есть прекрасные книж…>
Просто сейчас задачи нужны не для параллельности, а для конкурентности.

Корутины нужны. Легкие. Или гринтреды.
[18:29:21] <ada_ru> (I_vlxy_I) Параллельность тоже нужна иногда, чтобы ядра не простаивали, но это не так часто уже.
[18:30:30] <ada_ru> (I_vlxy_I)  отвечает (AnatoliyChepiga) на <Тем лучше. Занять ры…>
На Аде переписать, когда проект развивался 20 лет и имеет 3-4 миллиона строк кода, это такое...
[18:30:34] <ada_ru> (Sergei) Речь идёт о проектировании программы в терминах взаимодействующих задач, в противовес ООП. То есть, это такая парадигма, очень хорошая сама по себе. Ну, как event programming, или functional programming. Декомпозиция задачи на параллельные такси
[18:31:04] <ada_ru> (Sergei) Очень хорошо работает, но плохо масштабируется в Аде:
[18:31:47] <ada_ru> (Sergei) 1. Ограничение на кол-во задач
2. Locks
и проч
[18:32:05] <ada_ru> (Sergei) Ах, да, distributed systems
[18:32:12] <ada_ru> (Sergei) уже обсуждали
[18:32:14] <ada_ru> (Sergei) недоделано
[18:32:29] <ada_ru> (Sergei) 3 причины, почему не пользуют
[18:32:33] <ada_ru> (Sergei) IMHO
[18:33:05] <ada_ru> (Sergei) В результате, имея ВСЁ концептуально, чтобы не морочится, люди делают как и везде - через HTTP и XML
[18:33:25] <ada_ru> (AnatoliyChepiga)  отвечает (I_vlxy_I) на <На Аде переписать, к…>
Согласен. Но с учётом того, что 99% стартапов умирают, они в связи со смертью даже не доходят до той фазы, когда можно задуматься о написании не глючного макета на PHP/Js, а на чём нибудь стоящем, типа ады
[18:34:04] <ada_ru> (AnatoliyChepiga)  отвечает (Sergei) на <В результате, имея В…>
И ещё добавил бы: на json)
[18:34:52] <ada_ru> (I_vlxy_I)  отвечает (I_vlxy_I) на <На Аде переписать, к…>
И когда у тебя штат из 600-700 программистов умеющих уже в язык XXX, на котором и писаны те 4 ляма строк кода и эти программисты уже погружены в предметную область... очень сложно будет обосновать переписывание проекта на Аде.

И очень сложно будет осуществить. И качество адской версии продукта первые лет 10 будет уступать старой версии.
[18:34:55] <ada_ru> (Sergei) Вы, господа, не склонны всё-таки видеть недостатки в самом ТЕКУЩЕМ СОСТОЯНИИ языка, а больше во внешних причинах. А недостатки они есть.
[18:35:15] <ada_ru> (Sergei) Вот как в pre C++11, не к ночи будет помянут
[18:36:04] <ada_ru> (AnatoliyChepiga) Конечно есть, куда без них. Но есть обходные пути, конечно... По ним не так радостно следовать, но они есть
[18:38:39] <ada_ru> (I_vlxy_I) У меня пока к Аде две предъявы: аццки тормозная реализация стандартной либы. И отсутствие асинхронности/корутин/зелёных потоков. Я согласен даже чтобы корутины все жили на одном ядре процессора. Но я их хочу иметь 10**5 хотя бы.
[18:39:38] <ada_ru> (I_vlxy_I) Ну и мелочи вроде наличия деструкторов только для тэгированных типов, что тоже как-то дико.
[18:40:25] <ada_ru> (Sergei) Ну, первый позитивный здвиг, для меня, был бы, если бы появился лист "наши предъявы к Аде".
[18:40:37] <ada_ru> (Sergei) Так, собственно, все языки и развивались
[18:41:21] <ada_ru> (AnatoliyChepiga) На гитлабом.ком можно завести репу за 5 минут куда в markdown все такие случаи и записать
[18:41:30] <ada_ru> (I_vlxy_I) Ну, сейчас можно закидывать хотелки и rfc в гитхаб уже
[18:41:34] <ada_ru> (I_vlxy_I) Официально
[18:42:17] <ada_ru> (Sergei) Я бы добавил определение протокола взаимодействия задач. Чтобы все эти HTTP и JSON выразить нормальными адовскими концепциями, упрятав куда-то под прагмы детали реализации RPC
[18:42:26] <ada_ru> (I_vlxy_I) https://github.com/AdaCore/ada-spark-rfcs
[18:42:36] <ada_ru> (AnatoliyChepiga) Закидывать-то можно, но когда они будут реализованы? В следующем году в количестве 5%? Такое себе тоже...
[18:42:55] <ada_ru> (Sergei) Что касается RPC то это даже не язык, а стандартная либа и пользовательские прагмы
[18:43:31] <ada_ru> (I_vlxy_I)  отвечает (AnatoliyChepiga) на <Закидывать-то можно,…>
5 процентов — это дофига хорошо :-)
[18:43:48] <ada_ru> (AnatoliyChepiga) А хотелось бы 95%
[18:43:55] <ada_ru> (AnatoliyChepiga) )
[18:44:49] <ada_ru> (Sergei) Любая вещь развивается по экспоненциальному закону.
[18:45:04] <ada_ru> (Sergei) Важны самые первые шаги
[18:45:35] <ada_ru> (I_vlxy_I) То есть если в плюсах в некоторых проектах приходится юзать свою стандартную либу, то в случае Ады, кажется, в любом если производительность хоть немного важна.
[18:47:27] <ada_ru> (AnatoliyChepiga) Ещё немаловажный конструктивный вывод из существования Ады вообще: если на ней программист приучен писать, то потом на другом языке у него код более качественный получается, чем у того, кто не приучен
[18:47:55] <ada_ru> (Sergei) Да, с этим полностью согласен
[18:49:33] <ada_ru> (insert_reference_here)  отвечает (I_vlxy_I) на <По моим ощущениям, о…>
Вот только эти 2 миллиона строчек на других языках превращаются в 1 миллион
[18:49:47] <ada_ru> (AnatoliyChepiga) У нас в одном си++ проекте затащены даже некоторые конструктивные проведения Ады. Например, есть шаблоны над примитивами, которые кидают исключения, если, например идёт считывание неинициализированного значения, запись без последующего считывания и др.
[18:51:39] <ada_ru> (AnatoliyChepiga) Понятно, некоторые такие случаи оптимизатор тихо бы выкинул из кода, но в реальности это сильно добавляет к дисциплине программирования. Читаемость кода увеличивается.
[18:54:24] <ada_ru> (AnatoliyChepiga) А вот некоторые другие очень полезные свойства Ады в си++ непонятно как затащить. Прямо сейчас не могу поверить, но по-моему при добавлении нового перечисляемого значения в си++ в switch() при отсутствии соответствующего обработчика нового значения нечего просто не происходит
[18:54:37] <ada_ru> (Sergei)  отвечает (I_vlxy_I) на <То есть если в плюса…>
Вообще говоря, у меня есть ощущение, что в той "заглушке" которая называется ныне "стандартная либа" есть потенциал серьёзного преобразования языка
[18:55:39] <ada_ru> (Sergei) Потому как Ада работает через модель вычислителя, и эта модель может быть преобразована, без изменения языка
[18:56:38] <ada_ru> (I_vlxy_I)  отвечает (insert_reference_here) на <Вот только эти 2 мил…>
4 миллиона.

А 2 или 4 это уже без разницы. Особенно если 2 достигается отказом от наличия разделения на спецификацию и реализацию модуля.
[18:58:18] <ada_ru> (Sergei) Ну хорошо, с "Боингами" и "Адакорами" разобрались. А есть ли ВУЗы которые специализируются на около-Адской тематике в своих темах для PhD студентов?
[19:00:32] <ada_ru> (I_vlxy_I) Вроде кто-то что-то тут такое говорил
[19:00:42] <ada_ru> (AnatoliyChepiga) В Томске раньше я вёл авторский курс по безопасному программированию где Ада активно применялась. Я оттуда ушёл и на этом Ада в университете закончилась.
[19:01:54] <ada_ru> (AnatoliyChepiga) При мне дипломные на ней делались. Делалась и моя недописанная кандидатская.
[19:03:24] <ada_ru> (Sergei) Большое дело делали, V. Думаю не закончилось, студенты помнят и как-то это ещё должно взойти.

Вот, если бы кто писал книги, думаю такая тема была бы интересна читателю, даже если он не знает слово "Ада" - "Программирование нейронных сетей на языке Ада " :)
[19:03:42] <ada_ru> (I_vlxy_I) Надежность, к сожалению, очень сложно измерить и ощутить. Ощутить можно только тогда, когда что-то взорвется в уже успешном проекте. Критический баг в проде.
[19:04:59] <ada_ru> (AnatoliyChepiga)  отвечает (Sergei) на <Большое дело делали,…>
Да, у студентов, что учились, надеюсь в голове осталось всё полезное из языка и из похода в проектировании надёжных систем вообще
[19:05:16] <ada_ru> (I_vlxy_I) Производительность приложений, кстати, тоже не так просто ощутить и обосновать необходимость. Но это раз в 10 проще надёжности нащупать и обосновать.
[19:05:54] <ada_ru> (I_vlxy_I) А проще всего измерить и ощутить скорость разработки прототипа на коленке.
[19:06:19] <ada_ru> (I_vlxy_I) И низкий порог вхождения
[19:06:21] <ada_ru> (Sergei) Надёжность не сегодня плохо продаётся потому, что раньше она держалась на репутации, а сейчас почти вся репутация продана.
[19:06:55] <ada_ru> (Sergei) Вот Mercedes считалась надёжная машина, например. Сейчас никто в это уже не верит.
[19:07:37] <ada_ru> (I_vlxy_I) Поэтому отказываемся от компиляции, и этапа верификации кода машиной на тему хотя бы типов, прикручиваем REPL и динамическую типизацию, чтобы не тратить время на проработку типов при написании прототипа
[19:07:51] <ada_ru> (I_vlxy_I) И вуаля - успешный популярный язык для новых проектов
[19:08:03] <ada_ru> (Sergei) Ну-ну
[19:08:06] <ada_ru> (Максим)  отвечает (I_vlxy_I) на <То есть если в плюса…>
я не согласен. сколько не писал на Аде никогда в эту проблему не упирался и "своей" рантайм библиотеки не имею
[19:08:55] <ada_ru> (Sergei) Вспомнил почему-то, когда-то в школе учили: декабристы разбудили Герцена.
[19:09:10] <ada_ru> (I_vlxy_I)  отвечает (I_vlxy_I) на <На котором пишутся в…>
Ибо через некоторое время уже поздно менять что-либо, уже все на этом языке
[19:10:27] <ada_ru> (I_vlxy_I)  отвечает (I_vlxy_I) на <Ибо через некоторое …>
Хотя с этим language lock in борются. С помощью микросервисов. Ибо микросервисная архитектура способствует гетерогенности в плане использования ЯП
[19:11:41] <ada_ru> (I_vlxy_I)  отвечает (Максим) на <я не согласен. сколь…>
У нас наверно сильно разные задачи. Я не помню когда последний раз у меня была бы задача где производительность можно было бы отложить на потом.
[19:12:16] <ada_ru> (Максим) взять хотябы GPS. все проблемы по производительности решаются заменой алгоритмов на более адекватные
[19:13:48] <ada_ru> (insert_reference_here)  отвечает (I_vlxy_I) на <Ну и мелочи вроде на…>
А вот это действительно странно
[19:14:51] <ada_ru> (Максим) 8 байт жалко?
[19:14:57] <ada_ru> (AnatoliyChepiga) Ну тут не поспоришь. Даже правильный алгоритм на каком-нибудь баше со сложностью O(n) обгонит любой алгоритм хоть на си, если там будет хотябы если не O(n**2), то и O(nlogn) очень быстро
[19:17:40] <ada_ru> (I_vlxy_I)  отвечает (Максим) на <8 байт жалко?>
На каждый из ста миллионов элементов массива - да, жалко.

Плюс это же вызов виртуальной функции, а это не всегда быстро.
[19:18:03] <ada_ru> (I_vlxy_I) И зависит от того, смог соптимизиповать компилятор или нет.
[19:19:11] <ada_ru> (Максим)  отвечает (I_vlxy_I) на <На каждый из ста мил…>
Пример можно, когда нужны 10^8 не теговых элементов, которым нужен деструктор?
[19:20:29] <ada_ru> (Максим) Финализация 10^8 элеентов в любом случае бует небыстрой 😄
[19:24:45] <ada_ru> (I_vlxy_I) Ну, банальный unique_ptr например. В случае Ады он будет в два раза жирнее.
[19:25:44] <ada_ru> (Максим) @I_vlxy_I А вы вот когда находите проблему производительности в стандартной библиотеке С++, так сразу содитесь и переписываете всю стандартную библиотеку на свою?
[19:26:27] <ada_ru> (I_vlxy_I)  отвечает (Максим) на <@I_vlxy_I А вы вот к…>
Зависит от. Иногда кусок. Иногда стандартная либа в проекте вовсе запрещена.
[19:27:06] <ada_ru> (I_vlxy_I) Тот же буст частенько бывает запрещен, кстати.
[19:27:09] <ada_ru> (Максим) тогда какие предьявы к адской библиотеке?
[19:27:32] <ada_ru> (Максим) уперлся в проблему, написал свой модуль, который ее решает
[19:27:44] <ada_ru> (I_vlxy_I)  отвечает (Максим) на <тогда какие предьявы…>
Она сильно хуже вылизана в плане производительности. Причём в разных местах.
[19:27:45] <ada_ru> (Максим) это обычная практика в моем понимании
[19:28:06] <ada_ru> (Максим) стандартная библиотека - для стандартных проектов
[19:28:43] <ada_ru> (I_vlxy_I) Я тогда упёрся в три проблемы - надо в итоге писать свой IO, свой вектор и свою сортировку.

А! И, вероятно, свою строку.
[19:29:09] <ada_ru> (AnatoliyChepiga) По некоторым проектам для встроенных систем где я участвовал иногда си++ вовсе запрещён)
Потому что его либо вообще в BSP (BoardSupportPackage) либо вообще нет, либо он очень старый или главный
[19:29:16] <ada_ru> (I_vlxy_I) В итоге для сортировки строк из большого файла стандартная либа вообще не применима оказалась. Совсем.
[19:29:45] <ada_ru> (I_vlxy_I) Чего не произошло ни с растом ни с плюсами.
[19:30:21] <ada_ru> (I_vlxy_I)  отвечает (AnatoliyChepiga) на <По некоторым проекта…>
Да, плюсы это такоэ.., для многих проектов :-)
[19:30:32] <ada_ru> (insert_reference_here)  отвечает (AnatoliyChepiga) на <У нас в одном си++ п…>
> Считывание неинициализированного значения

Вообще-то в нормальных языках за этим компилятор следиь
[19:31:28] <ada_ru> (Максим)  отвечает (I_vlxy_I) на <Чего не произошло ни…>
Поздравляю! Теперь можно аргументировано опускать Аду!
[19:31:37] <ada_ru> (I_vlxy_I) Но мой опыт естественно однобокий и на достаточный. Я со своей колокольни сужу.
[19:32:02] <ada_ru> (I_vlxy_I)  отвечает (Максим) на <Поздравляю! Теперь м…>
Не аду, а конкретную реализацию стандартной либы Ады.
[19:32:38] <ada_ru> (I_vlxy_I) Долгое время многие реализации стандартной либы крестов тоже были полным шлаком
[19:33:11] <ada_ru> (I_vlxy_I) Ситуация стала нормализовалась только где-то в 2010 году или около того
[19:34:01] <ada_ru> (AnatoliyChepiga)  отвечает (insert_reference_here) на <> Считывание неиници…>
В си/Си++ этого нет. В стандарте там явно написано, считывание неинициализированной переменной - неопределенно. В лучшем случае последние версии компилятора предупреждение напишут (и то вряд ли т.к. во встроенных системах он очень старый и не умеет или его вообще нет), на которое программист просто не будет смотреть и программа с неопределенным поведением поедет глюкодромить дальше
[19:35:04] <ada_ru> (I_vlxy_I)  отвечает (AnatoliyChepiga) на <В си/Си++ этого нет.…>
-fsanitize=memory
[19:35:42] <ada_ru> (I_vlxy_I) Но это clang only feature пока
[19:35:56] <ada_ru> (AnatoliyChepiga)  отвечает (I_vlxy_I) на <-fsanitize=memory>
Лет через 5-10 может и будет в bsp, и то, вряд ли
[19:37:02] <ada_ru> (AnatoliyChepiga) Да какой шланг)
Дай бог чтобы g++6 хотябы норм пахал для mips74k(c) :-)
[19:38:36] <ada_ru> (AnatoliyChepiga) Там даже в одной из мозолей (опечатка по фройду) нет сопроцессора. Какой санитайзер?)
[19:41:43] <ada_ru> (Максим) а в гнат есть -gnatV и прагма Validity_Checks
[19:42:14] <ada_ru> (AnatoliyChepiga) Плюс, я сейчас такое скажу... Шланг для определенных целей всегда хуже гцц оптимизирует, а значит не затаскивают поэтому
[19:43:37] <ada_ru> (AnatoliyChepiga)  отвечает (Максим) на <а в гнат есть -gnatV…>
Первую знаю давно, вторую нет, спс, записал.
[19:51:03] <ada_ru> (I_vlxy_I)  отвечает (Максим) на <а в гнат есть -gnatV…>
И это круто!
[19:56:33] <ada_ru> (Максим) я имел ввиду pragma Initialize_Scalars :)
[19:56:46] <ada_ru> (Максим) > Note that pragma Initialize_Scalars is particularly useful in conjunction with the enhanced validity checking that is now provided in GNAT, which checks for invalid values under more conditions. Using this feature (see description of the -gnatV flag in the GNAT User’s Guide) in conjunction with pragma Initialize_Scalars provides a powerful new tool to assist in the detection of problems caused by uninitialized variables.
[19:57:07] <ada_ru> (insert_reference_here)  отвечает (AnatoliyChepiga) на <А вот некоторые друг…>
У gcc есть флаг для такой проверки
[19:57:37] <ada_ru> (Максим) типа ты заставляешь компилятор всегда инициализировать скаларя кривыми данными и при чтении они валят программу на проверках -gnatV
[19:58:31] <ada_ru> (insert_reference_here)  отвечает (I_vlxy_I) на <Поэтому отказываемся…>
Щас бы считать, что repl и статические типы исключают друг друга
[19:58:51] <ada_ru> (I_vlxy_I) Ада даёт бОльшую надёжность нежели c++, это точно. Но даёт ли она (если нужно) такую же производительность, когда она нужна и когда всеми рантайм проверками можно пожертвовать - не ясно.

Также не ясно даёт ли Ада бОльшую надежность нежели swift/go/rust. И что у неё по производительности по сравнению с ними.
[19:59:54] <ada_ru> (I_vlxy_I)  отвечает (insert_reference_here) на <Щас бы считать, что …>
REPL от них бывает тормозным. Например ghci или у c++ REPL.
[20:08:01] <ada_ru> (I_vlxy_I) То есть просто флага надёжности не достаточно. Ибо точно есть значительно более надежные ЯП.
[20:18:37] <ada_ru> (insert_reference_here)  отвечает (AnatoliyChepiga) на <Плюс, я сейчас такое…>
> Шланг для определенных целей всегда хуже гцц оптимизирует

Citation needed
[20:28:09] <ada_ru> (I_vlxy_I) А если человек сам является первоисточником? :-)
[20:35:02] <ada_ru> (insert_reference_here)  отвечает (I_vlxy_I) на <А если человек сам я…>
Без бенчмарков это на уровне "одна бабка сказала"
[20:40:32] <ada_ru> (Лекс) А я тут в вк решил страничку завести, если кто-то там сидит — приглашаю. vk.com/ada.lang
[20:42:54] <ada_ru> (Лекс) Корутины/грин треды в аду — да, давайте как в C++, затащим в язык всё что модно и превратим его в очередную семантическую помойку
[21:03:41] <ada_ru> (I_vlxy_I) stackful корутины должны бы хорошо лечь на текущую схему Ады
[21:04:15] <ada_ru> (I_vlxy_I) Это же потоки с мануальным шедулингом по сути
[21:04:27] <ada_ru> (insert_reference_here)  отвечает (I_vlxy_I) на <stackful корутины до…>
stackful корутины требуют рантайма.
[21:04:50] <ada_ru> (I_vlxy_I)  отвечает (insert_reference_here) на <stackful корутины тр…>
И? Ада целиком требует рантайма
[21:05:10] <ada_ru> (insert_reference_here)  отвечает (I_vlxy_I) на <И? Ада целиком требу…>
Для чего?
[21:05:23] <ada_ru> (I_vlxy_I) Для тех же тасков
[21:05:33] <ada_ru> (I_vlxy_I) Для исключений
[21:05:38] <ada_ru> (I_vlxy_I) Для кучи
[21:05:49] <ada_ru> (I_vlxy_I) В зависимости от профиля
[21:06:33] <ada_ru> (AnatoliyChepiga)  отвечает (I_vlxy_I) на <А если человек сам я…>
Всё верно. Я первоисточник) если надо, могу цифры показать, на которых я и сделал такой вывод
[21:07:50] <ada_ru> (AnatoliyChepiga) Только не прямо сейчас, конечно. Кому интересно - могу скинуть в приват, если напомните
[21:54:21] <ada_ru> (I_vlxy_I)  отвечает (insert_reference_here) на <stackful корутины тр…>
кстати, какие с этим проблемы то? Вот допустим файлы и работа с файловой системой - тоже требует рантайма. Но это не повод не включать это в стандартую либу языка.
[22:07:40] <ada_ru> (I_vlxy_I) или там многопоточность
[22:07:45] <ada_ru> (Лекс)  отвечает (I_vlxy_I) на <кстати, какие с этим…>
Ходят легенды, что программисты на некоторых языках, в случаях если им чего-то не хватает — реализовывают это сами в виже библиотек. И если вещь действительно востребованная, то нередко в следствии попадает в стандарт языка.
[22:08:21] <ada_ru> (I_vlxy_I)  отвечает (Лекс) на <Ходят легенды, что п…>
да не, врут небось
[22:09:23] <ada_ru> (Лекс) Но может стоит попробовать?😏
[22:10:22] <ada_ru> (I_vlxy_I) Ну, кстати, чтобы это пробовать нужно сначала понять - есть ли в Аде многопоточка иная кроме как через таски?
[22:10:29] <ada_ru> (I_vlxy_I) то есть на уровне либ есть что-то зрелое?
[22:12:48] <ada_ru> (I_vlxy_I) чота есть: https://github.com/peter-em/ada_threads
[22:12:53] <ada_ru> (I_vlxy_I) https://github.com/briot/Ada-promises
[22:15:00] <ada_ru> (I_vlxy_I) не, ada_threads это не про треды, это ученический проект про таски
[22:15:08] <ada_ru> (I_vlxy_I) вычеркиваем
[23:00:55] <ada_ru> (a) Сказки на ночь? ;)
[23:01:03] <ada_ru> (Лекс) Т.е. вы сейчас с серьёзным лицом предлагаете какие-то кустарнын правки к языку с выверенной до микрона семантикой и лексикой, но при этом даже не имеете полного представления о его среде?
[23:01:29] <ada_ru> (t91x0)  отвечает (CHLOE) на <>
Hello, kitty!
[23:09:59] <ada_ru> (t91x0) Так, это похоже спамер. Такое же существо сейчас в haskell_blah пришло
[23:10:52] <ada_ru> (I_vlxy_I)  отвечает (Лекс) на <Т.е. вы сейчас с сер…>
не, пока не язык, а либа.
[23:11:17] <ada_ru> (I_vlxy_I)  отвечает (Лекс) на <А я тут в вк решил с…>
меня нет в vk 😕
[23:14:08] <ada_ru> (I_vlxy_I)  отвечает (I_vlxy_I) на <не, пока не язык, а …>
типа как это в плюсах было сделано например
[23:15:57] <ada_ru> (I_vlxy_I) вроде такого: https://www.boost.org/doc/libs/1_70_0/libs/coroutine2/doc/html/coroutine2/overview.html
[23:15:59] <ada_ru> (I_vlxy_I) например
[23:16:51] <ada_ru> (I_vlxy_I) хотя, что и как делать с двумя адскими стеками - я хз