• Программирования учат или применяют?

    Newto
    @Newto
    Добрый день. Я перечитал все ответы выше, а так же комментарии к ним. Решил прокомментировать, с точки зрения своего опыта(я занимаюсь разработкой уже более 15-ти лет). Для удобства чтения я буду писать по пунктам.

    1) Зубрёжка. Каждого из нас, кто ходил в школу, заставляли зубрить таблицу умножения. И, в конце-концов, это помогало в последующем обучении математики, не правда ли? В программировании есть такие же вещи, которые называются "стандарты". Вот эти стандарты и нужно, для начала, зазубрить. А позже и вникнуть, зачем они придуманы.

    2) Методика "объяснение и практика". Вы пишете, что "при таком способе мне приходится одно и тоже глазами несколько раз пробегать чтобы запомнить". Это, с моей точки зрения, в корне не верно. Ибо то, что вам объясняют, не нужно "пробегать глазами" несколько раз, что бы запомнить. Это вообще не нужно запоминать если это не те самые "стандарты"; это нужно осмыслить и понять. После того, как к вам придёт понимание как это работает, зачем и почему это надо -- вы сможете это использовать, осмысленно, в собственном коде.

    3) Платные курсы. Курсы ныне очень разные. Кто-то просто, простите, гребёт бабло на этом всём. А кто-то преподаёт с душой, хорошо и понятно рассказывая. Поэтому платный курс -- это хорошо, но только тогда, простите за тавтологию, когда это хороший курс. Читайте отзывы о курсе, советуйтесь с теми кто его уже прошёл(в идеале) и тогда уже решайте, тот ли этот курс, что даст вам необходимые знания.

    4) ВУЗ. Более 10-ти лет назад, у меня в подчинении, в вебстудии, работал PHP джун. Он доучивался в МГТУ имени Баумана. И он не знал ничего. Совсем. Мне приходилось объяснять ему простейшие вещи, типа что значит иструкция "$a += $b;". Сам же я учился в ВУЗе малоизвестном, на факультете "прикладная информатика в экономике" и наш преподаватель информатики, на первом курсе, на вопрос что значит в коде программы на языке C++ инструкция "с++" ответил, что это "так язык называется". Однако, вскоре ко мне начали ходить сокурсники, с просьбами "а напиши программку". И происходило это потому что я сам загорелся программированием, купил книжки, установил всё что нужно было установить на компьютер и начал "творить волшебство", как это мне тогда виделось, с горящими глазами. Короче говоря не нас учат ВУЗы, а мы учимся в ВУЗах или учимся без них. Тут уж как пойдёт.

    5) Ну и последний, самый важный, с моей точки зрения, пункт. Это Интерес. Если вам интересно программирование, вам нравится разбираться, что-то делать самостоятельно, а не только тогда когда кто-то поставил задачу, то у вас все получится. И как именно это всё учить у вас вопроса, в конце концов, не возникнет. Разбирайтесь, ковыряйте, вникайте и всё будет. Единственное что -- очень желательно, что бы перед вашими глазами были хорошие примеры. Потому что я, в свое время, тоже разбирался, учился и вникал, "гладили по голове", как писали выше в комментариях к одному из ответов, меня уже мои наниматели, потому что я все делал быстро и без ошибок, т.е. работало все так, как было нужно клиентам веб-студии, собеседование в которую я тогда прошел без каких-то проблем. Но вот мой код тогда был, откровенно говоря, тем, что сейчас называется "говнокодом". Потому что некому было мне показать как писать есть хорошо, а как есть плохо.

    Подыдожу -- ключи к быстрейшему развитию в деле разработки это ваш интерес к этому делу, желание им заниматься и примеры хорошего, качественного кода перед глазами. А так же кто-то, кто сможет технически оценить вашу работу и, без агра, с конструктивом, показать и рассказать что вы сделали не так.
    Ответ написан
    25 комментариев
  • С помощью чего сделать простую 2D-игру для Android и Desktop?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    https://love2d.org/
    Пример и Поиграть в Mario в браузере
    Платформы дистрибуции - Windows Dektop, Android, Linux, MacOSX, iOS, Web(через Emscripten).
    Ответ написан
    Комментировать
  • Какой стек технологий учить для написания собственных кросс-платформенных приложений?

    Zifix
    @Zifix
    Barbatum
    И чему не устраивает тот же Qt, который вы уже знаете?
    Ответ написан
    Комментировать
  • Почему статическая переменная в классе имеет одинаковое значение во всех потоках?

    @vilgeforce
    Раздолбай и программист
    Статические члены класса едины для всех экземпляров класса.
    Ответ написан
    Комментировать
  • Почему статическая переменная в классе имеет одинаковое значение во всех потоках?

    Если я правильно понимаю статическая переменная класса т.к она находиться на стеке, должна быть у каждого потока своя

    Неправильно
    Ответ написан
    4 комментария
  • Как правильно написать MutexLocker?

    @Mercury13
    Программист на «си с крестами» и не только
    pthread_mutex_locker locker(&mutex);

    Назови его как-нибудь, и всё будет окей.
    Ответ написан
    Комментировать
  • Как правильно написать MutexLocker?

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    Ваш вариант не пройдет - мьютекс будет уничтожен сразу же после создания. Строго говоря, в C++ нет такого понятия "анонимный экземпляр", есть "временный экземпляр".

    Для именованного экземпляра гарантируется уничтожение при выходе за из области видимости - составного оператора {}.
    Ответ написан
    Комментировать
  • Какой GUI сейчас актуально использовать при разработке в MS VS 2013 на C++?

    tsarevfs
    @tsarevfs Куратор тега C++
    C++ developer
    Мне нравится Qt.
    Ответ написан
    Комментировать
  • Что написать на андроиде?

    donkaban
    @donkaban
    Умею рисовать тени
    На андроиде можно написать много разных слов. Если это андроид небольшой - то слово должно быть емким и коротким, чтобы влезло. К сожалению половина коротких слов - это неприличные слова.

    А по-русски стоило бы спросить "Что написать для андроида?", что, конечно не сделало бы вопрос менее тупым, но он хотя бы стал соответствовать правилам нашего с вами (я надеюсь) родного языка.
    Ответ написан
    Комментировать
  • Как написать жалобу на модератора?

    @VazyaOZ
    Пишите сразу заказным письмом, с пометкой toster.ru
    Получатель: ООО «Хабр»
    Почтовый адрес: 105082, Москва, Спартаковский переулок, д. 2, стр. 1, секция 3
    Ответ написан
    Комментировать
  • Почему при удалении значения не присваеваеться последнее id?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Перестаньте пожалуйста помечать вопросы о базах данных тегами C++ и QT.
    Ответ написан
    Комментировать
  • Как сделать зеркало, sdd и hdd?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    kokas какое отношение ваш вопрос имеет к С++ и программированию?
    Для кеширования одних блочных устройств другими под linux есть bcache и flashcache, но вы даже не указали, что у вас будет за ОС.
    Ответ написан
    Комментировать
  • Как защитить апдейтер программы от компроментации сервера?

    @Ajex Автор вопроса
    Вот нашел вроде бы такое решение:
    Создаем подпись приватным ключом (на свой стороне) , заливаем signature MyFile.sign и MyFile.Dat
    openssl dgst -sha256 -sign private_key.pem -out MyFile.sign MyFile.dat

    Так (ну алгоритмически) првоеряет апдетйер
    openssl dgst -sha256 -verify public_key.pem -signature MyFile.sign MyFile.dat

    Приватный ключ хранится у нас, публичный зашивается в апдейтер. Таким образом злоумышленник даже проникнув на сервер обновлений не сможет подписать файлы, т.к. апдейтер не пропустит их.
    Тут сходу решаются и остальные проблемы с подменой сервера , mitm и прочим.
    Ответ написан
    Комментировать
  • Как защитить апдейтер программы от компроментации сервера?

    Matvey-Kuk
    @Matvey-Kuk
    Разработчик в Cisco, CA.
    Просто подписывайте каждое обновление.

    Публичный ключ лежит внутри программы, приватный только у главного программиста.

    Хоть поломают разломают Ваши сервера, обновлялка когда увидит что обновление неправильно подписано, сразу отклонит.
    Ответ написан
    1 комментарий
  • Какой язык программирования подойдет для олимпиад?

    @mamkaololosha
    Python - чит по скорости набора кода и базовым алгоритмам (поиск, сортировка). Можете проиграть по времени на более сложных задачах.
    Java - 50/50. Кода больше писать, скорости побольше, чем у питона.
    C++ - чит по скорости выполнения. Если обходиться только std::vector, std::map, std::sort, std::pair и не лезть в память, то наиболее оптимальный вариант. Есть мастера, которые используют просто массив вместо всего.
    Ответ написан
    Комментировать
  • Какой язык программирования подойдет для олимпиад?

    @Avery007
    Я бы выбрал Python, на нём будет проще писать алгоритмы для олимпиадных задач, чем на C++ и Java. Тем более динамическая типизация(Python), лучше подойдёт чем статическая. Так же, он более лёгок в изучении, нежели Java и тем более C++, который вы за 8 дней на достаточном уровне вряд ли выучите, так что Python будет лучшим выбором.
    Ответ написан
    Комментировать
  • Какой язык программирования подойдет для олимпиад?

    @raiboon
    Python. Это, как правило чит - он сильно экономит время при решении любых задач, при его хорошем знании и знании нужного алгоритма, некоторые задачи решатся import решение.
    Зато C++ может помочь вам уложиться в требования быстродействия-памяти, если вы даже не знаете оптимального алгоритма.
    Ответ написан
    Комментировать
  • С чего начать школьнику 16 лет?

    dmnBrest
    @dmnBrest
    Salesforce for money. Python, Go, Ruby for soul.
    Самый главный совет - начать нужно с того чтобы на своем домашнем компе поставить linux !!! Под виндой разработка чистой воды извращение на уровне костылей. А большая часть современного web (если связываться именно с web) завязана на linux сервера. Ну и не будет соблазна запускать всякие "танки" вместо того чтобы развиваться.
    Ответ написан
    3 комментария