All streams
Search
Write a publication
Pull to refresh
33
0.1
Михайлов Алексей Анатольевич @MinimumLaw

Linux Kernel, Bare metal, Embedded developer

Send message
Да нет презрения. Есть объективная оценка.

Впрочем, было время когда матерые ассемблерщики (почти вымерший класс разработчиков) примерно также ругались на C. Впрочем, они прекрасно понимали, что указатель на указатель указателя по указателю — это не «и ты умер», а осознанная необходимость. Более того, по другому и нельзя. Совсем.

Я смотрел описание Rust. Он пойдет для низкоуровневых системных утилит (grep, ls, и иже с ними) и сетевых сервисов, но не пойдет для голого железа. Тут за безопасность придется заплатить недопустимо большую цену. И никакой закон Мура не поможет.
Хорошее и правильное замечание. Одна беда — рынка нет. Он только-только зарождается. И для его зарождения необходимо работать там, где ПО не основной продукт. Впрочем, в терминах данной статьи делать этого как раз не стоит. Опять — личный выбор каждого.
У меня есть основная работа, и халтура. Меня там на постоянку давно зовут. В деньгах не потеряю. В крайнем случае уйду строго в микроконтроллеры. Там та же ситуация — людей, которые берутся много, которые пишут — мало, которые еще и сопровождаю написанное — нет вообще. Так что если и потеряю финансово, то без крошки хлеба семью не оставлю.
Ух как Вы перевираете мои высказывания. Впрочем, сам виноват.

Наверняка большая часть вопросов решается своими силами. Да и нет ничего плохого в обращении за консультацией к человеку «в теме». Будем считать, что я ошибку признал.
Не ожидала ответа от автора. Тем более такого. Ладно, давайте попробуем поговорить…

Начнем со «своего опыта». Да, каждому свое. Но беда этой и ей подобной статей — это безапеляционный тон, не допускающий другого подхода. Если бы не он, то и моего комментария бы не было.

Далее по языкам. Язык — это средство. Глупо строить лазерную установку для того чтобы вырыть яму. До некоторого времени я алгоритмы на BASIC'е обкатывал. До какого-то уровня знаю и популярные варианты — python, perl, php. Но, если честно, я от них не в восторге. Наверное, это профессиональная деформация, выражающаяся в том, что язык, не способный сгенерировать код, работающий на голом железе… ну Вы, думаю, поняли.

И деньги. Еще раз — развиваться надо морально и технически. А финансы подтянутся. Их всегда будет не хватать, но… Просто помним про пирамиду Маслоу.
Почему вброс? Это не вброс — это просто другой путь.

Жизнь — она штука сложная. А людей живущих такой жизнью, которую пропагандирует эта статья я знаю. Они регулярно ко мне за советом и разъяснениями обращаются. Если в гугле не найти, то сразу ко мне. А дальше — личный выбор каждого.

И я просто не хочу, чтоб альтернативы убирали. Мне очень понравилась фраза из фильма «Последний самурай». Цитирую по памяти, потому могу ошибаться «Каждый день они делают одну и ту же работу, пока не достигнут совершенства». По мне именно это — путь настоящего мастера. А деньги… Мастер без них не останется, но даже самому богатому богачу их всегда будет не хватать.
Да, одно время даже JAVA процессоры пытались выпускать (как и LISP к слову). От них правда осталась разве что JAVA card в смарткартах — очень нишевое решение. Но попытки были…
Вот уже 20 лет я работаю в (около)гос-конторе, основным заказчиком которой являются военные, и программное обеспечение для которой не является основным источником дохода. На собеседования последний раз ходил лет 10 назад. Актуальные стеки не знаю (мои уровень сильно ниже актуальных стеков — либо голое железо, либо стык железа и операционной системы). Разве что слышал, что мой основной язык © теперь пытается подвинуть какой-то Rust. Ладно, пусть становится в очередь. К паскалю, яве, и прочим. Не до него сейчас. И да, бентли у меня нет, и $4000 я не получаю, но жена и дети сыты, одеты, обуты. На море ездили.
Как же оказывается неправильно я живу.
Для начала — удачи вам. Уровень ностальгии шкалит. Вот и после этого вспомнилось, как вбивали программу для РК (Микроши, но не суть) в виде дампа из журнала радио.

Я готов попробовать повторить процесс создания и отладки, но есть проблема. Нет у меня гаража с валяющимся без дела ПК. Да и уровень радиомонтажа у меня не очень. Когда у друга был Микроша меня с паяльником до него не допускали (мал еще), а сейчас я и сам не берусь ибо уже довольно давно переквалифицировался в низкоуровневые программисты. В промежутке был довольно длительный период схемотехника, одновременно монтажника и программиста. Так что если что — пишите я готов. Вы ведь, судя по сайту, тоже из Питера.
Да… Не, а не король, не собственник, и подавно не программист из этой серии статей. На пророка похож. Отношением и стилем поведения. Разве что возраст подкачал. Лет на двадцать.

Но увы, увы, увы. Не получится пророкам даже раны зализать «в промежутках». Ресурсы и грамотное их распределение — все же архи важная часть. А каким бы умным и знающим пророк не был, он все равно видит ограниченный сектор. Да, этот сектор он знает отлично, но сектор не есть все предприятие. Потому грамотные управленцы, по сути «эффективные менеджеры» без кавычек — ни чуть не менее важная часть, чем пророки.

Я, почему-то, уверен что автор это прекрасно понимает. А вот отметить в тексте почему-то не решился. Интересно почему. Очень хотелось показать что именно он тот самый стержень, на котором все крутится? Так гордыня — страшный грех. И чем по сути он будет отличаться от тех же «менеджеров», кроме меньшей зарплаты?

Но в целом грустно все. Просто потому что понимаешь — так везде. Просто везде. И да, аккаунт не позволяет плюсануть статью. Она того заслуживает, даже не смотря на замечания.
Я вынужден напомнить — я подбираю не прикладных программистов. Им эти вопросы в принципе не нужны. Хотя, мое мнение, и им неплохо бы иметь представление о том на чем работает их программа. Я набираю системщиков, авторов прошивок встраиваемых систем и драйверов. А тут все совсем по другому. Задача решается методом сверху вниз, а проблемы обнаруживаются и решаются методом снизу вверх. И таким образом тактовый генератор первым оказывается под подозрением. Сразу после питания, конечно. И кода это тоже касается.

P.S.
И да, запорный кирпич в арке важен — без него арки не будет. Но и без фундамента тоже. Еще раз — ценен не ответ. Ценен ход мысли.
Какой кирпич в стене самый важный (или самый главный — в данном случае не принципиально)? По-моему вполне очевидно тот, после удаления которого стена развалится. Разве нет? Конечно, стена ценна как монолит и каждый кирпич важен. Кто ж спорит. Но умение видеть «главный кирпич», т.е. узкие и особо ответственные места, что в коде, что в железе — очень полезно.
Т.е. Вы считаете, чт люби, идущие на должность системных программистов не должны уметь находить узлы с минимальными внешними зависимостями? Впрочем, я уже писал — я подумаю над тем как переформулировать вопрос. И еще раз — важен не конкретный ответ (особенно если его нет), а ход размышления. Или умение грамотно обосновать свои ответ. А не просто «мне так кажется».

Я бы взял вас. Испытательной работой была бы одна из отложенных задач.
Возможно, Вы и очень хороший программист, но умение находить и вычленять похожее в разных сущностях — тот навык, который Вам однозначно стоит прокачать.

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

Значит микрокод для Вас — черный ящик. А как быть с контроллерами, в котором его либо нет совсем, либо он жёстко фиксирован? Что до измения указателя команд командами переходов и вызовов, то далеко не каждая команда является таковой. И, соответственно, далеко не каждая изменяет этот регистр напрямую. Подавляющее большинство команд позволяет ему быть инкрементированным именно сигналами тактовой частоты.
На самом деле предлагаю завязывать с оффтопиком. Хотя, конечно, интересно. Формат ответа на комментарий, который должен быть кратким, заставляет формулировать мысль предельно сжато. Увы, временами получается сильно в ущерб сути.
Но, пожалуй, стоит согласиться с тем, что мой любимый вопрос может оказаться не совсем корректным. Это надо учесть. Второй вопрос, как правило, звучит так: "расскажите, что происходит с процессором сразу после снятия сигнала сброса, если все питания, такты и прочее наличествует". Думаю, что тут претензий не будет.

Знаете, а Вы усложняете.

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

Ну, а тот факт, что генератор внешний совсем не сказывается на его важности с точки зрения процессора. Если на то пошло, то тогда и питание как ответ рассматривать нельзя. Уж оно-то абсолютно точно внешнее.
УКНЦ «Е-97»


А я на нем (железном) постигал азы программирования и сетей связи. Для своего времени был просто отличный комплекс. Совершенно заслуженно носивший имя «Учебный Класс — Научный Центр». До массового распространения интернета оставалось еще как минимум пять лет, а об аналоге встроенного монитора-отладчика мог только мечтать начинавший набирать популярность спектрум.
Про питание — абсолютно верно. А вот остальное — под большим вопросом. Увы, полностью асинхронные процессоры мне неизвестны. Даже как «сферический конь в вакууме». И даже самый простой процессор не будет жить без тактирования. Примерно тоже и про второй вариант. Кстати, был бы рад наглядному примеру такого процессора.
Потому что обе названных вами подсистемы зависят от тактирования. Сброс в меньшей степени и не везде. Но он и не работает непрерывно. А уж декодер точно не будет жить без системы тактирования. Главнее только питание. Его, кстати, эпизодически называют. Правда, следом за ним почему-то ставят конвейеры команд.

Впрочем, если бы Вы сказали система сброса — мы бы сработались.

Information

Rating
3,143-rd
Location
Пушкин, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity

Specialization

Embedded Software Engineer, Software Architect
Senior
From 350,000 ₽