Если таблица проиндексирована и план - оптимален - то там хоть миллион хоть 10 миллионов для Postgres-индекса будут почти всегда означать 4 или 5 IOPS. А если используем SSD то эти иопсы сразу стоят на порядок дешевле.
Где-то читал статью по расчету оптимального основания для системы счисления.- Вобщем там выходило
что оптимальное основание - это число e=2.6... тоесть идеал где-то зажат в интервале от 2 до 3.
Получается что вот троичная вполне себе оптимальна. Но мне не нравится что основание - нечетное.
В этом случае - деление на 2 работает сложнее. А на делении пополам основана большая часть алгоритмов.
Сергей, я согласен. Но я думаю что в ближайшем будущем С++ может быть все таки классифицирован как язык низкого уровня как раз из-за мануального менеджмета памяти. Это к тому времени когда все языки перейдут толи на GC толи на borrow-checker.
Сергей, лучше-бы это был Pascal. Там был хотя-бы учебный смысл заложен.
Python в ВУЗах это переворачивание причины и следствия. Скорее всего его стали притаскивать аспиранты которые связаны в data-science и давать его как основу для обучения алгоритмов. А Python совершенно не пригоден для обучения программированию потому как не превносит дисциплину типов данных. А типы - это вообще адская основа в программировании.
Вот те кто ничему не обучились и приходят сюда в QNA с парсингом сайтов или с телеграм ботами. Почитайте уровень их вопросов. Это - дно. Ниже некуда. И половина вопросов связана с тем что пишушие не знают какие типы они используют.
Сергей, я помню судебную тяжбу между Oracle и Google. Почти десяток лет. Кажется Оракл не выиграл но за это время Google успел разработать и внедрить другую виртуальную машину (Dalvik) на замену JVM. Не знаю что они там меняли. Но кросс-компиллятор dex2jar который по идее конвертит в JVM, работает с такой скоростью что будто-бы просто меняет заголовки. Я не смотрел внутрь но крайне интересно чем же такая скорость обусловлена. Это точно не цикл компилляции.
Сергей, Python создавал какой-то обкуренный чудик.
Он умудрился операции со списками сделать
- удаление через keyword language,
- расчет длины через функцию
- и вставку как-то вообще через третий ортогональный подход
Ни в одном языке в мире нет такого позора дизайна. Я вообще никогда не понимал
и не понимаю интереса людей к Python. Широкое распространиение - это какой-то
когнитивный парадокс наподобие популярности MS-DOS в свое время. Тоже сложно
объяснить. И всем известный сплит Python на 2 исторические ветки тоже весьма доставляет.
Сергей, Scala - научный смысл. Создавал его профессор Одерский. Который участвовал сначала в разработке дженериков в Java. Понял что ему не хватает свободы. И стал делать свой Java с улучшенными механиками типов. Он кстати его уже переделал кардинально. Сделал форк. Есть 2 ветки. Scala 2.xx и Scala 3.xx в которых развитие пошло разными путями и только сотня людей в мире понимают реальные причины такого сплита.
Между двумя скалами нет совместимости. По крайней мере бигдата (Spark) ездит на старой версии. И поднять ее до тройки пока принципиально не возможно. Не рабоатет. А новая версия манит более строгими типами и быстрой компилляцией и всякими tasty-метаданными в бинарниках для лучшей рефлексии.
Есть какие-то языковые фичи которые просто выпиливались. Например в старой скале были ленивые списки под названием Stream[_] а потом их почему-то переименовали в LazyList[_] вобщем это были breaking changes.
Ну тут как-бы да. Я даже соглашусь что это - сильная причина чтобы создавать нечто своё. Но это близко к корп-стандартам. Типа - "мы не они". Или мы - лучше. Или мы мажем бутерброд маслом сверху а они - снизу. Или яйцо разбиаем с острого кончика. Политика и политология.
Василий Банников, совершенно верно. Все современные языки - суть "мимо". По моей классификации и Rust - мимо. Хотя он просто пытается быть таким улучшенным генетическим клоном С++.
А вот Go-Lang - это уже страйк. Попадание в корпорацию. Вот специально Google и продвигает. Работает терпимо быстро. Быстрее чем Python. Но медленнее чем С++. Строго типизирован. Легко разрабатывать. Любой школьник осваивает язык за 14 дней. Микро-сервисы. Автоматизация. Некоторые девопс тулчейны.
Какую область должен занять гипотетический ЯП от яндекса и зачем он вообще яндексу, если они все там фанатики C++?
Я вижу два возможных смысла в создании языков. Первый смысл - научная работа. Доказательство
там приципиальной возможности что-то сделать (POC). Языки такого семейства обычно интересны
только самому создателю и может десятку фриков которые заняты академическими спорами.
И второй смысл - корпоративный стандарт и захват аудитории. C#/.Net - самый яркий и сильный пример.
Может вы знаете третий сегмент? Я не смог найти. Ну по крайней мере все прочие причины мне казались
незначительными.
Сергей, я не против фигурных скобочек. Я вот пытался писать на Scala-3 в формате Python. Тоесть с отступами. Возникла проблема. Очень плохо делать рефакторинг. Либо я - криворукий. Либо нужена какая-то IDE но простой перенос code-block напрочь ломает логику. Постепенно пришел к практике. Пишу код в Scala в bracers-style. Потом когда пришло время релиза - я форматирую под indent-style. И коммичу.
Я-бы выбирал язык максимально отдаленный в этом пространстве фичей от С++.
Потому что в противном случае вы просто выбираете брата-близнеца С++
где просто скобочки-стрелочки в исходнике стоят в других местах. И функции по другому зовуться.
Вроде как язык сменили - но те-же яйца только в профиль. И зачем оно?
Они сделали ту-же самую фигню что и в Scala. Явно указывают интерфейс Comparable. Это на самом деле не плохо. Вроде как контракт. Но вот может ли компиллятор сам вывести это свойство шаблонного типа просто из операции сравнения. В Haskell такое можно.