Ответы пользователя по тегу Программирование
  • Есть ли игры, где основной процесс игры это написание кода?

    bogolt
    @bogolt
    the-game.ru - космическая стратегия, с возможностью создания скриптов на перле для оптимизации производства, полетов и в общем любых действий.
    Ответ написан
  • Как понять суть программирования (подробнее в содержании)?

    bogolt
    @bogolt
    Смотреть и пробовать - разные вещи. Настолько разные, что часто смотреть как кто-то что-то делает скучно, а вот самому делать интересно. И наоборот.
    Не думаю что можно понять что-то об интересующем занятии не попробовав его.

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

    Если коротко - найти любой популярный курс по интересующей тематике ( сайты, игры, прикладные программы ), начать читать/смотреть и обязательно параллельно делать. Во всех курсах для начинающих обычно описывается какие программы нужно установить чтобы можно было у себя запустить рабочие примеры. Дальше станет ясно - если интересно пытаться что-то создавать управляя всесильной машиной, то занимайтесь.
    Ответ написан
  • Как побороть свою лень?

    bogolt
    @bogolt
    А зачем? Все нормально, лет через десять оглянитесь назад - а у вас куча не сделанных ( или сделанных другими ) проектов, посмотренных фильмов, прочитанных книг. Так никуда и не съездили куда хотели.. молодость куда-то утекла, но зато поленились всласть. Сказка ведь, ага?
    Ответ написан
  • Как сделаить Ряд тейлора (через указатели)?

    bogolt
    @bogolt
    У вас в программе три явно выраженных участка - это ввод данных, вычисление и вывод результата. Каждый из этих фрагментов можно вынести в свою функцию.
    По-поводу указателей - вы можете вернуть указателями значения из функции ввода данных.
    Ответ написан
  • Зачем нужен Qt Creator если он не может нормально компилировать?

    bogolt
    @bogolt
    Зачем взял в руки QtCreator если не знаешь что он умеет и для чего нужен?
    Под какой системой пытаешься его использовать?
    Почему удивляешься размеру статической сборки если даже не знаешь что это такое?

    Это нужно потому что QtCreator потрясающая программа, которая помогает писать плюсовый код на всех популярных OS. Компилятор же можно к нему любой прикрутить.
    Ответ написан
  • Как программно добавить кнопку в Qt Creator?

    bogolt
    @bogolt
    >есть ли у кавото исходники игры сапёр?
    Моей душе покоя нет,
    Весь день я жду Кавото
    Без сна встречаю я рассвет,
    И все из-за Кавото
    Со мною нет Кавото
    Ах где найти Кавото?
    Могу весь мир я обойти,
    Чтобы найти Кавото...
    Чтобы найти Кавото,
    Могу весь мир я обойти.

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

    bogolt
    @bogolt
    Они нужны для:
    • Реализации криптографических алгоритмов
    • Реализации любых других алгоритмов требующих работу с битами
    • Чтобы пользователи языка не изобретали велосипеды


    Понимаете, это ведь не особенность языка - это скорее особенность наших процессоров,принципов вычислений, ассемблера. Раз уж эти операции существуют, причем именно в том виде в каком к ним привыкли то логично предположить что многие программы и алгоритмы рассчитывают на их наличие в инструментарии разработчика. Представьте что вам пришлось бы портировать некий криптографический алгоритм использующий эти операторы на js в котором их не было бы. Допустим вы реализуете его умножая/деля на два, но затем обнаруживаете, что при умножении старший бит у вас исчезает, а должен становится самый младшим. Кроме того ваша реализация на js была бы много медленней чем встроенная в язык реализация.
    Ответ написан
  • Какие перспективные технологии/направления для С++ программиста есть сейчас?

    bogolt
    @bogolt
    Си++ позволяет создавать отличные кроссплатформенные приложения. Программы с единым ( процентов на 95 ) кодом, которые работают на винде, линуксе и маке ( Qt, wxWidgets самые навороченные библиотеки ).
    Тоже самое касается игр - cocos2dx, sdl и вы можете разрабатывать игру на чистых плюсах с тем чтобы запускать ее на любой мобильной и десктопной платформе.
    Серверы: си++ применяется для написания высокопроизводительных серверов.

    Словом - си++ нужен, важен и вероятнее всего еще долго не уйдет со сцены.
    Из недостатков - большой порог вхождения, с того момента как вы научились на нем писать, до того момента когда ваши программы становятся безопасными в планете утечек и крэшей. Ну и плохой код на плюсах написать очень легко. Так что много хорошей литературы, несколько больших проектов и желательно хорошие коллеги-учителя.
    Ответ написан
  • Как лучше организовать класс и его объекты?

    bogolt
    @bogolt
    Если у вас будет только лишь указатель на вершину дерева, то как вы дальше будете ходить по ветвям этого дерева - без указателей на них?
    По-моему для узла дерева нужно что-то в таком духе:
    template<class T>
    struct Node
    {
    Node* left, *right;
    T data;
    };
    Ответ написан
  • Как лучше с точки зрения стиля программирования прописывать включение файлов ?

    bogolt
    @bogolt
    Давайте разберемся.
    .h файлы нужны для того чтобы описать типы данных и функции которые могут использоваться из разных .c файлов. Если у вас есть самодостаточный .c файл - хедер файл вообще ему не нужен.
    Когда же вы в си файле описываете функцию int make_me_coffie(int coffeine_level) то для того чтобы ее можно было вызывать из других си файлов - вам нужно этим файлам сообщить о существовании такой функции. Для этого вы можете в каждом из этих си файлов добавить описание этой функции.
    Так например в kitchen.c вы можете написать
    int make_me_coffie(int );

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

    Теперь к вашим вопросам. Включать header.h в теле header.c не обязательно ( так как обязательного вообще ничего нет ) - то логично и разумно. Если уж у вас есть один модуль header то скорее всего функции и типы данных описаны именно в header.h а значит header.c должен его включать.

    Включать в header.c если он уже включен в header.h совершенно не обязательно, так как наш header.c уже включает header.h который включает stdio.h - а значит все необходимые определения функций уже будут в нашем файле. Впрочем включить stdio.h можно, это ничему не повредит благодаря системе дефайнов, которые обычно добавляются в каждый хедер файл, чтобы предотвратить множественное его включение.
    Ответ написан
  • Как создать GUI на чистом C?

    bogolt
    @bogolt
    На голом си не так уж много GUI библиотек. Пожалуй самая навороченная из кросс-платформенных, свободных это Gtk++.
    Ну если вам только под винду то можно конечно взять WinAPI, хотя имхо это самый проигрышный вариант.
    Ответ написан
  • Как далеким от программирования основателям найти ведущего разработчика в стартап?

    bogolt
    @bogolt
    "Наличие успешно реализованных проектов" - очень интересный критерий. Но ведь вполне может быть так, что человек долго и упорно работал, а проектов реализованных нет. Или есть но показать их не может. А может были - но уже их не существует, умерли от старости. А вы такое ощущение что ищите стартапера, да еще и такого который уже что-то успешно реализовал, но такому и вы скорее всего будете не нужны.
    В мире современного софта программы могут устаревать еще до выхода на рынок, конторы разоряются и забрасывают почти реализованные проекты, проекты оказываются никому не нужны по выходу и тоже умирают. А еще есть корпоративный сектор - где успешно реализованный проект вроде бы есть, но пользуется им два человека, и увидеть его извне ну никак нельзя. Вот и получается что этим требованием вы можете срезать кучу подходящих кандидатов.
    Ответ написан
  • Почему так происходит и где ошибка?

    bogolt
    @bogolt
    Так, теперь попробуйте улучшить ваш вопрос, так чтобы на него можно было ответить.
    1. Скриншот запущенного приложения это прекрасно, но непонятно зачем он нужен.
    2. Скриншот куска ошибок - ничего не понятно какие именно там ошибки. Разберитесь как из студии скопировать лог сборки и вытащите эти сообщения оттуда.
    3. После чтения из файла - проверьте значение переменной con и выведете его на экран, чтобы убедится что именно из файла читается не то число.
    Если там не то число - то проверьте тип этой переменной - может вы записали туда char "1" а читаете его уже как int или наоборот.
    Ответ написан
  • Какой учебник для изучения С++ с нуля в данный момент актуален ?

    bogolt
    @bogolt
    Лучше все же начать с чистого Си. Почти все книги по Си++ подразумевают что вы уже знакомы с языком Си, поэтому множество базовых, совпадающих с си вещей (вроде циклов, условных операторов и тд ) в учебниках по плюсам не объясняются.
    Да и вообще - разобраться на базовом уровне с голым Си куда проще чем сделать тоже самое с плюсами. А вот после этого вполне можно открывать любой учебник по си++ ( Рекомендую Брюса Эккеля, хотя сейчас в связи с выходом нового стандартна он уже немного устарел, впрочем не думаю что уже есть хорошие учебники с учетом этого самого нового стандарта ).
    Ответ написан
  • Как добиться нужного fps?

    bogolt
    @bogolt
    Если хотите понизить фпс ( я так понял по вопросу что хотите вы именно этого ), то после вычислений времени текущего цикла, добавляйте sleep() на недостающее количество миллисекунд.
    Например вам нужно чтобы 1 цикл выполнялся за 30 мс, а он выполнлился за 20, значит нужно поспать еще 10 до выхода из цикла.
    Ответ написан
  • Где найти интересные задачи по с++ разного уровня?

    bogolt
    @bogolt
    Не знаю что такое "озов" похоже на город какой-то, но тогда неясно отчего с маленькой буквы. Говорят в древности на Руси алфавит ( ну или буквица ) начинался с буквы Аз, откуда вероятно и пошли азы...

    По сути вопроса - любая программа длиннее тысячи строк будет представлять собой вполне себе задачу среднего уровня. Поставьте себе задачу и реализуйте ее на си++. Например напишите свой http/ftp сервер или клиент. Создайте простую игру, или удобное приложение.

    Можно конечно искать задачи где нужно "с помощью указателей" сделать что-либо, или "написать иерархию классов с виртуальными функциями" но имхо это полная ерунда. Она может помочь разве что закрепить синтаксис языка, но не дает понимания того зачем конкретная фича языка нужна.
    А вот создание собственной объемной программы - такое понимание дает в полной мере. Когда вы напишите 20й класс похожий на остальные, то зададитесь вопросом как это можно сделать проще, перечитаете учебник языка и поймете зачем нужны например шаблоны или виртуальные функции.
    Если до написания программы ( а лучше во время ) вы будете штудировать учебник языка - будет совсем хорошо.
    Ответ написан
  • Удобно ли будет читать техническую литературу на PocketBook 515?

    bogolt
    @bogolt
    Для себя решил что e-ink читалка хороша для последовательного, спокойного чтения - например художественной литературы. Если же в книге есть графики, листинги кода, схемы или же вам нужно постоянно пролистывать ее туда-сюда - электронные чернила не удобны. Скорость работы, удобство управления начинают тут играть важную роль, и как следствие проще пересесть за комп или взять обычный (ios/android) планшет.
    Эксперименты ставил на PocketBook 902.
    Ответ написан
  • Какой язык программирования/направление выбрать? Смена профессии

    bogolt
    @bogolt
    > Стоит ли изучать php/js/ruby/python или лучше java/c?
    Определитесь со сферой ваших интересов, и под нее уже выбирайте языки. Работу можно найти имхо под любой язык/технологию, поэтому в ваших интересах чтобы этот язык/технология наилучшим образом удовлетворяла вашим личным предпочтениям. Это в первую очередь скажется на эффективности вашей работы, да и больше положительных ощущений никому не мешали.
    Ответ написан
  • Java vs C++. Что полезнее?

    bogolt
    @bogolt
    Удивляюсь почему в сравнении Java vs C++ многие упоминают, что Java кросс-плафторменна. Си++ тоже кросс-платформенный ЯП. Программа написанная на нем может быть скомпилирована практически под любой платформой. Да, программу на си++ нельзя перенести на уровне бинарников, но часто ли вы видели универсальные бинарники?
    Для Си++ есть множество очень полезных библиотек позволяющих писать красивый и быстрый GUI ( единственная известная мне хорошая GUI программа написанная на Джаве - Eclipse ). Большинство же десктопных приложений пишется именно на плюсах.
    В новом стандарте появилась нативная многопоточность ( впрочем раньше никто не мешал использовать одну из множества кросс-платформенных библиотек для достижения тех же целей ).

    Из основных недостатков си++ скажу что первые 2 года работы с этим языком программист больше вредит, нежели помогает. Это учитывая что он неплохо уже знает синтаксис и уже пишет на нем какие-то программы. Огромное количество скрытых ям, граблей, заряженный ружей - заботливо разложены создателями нескольких версий стандартов, в безумной мечте об обратной совместимости языка ( что конечно очень круто ).
    Ответ написан