| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Развитие С/С++ программиста |
| Автор: BrAgOl 12.2.2013, 15:42 |
| Год проработал в НИИ Си программистом с микроконтроллерами серии 8051 (писал давно об этом на форуме), сейчас сложилось так, что 2++ месяца буду на отпуске, т.е. море свободного времени, которое хотелось бы провести с пользой для себя. Нравится мне и то и то, причем примерно в равной степени, поэтому хотелось бы услышать мнение разных людей о перспективах в будущем. В каком направлении развивались бы Вы, продолжили бы освоение низкоуровневого программирования на боле сложных архитектурах или же перспективней погрузиться в С++ с дальнейшим переходом на Qt5, который заточен под различные, как встраиваемые, так и десктопные системы или же может можно сразу взяться за Qt, так как знания базовые есть? Приму любые советы. |
| Автор: NoviceF 12.2.2013, 17:05 |
| По-моему это от склада личности зависит.. При слове микроконтроллеры, у меня возникает образ бородатого дядьки с сигаретой, на фоне осциллографа, включённого паяльника и прочих околожелезных образов C++ всё-таки, на взгляд, предоставляет на порядок более широкие возможности. Но опыта у меня нет, так что это всё просто мысли в слух |
| Автор: Dem_max 12.2.2013, 17:46 |
| У тебя в опроснике примерно 2 таких выбора: Кем не пойти работать: 1. Водитель го вновозки. 2. Преподавателем филологии. Даже не знаю что и выбрать. |
| Автор: drug007 12.2.2013, 17:49 |
| Я бы выбрал мир микроконтроллеров. Там у С конкурентов нет и знания нужны серьезные - потребность в достойных специалистах этого профиля будет еще долго. Если не будет увеличиваться. В то время как С++ уже давно пытаются потеснить другие языки. У них это не очень, но получается и тенденция усиливается. И выходит, что начиная проект на МК практически никто не спорит о выборе языка. А вот проект для больших машин может застопориться еще на этапе выбора языка. Если другими словами - и в той, и в той области нужно обладать специфическими и глубокими знаниями, т.е. по сложности/крутости они равнозначны в общем. Но в случае с МК сложность оправдана, т.к. альтернативы нет. А в случае с плюсами - у них уже есть много альтернатив. Пусть они и не дотягивают до плюсов, но они есть и поэтому вам, пусть и высокому специалисту, могут предпочесть менее оплачиваемого специалиста владеющего другим языком. Добавлено через 1 минуту и 47 секунд Это МК-то ###возка, а плюсы по сравнению с ними филологи??! Вы с МК сталкивались, нет? Или я неправильно понял? |
| Автор: BrAgOl 12.2.2013, 17:54 | ||
Сарказм это классно, интересно было бы услышать продиктована такая трактовка моего опроса)? |
| Автор: drug007 12.2.2013, 20:24 |
я не ТС, но мне тоже не понятна такая формулировка - тут не просто два диаметрально противоположных вектора развития одного и того же (вы хитрите), а два полюса - один явно негативный, а другой явно позитивный. С чем просто невозможно согласиться. |
| Автор: NoviceF 12.2.2013, 20:40 | ||
Ну каждый хвалит своё ботоло.. на этом форуме c++ программистов на порядок больше.. я бы сказал подавляющее большинство.. даже не припомню, кто кодит на чистом Си, поэтому можно смело ванговать результаты опроса. Слышал ядро линукс пишут на чистом Си и c++ кодеров там не любят.. если опрос сделать у них, думаю результаты будут как раз противоположные. |
| Автор: mes 12.2.2013, 21:25 | ||
и есть вполне понятные причины этому.. Абстракции С++ не ровно ложаться на модель ядра Но в данной теме идет не сравнение языков, а о том, стоит ли дальше "возиться с паяльником" и собирать конструктор, связывая его кодом, или ж "забыть об архитерктуре", и взять в руко перо, творя новую поэзией конструкцию из слов И то и другое может быть как искусством, так и ширпотребом, и тянет за собой еще кучу вопросов... поэтому кроме субьективного мнения, вряд ли чем можно ответить на поставленный вопрос.. Хотя можно попытаться догадаться, что нужно автору и ответить на это |
| Автор: BrAgOl 12.2.2013, 22:31 | ||
А меня субъективное мнение и интересует как раз, поэтому хотелось бы услышать как можно больших аргументов, почему тот или иной человек, поставив себя на мое место поступил бы так, а не иначе, я в свое время уже совершил много ошибок, вовремя не послушав более опытных, больше не хочу, поэтому и прошу совет, далее проанализирую все дельные советы подумаю сам еще раз и приму решение. ЗЫ Кстати с паяльником я как раз не вожусь, это делают дедки инженеры, потом я с ними обсуждаю ТЗ, не вдаваясь глубоко в подробности и пишу программу, которую потом тестируем на приборе, если возникают вопросы, то советуюсь и мне более детально объясняют, что к чему, конечно было бы классно разобраться в схемотехнике, но это в будущем. Например последнее, что я сделал это написал программу для зарядного устройства измерительного прибора. В будущем будет стоять более интересная и достаточно сложная задача, это освоение незнакомого мне МК и написание программы, обслуживающей дисплей, клавиатуру, ввод и вывод информации с прибора на дисплей и т.д. Но паяльником я этого измерительного прибора не касаюсь. |
| Автор: mes 12.2.2013, 23:11 | ||||
ну значит у Вас что то посредине, но это не отменяет выше сказанного имхо, тут мало "радиолюбителей" так что перекос будет в определенную сторону, о чем выше уже предупреждали ) дело не в самом паяльники, а в компонентах, которыми Вы оперируете, в одном случае это низкоуровневое hardware, а в другом софтвейрный интерфейс.. в одном случае должны постораться максимально приблизится к архитектуре, в другом как можно сильнее абстрагироваться от нее.. Добавлено через 2 минуты и 8 секунд
тогда советую пересмотреть постановку вопроса.. ибо она оудерживает от ответа, в следствии своей размытости и неопределенности ответа.. книжки писать никому неохота.. а одной двумя фразами тут не отделаешься |
| Автор: borisbn 13.2.2013, 07:02 |
| > так как знания базовые есть Знание Си != знание Си++. ("Знание" можно сократить))) Си - довольно простой язык (правда его грамотное использование не так просто). Си++ - один из самых сложных. В общем, соглашусь с вышесказанным - Вы пытаетесь сравнить быстрое и сладкое. Если, всё же, попытаться ответить на Ваш вопрос - а как бы Вы поступили - то я бы однозначно развивался бы в обоих направлениях. За исключением того, что для десктопа я бы выбрал какой-нибудь другой язык. Например до-диез или жабу. Кстати говоря, цена специалиста в двух областях не всегда, но часто выше. |
| Автор: Alexeis 13.2.2013, 13:27 |
| BrAgOl, первое. 2е ИМХО тупиковая ветвь. P.S. совмещаю по работе 1е и 2е, но 1е выглядит вполне стройно логично, а 2е неразумный расход рабочего времени. Присоединяйтесь к обсуждению |
| Автор: xvr 13.2.2013, 13:42 |
| Варианты выбора не являются взаимоисключающими. Вполне можно двигаться в обоих направлениях и даже дальше, чем указанно в опроснике Скажу на личном опыте - по основной специальности я программист С/С++ (с ориентацией на системное программирование) Однако вполне владею и смежными областями - Windows/Linux/eCos Прикладное ПО/драйвера/части ядра ОС МК (PIC/ARM)/FPGA (Xilinx Spartan 3/Virtex 6) Perl/JavaScript/ActionScript/C/C++/Verilog И с паяльником дружу (включая разработку схем с 0/разводку/изготовление/отладку) |
| Автор: BrAgOl 13.2.2013, 13:58 | ||
Конечно они не являются взаимоисключающими, скажу даже больше, надо знать максимально много, но мой скромный опыт не дает мне возможности сегодня распыляться, в течение года судя по всему придется сменить работу, потому что наука у нас на чистом энтузиазме держится и НИИ разваливаются потихоньку, мой не исключение, а заниматься там перекладыванием бумажек за 22 тысячи нет желания никакого. |
| Автор: xvr 13.2.2013, 14:09 |
Тогда изучайте ООП. Можно на основе С++, но изучать надо именно ООП, а не закорючки конкретного языка. Можно и на С++ писать в обычном функциональном стиле, даже напихав в программу массу классов В Qt и boost лучше пока не лезть - это отдельные и очень большие вещи. Сначала стоит овладеть основами. |
| Автор: fish9370 15.2.2013, 10:35 | ||
не верный, на мой взгляд вопрос, твои знания на вес золота (я о Си и микроконтроллерах), перспективы огромны - микроконтроллеры это будущее.. робототехника, умный дом, управление автомобилями.. да куда угодно можно прикрутить микроконтроллер.. но чего тебе по настоящему не хватает, это управление этим кодом.. т.е. то что твой микроконтроллер управляет домом, это прекрасно, но пока ты не можешь создать по-настоящему умный ИИ, тебе придется создавать пользовательский интерфейс.. совет номер один: изучи скриптовый язык (например PHP, он очень близок к Си, тебе не составит труда в него войти (конечно все надо делать правильно, и на это уйдет время) совет номер два: изучи андроид (создавай нативный код для мобильной платформы) совет номер три: изучай другие микроконтроллеры, на одном МК 8051 далеко не уедешь.. совет номер четыре: не работай в одиночку, создавай код, выкладывай на github/sourceforge ищи сподвижников (низкоуровневое программирование в одиночку не делается) совет номер пять: используй библиотеки (намек на Linux, огромное количество библиотек на все случаи жизни, естественно в открытом коде, просто рай для разработчика) PS. если ты хочешь писать под Windows - я не знаю чем тебе помочь |
| Автор: kemiisto 15.2.2013, 10:47 |
Более того, их ещё и недостаточно! |
| Автор: BrAgOl 15.2.2013, 15:49 | ||
Только что-то мне подсказывает это будущее в РФ довольно туманно, до умных домов и автопилотируемых машин нам пока очень далеко... Мне кажется разработка программ под МК и разработка компьютерных приложений управляющих моей логикой это задача разных программистов, конечно ценнее будет тот, кто и под МК прогу напишет и под ПК с точки зрения капитализма, но в идеале это должны быть разные люди. Кстати ИИ для умного дома мне кажется не нужен, датчики вполне справятся с этой работой, но это так офтоп.. Твой совет по делу и ценный, но очередность я бы поменял и не все ясно. Зачем PHP, если для увеличения мой ценности, как специалиста, то понятно, если для применения его в области МК, то не совсем понятно зачем он там нужен. В пункте про дроид речь про Android NDK идет или про более низкоуровневое программирование МК и МП, используемых в мобильных устройствах? Если второе, то этот пункт можно объединить с 3-им. Если же речь идет про создание мобильных приложений, то опять это совершенно разные области мне кажется. В общем если не трудно поясни некоторые пункты, буду благодарен. ЗЫ о каких библиотеках речь идет, покапаю на досуге? |
| Автор: bsa 15.2.2013, 23:30 |
| BrAgOl, недавно узнал, что в Москве очень сложно найти свободного программиста на С/С++. Все больше PHP да .Net с Delphi. А там где спрос, превышает предложение... |
| Автор: fish9370 16.2.2013, 10:52 | ||||
датчики это глаза, принимать решение должен мозг.. ну это офтоп..
почему я предлагаю PHP (не тот PHP, о котором говорит bsa)? - очень часто твою систему нужно увязать с чем-то еще, биллинг, астериск, почтовик, ИИ (если хочешь) или со всем сразу.. можно стараться сделать все на С++ или на Си, но это очень сложная и кропотливая работа, требующая много времени на разработку, отладку и тестирование.. намного эффективнее сделать основные компоненты (которые действительно требуют скорости - демоны (можно было бы и демона на PHP, но у него память подтекает и в конечном итоге он падает), модули ядра) на Си, а внешнюю логику вынести в скрипты.. я просто напомню, множество программ имеющих колоссальную популярность позволяют выносить свою логику во вне, опять же asterisk (да, я специализируюсь на Астере), freeRadius и другие.. что касается андроида, я имел ввиду обычное джава-приложение под андроид, с нейтивом действительно тебе возиться, наверно, не стоит (хотя если есть желание).. высокоуровневые языки очень часто нужны, чтобы быстро опробовать новые возможности (GUI очень часто может понадобится тебе самому), я уже не говорю о автоматизации каких-то процессов (сборки, тестов и др.) - это и так очевидно.. почему я именно это предложил, - я думал ты хочешь расширить свой кругозор, действительно расширить, взглянуть на все это сверху.. если ты программируешь исключительно контроллеры и именно это тебе интересно, думаю, тоже займешь свою нишу - воспользуйся советом номер 3, 4 и мне бы хотелось верить, что и 5 |