Инженер-программист, микроконтроллеры, RTOS, встраиваемые системы, FPGA.

Достижения

Все достижения (6)

Наибольший вклад в теги

Все теги (53)

Лучшие ответы пользователя

Все ответы (120)
  • Как создавалась заставка с трубами на Windows 98?

    32bit_me
    @32bit_me
    Программист, встраиваемые системы
    Трубы не пересекаются. В старых SDK OpenGL есть исходник этого скринсейвера, можно его найти, если любопытно.
    Ответ написан
  • Как ускорить работу программисту?

    32bit_me
    @32bit_me
    Программист, встраиваемые системы
    А зачем?
    Я решаю одну задачу второй год, и меня это абсолютно не беспокоит.
    Ответ написан
  • Какие самые нужные, общие знания в программной инженерии и embedded разработке?

    32bit_me
    @32bit_me
    Программист, встраиваемые системы
    Я занимаюсь эмбеддед-разработкой очень много лет (лет 20 примерно), и если я мог бы выбирать сейчас, я бы выбрал просто программирование. По одной простой причине - больше платят. Раньше я разрабатывал и железо, и схемы, и платы, и вообще делал всё, вплоть до испытаний и документации, но уже много лет я всем этим не занимаюсь, а занимаюсь только кодингом, по той же причине - больше платят.
    В целом, если вы хотите именно в эмбеддинг, начните с микроконтроллеров семейства Stm32, купите недорогую плату Discovery или Nucleo и разбирайтесь. Также необходимо будет знать основы схемотехники. Даже если вы не будете сами разрабатывать схемы, всё равно придётся разбираться с готовыми схемами, и нужно будет полностью понимать, как что работает. Уметь держать паяльник и работать с осциллографом также будет большим плюсом.
    Потом можно будет освоить FPGA и язык Verilog, но это очень на любителя и только при большом желании, потому что с зарплатами тут вообще печаль.
    И да, английский нужен обязательно, без вариантов. Чтение технического текста свободно, быстро и без словаря - в любом случае, разговорный - только для международных компаний или при работе на иностранного заказчика, но это как раз самое вкусное. Так что английский нужен.
    А так, программирование, оно и есть программирование. Языки: С - чаще всего, С++ - иногда, С# и другие - для "верхнего уровня", но тоже не помешают. Алгоритмы могут спросить на собесе, но сильно их заучивать не стоит. Более важен практический опыт, чем теория. Операционные системы - для верхнего уровня - Windows, Linux, для нижнего - различные РТОС или "голое железо". В мощных железках - Linux, так что с ним лучше дружить очень хорошо.
    Ответ написан
  • В чём отличие между char* и char[]?

    32bit_me
    @32bit_me
    Программист, встраиваемые системы
    Разница в том, что в первом случае компилятор видит, что строковые литералы одинаковы, и генерирует только одну строку, и присваивает str1 и str2 указатели на неё. Во втором случае он не может так сделать, потому что массивы не константны, и в дальнейшем могут изменяться независимо. Поэтому указатели разные.
    Однако в общем случае поведение такого кода полностью зависит от реализации компилятора и от опций, поэтому лучше так не делать вообще. Clang пишет: array comparsion always evaluates to false.
    Ответ написан
  • Чему нужно учиться?

    32bit_me
    @32bit_me
    Программист, встраиваемые системы
    военным программистом

    Кто и на каких языках разрабатывает ПО для ракет и отрасли в целом?


    Я не сильно разбираюсь в военных специальностях, но, как мне кажется, такой специальности, как "военный программист" не существует.

    Возможно, вы удивитесь, но ПО для ракет, как и сами ракеты, разрабатывают совсем не военные, а просто обычные инженеры, многие из которых (хотя кого я обманываю — подавляющее большинство) даже не служили в армии. ПО для бортовой ЭВМ в основном разрабатывают на С, разное сопутствующее ПО для ПК - на разных языках, кто во что горазд, здесь нет стандартов. Delphi, C#, что угодно.

    Поэтому можно поступить в любой технический ВУЗ, имеющий соответствующие специальности.

    Но хочу сразу предупредить, работа в подобных учреждениях довольно специфична и не всем нравится. Хотя имеет и свои плюсы, молодой специалист может многому научиться и поучавствовать в серьёзных проектах, и быстро дорасти до ведущего инженера. Минусы — специфика, связанная с секретностью, бюрократия (не всех касается, конечно), и небольшие зарплаты. Но для начала карьеры это может быть неплохой вариант.

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

Лучшие вопросы пользователя

Все вопросы (9)