• Что почитать про программирование под Линукс?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    А под линукс как-то особенно программировать не требуется. Наоборот можно уже писать кроссплатформенно.
    У винды много своей специфики, связанной со странными особенностями файловой системы, с выкрутасами в плане использования кодировок в терминале, в файловой системе, в остальных местах... Когда начинаешь кодить на линукс и под линукс, то аж дышится легче.
    Начинаешь думать, что интерфейсы можно делать не нативно, а в виде веб-интерфейсов, которые отлично смогут работать и в облаке, и прямо на роутере, и локально.
    В линуксе гораздо проще и каноничнее всё с доке-контейнерами, стандартной является вся инфраструктура командной строки, свзанная с механизмами автоматизации: стандартные тулзы, make, системы управления пакетами...
    Поднять на линуксе изолированную повторяемую среду получатся гораздо проще, чем в винде.

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

    Adamos
    @Adamos
    Дистрибутив - не лагает. Может притормаживать DE, если в нем накручено свистоперделок, но в той же Убунте легко ставится другое DE - apt install xubuntu-desktop, например.
    Если же лагают конкретные инструменты - например, профессиональным IDE сейчас весьма по вкусу память, они в нее будут упираться вне зависимости от ОС вообще.

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

    vabka
    @vabka
    Токсичный шарпист
    Чёрных списков не существует - слишком дорого отказываться от хорошего кандидата на рынке, где имеется дефицит. Тем более, что более высокая зп - это более чем уважительная причина (может даже в ответ контр-оффер предложат с ещё более высокой зп)

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

    @MarkusD Куратор тега C++
    все время мелю чепуху :)
    Много решений подходит под такие критерии. Смотри, изучай, выбирай.

    Cocos2d-x является одним из самых популярных открытых движков. У него большое сообщество и масса поклонников. Есть документация и все нужное для старта.

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

    Godot Engine не менее популярен и не менее поднят по возможностям. В чем-то Godot даже будет лучше чем Cocos. Сообщество у него тоже большое. Документация тоже присутствует.

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

    Дальше пойдут не такие популярные решения, однако и проходить мимо них тоже не стоит.

    Urho3D является нареченной Open-Source альтернативой Unity. Движок используется многими энтузиастами. По разным уголкам сети раскиданы многочисленные группы обсуждения этого движка. Документация и примеры у него на месте.

    GDevelop - это довольно популярное решение для небольших игр. Документация на месте.

    Panda3D - тоже довольно популярное решение со своим сообществом. Документация имеется.

    Hazel Engine - один разработчик - один движок. Полностью вся разработка изложена в видео на youtube. Пользоваться можно... на свой страх и риск.

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

    GZDoom - современная инкарнация движка DOOM.

    Дальше решения пойдут или сложные, или экзотические. Всё на свой страх и риск.

    CryEngine - от Crytek.
    X-Ray - движок S.T.A.L.K.E.R.
    UE 3 - для коммерческих проектов использовать нельзя.
    Lumberyard - от Amazon. Да-да, тот самый.
    Banshee Engine - он просто существует.
    Diligent Engine - у него есть свое сообщество.
    Atomic Engine - на нем тоже выпускают игры.
    Lumix Engine - тоже что-то может.
    Horde 3D - просто существует и этого уже достаточно.
    Ответ написан
    Комментировать
  • Какой можете посоветовать хороший 3D игровой движок под C++?

    vabka
    @vabka
    Токсичный шарпист
    godot - там плюсы вполне first class
    Ответ написан
  • Как выбрать подходящий курс в "Код будущего"?

    @tukreb
    Востребованным всегда будет БАЗА, а это алгоритмы и теории.
    Всякая фигня типо парсеры или боты - это МУСОР, если вы знаете базу то и сами их напишите.

    Поэтому выбирайте тот курс, который даст вам основные знания по программированию.
    Ответ написан
    1 комментарий
  • Новичёк без предыдущего опыта в разработке, способен устроиться сейчас Junior Golang Developer?

    EvgenyMamonov
    @EvgenyMamonov
    Senior software developer, system architect
    Если в программировании опыта нет - лучше начните с Python.

    То, что Go простой в изучении язык - это так, но не на столько простой как пишут в рекламе курсов по Go :)

    Еще в рекламе не учитывается один небольшой, но очень важный нюанс - на Go вам предстоит решать задачи, которые будут значительно сложнее тех, которые будут у вас если вы устроитесь Python/PHP/Frontend программистом.

    Смысл в том, что работодателям, которым нужны Go программисты, нужны люди, которые могут работать с большими нагрузками (как минимум).

    Порог входа в Go + highload + микросервисы значительно выше, чем в Python без highload.

    Можно устроиться на работу на Python + Django и при этом даже с базами не особо уметь работать. Но при этом вы сможете выполнить поставленную задачу и по итогу все будут счастливы.

    А вот с go так не получится, вам нужно будет не просто уметь работать с базами, а делать это очень хорошо, понимать как оптимизировать запросы, структуру базы, как и когда нужно применять денормализацию, вы быстро столкнётесь с проблемой, когда база не поместится на одном сервере, т.е. нужно уметь на практике писать сразу горизонтально масштабируемое приложение и т.п.

    Итого: если взять сроки подготовки с нуля до трудоустройства - то, скорее всего, путь Python будет в несколько раз быстрее. Скорее всего во много раз быстрее :)

    Как вариант можно попробовать Fronend: ReactJS, VueJS и т.п. - тоже будет вполне быстрым стартом.

    Ну и посмотрите developer roadmaps:
    https://roadmap.sh/frontend
    https://roadmap.sh/backend
    https://roadmap.sh/golang (тут надо понимать, что до того, как начнёте изучать Go - надо изучить backend в целом)
    Ответ написан
    1 комментарий
  • Какое ПО выбрать для школьных звонков?

    @Drno
    Azuracast... и локально запущенный VLC плеер - работает в более чем 300х точках по стране, удобные плейлисты итд

    Radioboss если прям винду хочется
    Ответ написан
    Комментировать
  • Максимально производительные GUI-библиотеки для плюсов (Windows)?

    Adamos
    @Adamos
    Есть задача - написать частичную замену программ винды - проводник, настройки, панель управления и диспечер задач

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

    P.S. Вообще, сама постановка задачи - с изрядным душком. Зачем бы это понадобилась программа, подменяющая системные? Явно не для благих целей...
    Ответ написан
    5 комментариев
  • Есть ли какие-то сервисы или форумы, куда можно выложить свой код, чтобы его могли оценить и оптимизировать другие люди?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    В теории можно было бы и сюда, но хотя тег и есть, но сами модераторы признают, что модерируют его как бог на душу положит - то пропускают вопросы, то удаляют.

    На английском есть специализированный сайт codereview@stackexchange, при наличии языка это идеальный вариант.

    В принципе, есть ещё русскоязычный stackoverflow, где, при их-то трафике, по идее должны любого клиента принимать с распростёртыми объятиями, но модерят его такие же вахтёры как и здесь.

    Самый надёжный способ получить code-review, это завести два аккаунта. С одного задать вопрос, "как сделать то-то", а с другого - запостить код, который это делает. И тут же набегут советчики, рассказать, что в этом коде неправильно.
    Ответ написан
    2 комментария
  • С чего начать изучение С++ новичку?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    С учебника. Курсы приносят пользу только их создателям.
    Ответ написан
    3 комментария
  • Возможно ли учить два языка программирования одновременно?

    Adamos
    @Adamos
    Дурость это.
    Для того, чтобы реально овладеть языком (что иностранным, что программирования - неважно, мозг осваивает их похожим образом) - нужно погрузиться в язык и начать на нем думать.
    Переключаясь на другой язык, ты сам себе мешаешь, ломая формирующийся в голове контекст.

    А задавая вот такие дурацкие вопросы на Тостере вместо того, чтобы сесть и учить - не выучишь ничего вообще.
    Ответ написан
    Комментировать
  • Чем обусловлены различия в работе со строками и другими массивами?

    mayton2019
    @mayton2019
    Bigdata Engineer
    И ещё хотелось бы понять, почему каждый такой указатель является константой?


    Это - тяжелое наследие старых систем. В данном примере ты разбираешся с ASCIIZ-строками. С массивами символов которые завершаются нулем. Такая организация позволяет хранить строки компактно. Маркер const защищает строку от случайного изменения. И правильно делает. От этого больше проблем. Тот формат и тот способ хранения строки вообще не предполагает активных изменений. Особенно с размером. Максимум что можно делать - только читать.

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

    Для С++ более удобной строкой является std::string. Его использовать приятнее. И с размерами там веселее.
    В легаси исходниках можно встретить причудливые CString (MFC), TString (Borland). Это все разные реализации строк.

    Для Qt есть тоже свой тип строк.
    Ответ написан
    Комментировать
  • Стоит ли читать книгу Шилдта по С#?

    AgentSmith
    @AgentSmith
    Это мой правильный ответ на твой вопрос
    Нет, metanit - это днище.
    Читай базовые книги. Шилдта, Джона Скита, Albahari, Эндрю Троэлсена, Роберта Мартина, Joseph Albahar
    Ответ написан
    1 комментарий
  • Как перенести печатную плату с радиоэлементами на принципиальную схему?

    @nehrung
    Не забывайте кликать кнопку "Отметить решением"!
    То, чем вы собрались заниматься - весьма трудоёмкое занятие, и требует хорошего зрения, а также большого терпения и усидчивости. Мне пришлось немало заниматься этим сразу по окончании ВУЗа, когда конторе, куда меня распределили, было поручено сделать точную копию "цельнотянутого" с выставки немецкого станка.
    Ваш БП - хороший объект для освоения методики и приобретения навыков, поскольку он достаточно простой. Если вам придётся делать это с 2-сторонней платой, содержащей SMD-элементы, вот тогда вы взвоете по-настоящему, и там будет не обойтись без мультиметра с функцией прозвонки. А если такая плата будет вдобавок ещё и многослойная... ну, тогда вообще швах, на такое можно соглашаться только под угрозой смерти.
    Судя по последнему фото, начали вы правильно, но на первом шаге следить за размещением компонентов на листе бумаги и рисовать линии под 90 градусов ни к чему. На этом шаге рисуйте как бог на душу положит, под любыми углами, ставя линии хоть наперекрест, но обязательно следите за точностью связей - каждый электрический контакт линий между собой должен отмечаться крупной точкой (как принято на принципиальных схемах). Располагать элементы на первом шаге можно на любом свободном месте листа - главное, чтобы их выводы были продлены куда надо и их подключение фиксировалось крупными, хорошо заметными точками (впрочем, если вывод идёт в единственное место без разветвления, точка не нужна). Удобочитаемость схемы на первом шаге не требуется или необязательна, точность по отношению к исходному оригиналу - обязательна.
    Получив путаную схему первого шага, в точности которой вы уверены, приступайте ко второму - глядя на эту путанку, перерисуйте её так, чтобы стал понятнее её принцип работы (смотреть на само изделие при этом уже не обязательно - ведь в точности схемы первого шага вы уверены, верно?). Почти наверняка с первой попытки это не получится, поэтому после второго шага приступайте к третьему - расставляйте элементы на листе ещё удобнее и читабельнее. При этом не возбраняется пользоваться стирательной резинкой. После нескольких таких шагов у вас начнёт получаться нечто похожее на схемы, нарисованные профессионалами.
    А последним шагом может быть перенос рукописной карандашной схемы в комп с помошью любого схемного редактора (впрочем, редактор лучше выбрать такой, который поддерживает обозначения элементов по российскому ГОСТу).
    Ответ написан
  • Game dev/mobile в России. Как стать разработчиком?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Не знаю насчет россии. Но я-бы шел сразу в корпорацию. Любой ценой. На позицию подмастерья. Менти. Или самого младшего джуна. Через пол-года резюме улучшается и уже можно быть твердым джуном. И подыскивать новое место. Зарабатывать одному - утопия. Нужно быть адски продуктивным чтобы покрыть риски этого нестабильного рынка работ. Тоесть фактически работать 2х или 3х больше чтобы кушать. Нужно очень много коммуницировать с опытными. Звучит неприяно - но надо им ездить по ушам. Сначала вас буду гнать и ругать. Но это не имеет значения. Запоминайте все. Каждое слово старшего в команде разработки во много раз ценнее форумов или онлайн тренингов. Тренинги - это седьмая вода на киселе. Они продают не то что вам надо. А то что надо - только в той корпорации где вы сидите. Я-бы отдал больше денег за 1 час беседы с экспертов чем за 30 дней каких-то курсов. Курсы вообще редко дают то что нужно. Они уже давно стали просто индустрией заработка.

    Готовые проекты выкладывайте в публичный доступ. В них пока нет никакой ценности. Не бойтесь что украдут. Современный опенсорц - это кладбище ненужного никому кода. Код вообще не важен. А важна всегда идея + человек который ее знает и может развивать.
    Ответ написан
    Комментировать
  • Необходимая база для входа в Embedded?

    @Alexey_Volchanskiy
    Работал в embedded с 1999 по 2010. В то время был хорошим электроником, разрабатывал схемы с МК, сам и проги писал. С достаточно, понимание С++ желательно, так как были варианты, когда с Майкрософт присылали исходники аудиокодеков на С++, хотя конечно возможности плюсов использовались по минимуму. Но надо было все это переложить на Си для дохлого встроенного проца. А так у меня в стеке C, C++, C#, Matlab для моделирования нейронок и DSP и всякая мелочь типа питончика и иже с ним.
    Embeded в России плох тем, что очень мало вакансий и они низкооплачиваемые, так что по карьере не советую, жена потом уйдет )).
    Ответ написан
    1 комментарий
  • Как считать данные с COM порта в C++?

    @predbannikov_yurij
    Boost asio ещё не упомянули
    Ответ написан
    Комментировать
  • Как считать данные с COM порта в C++?

    @xibir
    В qt есть класс QSerialPort для работы с портом
    Ответ написан
    Комментировать