Задать вопрос
  • Как вы (программисты) учились в ВУЗах?

    15432
    @15432
    Системный программист ^_^
    Все нижесказанное относится к ВМК, МГУ.
    Многие считают, что обучение программиста это, в основном, изучение языка программирования. Это не так. Программист, прежде всего, должен быть математиком - мало знать КАК писать код, нужно ещё понимать алгоритмы, способы решения тех или иных задач. Потому если решили быть программистом - готовьтесь к тоннам математики. Вычислительные методы,дифференциальные уравнения, основы логики, теория вероятности... Я насчитал больше восьми видов математики в нашем курсе. Побочные, но обязательные предметы типа экономики и философии сдаются легко, преподаватели понимают что это нам не сильно необходимо и принимают экзамены довольно лояльно. Самое сложное у нас - поступить. Вылететь крайне сложно - очень много попыток передач, в крайнем случае - академический отпуск и на второй заход.
    Ответ написан
    9 комментариев
  • Какой выбрать парсер c/c++ кода, на c/c++?

    @alexanius
    Если нужно только выделить все числа, то используйте регулярные выражения. Они подойдут и для более сложных задач (например найти присваивания). Я обычно пользуюсь qt'шными regexp'ами, но если проект привязан к mfc, то посмотрите в стандартные. Для целых чисел самый простой паттерн будет таким: [0-9]+. Разумется, в реальной задаче им всё не ограничится.

    Если стоит задача всё же на разбор кода, то тут всё усложняется. Можно писать свой велосипед на flex+bison. В случае с C/C++ Вам гарантировано незабываемое удовольствие .

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

    MegaMufa
    @MegaMufa
    Обычно работаю с матом и нервами. Но для себя сделал несколько выводов:

    1. Рефакторить понемногу. НЕ стоит браться сразу переписывать все. Так можно утонуть. Стоит понемногу, выносить код. Так гораздо проще.
    2. Обязательно нужны тесты. Перед тем, как рефакторить какой то кусок кода - написать для него тесты, что бы потом ничего не отвалилось. Такими темпами со временем весь код будет покрыт тестами.
    3.Если нет времени на глобальный рефакторинг, нужно чистить код понемногу. Если вы, например, вынесли кусок кода в функцию - не надо тут же искать, где еще в коде есть такие кусочки. Потом, когда столкнетесь с ними, поменяете.
    Ответ написан
    Комментировать
  • Как вы работаете с некачественным чужим кодом?

    @AlexP11223
    This question already has an answer here: Работа с плохим кодом. Методы борьбы. Best Practices

    marked as duplicate by НЛО Feb 30 2025 at 12:34
    This question has been asked before and already has an answer.
    Ответ написан
    3 комментария
  • Как правильнее указывать переменную или название объекта - myVar или my_var?

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    Лишь бы не было разсогласования кода. Например, вы же используете библиотеки, как принято там? Стремитесь к однообразию (целостности стиля) и удобству для чтения.
    Ответ написан
    Комментировать
  • Как правильнее указывать переменную или название объекта - myVar или my_var?

    un1t
    @un1t
    Для разных языков программирования приняты разные способы именования, к томуже именование зависит от того, что собственно именуете - функцию, класс, объект. Например для Python принят стандарт кодирования PEP8, а для Javascipt принят camel-case.
    Ответ написан
    Комментировать
  • Стоит ли переходить с Python на Go?

    ali_aliev
    @ali_aliev
    Разработчик на Django/Python, JavaScript
    Я думаю переходить не стоит, а стоит его изучать. Язык очень маленький, современный, гибкий и красивый, со статической линковкой по дефолту (что делает его приложения более переносимыми). Зачем сразу уходить? Вы вначале попробуйте, а потом уже для себя решайте уходить с питона или писать какие то части приложения на гоу.
    Ответ написан
    Комментировать
  • Является ли такая диаграмма классификации АТД правильной?

    rachiu
    @rachiu
    Диаграмма некорректна. Например, типы "дерево" и "массив" относятся к разным классам абстракций (можно реализовать дерево на основе массива). Еще пример: стек и очередь можно построить на основе массива, а можно на основе списка.
    Ответ написан
    Комментировать
  • Какие перспективные технологии/направления для С++ программиста есть сейчас?

    nekipelov
    @nekipelov
    C++ был и остается универсальным языком. Какие направления в ПО перспективны? Почти везде применяется C++. Ну за исключением front-end web приложений, хотя может быть и там начнут применять благодаря Native Client/Portable Native Client.

    А изучать стоит все, но начинать с того, что больше нравится. Сетевое программирование, разработка GUI, низкоуровневое программирование, системное, разработка игр, обработка изображений, хранение или поиск данных...
    Ответ написан
    Комментировать
  • Насколько безопасна Java?

    @gro
    Ни один язык программирования не может запретить программисту писать отстойный и дырявый код.
    Ответ написан
    Комментировать
  • Переключение пользователя в Window 7 после спящего режима

    VictoriaBest
    @VictoriaBest
    Клавишу Escape не побывали нажимать во время запроса системой ввода пароля?
    Ответ написан
  • Почему в JavaScript срабатывает else?

    evnuh
    @evnuh
    Поиск Гугл помог мне, впусти и ты его в свой дом
    Простыми словами - в цикле у тебя if () else () , а значит что на каждой итерации он обязательно зайдет либо в if () либо в else() а у тебя там в обоих случаях return, следовательно твой цикл бессмысленнен, т.к. дальше одной итерации он никогда не зайдет.
    Ответ написан
    Комментировать
  • Почему в JavaScript срабатывает else?

    первый аргумент не равен "banana", срабатывает else, retrurn завершает выполнение функции.
    Ответ написан
    Комментировать
  • Почему в JavaScript срабатывает else?

    Anonym
    @Anonym
    Программирую немного )
    Первый код вернет индекс только, если первый элемент в массиве будет соответствовать условию. Иначе на первом элементе сработает return -1; и цикл завершится.
    Ответ написан
    Комментировать
  • Применение с++\Java

    fornit1917
    @fornit1917
    Присоединяясь к уже сказанному, хочу добавить, что С++ пожалуй самый основной язык в геймдеве.
    Ответ написан
    Комментировать
  • Применение с++\Java

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    Java - Android, крупные сетевые сервисы и веб-приложения для корпоративной сферы. Редко, но встречаются desktop-приложения с упором на кросслатформенное применение.

    C++ - проще сказать, где его нет. Любые приложения, где критично использование вычислительных ресурсов, кроссплатформенность и, в то же время, скорость разработки и безопасность, в сравнении с Си.
    Ответ написан
    Комментировать
  • Насколько безопасна Java?

    egor_nullptr
    @egor_nullptr
    Если кратко, то нет. Под безопасностью в данном случае подразумевается контроль над теми действиями, которые могут потенциально навредить системе, в которой запущена виртуальная машина.
    Ответ написан
    Комментировать
  • Как происхдит подключение библиотек в C++?

    @DancingOnWater
    Вообще-то говоря, в любом компилируемом языке подключение разделяемой библиотеке идет именно так. Весь вопрос в том, как это автоматизирует IDE.

    Из-за пренебрежительного отношения MS к С++ нормальной поддержки его в студии нет. По моему опыту наиболее заточенным под плюсы IDE и удобная - это QtCreator.
    Ответ написан
    1 комментарий
  • Почитал про различные компиляторы и остановился на gcc, но не понимаю, как им пользоваться?

    @alexanius
    IDE лучше пока не использовать. Если у Вас Windows, то возьмите Nodepad++, если linux, то любой редактор (kate, gedit, vim, emacs, тысячи их). Почитайте статьи о том что такое компиляция вообще и как компилируют программы на Си.

    Теперь, если под Вы под linux (а лучше быть именно под ним), то просто вводите gcc test.c и получаете исполняемый файл.

    Если под Windows - тут несколько сложнее. Скорей всего у Вас установлен mingw, Тогда следует прописать путь к компилятору в переменной PATH, после этого можно также воспользоваться командой gcc test.c (не помню точно - у них вроде бинарь как-то по-другому зовётся).

    В общем, читайте документацию и просто статьи, информации об этом полно.
    Ответ написан
    Комментировать