Топик поддержки курса.
Прошу отписаться в этом топике:
- Языки программирования, возникшие за последние 5-10 лет
- Сравнение скорости работы нескольких решений задачи о двух минимумах
Некоторые языки программирования, возникшие в течение последних лет.
-
Crystal — Ruby-подобный объектно ориентированный язык программирования, появившийся в 2014 году. Находится в активной разработке (последняя версия (далее l.r.) 0.3.1от 12.08.19). Имеет частично переведенную на Русский документацию. Свободная лицензия Apache.
-
Hack — php-подобный язык компании Facebook,также выпущенный в 2014 году. Один из языков с открытым исходным кодом. Последние изменения на GitHub’е менее часа назад. Информации об использовании языка крайне мало.
-
Swift — С-совместимый язык компании Apple, выпущенный в 2014 году. l.r. 5 от 25.03.19. Широко применяется для IOS разработок. Открытый исходный код.
-
Q# — язык программирования компании Microsoft, представленный в 2017 году. Направлен на квантовые технологии. Активно продвигается компанией. К примеру, на Codeforces относительно регулярно проводятся соревнования для данного языка (ссылка в источниках).
-
Go значительно старше остальных из данного списка, язык компании Google появился в 2009 году. l.r. 1.13 от 03.09.19 (пара дней назад). Go можно назвать одним из самых успешных молодых языков программирования (быстрее него значительную популярность набрала только Swift).
Некоторые источники: (удалено всё, кроме Codeforces) codeforces.com/msqs2018 Ссылки порезаны по требованию форума
-
К предыдущему ответу добавлю языки Kotlin и Rust, достаточно популярные сейчас.
-
Все 3 алгоритма на вход получали случайно сгенерированную последовательность из 10000000 натуральных чисел. Результаты следующие:
- Первый алгоритм: 8.819 sec
- Второй алгоритм: 0.941 sec
- Третий алгоритм: 0.575 sec
Скриншоты с результатами
Сравнил количество операций которые выполняет алгоритм разложения числа на простые множители с проверкой на простоту числа на каждом шаге и без неё (операции которые выполняет алгоритм чтобы определить простоту числа тоже считались вот таблица для 10 натуральных чисел первых чисел) алг, 1 - без проверки на простоту а 2 с проверкой. (за действия считались операции умножения и сложения) 1,1 2 2,1 2 3,2 3 4,2 5 5,4 3 6,3 6 7,6 4 8,3 8 9,3 11 10,5 6 Средняя скорость алгоритмов 1 на 10 первых числах = 3 а средняя скорость алгоритма 2 на том же множестве =5 Вот также еще результаты на большем количестве чисел: Средняя скорость алгоритмов 1 на 30 первых числах = 7.5 а средняя скорость алгоритма 2 на том же множестве =8.23333333333333 Средняя скорость алгоритмов 1 на 40 первых числах = 9.375 а средняя скорость алгоритма 2 на том же множестве =9.325 Средняя скорость алгоритмов 1 на 100 первых числах = 19.57 а средняя скорость алгоритма 2 на том же множестве =14.29 Средняя скорость алгоритмов 1 на 10000 первых числах = 1013.0268 а средняя скорость алгоритма 2 на том же множестве =238.9509 Вывод если нужно разложить на множители большое количество чисел лучше использовать алгоритм с проверкой на простоту числа.
А тексты программ можно?