Уровень реализации не соответствует уровню пафоса. Хеш одинаковых строк должен быть одинаковым - в вашей реализации это не так. Пока, к сожалению, не тянет даже на учебную поделку.
Ну откуда берётся такое желание всё взять и запретить, да ещё как часто бывает, прикрываясь аргументацией о защите детей?
В той же Германии этот запрет это смесь - желание интегрировать разнородные общины в одно общество, воспитание лояльных к политической системе граждан и только отчасти вопрос социализации. Я не говорю, что это хорошо или плохо, но психологическое развитие детей здесь явно не доминирующая мотивация.
Можно подумать, что ребёнок без школы находится в вакууме. В плане социализации он как минимум уже находится в социуме - родители, бабушки/дедушки, близкие друзья. Имбовое место для прокачки - песочница. Ребёнок часто ходит в какие-нибудь секции (спорт/музыка и т.п.), у него есть друзья во дворе ещё с детского сада. Если ребёнок ведёт активную жизнь вне дома, то в смысле развития социальных навыков школа вполне заменима
Начнём с "эффекта зловещей долины". Код типа такого `список сложить(один, два, три)` лично у меня вызывает только брезгливость. Если это русский, то пусть будет хотя бы `сложи список (...)`. Иначе это воспринимается как безграмотность и издевательство над русским языком.
С практической точки зрения кодировать неудобно. Вероятней всего не избежать частого переключения раскладок.
И тут уже кто-то приводил аргумент, что язык математики не локализуют (синус, интеграл, и т.п.). Мне симпатична такая аналогия
Поскольку критериев выбора синтаксиса у вас всё равно нет, то рекомендую посмотреть ещё в одну сторону. Самый красивый синтаксис который я видел, это в семействе ML-языков (Ocaml, Standard ML of New Jersey) или на худой конец в Haskell
Ну ok, раз речь про "Невероятно быстрый алгоритм нахождения простых делителей огромных составных чисел", то сколько ваш алгоритм будет факторизовать вот такое не слишком огромное число?
Скачивайте карты мира от Генштаба СССР. Они уже 80 лет как не устаревают.
Ещё как устаревают, даже без учёта хозяйственной деятельности челокека. Из самого заметного тают ледники, что влияет на тропы и сложность маршрутов. Появляются/исчезают озёра, меняются русла рек, переправы
Стандарт C++98 короче. А вот код, сопоставимый по производительности и функционалу, будет более многословным и намного менее читабельным по сравнению с C++11/14/... Потребуется возвращать результат через выходные параметры, работать с индексами или итераторами для обхода коллекции, явно прописывать типы в прикладном коде. В общем - страшный сон, который хочется поскорее забыть.
Если современный C++ позволяет писать код, приближающийся по читабельности к python, то C++98 недостаточно выразителен - там приходится страдать и писать кучу обслуживающего кода, не относящегося напрямую к логике алгоритма
Смена компилятора, даже внутри одной линейки, это сложно для нетривиальной кодовой базы. Ошибки компиляции только вершина айсберга, да и бороться с ними не так сложно. Гораздо опасней UB, которые могут проявляться по разному. То есть код успешно будет собираться, но приложение собранное одном компилятором работает "нормально", а собранное другим периодически крешится
Это в большей степени не про обратную совместимость, хотя и в рамках одной линейки компиляторов от версии к версии подобные приколы бывают. Лечится только тестированием сборок под разными компиляторами, санитайзерами, статическими анализаторами и т.п.
И вы не один такой. Если пробовать читать исходники библиотеки типа boost, которая работает на широком наборе компиляторов разных версий, то можно увидеть много приседаний для поддержки работоспособности
Давно, будучи студентом, наткнулся на такой язык, как Standard ML of New Jersey. Помню, что это был эстетический восторг.
Он не слишком известен и скорее академический. Из ближайших родственников - это OCaml. Семейство ML-языков сильно повлияло на Haskell / F# и на индустрию в целом (алгебраические типы, Continuation‑Passing Style, вывод типов Hindley‑Milner и т.п.). Интересно наблюдать, как через десятки лет идеи оттуда проникают, трансформируясь по пути, в современные mainstream языки (Rust/C++/Python/Kotlin/...).
Интересно было бы пофантазировать, каково изучать в качестве первого языка что-то типа OCaml.
В том-то и дело, что полный код и на Rust, и на C++ будет безусловно сложнее, но не там, где ищет автор статьи.
Заметно усложнится библиотечный код - и большая часть боли будет там. Появятся нетривиальные сигнатуры, потребуется явно продумать систему типов, преобразования типов ошибок и т.п. В случает плюсов отдельная боль будет, чтобы настроить сборку и просто всё собрать со всеми зависимостями
Уровень реализации не соответствует уровню пафоса. Хеш одинаковых строк должен быть одинаковым - в вашей реализации это не так. Пока, к сожалению, не тянет даже на учебную поделку.
Вы меня с кем-то перепутали. Я не писал, что "родители, дедушки и бабушки заменят школу"
Ну откуда берётся такое желание всё взять и запретить, да ещё как часто бывает, прикрываясь аргументацией о защите детей?
В той же Германии этот запрет это смесь - желание интегрировать разнородные общины в одно общество, воспитание лояльных к политической системе граждан и только отчасти вопрос социализации. Я не говорю, что это хорошо или плохо, но психологическое развитие детей здесь явно не доминирующая мотивация.
Можно подумать, что ребёнок без школы находится в вакууме. В плане социализации он как минимум уже находится в социуме - родители, бабушки/дедушки, близкие друзья. Имбовое место для прокачки - песочница. Ребёнок часто ходит в какие-нибудь секции (спорт/музыка и т.п.), у него есть друзья во дворе ещё с детского сада. Если ребёнок ведёт активную жизнь вне дома, то в смысле развития социальных навыков школа вполне заменима
Прямо "Стиральная трагедия" Лема уже получается
Чисто по фану, чтобы чуть меньше тошнило от коверканья русского языка
Русский язык - отдельное спорное решение.
Начнём с "эффекта зловещей долины". Код типа такого `список сложить(один, два, три)` лично у меня вызывает только брезгливость. Если это русский, то пусть будет хотя бы `сложи список (...)`. Иначе это воспринимается как безграмотность и издевательство над русским языком.
С практической точки зрения кодировать неудобно. Вероятней всего не избежать частого переключения раскладок.
И тут уже кто-то приводил аргумент, что язык математики не локализуют (синус, интеграл, и т.п.). Мне симпатична такая аналогия
Поскольку критериев выбора синтаксиса у вас всё равно нет, то рекомендую посмотреть ещё в одну сторону. Самый красивый синтаксис который я видел, это в семействе ML-языков (Ocaml, Standard ML of New Jersey) или на худой конец в Haskell
В очередной раз о пользе plan mode и проверкой вручную или с помощью другой модельки
Ну ok, раз речь про "Невероятно быстрый алгоритм нахождения простых делителей огромных составных чисел", то сколько ваш алгоритм будет факторизовать вот такое не слишком огромное число?
Скрытый текст
Число получено как перемножение вот этих двух чисел из интернета (гугл говорит, что оба простые)
Не факт. Им вполне могли выкатить счет. Не знаю их конкретный случай, но сомневаюсь, что у там была страховка с включенной эвакуацией вертолетом
Ещё как устаревают, даже без учёта хозяйственной деятельности челокека. Из самого заметного тают ледники, что влияет на тропы и сложность маршрутов. Появляются/исчезают озёра, меняются русла рек, переправы
А поделитесь примерами? Такое не на слуху, интересно было бы посмотреть
С такой подготовкой как у них, даже то что они сделали, уже превысило мои ожидания. Могли бы и дальше ломиться "до победного".
Даже если они расчитывали на 5ч прогулку, поллитра на человека это очень мало. Хорошо, хоть хватило ума развернуться и вызвать спасателей
Лесной пожар, кажется, тоже подходит под ваше определение живого.
Стандарт C++98 короче. А вот код, сопоставимый по производительности и функционалу, будет более многословным и намного менее читабельным по сравнению с C++11/14/... Потребуется возвращать результат через выходные параметры, работать с индексами или итераторами для обхода коллекции, явно прописывать типы в прикладном коде. В общем - страшный сон, который хочется поскорее забыть.
Если современный C++ позволяет писать код, приближающийся по читабельности к python, то C++98 недостаточно выразителен - там приходится страдать и писать кучу обслуживающего кода, не относящегося напрямую к логике алгоритма
Смена компилятора, даже внутри одной линейки, это сложно для нетривиальной кодовой базы. Ошибки компиляции только вершина айсберга, да и бороться с ними не так сложно. Гораздо опасней UB, которые могут проявляться по разному. То есть код успешно будет собираться, но приложение собранное одном компилятором работает "нормально", а собранное другим периодически крешится
Это в большей степени не про обратную совместимость, хотя и в рамках одной линейки компиляторов от версии к версии подобные приколы бывают. Лечится только тестированием сборок под разными компиляторами, санитайзерами, статическими анализаторами и т.п.
И вы не один такой. Если пробовать читать исходники библиотеки типа boost, которая работает на широком наборе компиляторов разных версий, то можно увидеть много приседаний для поддержки работоспособности
Давно, будучи студентом, наткнулся на такой язык, как Standard ML of New Jersey. Помню, что это был эстетический восторг.
Он не слишком известен и скорее академический. Из ближайших родственников - это OCaml. Семейство ML-языков сильно повлияло на Haskell / F# и на индустрию в целом (алгебраические типы, Continuation‑Passing Style, вывод типов Hindley‑Milner и т.п.). Интересно наблюдать, как через десятки лет идеи оттуда проникают, трансформируясь по пути, в современные mainstream языки (Rust/C++/Python/Kotlin/...).
Интересно было бы пофантазировать, каково изучать в качестве первого языка что-то типа OCaml.
В том-то и дело, что полный код и на Rust, и на C++ будет безусловно сложнее, но не там, где ищет автор статьи.
Заметно усложнится библиотечный код - и большая часть боли будет там. Появятся нетривиальные сигнатуры, потребуется явно продумать систему типов, преобразования типов ошибок и т.п. В случает плюсов отдельная боль будет, чтобы настроить сборку и просто всё собрать со всеми зависимостями