• Какой язык программирования выбрать для изучения основ работы с алгоритмами и структурами данных?

    @pharo
    Вопрос интересный т.к. каждый язык имеет как свои "сильные" стороны так и "слабые' исходя из дизайна заложенного в язык (синтаксис и семантика) и транслируемого в код для исполнения
    и, при этом, сам по себе алгоритм не существует в вакууме для решения какой то задачи, а переплетается с инфраструктурой используемого языка.
    К, тому же и парадигмы языков для реализации алгоритма могут существенно отличаться для реализации алгоритма. К примеру есть и такие группы языков как Пролог, Лисп, Форт, Смаллталк ...
    и на них реализация алгоритма будет отличаться от С/С++, Pascal, Baisic, Java, JS ...

    P.S. Для иллюстрации этого достаточно посмотреть решения одних и тех же задач на разных языках с ресурса https://rosettacode.org
    Ответ написан
    Комментировать
  • Какой язык программирования выбрать для изучения основ работы с алгоритмами и структурами данных?

    pauline
    @pauline
    программист js react
    Пробую на js и уже тупик при работе с большими числами. Видимо C++ решает
    Ответ написан
    Комментировать
  • Какой язык программирования выбрать для изучения основ работы с алгоритмами и структурами данных?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Алгоритмы и структуры данных тесно связаны с зубо-дробительными бенчмарками. Как-то отсортировать терабайтный текстовый файл или найти два одинаковых числа в файле из чисел тоже большого размера.
    Иногда такие задачи задают на собеседованиях Google и Microsoft.

    И если вы будете изучать эти алгоритмы на js, то вы не сможете продемонстрировать эффективность этих
    алгоритмов. Python машина - просто медленная. У нее конечно есть надстройки например над векторной
    алгеброй которые позволяют быстро считать рутину вроде циклов над векторами. Но является ли это
    программированием Python - чорт его знает. Как по мне - нет. Тут - другая экспертиза нужна.

    В структурах данных важно также оценивать память "на глазок".

    В этом смысла кодер С++ имеет много преимуществ т.к. он видит и понимает как распределяется память
    в узле бинарного дерева например (два указателя по 64 бита + какой-то размер для ключа который тоже
    можно посчитать). Какой аллокатор брать? Встроенный в язык new или нужно делать собственный.
    Такой расчет важен для оценки например - применима ли структура данных вообще?
    Какой толк от дерева если оно не влезет в оперативную память? А падение памяти в swap - тут-же замедляет
    алгоритм в разы.

    JS и Python не предоставляют тонкого контроля над памятью. У них своя модель построенная для комфорта
    самого процесса разработки а вовсе не для струткуры данных.
    Ответ написан
    Комментировать
  • Какой язык программирования выбрать для изучения основ работы с алгоритмами и структурами данных?

    @rPman
    Язык программирования выбирают под наличие инструментов, написанных для этого языка, для решения поставленной задачи.

    Только в этой последовательности и не наоборот.

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

    Если говорить про структуры данных в смысле - сетевые пакеты, сериализация данных на диске и хранение переменных в памяти, то изучать лучше прямо с низов, с С, затем С++ std, который основательно поломает мозг, но без основ си это будет сложнее.

    Почему си? потому что когда начнешь ковыряться с отладчиком в дампах памяти (программ на любых языках программирования), именно эти знания тебе понадобятся, а не наслоения синтаксического сахара и абстракций высокоуровневых языков.

    Если же тебе это не нужно (а бывает не нужно), то и не заморачивайся
    Ответ написан
    Комментировать
  • Какой язык программирования выбрать для изучения основ работы с алгоритмами и структурами данных?

    Adamos
    @Adamos
    Для изучения основ - любой с С-подобным синтаксисом, эти оба годятся.
    А вот если захочется более глубокого понимания - стоит опуститься к С/С++, где вынужденная возня с данными на уровне байт в памяти даст твердую основу насчет реальной оптимальности того или иного алгоритма.
    На высокоуровневом языке слишком много прослоек, чтобы прочувствовать, над чем на самом деле пыхтит процессор ;)
    Ответ написан
    Комментировать
  • Какой язык программирования выбрать для изучения основ работы с алгоритмами и структурами данных?

    GavriKos
    @GavriKos
    Можно. И питон и JS в этом плане норм. Нюанс разве что в том что в том же питоне будет много синтаксического сахара - но вы его можете игнорировать.

    C# в целом можно выучить быстренько для ваших потребностей. А вот плюсы оставьте в покое.
    Ответ написан
    1 комментарий
  • Фундаментальное отличие async await в python и javascript?

    Leo5878
    @Leo5878
    Улыбчивай, люблю учить и учиться
    Если не использовать await, сразу после вызывоа функции, то она попадет в event loop. Но не все операции могут быть по настоящему асинхронными. На картинке хорошо отображено, то как это работает: 1*xm_WajiPlaOeJWcqgJb1xQ.png

    Если например, это работа с сетью и сразу же не ожидать ответ, то код продолжит выполнение до того момента, пока данные не нужны будет, а получение данных по сети будет асинхронным
    const data = fetch('http://exmapl.ecom');
    // ... - какой-то код
    await data()
    Ответ написан
    Комментировать
  • Как сделать простое аккордеон меню?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    Ответ написан
    Комментировать
  • Порядок действий по созданию сайту?

    akelsey
    @akelsey
    Направление верное, только не хостинг (shared hosting тут не подойдет), а VPS + domain name.
    Самый "относительно простой" способ это создать два докер контейнера с бэком (чистое приложение на чем оно у вас написано) и фронтом (например ngninx или опять же смотря на чем написано), и взять готовые контейнеры mongodb + nginx (для публикации фронта + ssl) с docker hub.
    Потом создать компоуз (docker-compose.yaml) файл и все четыре контейнера запустить в одной сети. Настроить взаимные подключения. Подключить сертификат.

    После того как это всё руками заработает и будете понимать что и как настраивается, можно будет строить пайплайны для автоматической публикации из github/gitlab, но это уже совсем другая история.

    PS
    Дев среду можно построить и на домашних ресурсах, как отладите и освоитесь - сможете реализовать и на VPS.
    Ответ написан
    4 комментария
  • Как получить запрос mongodb + expressjs по локальному порту?

    @historydev Куратор тега JavaScript
    Поставьте MongodbCompass, всё станет проще, вряд-ли вам пригодится деплой на ubuntu в ближайшее время, нажмите пару кнопок.
    Ответ написан
    1 комментарий
  • Как получить запрос mongodb + expressjs по локальному порту?

    TMProject
    @TMProject
    Frontend developer React/Redux
    Попробуй эту либу вместо той что используешь ты. Адекватная вещь.
    Ответ написан
    Комментировать
  • Как получить запрос mongodb + expressjs по локальному порту?

    Twstd
    @Twstd
    Разрабатываю приложения и микросервисы на Nodejs
    Тут явно ошибка подключения к БД, я так понимаю что строчка 20 уже не выполняется...
    Распространенная ошибка пользователей Windows, а у Вас я так понимаю Windows, это отсутствие папки для БД в каталоге по умолчанию C:\data\db, её нужно создать вручную.
    Ответ написан
    Комментировать
  • Как отдавать статику через express js?

    Twstd
    @Twstd
    Разрабатываю приложения и микросервисы на Nodejs
    Но при этом всё тот же Express рекомендует использовать для отдачи статики обратный прокси, например nginx. Если речь идёт о среде production конечно...
    Ответ написан
    1 комментарий