Задать вопрос
  • Языки, похожие на F# и Rust?

    Haskell, Ocaml, ML, Swift, Crystal, Idris
    ML из них самый старый, и языки, которые имеют схожие моменты с ним, называются ML-подобными.
    Ответ написан
    Комментировать
  • Посоветуйте книгу по функциональному программированию

    @bsdemon
    Филд А., Харрисон П. — Функциональное программирование

    Первая часть книги содержит обзор ФП, вторая — основы реализации ФЯ (лямбда исчисление, типы, eval-apply, SECD-машина, редукция графов, комбинаторная редукция, сборка мусора). В приложении можно почитать про денотационную семантику. Вторая часть наиболее ценна.
    Ответ написан
    2 комментария
  • Бывает ли тест на профориентацию программиста?

    Adamos
    @Adamos
    Если человек вместо того, чтобы интересоваться программированием, интересуется тестами - тест на программиста уже завален.
    Ответ написан
    1 комментарий
  • Насколько востребованны функциональные языки программирования, и почему их мало используют в коммерческой разработке?

    myjcom
    @myjcom
    Вот смотри https://ruhaskell.org/links.html
    Там внизу есть ссылки на телеграм каналы, где обитает отечественное и не только сообщество ФП-шников.

    Если что заходи там тебе все объяснят в дружественной непренужденной обстановке)

    Работы если что полно, в том числе и удалённо.

    Да, не так много как на мейнстрим языках но все-же спрос постоянный.
    Ответ написан
    1 комментарий
  • "Частая" смена работы. Нормально ли это?

    @antonwx
    "Бегунков" не любят те шарашкины конторы, от которых есть поводы бегать. Если же фирма нанимает специалиста и предлагает справедливые условия труда и оплаты и адекватное руководство, то такая фирма знает, что действительно хороший специалист не будет иметь повода уйти кроме личного. Так что это даже плюс, своеобразный дополнительный фильтр тех, с кем связываться не стоит.
    Ответ написан
    1 комментарий
  • Какой язык программирования для Back-end производительнее?

    @blandger
    Чтобы удовлетворить ваши амбициозные требования к производительности, гляньте на сравнения бенчмарков некоторого проекта написанного на разных ЯП с разными библиотеками, с сайта
    https://www.techempower.com/benchmarks/

    Очевидный лидер на протяжении долгого времени ЯП RUST с одним из веб-фреймворком.
    ЯП который не только выдаёт бинарный исполняемый код, имеет маленький рантайм без GC, но самое главное на уровне языка гарантирует безопасность кода (конечно при "ровных" руках). Также имеет недавно добавленный в ЯП функционал-сахар для написания асинхронного кода (async/await). Он строго типизированный, наследования нет, но есть композиция и система типажей (traits). Главное — благодаря свойствам компилятора (borrow checker) он уже при компиляции умеет "бить по рукам" за не безопасный код в многопоточной среде.

    Безусловно высокая производительность зависит от множества факторов — архитектуры, распределенности, базы, кэшировпния статического контента и многого другого перечисленного в ответах.

    Язык rust — сложный для вхождения, поэтому приготовьтесь осваивать дольше, чем любой другой, на уровне c++. Но он того стоит.
    Ответ написан
    Комментировать
  • Какой ЯП для Десктопа?

    @UnformedVoid
    Разработчик ПО
    Хм, раз уж вопрос о предпочтениях, то вставлю свои 5 копеек. F# — идеальный язык. Может всё то, что умеет C# (и сверх), но заточен под функциональное программирование. Можно писать под любую из популярных платформ. И вообще функциональное программирование — это будущее, так что советую освоить.
    Ответ написан
  • Головоломки помогают айтишникам улучшить мышление?

    search
    @search
    мама говорит что я особенный
    Головоломки по программированию очень неплохо помогают устроиться на нормальную работу.

    Оффтоп, лет 5 назад научился жонглировать. Может это накрут, но заметил как сильно выросла способность концентрироваться. Гораздо дольше могу удерживать внимание на предмете/задаче чем раньше. Вот например сейчас одновременно пишу этот комментарий, пишу код и еще и жонглирую.
    Ответ написан
    2 комментария
  • Очень быстрый алгоритм умножения длинных чисел, куда копать?

    wataru
    @wataru Куратор тега Математика
    Разработчик на С++, экс-олимпиадник.
    При умножении на маленькое число всякие хитрые алгоритмы типа преобразования Фурье или Карацубы лаже медленнее тупого умножения в лоб: Просто проходитесь по большому числу от младших разрядов к старшим, умножете на маленький множитель, прибавляете перенос. Потом берете остаток от деления на базу (если множитель маленький, то быстрее будет просто вычесть несколько раз в цикле вместо модуля), а результат целочисленного деления записываете в перенос.
    Ответ написан
    Комментировать
  • Кто может подсказать правильный путь к программированию?

    @Wentixon
    Мой совет - учи фундаменталку. Забей на языки и технологии. Сам учился в колледже и скажу, что преподаватели обычно все из прошлого века, они не знают современные подходы, инструменты и т.д.. Лично мне после всяких делфи и лабораторных пришлось потом еще переучиваться долгое время, а не первой работе страдать, так что советую вообще забивать на эти пары и не ходить на них, будет только лучше :) У нас даже не уделяли внимание правильному неймингу, не говоря уж о каких то лучших практиках. Так что бери от колледжа чисто фундаментальные знания, даже если тебе кажется что они нафиг не нужны и никогда не пригодятся (это далеко не так)

    Параллельно же выбери ровно одно направление, которое тебе ближе и ищи любые материалы по нему, будь то видео на ютубе, статьи, книги (это не так важно), а также не забывай о практике. Но здесь скажу, что не поработав на реальных проектах опять же пользы от этого будет не особо много. Сам я перед первой работой пробовал всячески подготовиться, изучал тонны материалов, но один хер пришел на работу и меня тыкали мордой в мой говнокод.
    Ответ написан
    7 комментариев
  • Как развить абстрактное мышление?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Надо научиться читать и понимать формулы:
    1. для групп и множеств и для математики.
    2. Представлять множества в виде диаграммы (и кругов) Эйлера: множества.
    Ответ написан
    Комментировать
  • Какие методы машинного обучения применить?

    @dmshar
    Ту задачу, которую вы пытаетесь решить, можно отнести к классу задач пространственно-временной (гео)статистики, в частности - пространственно-временной интерполяции. Что-то есть на русском, гораздо больше информации на английском. Гуглите по словосочетанию "spatio-temporal interpolation".
    Для R можно начать, например, вот отсюда
    r-video-tutorial.blogspot.com/2015/08/spatio-tempo...
    Задача, сразу предупреждаю, не из простых.
    Ответ написан
    Комментировать
  • Что и на каком уровне нужно знать что бы устроиться биоинформатиком?

    mr_more_distortion
    @mr_more_distortion
    Мол.биолог/иммунолог/биоинформатик(учусь)
    Плюс ко всему вышесказанному - R - идеальный инструмент для биоинформатики (менее идеальный чем питон, конечно же). Но в вопросах анализа NGS-данных и визуализации ( я сам занимаюсь обработкой транскриптомов) - прекрасно работает.
    Ответ написан
    Комментировать
  • Кто может объяснить разницу между hyper и Tokio в Rust'е?

    hrls
    @hrls
    HTTP – протокол. Tokio – библиотека для написания сетевого кода, любого. Но парсить HTTP Tokio не умеет. Для этого есть Hyper – библиотека для написания HTTP серверов и клиентов. HTTP сервер на Hyper будет использовать Tokio для работы с соединениями, а парсить HTTP будет уже Hyper.
    В модели клиент-сервер очевидно есть клиент и сервер. HTTP клиент это все тот же сокет, только уже не серверный. Поэтому и тут Hyper может создавать запросы и парсить ответы. И также, возможно, для взаимодействия с сетью используя Tokio.
    Ответ написан
    Комментировать
  • Каков статус языка Rust в данный момент?

    @freecoder_xx
    Rust развивается стабильно, новые возможности и исправления вводятся с каждым релизом раз в 6 недель. Замеченные баги тоже исправляются оперативно в нерегулярных минорных релизах. Иногда такая динамика развития даже может служить препятствием: многие "живые" библиотеки требуют новой версии компилятора, но не всякая компания способна быстро обновлять его на своих проектах.

    Инфроструктура вокруг Rust хотя и развивается, все равно еще остается сырой. Многие библиотеки, хотя и работают уже достаточно стабильно, все равно в реальном использовании требуют небольших доработок. Если вы готовы форкать на GitHub такие библиотеки и слегка дорабатывать под свои нужды, то я думаю у вас больше никаких особых проблем с использованием Rust в боевых проектах возникнуть не должно.

    Что касается веба - вот тут есть список актуальных компонентов: www.arewewebyet.org

    Какого-то единого сборника лучших практик использования Rust, насколько я знаю, пока нет. Много полезных советов есть в официальной документации (в так называемых Книгах), а также разбросано по разным отдельным статьям. Однако, существуют списки полезных статей, которые помогут найти среди них нужную. Например эти:
    https://github.com/ctjhoa/rust-learning
    https://github.com/brson/rust-anthology/blob/maste...

    В новых проектах Rust используется, и пока тенденция идет на расширение. Вот на этой странице вы можете посмотреть, какие компании используют Rust сейчас и для чего: https://www.rust-lang.org/en-US/friends.html

    Итак, если вы планируете использовать Rust в производстве, готовьтесь вот к чему:
    1. Довольно высокий порог входа в язык. Тут нет особой сложности, просто потребуется практика на языке и поначалу время на следование советам компилятора по устранению постоянно возникающих ошибок компиляции.
    2. Достаточно частые обновления компилятора по добавлению новых возможностей в язык. Это может приводить к тому, что нужная вам библиотека будет требовать свежую версию компилятора.
    3. Сыроватые библиотки. Вероятно, вам придется их слегка дорабатывать под себя.
    4. Rust упрощает сложное, но усложняет простое. Для совсем простых проектов, не требующих высокой производительности и серьезных доработок в будущем, возможно, Rust будет не лучшим выбором.
    Но что вы получите от использования Rust?
    1. Высокую производительность программ, автоматическое управление памятью без сборщика мусора.
    2. Высокую надежность и защищенность программ, устранение большого количества потенциальных проблем на этапе компиляции.
    3. Достаточно легкий и безопасный процесс рефакторинга и доработки программ, благодаря развитой системе типов.
    4. Развитую систему управления зависимостями проекта.
    5. Действительно хороший универсальный инструмент: Rust подойдет и для прототипирования, и для разработки, причем для любого типа программ (утилиты, настольные приложения, веб-приложения, мобильные приложения, встраиваемые системы). Хорошая поддержка пока еще есть не для всего, но на перспективу - это большой плюс.
    Ответ написан
    7 комментариев
  • Каков статус языка Rust в данный момент?

    @snuk182
    Rust развивается основательно. Не семимильными шагами, потому что каждый шаг согласовывается с сообществом и ресурсами на его воплощение, но достаточно быстро, и крупных жалоб пока нет (кроме кривой обучения, но это субъективно, главное понять принцип владения данными). Best Practices есть. Для новых коммерческих проектов его выбирают в основном в отрасли блокчейна и специальных вебсервисов с быстрым откликом. Веб фреймворков россыпь, пока лидируют Actix и Rocket. Десктопного гуя стабильного нет, пользуются биндами к gtk.
    Ответ написан
    5 комментариев
  • Что и на чём программировать в 13 лет?

    SerJook
    @SerJook
    кодер
    На хаскеле искусственный интеллект
    Ответ написан
    Комментировать
  • Почему в программировании столько математики?

    AlexMaxTM
    @AlexMaxTM
    Математика это универсальный язык всех наук. С тем же успехом можно было спросить почему у физиков так много математики, или у химиков, биологов. Даже историки без математики не обходятся.
    Ответ написан
    6 комментариев
  • Какой язык программирования изучать, что-бы быстрее найти работу?

    @Sudo
    Опыт, сын ошибок трудных
    Solidity
    Ответ написан
    Комментировать