Задать вопрос
  • Почему для работы eclipse c++ требуется jre?

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    Потому, что он нужен для работы самой Эклипс, которая написана на java.
    Ответ написан
    Комментировать
  • Какой ЯП выбрать для следующей ситуации?

    Vapaamies
    @Vapaamies
    Психанул и снес свои ответы не отмечающим решения…
    Конкуреты ведь копируют идеи, не имея доступа к исходникам? Тогда не имеет значения, на чем писать. Важна слаженность и производительность команды по развитию сайта. Можно потратить уйму времени и ресурсов на переход на другой/редкий язык или технологию, а конкурент сможет ее воспроизвести, не меняя платфому, если обладает лучшей командой.

    Если дело настолько серьезно, поизучайте также на предмет инсайда и "кротов" в своем окружении.
    Ответ написан
    Комментировать
  • Какой ЯП выбрать для следующей ситуации?

    @anton_myaso
    Работал на интернет-магазин с похожей ситуацией на рынке. Пришел к выводу, что действительно наплевать на чем писать.
    В подобной ситуации лучше подобрать грамотную команду. Программист (ы), дизайнер, контенщик (и).
    1) Будут писать быстро и качественно. Могут быть заменены без значительной потери эффективности в дальнейшем. Итог: сайт быстрый, надежный, фичи реализуются быстро и качетсвенно.
    2) Рисует лендинги, оформляет сам сайт, карточки товаров, главную, спецухи, ярлычки и прочую херобору.
    3) Грамотное наполнение сайта, описание, быстрые правки по ценам в случае чего, по наличию.
    И все. на выходе идеальный магазин для покупателя (без учета ценообразования, конечно)

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

    fr_end
    @fr_end
    Frontend разработчик
    Неужели вы думаете, что пользовательские фичи
    (новые удобства по юзабилити сайта, новые функции при заказе, покупке и сервисе и т.д.),
    нельзя написать на любом языке?

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

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Для всего этого лучше использовать игровой движок. Среди движков под C# на данный момент лидирует Unity. Так что берите и изучайте его.
    С чего начать изучение Unity3D?
    Какие есть хорошие материалы для старта изучения Unity3D?
    С чего начать разработку игр на C++/C#?
    Ответ написан
    Комментировать
  • Как научиться делать реальные проекты для реальных людей?

    may-cat
    @may-cat
    Нужно пойти работать к тем людям, которые уже делают это. Проработать с ними бок о бок 2-3 года.
    Ответ написан
    Комментировать
  • Чем Классы отличаются от обычных функций? C++?

    tsarevfs
    @tsarevfs Куратор тега C++
    C++ developer
    Чем вас не устраивает первая ссылка из запроса в гугле: c++ классы примеры?
    Ответ написан
    Комментировать
  • Как найти повторяющееся слово в строке?

    gbg
    @gbg Куратор тега Программирование
    Любые ответы на любые вопросы
    Эту задачу решает Алгоритм Ландау-Шмидта
    Ответ написан
    Комментировать
  • Как держать в голове проект по программированию над которым работаешь не каждый день?

    1. Писать самодокументирующийся код.
    2. Щедро добавлять стандартизированные комментарии к каждой функции и переменной.
    3. Рефакторить структуру до полной очевидности.
    4. Использовать git с подробными описаниями коммитов - с помощью аннотаций будет легко понять зачем написан тот или иной кусок
    5. Вести TODO отдельно либо используя @todo комментарии прямо в коде.
    Ответ написан
  • В какую область переквалифицироваться программисту?

    @xydope
    Везде хорошо, где нас нет.
    Мое субъективное мнение - вы неправильно смотрите на вещи.

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

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

    Ответ весьма прост, вам нужна цель в жизни, поверьте, если для ее достижения вам потребуется работать на дядю, программировать или выучиться на финансиста, то вы с огромнейшим энтузиазмом и увлеченностью будете этим заниматься, но пока цели у вас нет, чем бы вы ни занимались, рано или поздно все будет для вас становиться рутиной, которая изо дня в день будет у вас вызывать вопрос "Зачем я все это делаю?".

    Я говорю не о какой-то наигранной цели, от которой вы при первых сложностях готовы будете отказаться, а о том, что для вас действительно ценно.
    Ответ написан
    7 комментариев
  • Проблема с глобальным переменным(error lnk2001)?

    maaGames
    @maaGames
    Погроммирую программы
    extern int i; должно быть в хэдэре, а int i; в реализации.

    #pragma once - тоже в хэдэре, а не в реализации.
    Ответ написан
    Комментировать
  • Как работает система контроля версий (для чайников)?

    @wing_pin
    Люблю сгущенку и функциональное программирование
    Конфликты возникают при слиянии веток и они в ручном режиме исправляются разработчиками. Код разбивается на ветки в большинстве случаев по готовности к использованию и присутствующем функционалу. Безопасность обеспечивается через код-ревью, то есть тщательное изучение кода, написанного другими участниками.
    Ответ написан
    Комментировать
  • Какое издание книги выбрать для изучения C#?

    Neuroware
    @Neuroware
    Программист в свободное от работы время
    4.5 включает в себя весь 3.5. По логике если изучишь первую вторую уже изучил.
    Ответ написан
    Комментировать
  • Что за страности в Stream в.NET?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    ReadByte возвращает тип int, т.к. при достижении конца будет возвращено значение минус один. А тип byte может иметь значение в диапазоне от нуля до 255. То есть, считывая байты, сообщить о достижении конца потока при помощи типа byte невозможно (байт, имеющий значение ноль может быть полезным байтом), поэтому используется тип int.

    Метод Read принимает буфер, в который будут помещены считанные данные. Буфер - это массив байт. Изначально он должен быть пустым. Размер массива - по своему смотрению. Чем больше размер буфера, тем больше данных будет помещено в память, меньше проделано операций.

    Метод Read возвращает число помещенных в буфер байт. Ноль - достигнут конец потока.

    FileInfo f = new FileInfo(@"C:\example.dat");
    using (FileStream fs = f.Open(FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
    {
     using (BinaryReader br = new BinaryReader(fs))
     {
       int bytesRead = 0;
       byte[] buffer = new byte[256]; // размер буфера 256 единиц байт
       StringBuilder result = new StringBuilder();
       while ((bytesRead = br.Read(buffer, 0, buffer.Length)) != 0) // читаем не более 256 единиц байт в buffer
       {
         // из buffer следует извлекать не более bytesRead (в конце это число может быть меньше 255)
       }
     }
    }

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

    Смотря какие игры и под какую платформу.

    Если знать С++, то можно писать под любую платформу и с максимальной производительностью самих игр, но необходимо провести много времени для изучения самого С++, так как стрелять из него по ногам можно очень долго. Также стоит отметить, что существуют бесплатные средства(движки, либы, и т.д.) под любую из платформ. И что-бы не говорили, в gamedevе он будет востребован еще очень долго, так-как нет другой альтернативы, которая давала бы столько возможностей за относительно малые требования к аппаратуре.

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

    Есть еще разнообразные связки веб-технологий(HTML+JS, Flash и т.д.), но они в основном предназначены именно для веба.

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

    tsarevfs
    @tsarevfs Куратор тега C++
    C++ developer
    Реализация зависит от платформы. Вы можете посмотреть во что компилируются интересующие вас операции для конкретного компилятора с помощью дизассемблера (в студии есть встроенный, для unix есть objdump -D > somefile.asm).
    Вообще, оптимизации на уровне арифметических команд это последнее дело. Для начала желательно убедиться, что нет алгоритма с лучшей ассимптотикой (считая что все арифметические операции работают за 1).
    Для обработки однотипных данных возможно получить ускорение за счет векторных операций из расширений процессора SSE* или на GPU.
    Ответ написан
    Комментировать
  • C++, компилятор ведет себя странно или я что-то упустил?

    tsarevfs
    @tsarevfs Куратор тега C++
    C++ developer
    К сожалению, для компилятора второй случай тоже похож на объявление функции.
    Функции req принимающей один параметр (подробнее по ссылке).
    Первый из предложенных вами вариантов -- отличный выход из этой ситуации. Еще можно написать так:
    QNetworkRequest request((QUrl(s)));
    Upd: нашел подробное описание этой ошибки от Мейерса.
    Ответ написан
    1 комментарий
  • C++, компилятор ведет себя странно или я что-то упустил?

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    Первый пример - классическая ошибка, компилятор прав - вы действительно записали функцию.
    Чтобы объявить класс и вызвать умолчательный конструктор, скобки ставить не нужно.
    На этом даже Кармак прокатился:
    The fact that ScopedLock lock() is a function declaration instead of an object constructor with no parms caused me great grief today.

    Тот факт, что ScopedLock lock() является объявлением функции, а не вызовом конструктора без параметров вызвал у меня сегодня больше огорчение.
    Ответ написан
    3 комментария
  • Как создаются кроссплатформенные мобильные приложения?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    1) читаем документацию по Xamarin
    2) обычно обходятся sqlite или другими встраеваемыми СУБД. С сервером связывают приложение по REST.
    3) Зависит от уровня владения php и умения учиться, находить и понимать абстракции и т.д. В целом не стоит вообще загоняться, проще выучить.
    Ответ написан
    Комментировать
  • С чего начать изучение программирования?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    Начинать нужно с того, к чему лежит душа :)

    Помню, я начинал с попыток разработки игр, потом были программки-приколы, бесчисленные блокноты, калькуляторы, графические редакторы и даже попытки сотворить ОС. В общем полный набор начинающего программиста.

    Нужно ставить задачи и искать пути их решения.

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

    Проще всего, наверное будет начать с JavaScript, достаточно открыть блокнот и написать:
    <script>
    alert("Hello, world!");
    </script>

    сохранить файл с расширением .html, открыть в браузере и посмотреть на результат первого шага в программировании :)

    Для разработки приложений под Windows, да простят меня микрософтоненавистники, рекомендую: Visual Studio. По языкам программирования, Visual Basic .NET относительно простой, но своеобразен (имеет смысл его знать). C# чуть сложнее, с JavaScript у них синтаксис похож. Си++ более сложный. На радость микрософтоненавистникам могу еще упомянуть о Java (не путать с JavaScript).
    Ответ написан
    Комментировать