Несколько лет назад довелось мне попробовать свои силы в заманивании пытливых отроков в разработку микроэлектроники. А дальше было, как в известной пословице: «Коготок увяз — птичке пропасть!» Остановиться уже не смог. Хочу поделиться с общественностью этим опытом, возможно, другие инженеры-электронщики тоже захотят устроить что-то подобное. Грамотнее народ – лучше жизнь.

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

image

А дальше после подобного занятия со школьниками и преподавателями уже в лагере Goto Camp возникла идея дать попробовать детям самим собрать на макетке разнообразные «запчасти» для процессоров и пощупать их вживую. Благо в лагере среди разнообразных программистов было и логово робототехников, у которых можно было разжиться микросхемами, проводами, светодиодами и кнопками. Такой подход в тысячу раз лучше, чем разглядывать схемы и диаграммы на бумаге. Увидеть своими глазами, как нолики и единицы бегают внутри схемы, потыкать в логические вентили пальцем — что может быть надежнее для освоения материала. А то они программируют свои микроконтроллеры, как черные ящики, вообще не представляя, что у тех внутри шуршит. И даже ПЛИСы не решат задачу сделать электронику наглядной. Ну, написал ребенок на Verilog'е логическую функцию, ну, закачал ее через программатор внутрь — результат тот же, вся логика скрыта в недрах микросхемы. Поэтому — только вентили. А еще лучше — транзисторы.

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

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

В лагере был устроен опрос, есть ли желающие посетить уже не лекцию, а семинар с лабораторкой на тему работы внутренностей цифровых чипов. Нашлась дюжина отважных пятнадцатилетних, которым не страшно было попробовать понять материал, который, между прочим, на третьем курсе института обычно рассказывают. Сразу было ясно, что из изложения надо к черту исключить ТТЛ, ЭСЛ и прочие замшелые типы логики, которыми профессура конопатит мозг студням. Только КМОП, только мейнстрим! На свой страх и риск включил туда объяснения принципов работы МОП-транзисторов в цифровых схемах. Но без физики полупроводников и прочих ужасов.

Здесь лирическое отступление в адрес тех, кто ругает современную молодежь за лень и глупость. Пусть они не бухтят, вот что. Нормальная у нас молодежь, не слушайте старых ворчунов, парни и девчонки. Лирическое отступление окончено.

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

После этого дети задали много вопросов по электронике. На них мне, к счастью, хватило квалификации ответить. Кроме одного: «А где почитать про то, что вы рассказывали?» А ведь и негде. Старые советские книжки, по которым мы паяли свои цветомузыки и радиоприемники, устарели с точки зрения «цифры». Институтские буквари своими формулами отобьют всякое желание изучать электронику. Есть прекрасная книжка Харрисов, но там нет экспериментов на макетке. Есть отличные наборы компонентов с макетками, но там обычно нет подробных объяснений, как все эти устройства работают. Опять пришлось уезжать с чувством, как будто что-то не доделал.

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

Вот, например, игра «кто быстрее» на двух МОП-транзисторах:

image

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

А вот это — вентиль XOR (исключающее ИЛИ) на дюжине транзисторов:

image

А вот это D-триггер, срабатывающий по уровню (триггер-защелка). На нем прекрасно отрабатываются идеи запоминания и хранения данных:

image

Разобравшись с работой всех видов логических вентилей на транзисторном уровне, можно перейти уже к микросхемам малой степени интеграции серии CD4000. Никаких чудес и магии в их работе уже не будет после возни с транзисторами на макетке. Вот, например, полный сумматор:

image

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

image

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

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

Комментарии (184)


  1. tehnolog
    23.03.2019 23:31
    +2

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


    1. pgkirich Автор
      24.03.2019 00:23
      +3

      Пожалуйста: http://www.bhv.ru/books/book.php?id=201192


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


      1. Timka21213
        24.03.2019 02:22

        спасибо за книжку, уже используем!


        1. pgkirich Автор
          24.03.2019 11:19

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


          1. Timka21213
            24.03.2019 11:26

            Обязательно! Я бы предложил выложить цветные фотографии примеров из книжки — в черно-белом варианте картинки плохо читаются и отдельными файлами списки необходимых компонент: пришлось набивать их в Excel для заказа. Идеально — наборы с деталями для сборки (и тут есть много нюансов из практики). Есть возможность запустить в серию подобный конструктор? Нам здорово помогает Василий Зуйков (sotvorimvmeste.ru), но не у всех педагогов есть такая возможность. Не хотите зайти в гости к нам в АЦТ (http://adtspb.ru)?


            1. pgkirich Автор
              24.03.2019 11:34

              Насчет цветных фотографий: в книжке и на сайте издательства есть ссылка с бесплатным цветным ПДФом. Вот она: ftp.bhv.ru/9785977540100.zip

              Список деталей с артикулами из ЧИП и ДИП — вот он: yadi.sk/i/L9DZRGzA1C0TFg

              Наборы с деталями — лично я не заинтересован. Много возни, а выхлоп маленький.
              Будет сильно мешать основной работе, а я ее люблю и не хочу лишиться.

              За приглашение спасибо!


              1. Timka21213
                24.03.2019 11:40

                А как издательство отнесется к выпуску такого конструктора другой компанией?


                1. pgkirich Автор
                  24.03.2019 11:42

                  А вы у них напрямую и спросите, лично я отнесусь только положительно, но права-то у них.


              1. DmitrySpb79
                24.03.2019 16:41

                ftp.bhv.ru/9785977540100.zip
                Знакомый сайт :) Интересно, а BHV до сих пор платит авторам порядка 6% от сумм продаж?

                Я как-то работал с ними давным-давно, в итоге пришел к выводу что проще книгу самому написать и самому на бесплатный файлообменник выложить, возни меньше, а чтобы что-то реальное заработать, тиражи и объемы должны быть как у Донцовой.


                1. pgkirich Автор
                  25.03.2019 11:34

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


              1. YuriPanchul
                25.03.2019 01:19
                +1

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


                1. Timka21213
                  25.03.2019 09:32

                  Мы в школе используем расширенный набор микросхем от Киберфизики cyberphysics.ru/product/osnovy-elektroniki-nachalo про кототый на Хабре уже писали. Но он, к сожалению, сейчас недоступен для заказа. Поэтому работаем и с аналогами, см. сайт sotvorimvmeste.ru/viewforum.php?f=9


                1. pgkirich Автор
                  25.03.2019 12:12

                  Отличный, без шуток, набор для группы, которую снабжает сам организатор. У меня же фокус смещен на одиночек, занимающихся дома самостоятельно. Поэтому надо было оставить минимум миниморум компонентов, чтобы потянул даже скудный бюджет обычной российской семьи из глубинки. Из-за этого у меня нет ни мультиметров, ни большого набора рассыпухи. И изложение поэтому тоже максимально подробное, без расчета на то, что будет кому дообъяснить непонятое.
                  Если рядом будет преподаватель, разбирающийся в теме проектирования на вентилях и микросхемах средней степени интеграции, то он может и сам двинуть учеников дальше, чем в книжке материал дается. А вот на транзисторном уровне дать верное базовое понимание в состоянии далеко не каждый кружковод. Мне-то проще, я всю жизнь в заказном проектировании IP-блоков варюсь, транзисторы — мое родное :) Вот и поделился с общественностью знаниями таким образом.


                  1. Timka21213
                    25.03.2019 13:11

                    Здорово, когда знание идет вот так — из первых рук! А чем не нравится схемотехника вентилей на диодах? proiskra.ru/library/shemotehnika Дети в состоянии сами придумывать подобные схемы.


                    1. pgkirich Автор
                      25.03.2019 13:58

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


                      1. Timka21213
                        25.03.2019 14:02

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


                        1. pgkirich Автор
                          25.03.2019 14:24

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


                          1. Timka21213
                            25.03.2019 14:35

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


      1. tehnolog
        24.03.2019 08:41

        Спасибо. Обязательно посмотрю. Успехов в ваших начинаниях.


    1. amartology
      24.03.2019 01:07
      +4

      Практически все, что нужно для начинающих, есть на русском в прекрасном учебнике, известном как «Харрис и Харрис» аккуратно, по ссылке начнется скачивание pdf на 37 Мегабайт.


      1. x8core
        24.03.2019 12:34

        Ну, сомнительно. Считаю вот эта книга получше раскрывает тему для новичков. 1553.ru/lessons/uploaded/CODE_-_Charlz_Pettsold.pdf


        1. YuriPanchul
          25.03.2019 00:43

          А вы не могли бы написать развернутое, по пунктам, объяснение, почему вы считаете «Харрис и Харрис» «сомнительным», а Петзольда — нет?

          Вот что я написал пару лет назад в некоей переписке с обсуждением преподавания по Петзольду:

          Я посмотрел Петзольда. Все до двоичного сумматора можно использовать (причем сумматор построить из вентилей на верилоге), RS-триггеры можно сократить (оставить только D-триггер как черный ящик), петзольдовский процессор в принципе можно легко написать на верилоге (глава «автоматизация»), но я не уверен, что он существенно проще, чем одноцикловый процессор в H&H. Выбор 8080 и 6800 как процессоров для примера в главе 19 был сомнительный даже для 1988 или 2001 года, но сейчас более чем сомнителен (см. напр страницу 328 – ну зачем школьнику объяснять, почему есть mov b, [hl], но нет mov b, [de] – у этого нет никакой образовательной ценности). Исторические примеры на алголе и бейсике тоже стоит обновить, написать на чем-нибудь другом (не обязательно лучше, просто новее – C, Python, Go).
          .......
          Взял в библиотеке оригинал Петзольда и пролистал его внимательнее, чтобы проанализировать возможность его использования в качестве рекомендуемой литературы в курсе для школьников. Подтвердил вывод, что использовать его можно, но примерно наполовину. Дополнительные комментарии к предыдущему емейлу:

          1. Обнаружил интересный момент, которые ранее (не видя оригинала) полагал возможной ошибкой перевода. А именно: для хранения текущего состояния своего простейшего процессора («Глава 17 Автоматизация») Петзольд использует не D-триггеры (D-flip-flops), а защелки (latches). Я понимаю, почему он это делает – он все-таки не хардверный инженер, а знаменитый автор книг по программированию Windows, и смотрит на это высокоуровнево, и для него объяснить, что что-то защелкивается по уровню (level-triggered) – это интуитивно проще, чем по изменению уровня (edge-triggered). Я считаю, что вводить защелки в курс для детей неправильно. Лучше их пропустить и вводить D-триггеры, или упомянуть походу, при переходе от изложения SR-latches к изложению D-flip-flop. Дело в том, что защелки в современной практической жизни возникают либо в самом начале курса цифровой электроники, либо в редких асинхронных уголках сильно продвинутых дизайнов (и при gated clock), и показывать их детям как мейнстрим – это неправильно. Тем более что синтезатор Verilog-а при попытке создать latch генерирует warning или ошибку. При этом надо сказать, что Петзольдовский процессор можно без проблем переделать с использования защелок на использование D-триггеров, и если кто-нибудь захочет реализовать его на Verilog, это стоит делать именно так.

          2. При том, что реализация петзольдовского процессора на верилоге – это хорошее упражнение, но он не намного сложнее версии однотактного процессора в Harris & Harris – если выкинуть из процессора в H&H обмены с памятью данных (load/store) и оставить только регистровый файл. Тогда сложность одного и второго процессора уравнивается, и на них можно исполнять простые программы типа вычислений чисел Фибоначчи или взятие целочисленного квадратного корня итерациями. В принципе, в курсе можно сделать пример и первого и второго простого процессоров – если мы вообще хотим доводить курс до изготовления школьниками процессоров, а не решаем ограничить его простой проследовательностной логикой (счетчики и сдвиговые регистры) и конечными автоматами (улитка на ленте и светофор).

          3. Нашел ценную идею в «Глава 13 А как же вычитание?». А именно – реализовать вычисление отрицательной величины на сумматоре и инвертере (это можно сделать как на микросхемах малой интеграции, так и на ПЛИС). Просто исходя из формулы “–a == (~ a) + 1”. Это хорошее упражнение.

          4. Сумматор с последовательным переносом (ripple-carry adder) из главы «Глава 12 Двоичный сумматор» также стоит сделать как на логических микросхемах малой интеграции, так и на ПЛИС. Это полезное упражнение. Для особо талантливых школьников (типа победителей олимпиад) можно факультативно добавить сумматор с ускоренным групповым переносом (carry-lookahead adder), последовательностный сумматор (прибавляющий бит за битом каждый такт) и конвейерный сумматор – все на верилоге.

          5. Небольшое пояснение, почему использовать как примеры процессоры 8080 и 6800 неудачны для современных школьников. Про 8080 я уже сказал, скажу про 6800. Он представляет собой случай так называемой аккумуляторной архитектуры. Она имела смысл в до 1980-х годов, причем не только из-за ограниченных размеров, но и из-за того, что скорость арифметики была медленнее, чем скорость обмена с памятью. Процессоры такого типа трудно делать конвейерными (для этого лучше использовать register-rich load-store процессоры). Любые современные альтернативы – ARM, MIPS, AVR, которые появились после или в процессе RISC-революции 1980-х годов, в этом смысле лучше.

          Короткие комментарии по главам:

          Эти главы можно использовать в курсе по желанию преподавателя:

          Глава 1 Верные друзья… 1
          Глава 2 Коды и комбинации… 9
          Глава 3 Брайль и двоичные коды… 15
          Глава 4 Анатомия фонарика… 23
          Глава 5 Там, за поворотом… 35
          Глава 6 Телеграф и реле… 45
          Глава 7 Великолепная десятка… 53
          Глава 8 Альтернативы десяти .............................61
          Глава 9 За битом бит… 77
          Глава 10 Логика и переключатели… 99
          Глава 11 Вентили, которые не протекают… 119

          Эти главы полезны, и с ними стоит сделать дополнительные примеры на верилоге:

          Глава 12 Двоичный сумматор… 153
          Глава 13 А как же вычитание?… 169
          Глава 14 Обратная связь и триггеры… 185

          Можно по желанию:

          Глава 15 Байты и шестнадцатеричные числа… 215
          Глава 16 Сборка памяти… 229

          Если процессор из этой главы будет использован для примера, у него стоит как минимум поменять защелку на D-триггер. В качестве второго (или первого примера) добавить однотактовый MIPS без load-store:

          Глава 17 Автоматизация… 249
          Глава 18 От счетов к микросхемам… 289

          Если мы вообще будем включать в курс ассемблер, то его стоит взять ARM, MIPS, AVR, RISC/V, но не 8080 и 6800:

          Глава 19 Два классических микропроцессора… 321
          Глава 20 ASCII — символы нашего времени… 357

          Это нужно заменить на очень краткое обсуждение шин AXI (на чипе) и SPI/I2C/UART (между чипами).
          Глава 21 Под шорох шин… 377

          Я не уверен, что историю CP/M стоит рассказывать школьникам, хотя в 1978 году это было бы круто.
          Глава 22 Операционная система… 403

          По желанию преподавателя:

          Глава 23 Фиксированная точка,
          плавающая точка… 423

          Заменить Algol-60 на Python и Go:

          Глава 24 Языки высокие и низкие… 439

          По желанию преподавателя:

          Глава 25 Графическая революция… 459
          Предметный указатель… 486

          В принципе, можно сделать поддержку курса выжимками из Петзольда и выжимками из Харрис & Харрис. Будет немного лоскутно, но работоспособно.


          1. FForth
            25.03.2019 01:38

            Скажите, а почему в цифроввых книжных курсах почти не встречается разбор стековых процессоров MISC архитектуры и в качестве их программрования одного из языков Форт (Forth) могущего представлять и ассемблерный уровень?
            Стековые процессоры и занимают мало ресурсов FPGA и достаточно эффективны для задач реального времени.

            P.S. Тот же процессор RTX2010, вроде, достаточно широко использован в разработках NASA. У Atmel был и стековый контроллер MARC4, но его развитие не состоялось.


            1. vortupin
              25.03.2019 02:10

              Imho, давать детям Fort для обучения программированию — это уже повод для возбуждения судебного преследования омбудсменом по правам детей :) Нет, не то, что «польскую запись» нельзя донести для детей, нет; но для этого нужен талант, и не менее, чем у Михаила Пухова (светлая ему память!), известного советского писателя-фантаста, а по совместительству, еще и редактора раздела фантастики и программируемых микрокалькуляторов в журнале «Технике-Молодежи» (был в советское время такой «блокбастер»).

              P.S. Plain С + Arduino IDE (ну, или его аналоги) — практически идеальный вариант для обучения, как мне кажется. Еще есть пресловутый BasicSTAMP, но он проиграл «ардуине».


              1. YuriPanchul
                25.03.2019 02:24

                *** P.S. Plain С + Arduino IDE (ну, или его аналоги) — практически идеальный вариант для обучения, как мне кажется. ***

                Только при этом нужно иметь в виду, что ардуино IDE — это не обучение электронике. Это своеобразная форма обучения программированию встроенных систем, причем даже для этой цели ардуино IDE не годится для будущих профессионалов из-за чрезмерной изоляции от memory-mapped I/O registers и прерываний, а также (до недавних времен и сейчас частично) отсутствия RTOS-а, совместимого с ардуино IDE. Чтобы проиллюстрировать гуманитарию, что внутри робота или кофеварки небольшой компьютер — ардуино IDE пойдойдет.


                1. vortupin
                  25.03.2019 02:54

                  Я и не имел ввиду обучение электронике; про обучение именно электронике Павел великолепно написал в своей статье, под которой мы комментируем. Я отвечал на вопрос "почему не использовать для обучения язык Forth" (кстати, если мы говорим о детях, то нельзя язык отрывать от удобного и понятного IDE — самый распрекрасный язык, если в качестве редактора и оболочки к нему предложат vim, например, вряд ли будет принят детьми).

                  И, кстати, вы как-то уж больно пренебрежительно про неприемлимость Arduino IDE для профессионалов отозвались (будущих или настоящих) — весьма многие проекты вовсе не требуют real time, и бинарный код, собранный что под Arduino IDE, что под любым другим (лично я предпочитаю Visual Studio + VisualMicro) будет работать также эффективно, как и собранный под «каструбатым» IDE от Nordic Semiconductors.

                  P.S. И, кстати, иногда «настоящие профессионалы», игнорирующие свысока «любительский» Arduino (с огромной базой open source кода на «все случаи жизни»), дают estimate на простенький проект, в котором (к сожалению для них), требуется поддержка BLE, WiFi direct, TCP/IP + HTTP stack, порядка года, а проект делается (до стадии бета) за пару недель, садятся откровенно в лужу. Случай взят из real life; проект, реализованный на ESP32, уже два года пашет, без сбоев и ошибок, в самом, что ни на есть, production.


                  1. YuriPanchul
                    25.03.2019 06:49

                    Я просто не вижу чем изучение Ардуино принципиально проще использования профессионального IDE. Да, в профессиональном IDE больше опций в settings, и нужно заглядывать в datasheet, то есть он действительно несколько отпугивающий для совсем начинающего. Но с хорошим профессиональным курсом, разница в начальном освоении мигания светодиодом и интерфейса к сенсорам ну может пара уроков, а потом становится все равно.

                    Если человек собирается когда-нибудь получать за программирование микроконтроллеров зарплату, ему неизбежно прийдется изучать профессиональный IDE. Например чтобы правильно использовать прерывания при приеме и передаче данных из нескольких устройств. И для проектов, где нужна RTOS. Я не вижу, зачем сначала учить Ардуино, а потом переучиваться на профессиональное IDE, вместо того, чтобы выучить профессиональное IDE сразу.

                    Вообще я занимаюсь разработкой микросхем на верилоге, но в 2012-2013 написал пару введений в использование IDE, вы можете оценить, что порог входа не выше, чем в Ардуино — panchul.com/2013/02/27/microchip_pic32_1

                    Например, что сложного при работе с memory-mapped регистрами без объектов-аксессоров, напрямую?

                    char spi_put_get_char (char c)
                    {
                    SPI2BUF = c; // send data to slave
                    while (SPI2STATbits.SPIBUSY); // wait until SPI transmission complete
                    return SPI2BUF;
                    }


                    1. vortupin
                      25.03.2019 07:48

                      Я не согласен с большей частью ваших тезисов, да, и, в конце-концов, что означает «профессиональный IDE», с вашей точки зрения? Например, для меня Visual Studio — вполне профессиональный IDE, «кроющий», по некоторым параметрам, «как бык овцу» Embedded Studio IDE от NS? да и еще кучу всевозможных IDEшек. Вообще, этих «профессиональных» IDE — как собак нерезанных, практически у каждого производителя свой «велосипед» (а иногда и с квадратными колесами). Изучать их все досконально — вряд-ли кто осилит.

                      И, уж поверьте моему опыту, я за программирование микроконтроллеров получил изрядно денег, притом один из проектов делался для пресловутого BasicSTAMP-а (это Parallax-овский, PIC-based SoC, типа «пре-ардуины» — по крайней мере, его тогда так пытались позиционировать), на их PBASIC-е (который, по сути, просто макроассемблер — BASIC-овский код практически один в один транслировался в машкод). И что — весьма сложные дивайсы со всевозможной «машинерией» (там и управление серьезными step motors, и куча сенсоров, и прецизионный нагреватель и куча всего) уже годами работают в обсерваториях Аресибо, в Мексике и еще во множестве мест, как пчёлки, без сбоев.

                      Я скажу так: однозначно утверждать, что «экскаватор лучше лопаты» не стоит. Да, при необходимости вырыть котлован, экскаватор эффективнее, но вот огород он вскопать не сможет (а лопатами, кстати, котлован таки можно выкопать, без эксаватора).

                      Заявлять «раз используешь Arduino (BasicSTAMP, ESP32 etc.), а не голый SoC на уникальной PCB, с обвязкой в кастомной PLC, значит ты не профессионал» неверно. Если задача надежно решена за выделенный бюджет и назначенные сроки, значит и исполнитель профессионал.

                      Что же касательно приведенного пример, то, как припоминаю, в Arduino есть весьма удобные для подобных целей PORTD, PORTB и PORTC.


                      1. truebest
                        25.03.2019 07:55
                        +1

                        Visual Studio + Visual GDB + Resharper рвет любую IDE для микроконтроллеров.


                        1. YuriPanchul
                          25.03.2019 08:22

                          Я на самом деле имел больше в виду не ардуинное IDE как таковое, а его подмножество языка с объектами классов для обращения к memory-mapped регистрам и примитивно сделанные прерывания. См. мой коммент ниже.


                      1. YuriPanchul
                        25.03.2019 08:18
                        +1

                        *** Я не согласен с большей частью ваших тезисов, да, и, в конце-концов, что означает «профессиональный IDE», с вашей точки зрения? ***

                        Я неправильно выразился. Я имел в виду не IDE, а библиотеку и настройки. Мне не нравится Ардуино по трем причинам:

                        1. Он «заворачивает» обращения к регистрам в вызовы методов объекта. Из-за этого заворачивания пользователю доступна только часть функциональности memory mapped registers, которая есть в datasheet. То же самое в еще большей степени относится к обработчикам прерываний.

                        Помимо ограничения доступа к функциональности, это уменьшение эффективности и скорости реакции системы. Одна инструкция ассемблера (uncached memory write) превращается в вызов функции, который компилятор не всегда inline.

                        Я не вижу, как «заворачивание» существенно облегчает программирование.

                        2. Напишите на ардуино код двух параллельно работающих задач, которые без глюков выводят свои данные в две разные области экрана. Если использовать скажем FreeRTOS, задача пишется запросто, с использованием задач и семафоров.

                        3. У меня есть претензии к лидершипу Ардуино коммьюнити. Я знаком с ардуинским офисом в Калифорнии и с тем, как они ведут себя в рамках образовательных программ, взаимодействуя с университетами, школами и городскими властями. Они постоянно стараются, чтобы любые конкурирующие с ними хоть в каком-то виде инициативы задвигались, не упоминались и всюду было сплошное ардуино.

                        Пока это касалось только микроконтроллеров, это еще вписывается в какие-то рамки. Но когда они решили сделать официальное ардуино-совместимое FPGA — это просто смешно — мало того, что он дорогой для заявленной функциональности, так он еще и используется в качестве сопроцессора к ардуино. Ну это как купить мотоцикл и ездить на нем только прицепляя его к телеге с лошадью.

                        hackaday.com/2018/07/30/hands-on-with-new-arduino-fpga-board-mkr-vidor-4000


                        1. olartamonov
                          25.03.2019 08:57
                          +3

                          Юра, главная проблема с ардуиной в образовании даже не в перечисленном тобой — в принципе, любая RTOS или даже просто промежуточная библиотека типа libopencm3 занимается в основном тем, что «заворачивает обращения к регистрам».

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

                          Из этого моментально вырастают две вещи, регулярно наблюдаемые в ардуино-проектах:

                          1) полное отсутствие понимания, как делать правильно, которое позволило бы осмысленно выбирать между, например, loop(), тредами, прерываниями и прочими средствами обеспечения условной многозадачности, а тем более — сочетать их для получения нужной функциональности.

                          2) магическое мышление, для которого многое происходит «само» — программа сама компилируется под нужный контроллер, библиотеки сами опрашивают датчики, и так далее. При возникновении любых проблем с этой магией не только сам разработчик, но всё доступное ему комьюнити тупо не понимает, что теперь делать.

                          Всё это кое-как работает на проектах из дерьма и палок, но как только эти люди начинают пытаться свои поделия продавать — а они начинают — быстро становится страшно.


                  1. olartamonov
                    25.03.2019 08:42
                    +4

                    И, кстати, иногда «настоящие профессионалы», игнорирующие свысока «любительский» Arduino (с огромной базой open source кода на «все случаи жизни»), дают estimate на простенький проект, в котором (к сожалению для них), требуется поддержка BLE, WiFi direct, TCP/IP + HTTP stack, порядка года, а проект делается (до стадии бета) за пару недель, садятся откровенно в лужу. Случай взят из real life; проект, реализованный на ESP32, уже два года пашет, без сбоев и ошибок, в самом, что ни на есть, production


                    А теперь давайте сравним с числом проектов на ардуине, в том числе продаваемых за деньги, но при этом сляпанных на коленке из готовых библиотек, вызовы которых просто засунуты в любимый Arduino-профессионалами loop() в том порядке, в котором им виделось выполнение программы — с плохо предсказуемыми таймингами выполнения, с абсолютно никаким риалтаймом, с абсолютно никакой надёжностью, и главное, с абсолютно минимальным пониманием, что там вообще под капотом происходит. Сданных по принципу «у меня всё работает».

                    Arduino в её текущем виде предельно плоха для обучения не потому, что на ней из дерьма и палок нельзя быстренько слабать проектик, а потому, что Arduino не даёт понимания правильных концепций работы с микроконтроллером и правильных навыков написания встраиваемого ПО.

                    На этом обсуждение роли ардуины в образовании можно завершить.

                    Что же касается профессионалов, то для любого человека, имеющего какой-то вменяемый опыт программирования микроконтроллеров, Arduino просто не несёт никакой ценности, а несёт одни проблемы. И с тем же ESP32 вы в следующий раз запросто вляпаетесь в проблему, критичную для проекта, на которую всё т.н. опенсорс-сообщество на форумах поддержки будет только молча шлёпать ртом и советовать «попробовать другую плату с другой либой».


                    1. vortupin
                      25.03.2019 15:56

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

                      Вы опять утверждаете, что «экскаватор однозначно лучше лопаты» (см. выше), а это вовсе не так. Упомянутые вам «правильные концепции и навыки» это вовсе не «закон природы», а лишь привычные или нравящиеся вам технологии. Далеко не для каждой задачи нужна полноценная RTOS; иную задачу можно решить задачу простым bare metal кодом (со скопипащеной инициализацией), или «ардуиной» (или любым бэйсик-стэмпом).

                      Arduino значительно понизил уровень «вхождения» в бизнес, сделал мир программируемых микроконтроллеров дешевым и доступным практически любому, позволил решать конкретные прикладные задачи без отвлечения на всевозможные datasheets от производителей чипов, резко снизил уровень труда и увеличил скорость создания проектов.

                      В конце-концов утверждать, что

                      Arduino в её текущем виде предельно плоха для обучения
                      можно лишь имея какую-то статистику, иначе это просто голословное утверждение.


                      1. olartamonov
                        25.03.2019 16:36

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


                        Вы будете далеко не первым, кого я в ответ попрошу показать эти замечательные Arduino-проекты, написанные красиво и аккуратно.

                        И тоже, полагаю, не покажете.

                        Упомянутые вам «правильные концепции и навыки» это вовсе не «закон природы», а лишь привычные или нравящиеся вам технологии


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

                        или «ардуиной» (или любым бэйсик-стэмпом)


                        А гвоздь в стену можно забить не только молотком, но также пассатижами, кирпичом и вообще любым твёрдым тяжёлым предметом. И он даже будет в стене держаться.

                        Это является поводом на уроках труда вместо молотка дать детям гвоздь и пассатижи?

                        Arduino значительно понизил уровень «вхождения» в бизнес


                        В бизнес? Можно примеры этих компаний, созданных благодаря Arduino, и при этом не занимающихся продажей ардуинщикам готовых модулей?

                        можно лишь имея какую-то статистику, иначе это просто голословное утверждение


                        Чушь. Выше объяснено, почему.


                        1. vortupin
                          25.03.2019 16:55

                          И тоже, полагаю, не покажете.
                          Полагаю, как профессионал, вы про существование NDA слышали? И, надеюсь, вряд ли нарушаете свое слово, чтобы доказать, «что в интернете кто-то не прав»?

                          Приведу лишь ссылки на вебсайты компаний, о которых я тут упомянул: sci-sol.com и www.shell.com/energy-and-innovation/innovating-together/shell-techworks.html

                          Если вы так уж мне не доверяете, то могу вам дать телефоны, и можете позвонить менеджерам этих компаний, и, представившись работодателем, навести обо мне справки (но вам нужен будет достаточно fluent English).

                          В упомянутых случаях речь идет о мелкосерийных, но достаточно дорогостоящих (для покупателей ;) ) проектах.

                          P.S. Я посмотрел ваши статьи, но ваш подход, который, утрируя, можно описать как «даже чтобы просто помигать светодиодом, профессионалы должны использовать только SoC с RTOS!» не разделяю, и, более того, считаю его неверным. Средства выполнения определяются поставленной задачей, сроками и бюджетом. То, что хорошо для mass production в миллионы единиц, может быть абсолютно неприемлемо по затратам и срокам для мелкосерийного производства. Всевозможные RTOS, со всем богатством предоставляемых API, для некоторых применений, будут самым, что ни на есть, overhead-ом — управлять светофором можно через 40 строк bare metal кода для i8008 (если и не i4004 — если удастся его найти).


                          1. olartamonov
                            25.03.2019 17:39
                            +1

                            Полагаю, как профессионал, вы про существование NDA слышали? И, надеюсь, вряд ли нарушаете свое слово, чтобы доказать, «что в интернете кто-то не прав»?


                            Но ведь наверняка же на гитхабе есть сотни и тысячи прекрасных проектов на Arduino с прекрасным кодом внутри?

                            В упомянутых случаях речь идет о мелкосерийных, но достаточно дорогостоящих (для покупателей ;) ) проектах


                            Вроде того проекта для Boeing, который два самолёта с пассажирами в землю вогнал? Или кардиоимплантов, в которых забыли сделать защиту от постороннего подключения? Или кода автомобилей Toyota, в котором более 80 тысяч нарушений MISRA C нашли?

                            Понимаете ли, к несчастью для вас, все присутствующие здесь в курсе, что громкое имя не говорит о качестве примерно ничего.


                            1. vortupin
                              25.03.2019 17:55
                              -1

                              Но ведь наверняка же на гитхабе есть сотни и тысячи прекрасных проектов на Arduino с прекрасным кодом внутри?
                              Есть, я использую, например, github.com/FastLED/FastLED
                              Работает беспроблемно и непрерывно больше года (в частности, и код FastLED) ;)

                              Касательно ваших примеров: вы можете подтвердить, что Boeing, производители кардиоимплантантов, и Toyota использовали Arduino? Я бы поставил цент против тысячи долларов, что в вышеприведенных случаях «фирмварь» писали гордые профессионалы, разработка стоила миллионы долларов, а вот результат оказался… таким, каким оказался.

                              Я не пытался «давить громкими именами» (а сай-сол вообще махонькая компания, но весьма smart), я просто привел последние, по времени, проекты, что пришли на память. Вообще, я не занимаюсь «чисто» фирмварью, и «ардуинщиком» себя не считаю; я software контрактор, но умею делать «всякое разное». В свое время мне приходилось, правда, программировать «профессионально» Интелловские 196 контроллеры, и DPS от Motorola (потому, что другого тогда не было); не могу сказать, что от всей этой мешанины bare metal C/asm, плюс отладки, пусть даже и через «внутрисхемный эмулятор», у меня остались приятные впечатления. И я ничего не имею против RTOS (скорее, я «за»), но только для каждой задачи нужно выбирать соответствующие инструменты, вот и все. Палить «из пушки по воробьям», чтобы утвердиться в своем «профессионализме», не стоит, и тому примеров море.


                              1. olartamonov
                                25.03.2019 18:10
                                +1

                                Касательно ваших примеров: вы можете подтвердить, что Boeing, производители кардиоимплантантов, и Toyota использовали Arduino?


                                А вы вообще пытаетесь как-то вдумываться в смысл того, что я вам пишу?

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

                                И я ничего не имею против RTOS (скорее, я «за»), но только для каждой задачи нужно выбирать соответствующие инструменты


                                Совершенно согласен с вами, что Arduino полностью адекватна для решения задачи «соорудить на коленке из дерьма и палок».

                                Для других задач она не нужна, а для образовательных — попросту вредна.


                                1. vortupin
                                  25.03.2019 18:40

                                  А вы вообще пытаетесь как-то вдумываться в смысл того, что я вам пишу?
                                  Вы тут пытались потрясти регалиями
                                  Замечу, что переход на личности, и оскорбления отнюдь не способствуют содержательной дискуссии. Я вовсе не пытался «трясти регалиями», а, всего лишь, ответил на ваш прямой вопрос, если вы не заметили. «Вдумываться» же в «соорудить на коленке из дерьма и палок» как-то нет особого желания. Пару статей ваших я, однако, прочел; но с выводом
                                  Для других задач она не нужна, а для образовательных — попросту вредна.
                                  в корне и принципиально не согласен, у нас с вами разные взгляды на профессионализм, и вам не удалось меня убедить.

                                  P.S. Кстати, хотелось бы узнать про судьбу Black Swift, и для чего вы его сделали: сколько единиц вам удалось реализовать, и насколько успешным был этот проект? Так, чисто в плане «потрясти регалиями»…


                                  1. olartamonov
                                    26.03.2019 07:54

                                    Я вовсе не пытался «трясти регалиями», а, всего лишь, ответил на ваш прямой вопрос, если вы не заметили


                                    Нет, вы не ответили. Вы выпятили грудь и сообщили нам, что вы необычайно круты.

                                    в корне и принципиально не согласен


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

                                    P.S. Кстати, хотелось бы узнать про судьбу Black Swift, и для чего вы его сделали: сколько единиц вам удалось реализовать, и насколько успешным был этот проект?


                                    4,5 тыс. штук примерно. Делал его не я, а другой человек, у него были свои причины — я эти причины находил неинтересными, в связи с чем проект закрыл.

                                    Так, чисто в плане «потрясти регалиями»…


                                    Я смотрю, этот вопрос вам всё же не даёт покоя.


                                    1. vortupin
                                      26.03.2019 08:13

                                      Нет, вы не ответили. Вы выпятили грудь и сообщили нам, что вы необычайно круты.
                                      Вы либо не умеете читать, либо спутали меня с кем то другим. Ну, дайте себе труд хотя-бы этот тред перечитать? Или, что, вы ожидали, что я прямо вот сейчас начну выкладывать код, который мне и не принадлежит, и детали работы над которым я обязался не разглашать в NDA? Вы — наивный человек (надеюсь, что не тролль)!

                                      Давайте сделаем так: я кину вам в личку линк на свой профиль на гитхабе (правда, в паблик там особо интересного мало, за исключением пары-тройки вещей, но активность в private repos вы вполне сможете увидеть), а вы, в ответ, мне свой профиль? Посмотрим, «какой вы Сухов» ;)

                                      Расскажите нам, почему именно при обучении программированию микроконтроллеров не надо изучать многозадачность, не надо изучать правильное структурирование проекта по файлам, не надо изучать принципы работы HAL…
                                      Перед тем, как на это отвечать, прошу привести мои слова, где я именно это утверждал. Либо — извиниться за голословные обвинения и ложь.

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

                                      Ну, «потрясите, наконец, регалиями» (заметьте, ваше выражение, не мое!), «похвастайтесь» хоть чем-то интересным и успешным — мне просто стало любопытно.


                                      1. olartamonov
                                        26.03.2019 08:23

                                        Господи. Бурное сотрясание воздуха регалиями продолжалось.

                                        Да на кой чёрт мне вообще знать, что у вас там какие-то NDA где-то существуют, если к теме беседы они не имеют никакого отношения?

                                        Не можете свой код показать — ну так просто промолчите про него (хотя, впрочем, его качество из ваших слов примерно понятно).

                                        Перед тем, как на это отвечать, прошу привести мои слова, где я именно это утверждал. Либо — извиниться за голословные обвинения и ложь.


                                        Давайте попробуем медленнее.

                                        1) Вы не согласны с тем, что Arduino нельзя использовать в образовании — следовательно, вы считаете, что Arduino можно использовать в образовании.

                                        2) Платформа Arduino не имеет нормальной организации структуры проекта, тщательно прячет от программиста HAL, не имеет средств организации многозадачности, etc.

                                        3) Ergo, для использования платформы Arduino в образовании необходимо, чтобы со всеми этими вопросами учеников знакомить не требовалось, потому что при использовании в образовании платформы Arduino ни с чем из этого их познакомить не получится.

                                        Это несложное логическое построение вам под силу?..


                                        1. vortupin
                                          26.03.2019 08:35

                                          А на кой чёрт вам спрашивать про проприетарный код? Может, вам лучше промолчать, чем «козырять» этим в качестве аргумента? Жду линк на ваш персональный профиль на гитхабе в личку.

                                          Это несложное логическое построение вам под силу?

                                          1) Платформа Arduino, из-за простоты и дешевизны, просто must have в образовании! И это не отдельное мое, «непрофессиональное» мнение, а текущий тренд в образовании, поддерживаемый многими всемирно знаменитыми коллеждами, включая MIT и CalTech!

                                          2) Платформа Arduino имеет абсолютно нормальную структуру организации проекта; если ваше невежество и отсутствие практического опыта не позволяют в этом убедиться, то это ваши личные проблемы, которые мало кого интересуют. Многозадачность, равно как и hard real time — это весьма специфические подзадачи; наличие или отсутствие их поддержки «из коробки» не говорит абсолютно ни о чем!

                                          3) "Ergo" тут может увидеть лишь человек, бесконечно далекий от аристотилевой логики. Легкость создания прототипов на Arduino (и подобных платформах) отнюдь не означает «ненужность» углубленного изучения! Но спор то ведь не об этом!

                                          Грубо говоря, вы, с вашими «пальцами», сроками и прайсом и нах никому не нужны в современном мире; столь презираемые вами «уроды, ваяющие из говна и палок», заработают миллионы, а вы… будете дальше постить на хабре :)


                                          1. olartamonov
                                            26.03.2019 08:41

                                            И это не отдельное мое, «непрофессиональное» мнение, а текущий тренд в образовании, поддерживаемый многими всемирно знаменитыми коллеждами, включая MIT и CalTech!


                                            А ведь без регалий вы всё-таки не можете.

                                            Грубо говоря, вы, с вашими «пальцами», сроками и прайсом и нах никому не нужны в современном мире; столь презираемые вами «уроды, ваяющие из говна и палок», заработают миллионы, а вы… будете дальше постить на хабре :)


                                            Миллиарды, чего уж там. Забавно, кстати, у вас крышку с чайника стало напором пара приподнимать.

                                            Платформа Arduino имеет абсолютно нормальную структуру организации проекта; если ваше невежество и отсутствие практического опыта не позволяют в этом убедиться, то это ваши личные проблемы, которые мало кого интересуют


                                            Запостите, пожалуйста, прямо сюда скриншот Arduino IDE, в которой одновременно открыты два файла исходников и два заголовочных.

                                            Многозадачность, равно как и hard real time — это весьма специфические подзадачи; наличие или отсутствие их поддержки «из коробки» не говорит абсолютно ни о чем!


                                            То есть учить в 2019 году тому, что на микроконтроллерах бывает многозадачность, всё-таки не надо?


                                            1. vortupin
                                              26.03.2019 08:54

                                              А ведь без регалий вы всё-таки не можете.
                                              Это, как говорится, the matter of fact, а вовсе не «регалии» (вам бы, по поводу «регалий», к психиатору бы сходить, а? До дискуссии с вами, я это слово раз в пять лет слышал, честное слово!)

                                              Миллиарды, чего уж там. Забавно, кстати, у вас крышку с чайника стало напором пара приподнимать.
                                              У меня? Вы себе льстите, я и не к такому троллингу привык. Да, все-таки жду ссылку на гитхабовский профиль «гуру», потом продолжим.

                                              Запостите, пожалуйста, прямо сюда скриншот Arduino IDE, в которой одновременно открыты два файла исходников и два заголовочных.
                                              Если бы вы дали себе труд прочесть эту дискуссию более внимательно, то узнали бы, что я предпочитаю Visual Studio 2017 + Visual Micro. Если вы когда-нибудь слышали про такое «чудо» для «криворукого ламерья», то и без скриншотов, думаю, сможете представить себе картинку ;)

                                              Касательно многозадачности: ей нужно «озабачиваться», когда она стоит в requirements. Если же можно обойтись простым loop, то и RTOS, и ваша «возлюбленная» многозадачность и нафик никому не нужна.

                                              P.S. Я сейчас с этими «пацанами» работаю (в подробности вдаваться не могу): tymewear.com. Я уверен на 99%, что никто из их команды не знает, что nRF52840 можно использовать с RTOS, пресловутой «многозадачностью» и прочими фичами — они там никому не нужны! Но ребята, не далее, как в прошлую «тяпницу», получили «лям» investments. Вытирайте губы, «это другой человек» ;)


                                              1. olartamonov
                                                26.03.2019 08:56

                                                Это, как говорится, the matter of fact, а вовсе не «регалии» (вам бы, по поводу «регалий», к психиатору бы сходить, а? До дискуссии с вами, я это слово раз в пять лет слышал, честное слово!)


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

                                                Если бы вы дали себе труд прочесть эту дискуссию более внимательно, то узнали бы, что я предпочитаю Visual Studio 2017 + Visual Micro


                                                Ваши личные предпочтение меня волнует столь же сильно, как количество подписанных вами NDA.

                                                Дискуссия — про Arduino, а не про Visual Studio 2017.

                                                Касательно многозадачности: ей нужно «озабачиваться», когда она стоит в requirements


                                                Requirements в школьном учебном курсе — это, простите, как?

                                                Вытирайте губы, «это другой человек» ;)


                                                Но ведь вы же не знаете, сколько и когда получил я.


                                                1. vortupin
                                                  26.03.2019 09:12

                                                  Почему мне кажется, что если я вас попрошу сейчас попродробнее рассказать, где, как и в каких учебных программах Калтех использует ардуину, у вас не получится?
                                                  Я уже давным давно не учусь в колледжах (дети будут учиться скоро), но знаю со слов post grads, с которыми мне довелось работать (правда, они и Arduino нормально выучить не смогли). Попробуйте, для развлечения, прогуглить сами — эти колледжи имеют кучу открытой информации (традиционно). Если не найдёте — так и быть, я помогу.

                                                  Requirements в школьном учебном курсе
                                                  Не в «школьном учебном курсе», а в конкретной прикладной задаче. В конце-концов, никто от JS front end-а не требует знаний, как работает загрузчик OS, как kernel взаимодействует с драйверами — это никому не нужно, и знание это, в данном конкретном случае, просто лишнее. Вы, почему-то, вбили себе в голову, что системное программирование сейчас важно, но это абсолютно не так! От «смарт- дивайсов» требуется решение вполне определенных проблем real life; взаимодействие с «облаками» и социальными сетями, а как правильно проинициализировать DRAM — это, уж извините, не проблема прикладных программистов IoT!

                                                  Но ведь вы же не знаете, сколько и когда получил я.
                                                  Дык, уже который пост безуспешно пытаюсь узнать! А вдруг вы — тот самый человек, который сумел «распилить» пресловутый госзаказ на «Байкал», а? Да я руку клавиатуру мыть не буду после знакомства с таким «светилом» :D


                                                  1. olartamonov
                                                    26.03.2019 09:19

                                                    Попробуйте, для развлечения, прогуглить сами — эти колледжи имеют кучу открытой информации (традиционно)


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

                                                    Не в «школьном учебном курсе», а в конкретной прикладной задаче


                                                    У вас удивительная способность бурно дискутировать с радио, громко играющим в вашей голове, при этом перескакивая с темы на тему так, как вам хочется.

                                                    Дискуссия была про использование Arduino в образовании.

                                                    взаимодействие с «облаками» и социальными сетями, а как правильно проинициализировать DRAM — это, уж извините, не проблема прикладных программистов IoT!


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

                                                    Дык, уже который пост безуспешно пытаюсь узнать!


                                                    В отличие от вас, я не очень люблю публично потрясать своими NDA перед малознакомыми людьми.


                                                    1. vortupin
                                                      26.03.2019 09:34

                                                      Бездоказательные глупости, притом, преисполненные чувством собственной избранности изрекать «всеобъемлющие истины», по моему разумению, писали как раз вы.

                                                      С темы я не перескакивал; я логично и аргументированно доказал свое мнение, которое подтвердил реальными фактами. А вы, как мне кажется, по прежнему сильно сомневаетесь в существовании в MIT курса про программированию Arduino? Вот вам, для затравки, ссылочка.
                                                      Надеюсь, что навыков «настоящего профессионала» хватит, чтобы самостоятельно прогуглить текущее положение вещей в образовании top ten вузов в США?

                                                      привела бы меня к колекции наколенного говнокода
                                                      О чем я умоляю уже три или четыре сообщения подряд: позвольте мне, «криворукому ламеру», ознакомить «всемирного гуру» со своим вонючим, копипащенным «говнокодом», и приобщиться к великому, исходящему из под десниц гения! :D Жду линк на гитхаб билгейца-вирта-возняка-гроува-кто-там-еще-в-одном-лице?!

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


                                                      1. olartamonov
                                                        26.03.2019 09:38

                                                        О чем я умоляю уже три или четыре сообщения подряд: позвольте мне, «криворукому ламеру», ознакомить «всемирного гуру» со своим вонючим, копипащенным «говнокодом», и приобщиться к великому, исходящему из под десниц гения! :D Жду линк на гитхаб билгейца-вирта-возняка-гроува-кто-там-еще-в-одном-лице?!


                                                        facepalm.jpg

                                                        Кстати, я правильно понял про Tymewear — вы нам сообщили, что во всей команде проекта нет ни одного embedded-программиста с какой-то минимально вменяемой квалификацией?..


                                                        1. vortupin
                                                          26.03.2019 09:45

                                                          «Не, ну, реально тупые!» (с) покойный Задорнов (или как там его?)

                                                          Ваши услуги им не требуются, если до вас не дошло ;) У ребят есть реально работающий (и хорошо работающий) продукт. «Вложиться» в них у вас тоже не выйдет (даже если у вас есть «деньги»), с Россией, боюсь, никто дел вести не будет в обозримом будущем.


                                                          1. olartamonov
                                                            26.03.2019 09:52

                                                            Нет-нет, я услуги не предлагаю, про моих инвесторов и возможности вложения вы тоже знаете примерно ничего.

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


                                                            1. vortupin
                                                              26.03.2019 10:09

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

                                                              Что вам непонятно в слове «investments» — вы, того, не стесняйтесь, спрашивайте, я объясню. «Присосаться» — это слово явно из вашей реальности; опасения «если мы этот продукт вообще когда-либо увидим в продаже» вы можете рассеять буквально за несколько часов (в Бостоне сейчас ночь, так что чуть-чуть попозже), но, боюсь, «нищебродство» и жадность помешает доказательству, что «пиндосы все тупые» ;)

                                                              P.S. Вам-то есть что показать? Уже в четвертый раз спрашиваю… Ну, что-то реально существующее, а не «тот парень продал 450 штук».


                                                              1. olartamonov
                                                                26.03.2019 10:30

                                                                Вам-то есть что показать? Уже в четвертый раз спрашиваю… Ну, что-то реально существующее, а не «тот парень продал 450 штук»


                                                                Зачем? Зачем мне в дискуссии о том, пригодна ли ардуина для образования, показывать какие-то свои контракты, устройства и всё остальное, не имеющее вообще никакого отношения к теме дискуссии? Почему мне не показать, например, свою квартиру или машину, и если она окажется больше и дороже вашей, то мы признаем, что про Arduino я прав, а вы — нет?

                                                                Ну то есть я заранее знаю, что мой инвестор — он жирнее вашего, мои контакты и клиенты — они лучше ваших, но на кой чёрт мне размахивать этим в дискуссии про Arduino?..

                                                                Чтобы что?


                                                      1. FForth
                                                        26.03.2019 10:13

                                                        Вставлю сюда свои пять копеек.
                                                        В MIT есть и курс по Scratch, но как ни удивительно поиск по их сайту по слову Forth дал только 1-2 малоинтересных упоминания связанных с Форт языком.

                                                        P.S. Даже в Российских вузах Форт можно больше найти. :)


                                                        1. olartamonov
                                                          26.03.2019 10:36

                                                          В MIT есть и курс по Scratch


                                                          Вообще в таких случаях факты без контекста попросту не имеют смысла. В том же MIT, например, есть курс «Collaborative Design and Creative Expression with Arduino Microcontrollers», про который даже по названию понятно, что это такая развлекушка для студентов нетехнических специальностей, из которой никак не следует, например, что «программистам встраиваемых систем важнее учиться творческому самовыражению, чем тонкостям работы DMA» — он для них просто не предназначен.

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

                                                          Надо смотреть, кому курс читается, сколько времени, какие курсы читаются до и после — в общем, целостную картину.


              1. FForth
                25.03.2019 03:23

                Возможно Вы правы, но только где в Форте обратная «польская запись»?
                Конканетавивные языки программирования

                P.S. Про обучение на Форт программированию, это Вы сами придумали (моё сообщение не об этом) :) Хотя, школьники, могут и данное языковое направление понять и использовать т.к. много примеров его использования для программирования микро контроллеров (и не только)


                1. vortupin
                  25.03.2019 03:42

                  Сорри, я не эксперт по Форту, но, как мне припомнилось при написании комментария, это одна из его особенностей (в добавок к многим другим). Впрочем, вики говорит, что я таки прав (Особенности языка Forth, пункт 3).


                  1. FForth
                    25.03.2019 03:59

                    В качестве некоторого ликбеза по основам Форт языка :)
                    Андрей Черезов: «Слово о Форте». (Попытка формализации сути языка 29.07.1999)

                    P.S. Википедия не достаточно адекватный источник информации. Форт — построен на обобщённом использовании понятия СЛОВО.
                    А.Черезов автор SP-Forth (системы используемой русскоязычными Форт программистами)


                    1. vortupin
                      25.03.2019 04:33

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

                      P.S. Не то, чтобы я вам так сильно не верил, но все же (чтобы убедиться, что мы говорим об одном и том же): т.е. в Форте «постфиксной нотации», aka «обратной польской записи», все же нет? Т.е. вместо 7 2 3 *, там пишут, как обычно, 7 ? 2 * 3?


                      1. FForth
                        25.03.2019 04:52

                        То, что Вы привели это форма записи алгебраических выражений с приоритетами операций. Если бы в Форт не было возможности заменять (или переопределять) семантику использования конкретного слова (в том числе и переменной) то использование понятия «обратной польской записи» ещё можно было бы допустить. Но Слово также может возвращать более одного
                        параметра. При замене семантики имени слова переменной на слово процедуру достаточно сохранить только контекст количества и понимания параметров после выполнения выбранного слова.

                        P.S. Если есть необходимость в алгебраической форме записи программного кода, то данное расширение Форт языка добавляется к системе. (также как и если есть необходимость в ООП)
                        7 2 3 * — (но в С, например, есть операторы ++ — )
                        Проектов с задействованием «архаичного» Forth языка достаточно на Github. :)


                        1. vortupin
                          25.03.2019 05:04

                          Давайте не будем «юлить», все таки, мы взрослые люди. Если вам настолько важно «сказать свое правильное последнее слово» — так вы так и скажите, я не буду тратить свое время, я вовсе не страдаю синдромом «в интернете кто-то неправ».

                          Вот данная цитата, из раздела «Особенности языка Форт» на википедии

                          «Обратная польская запись» арифметических выражений и наличие нескольких стеков.
                          — это правда или ложь? Давайте без возможных переопределений и извращений с семантикой Форта (как я понял, бывшей чуть ли не главным объектом критики данного «ископаемого» языка) — вот, прямо «искаропки», как мне просчитать значение арифметического выражения 2 * 2?

                          Я почему запомнил про «польскую нотацию»: сам я начинал с программирования микрокалькуляторов БЗ-21 и БЗ-34, и там использовалась такая нотация (весьма нестандартная), и прочие «трики» со стеком. Как я понимаю, и в калькуляторах, и в Форте это использовалось не от «хорошей жизни», а от простоты реализации на тогдашней элементной базе (так было дешевле и быстрее). Собственно, и Форт возник, как припоминаю, в качестве необходимости чего-то, более высокоуровневого, нежели макроассемблеры, но такого же эффективного.


                          1. FForth
                            25.03.2019 05:18

                            2 * 2 в Форт будет 2 2 *
                            но можно : 2 3; 2 2 * (будет 6)
                            Форт язык, это далеко не язык программирования используемый для БЗ-34 (МК-54) и имеет много особенностей выводящих его в отдельное направление программирования.

                            P.S. Здесь есть и например расширение Форт языка — транслятор формул.
                            Про «ископаемое» — это Вы немного погорячились, но
                            oн, конечно, отличен от того чему учат в школе.
                            В моих сообщениях из профиля можно найти ещё некоторые полезные ссылки для ознакомления с Форт. :)
                            Если Вы в знании о нём не заинтересованы, то это только Ваш выбор.


                            1. vortupin
                              25.03.2019 05:43

                              Спасибо, значит, я все-таки был прав на счет «польской нотации». Я прекрасно понимаю, что Форт — вовсе не машкоды калькуляторов, но, надеюсь, вы согласны касательно использования стека, и причин, послуживших созданию Форта?

                              P.S. Касательно «ископаемого языка» — это была гипербола, в определенном смысле. Даже сегодня, в 2019 году, в Штатах есть сложные системы, написанные на Коболе и PL/M для мейнфреймов, которые продолжают поддерживать (кстати, отец одного из моих молодых знакомых, приехавший сюда, как «отец гражданина», неожиданно нашел очень высокооплачиваемую работу по программированию на Коболе, и получает, даром, что «пенсионного возраста» и в Америке не так долго, намного больше, чем сын-программист). Я, скорее, о том, что развитие микроэлектроники сделало применение Форта чрезвычайно дорогостоящим и малооправданным; современные SoC, с десятками, а то и сотнями мегабайт, «бегающие» на сотнях мегагерц, с Linux-ами и QNX-ами внутри, могут быть запрограммированы (прикладные задачи) хоть на Java script. Ну, а применение его для обучения молодежи — см. мой первый пост :) Хотя, можно рассуждать и от обратного — если таки «осилят» Форт, то уж точно «разберутся» и с менее сложными задачами.


                              1. FForth
                                25.03.2019 05:51

                                В упрощённом «обывательском» смысле, да правда.
                                Tакже, например, как в ассемблере сначала формируется условие, а потом команда перехода по этому условию. (тоже «обратная польская запись» :)

                                P.S. Стек в Форте, это прежде всего кэш и использование его в чём то более оправдано чем именованных локальных переменных. (в Форте они тоже есть) таким образом нет необходимости в создании связи формальных с фактическими параметрами слов (функций в классике языков программирования) + компактность решений на данном языке.
                                Знакомство с Форт у меня началось с прочтения книги авторов Баранова, Ноздрунова «Язык Форт и его реализации» в возрасте недалеко ушедшем от школьного (параллелльно читал и про Аду, Пролог, Лисп ...)


                                1. vortupin
                                  25.03.2019 06:00

                                  Переход по условию — это прямая причинно-следственная связь, привычная нам и в общежитии (но в современных архитектурах CPU с предсказанием ветвления все не так просто), но вот вычисления по «польской записи» идет «вразрез» с привычным нам «алгоритмом». Да, «трюки» со стеком позволяли на БЗ-34 делать эффективно некоторые вещи, но от этого легче для понимания они не становились.

                                  P.S. Да, и Forth не входит даже в список 50 популярных языков программирования, проигрывая даже таким архаичным «монстрам», как Фортран, Кобол, и ПЛ/М (PL/I), не говоря уж про языки, о которых я вообще ничего не знаю.


                                  1. FForth
                                    25.03.2019 06:32

                                    Входит по версии рейтинга IEEE (48 место ) spectrum.ieee.org/static/interactive-the-top-programming-languages-2018 (там вкладки фильтров приоритетной области использования)

                                    P.S. Вот эта причинно-следственная связь и есть прямой порядок слов Форт языка! Привычная запись алгоритма и выражение алгоритма в заданном языке немного разные вещи. Когда программы записываются на языке математиков? У Форт тоже достаточна обширна библиотека реализованных алгоритмов.
                                    В БЗ-34 фактически нет нормального стека и также нет второго стэка-возвратов.


                                    1. vortupin
                                      25.03.2019 06:41

                                      FOR(mula)TRAN(slator), что и обусловило его мировую популярность на протяжении десятков лет.


                                      1. FForth
                                        25.03.2019 06:54

                                        Задачи для решения изменяются и под них есть более или менее удобные языки. Для Формул, Фортран, наработал большую вычислительную базу.

                                        P.S. Но, почему то, такой проект Forth for Artificial Intelligence in Robots реализован не на Фортране, а на Форт. :)


                                        1. vortupin
                                          25.03.2019 16:02

                                          Я ответил на ваш вопрос

                                          Когда программы записываются на языке математиков?


                                          Что же касательно упомянутого вами проекта на Форте, то, не вникая в суть (нет времени на это):
                                          — хостинг на sourceforge, imho, говорит о том, что, во-первых, проект явно любительский, во-вторых, о том, «бобик давно сдох»;
                                          — как вы понимаете, подобных проектов множество, на всевозможных языках — чем именно этот, на полузабытом и устаревшем Форте, уникален? Есть какие-то успехи, промышленное, может, применение? С первого взгляда не нашел, сорри.
                                          — на Fortran-е существуют проекты во множество (добавлю, в неизмеримое множество!) раз сложнее, чем упомянутый вами проект. И таки да, в современном мире Форт не используют по той же причине, что и Фортран :)


                                          1. FForth
                                            25.03.2019 16:31

                                            Боюсь, что упоминание каких то разработок с Форт участием увы не будет доказательной базой.

                                            P.S. @ «Видишь суслика? А он есть!» :)
                                            Один из сусликов примеров:
                                            В платe Pololu Maestro Servo (PIC18F4550) в качестве скриптового языка применён Forth.


                                          1. FForth
                                            25.03.2019 17:18

                                            1. vortupin
                                              25.03.2019 17:30

                                              Процитирую вас же:

                                              Боюсь, что упоминание каких то разработок с Форт участием увы не будет доказательной базой.

                                              Я не пытаюсь вам доказать, что не существует людей, не разрабатывающих на Forth, отнюдь нет! Уверен, что возможно найти разработки даже на brainfuck. Я лишь попытался (как я понимаю) ответить на ваш вопрос: «Почему не использовать Forth для обучения?», и, как мне кажется, раскрыл этот вопрос полностью. Нет никакого смысла использовать устаревший, сложный и непопулярный язык.


                                              1. FForth
                                                25.03.2019 18:09

                                                Да, он не для всех школьников, если даже их «наставники» имеют нулевые знания о нём.

                                                И зачем Вы пытаетесь отнести Форт к brainfuck? (почему не к Befunge)

                                                P.S. Тот, кто его использует может наоборот сказать — применяющийся и простой язык и для его использующего — популярный. :)
                                                Может проще понять где его реально использовать и для каких задач? Начав с прочтения данной «устаревшей» книги Л.Броуди «Cпособ мышления — Форт язык и философия для решения задач»


                                                1. vortupin
                                                  25.03.2019 18:46

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

                                                  Скажите, а почему в цифроввых книжных курсах почти не встречается разбор стековых процессоров MISC архитектуры и в качестве их программрования одного из языков Форт (Forth) могущего представлять и ассемблерный уровень?
                                                  , притом в контексте «Микроэлектроника для школьников от самого истока».
                                                  Как мне показалось, я дал ответ — то, как я понимаю «а почему?»

                                                  Brainfuck я упомянул в том контексте, что, какой-бы «замороченный» язык программирования не был придуман, обязательно найдется кто-то, кто его использует, в том числе и для практических целей. Вполне вероятно, что эти люди считают и brainfuck «применяющимся и простым». Но нужно ли всем следовать этому примеру? Ответ: безусловно, нет.


              1. Timka21213
                25.03.2019 10:04

                Детям вполне можно вложить знание Forth (я сам на нем программировал игры в школе, пока интеллектуальный терминал ждал переподключения к ЕСке), но в жизне на практике все эти полученные аж с 1984 года знания не пригодились — пара зачетов в уже студенческие времена не в счет. Осталась только любовь ко всякой экзотике в виде хобби.


                1. Pyhesty
                  25.03.2019 10:32

                  у меня ребенок 11 лет маньячит на скретче набивая за один час
                  по одной игрушке за раз )
                  для базового уровня скретч вполне, а потом можно переходить на более тяжелые наркотики…


            1. YuriPanchul
              25.03.2019 02:17

              Я думаю, что существует две причины снижения популярности стековых процессоров в 1980-е годы:

              1. Скорость логики и арифметических устройств росла быстрее скорости обращений к памяти, что потребовало развития кэшей. Сейчас в типичном high-end процессоре за 1 промах кэша при загрузке из памяти можно выполнить порядка 100 простых арифметических или логических операций типа сложения или and. Поэтому чтобы реализовать память для стека в Форте, недостаточно простого интерфейса к чипу памяти, нужна сложная комбинация из регистрового файла, кэшей и памяти как таковой.

              2. Исследования использования операция в программах, проведенные в Стенфорде Джоном Хеннесси в конце 1970-х — начале 1980-х годов показали преимущества использования регистрового файла (при наличии оптимизирующего компилятора) перед стеком. Это преимущество было даже в споре между MIPS и SPARC (у которого был стек регистровых окон).

              Это я так думаю, но вы можете погуглить и найти какие-нибудь альтернативные объяснения. Хотя стек действительно легко реализовать и это элегантная модель для программиста (см. мой старый пример стекового калькулятора).


          1. x8core
            25.03.2019 05:35

            Технические аспекты и детали реализации модулей, процесоров у Хариса вполне могут быть лучше. Суть в том, что мы говорим о контексте новичка. К примеру, молодого человека который хочет понять как и зачем создавать компьютер?
            Петсольд раскрывает фундамент. Что такое электрон? Какую проблему пытались решить люди изобретая реле, телеграф, логические вентили, и как они это сделали? Как "заставить" электричество сложить два числа? Как "заставить" энергию природы выполнять необходимые бытовые задачи? То есть Петсольд предлагает новичку идеалогическую базу для будущих знаний. Сначала показывает желание, а потом как достигать реализации этого желания. Это здорово в контексте школьника. Харрис же начинает с сухого изложения материала. Так нельзя поступать с новичками, а особенно со школьниками. Нужно разжигать разум школьника и рождать интерес в нём, а тогда уже подкидывать в этот огонь практические знания. Но никак не наоборот. Именно поэтому я использовал слово "сомнительно", в отношении Хариса для новичков. Харрис приводит историческую выжимку развития компьютеров, и упоминает, что какая-то там ракета за 7 миллиардов долларов разбилась из-за переполнения регистров. И это вызывает во мне волны негодования. То есть люди посчитали уместным вставлять в книгу подобные данные о странах, годах и финансовых показателях затрат
            на создание ракеты. Эти мелочи весьма красноречиво говорит нам об их неумении без лишних отступлений ответить на вопрос "как и зачем создавать компьютеры?" Какая ирония! Они отлично разбираются в вопросе создания компьютеров, но не чувствуют неуместности вышеупомянутых данных в своей книге.


            1. YuriPanchul
              25.03.2019 07:11

              Я понял вашу позицию. Харрисы конечно писали для студентов младших курсов, которые уже выбрали специализацию, а не для школьников, которых нужно заинтересовать, или интересующихся взрослых, которые читают это как научно-популярную литературу. Петзольд ориентировался на две последние категории.

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

              Вы кстати можете посмотреть мой онлайн курс (ссылки ниже) и высказать что вы про него думаете? Он сейчас запускается РОСНАНО для профориентации школьников и мне интересны разные мнения и оценки — habr.com/ru/post/443234 и про семинар по ПЛИС в апреле по поводу этого курса — habr.com/ru/post/444476

              Я не пытался заменить ни Петзольда, ни Харрисов, а обрисовал все на пальцах для школьников со своей точки зрения инженера в микроэлектронной промышленности.

              Вот как выглядит пару моих исторических справок из сценария к курсу (они есть на слайдах). Она сухая (курс не об истории), но мне интересно, не вызывает ли она у вас негодование?

              1.2. Историческая справка: 70 лет развития

              Первые цифровые устройства появились еще в середине XX века. Но на физическом уровне ранние компьютеры использовали не микросхемы. Такие машины как ENIAC (США, 1946) и МЭСМ (СССР, 1950), состояли из тысяч электровакуумных ламп-триодов. Другие ранние устройства использовали электромеханические реле. В конце 1950-х появились компьютеры на индивидуальных корпусированных транзисторах, и только в середине 1960-х — компьютеры на интегральных схемах.

              [Картинки реле, ламп, корпусированных транзисторов, интегральных микросхем]

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

              В начале 1970-х годов на рынке появились первые микропроцессоры от Intel, Texas Instruments, MOS Technology и других компаний. Их стали использовать в калькуляторах, первых микрокомпьютерах и игровых приставках. Началась жесткая конкуренция между микроэлектронными компаниями. Микропроцессоры стали расти, и проектировать их вручную стало невозможно.

              [Картинки ранних калькуляторов, первых компьютеров — Altair 8800 или Apple I, игры Atari Pong]

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

              К началу 1980-х годов программ для проектирования микросхем появилось так много, что возник термин Electronic Design Automation (EDA) Industry — промышленность по автоматизации электронного проектирования. Некоторые из компаний 1980-х остались лидерами отрасли до сих пор — Synopsys и Cadence Design Systems.

              Одновременно пошла волна внедрения персональных компьютеров во все сферы жизни, в первую очередь офисы больших и малых компаний. Микропроцессоры, видеопроцессоры и другие чипы стали еще больше, рынок требовал выпуска новых изделий все быстрее и быстрее. Теперь инженерам стало тяжело даже рисовать принципиальные схемы мышкой на экране, как за 10 лет до этого стало тяжело рисовать дорожки и прямоугольники слоев на чертежах поверхности кремниевого кристалла. Требовались новые технологии, и они появились в середине и конце 1980-х: языки описания аппаратуры, моделирование на так называемом уровне регистровых передач (Register Transfer Level, RTL) и программы логического синтеза. Эти технологии и образовали так называемый маршрут RTL-to-GDSII, который используют и современные разработчики микросхем.


              2.1 Историческая справка

              Разделение электронных систем на аппаратуру и программы изобрели в середине 20 века. В 1946 году американский исследователь Джон фон Нейман опубликовал статью, в которой описал устройство компьютера с хранимой в памяти программой. С того времени эту организацию вычислений называют «архитектурой фон Неймана». Хотя правильнее было бы называть ее «архитектурой Экерта-Мочли-фон-Неймана», так как статья фон Неймана основывалась на компьютерах ENIAC и EDVAC, которые разработали в Университете Пенсильвании Преспер Экерт и Джон Мочли. Причина, по которой в названии остался только Джон фон-Нейман: компьютеры ENIAC и EDVAC заказала армия США и участники этих проектов на момент публикования статьи фон Неймана были засекречены.

              Одновременно или довольно скоро после проекта ENIAC в мире стартовало несколько похожих проектов, включая советские проекты: «Макет электронно-счетной машины» (МЭСМ), возглавляемый Сергеем Алексеевичем Лебедевым, и проект машины М-1, под руководством Исаака Семеновича Брука. К концу 1950-х годов развились общие принципы программирования, которые мы используем до сих пор.


              1. x8core
                25.03.2019 13:57

                Благодарю за ответ.

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

                Меня интересует исключительно то, как у вас происходит введение школьника в основу создания компьютеров. Например как объясняется про электричество, двоичную систему счисления, сложение двоичных чисел и применения электричества для сложения двоичных чисел.


                1. YuriPanchul
                  25.03.2019 19:28

                  Это есть в первой части моего курса на stemford.org/#course?id=6410690722451343819

                  Я не пытался повторить Петзольда, просто дал минимум, чтобы школьник гарантированно понял материал второй части (про логический синтез языков описания аппаратуры) и третьей (про физической размешение схемы на кристалле и применяемых при этом алгоритмах). Это разумеется не для всех школьников, это для профориентации школьников, у которых возникла идея пойти в вуз типа МИЭТ или на соотвествующие специальности в МИФИ, ИТМО итд.

                  Оглавление первой части выглядит вот так:



                  Оглавления второй и третьей частей есть в habr.com/ru/post/443234


                  1. pgkirich Автор
                    25.03.2019 21:40

                    Мы с товарищами по работе посмотрели этот курс. Нам он местами показался для новичков сложноватым, особенно в части триггеров и их времянок. Вы уже обкатывали его на ком-то?


                    1. YuriPanchul
                      25.03.2019 21:54

                      Ну вот сейчас обкатываю. Курс я сознательно ориентировал на школьников олимпиадного типа, а не на всех. Если его делать проще, то до синтеза верилога и алгоритмов place & route они просто не дойдут.

                      Да, и меня ваши комбинации транзисторов кажутся сложными для школьников — тут вопрос как смотреть. Нужно просто попробывать все.


                      1. pgkirich Автор
                        25.03.2019 22:20

                        Исходно целевая аудитория была неочевидна, или я просмотрел. Если на олимпиадников, то может пойти успешно.


                      1. tirus
                        26.03.2019 07:23
                        +1

                        Юрий, ремарка про транзисторы в этой книге — на мой взгляд, это самая важная и интересная часть книги, выделяющая ее из ряда других. Про логические микросхемы написано огромное количество книг, а вот рассказ простыми словами про то, как это работает на MOSFET — приятная фишка именно этой книги (главы 2 и 3).


                        1. pgkirich Автор
                          26.03.2019 07:53

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


                        1. YuriPanchul
                          26.03.2019 08:07

                          О, это я понимаю и ценю. Тематика транзисторов нераскрыта в большинстве книг такого типа, а ведь надо еще поведать молодежи про FinFET и пути в будущее, а без основ это нельзя.


      1. Timka21213
        24.03.2019 12:44

        у меня многие дети с удовольствием читают мангу Хидэхару, но она без практики: dmkpress.com/catalog/manga/978-5-97060-661-2


      1. YuriPanchul
        25.03.2019 00:33

        К сожалению, на сайте easyelectronics по вашей ссылке лежит версия Харрис & Харрис 2015 года, в которой из-за халатности британского верстальщика (контрактора Imagination Technologies который переверстал исходную верстку от РОСНАНО) было пропущено предисловие. Эта версия жила всего полтора дня, пока не была выложена правильная версия. Самая правильную версию (со всеми правками за 3 года) вы можете скачать по ссылке c сайта MIPS. Правда ссылка работает только под Windows, а на Маке и под Линуксом глючит (на этот раз виноваты британские сайтоподдерживатели). Если у вас с ней проблемы, можете скачать эту же версию отсюда.


        1. Karlson_rwa
          25.03.2019 00:35
          +1

          Так давайте призовем DIHALT, чтобы он поправил файл у себя на сервере.

          Кстати, замкнутый круг с сайта MIPS и под виндой получается.


          1. YuriPanchul
            25.03.2019 00:47

            Давайте!


    1. DmitrySpb79
      24.03.2019 15:22
      +1

      А ведь это интересно не только школьникам, но и взрослым, которые хотят побольше узнать об электронике.
      Я пытался в свободное время написать (бесплатную) книгу по радиоэлектронике для начинающих — уровня Arduino,Raspberry Pi и пр.

      Кое-что получилось, кому интересно flibusta.site/b/515361 (если ссылка не открывается то здесь).


      1. tehnolog
        24.03.2019 16:03

        Я знаком с вашей работой. Но у вас практически сразу примеры с платой, а я говорил, что хочется собирать схемы без нее.


        1. DmitrySpb79
          24.03.2019 16:38

          Ну все же триггерами и транзисторами надолго не заинтересуешь детей имхо, это не настолько зрелищно. Это хорошо как 1-2-4 вводных занятия, а дальше все равно переходить либо к микроконтроллерам, либо к плис. Дальше могут пойти роботы, основы силовой электроники (то же управление моторами), сетевые сервисы и пр.

          Так-то да, согласен, современных книг типа «Искусства схемотехники», но на новой элементной базе, я не видел.


          1. NordicEnergy
            24.03.2019 19:05

            1) Ого, вы настолько великий учитель, что можете хотя бы базовую схемотехнику аналоговую и цифровую с лабораторками упихнуть в 1-2-4 вводных занятия?

            2) Ардуино, малина… зачем? Ну серьезно, в стране и так дебилов немерено, вы еще их пытаетесь дополнительно плодить. Потом люди не понимаю что такое компилятор, как оно работает, а в случае отсутствия IDE падают в обморок и требуют психолога.

            3) А что вы имеете ввиду под Хорровицом на новой базе? Транзисторы за 30 лет принципиально изменились? BC847 нельзя использовать в повторении схем из книжки?
            Если хочется новую книжку, то есть те же Харрисы, но вот незадача — логические элементы тоже за 30 лет не сильно поменялись, да и ПЛИСы уже 30 лет как есть, так что в плане содержания эта современная книга принципиально ничем не отличается от учебников 90-х.


            1. DmitrySpb79
              24.03.2019 19:35
              +1

              Я же говорю про кружки, а не про ВУЗ. Если давать детям весь курс ТОЭ с нуля, они просто не будут ходить.

              Arduino + Raspberry Pi позволяет делать кучу всего, от роботов до машинного зрения. Можете распознавание лиц запустить или даже нейросеть через Intel Compute Stick. Это же полноценный Linux, там в принципе все работает, хоть кластер многопроцессорный на Hadoop можно поднять. Так что вопрос про дебилов тут не стоит, смотря на каком уровне подойти к задаче :)

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


              1. staticmain
                24.03.2019 20:03
                +1

                Это же полноценный Linux, там в принципе все работает, хоть кластер многопроцессорный на Hadoop можно поднять. Так что вопрос про дебилов тут не стоит, смотря на каком уровне подойти к задаче :)


                Имеется в виду, что запуск какой-либо задачи на готовом Linux никак не отличается от запуска подобной программы на десктопе. Каким образом связана схемотехника и raspberry?

                Про идиотов имеется в виду, что после того как люди знакомятся с ардуино и распберри схемотехникой они больше не интересуются. STM/ESP для таких людей пустой звук.

                Как конечный вариант эволюции таких пользователей: habr.com/ru/sandbox/118863 человек на 4м курсе делает на двух ардуинах пинбол. При этом по заданию надо передавать данные по воздуху. Используется готовый bluetooth модуль, при этом ардуины спариваются проводом.
                image
                Использовать самостоятельно сделанный радиопередатчик? Распаянные светодиоды? Нет, просто возьмем все готовое, совместим с помощью беспаечных проводов, возьмем готовую библиотеку для работы со всем этим добром и сдадим как выпускную работу бакалавра. Да блин даже у меня в 2012м на втором курсе в непрофильном университете по схемотехнике была курсовая с радиопередатчиком и приемником на «рассыпухе».

                Поэтому после слов «а теперь берем распберри\ардуину» мне вспоминается вот этот лот:
                image и вот этот лот:
                image


                1. DmitrySpb79
                  24.03.2019 20:25
                  +1

                  запуск какой-либо задачи на готовом Linux никак не отличается от запуска подобной программы на десктопе. Каким образом связана схемотехника и raspberry?

                  Именно тем, что на Raspberry Pi легко работать с внешними устройствами — хоть serial port, хоть i2c, хоть обычный GPIO. Можно подключить датчики, моторы, да что угодно, хоть с квадрокоптера видеотрансляцию в полете делать или управлять роботом через интернет. По-моему для кружков или для хобби, то что надо. На рассыпухе сейчас много не соберешь — тот же акселерометр или bluetooth я бы дома сам не стал паять, слишком муторно.

                  Разумеется, от студентов радиотехнических вузов требуется большее, чем просто соединить 2 макетные платы проводами, тут согласен. Но еще по моему опыту учебы в ВУЗе, есть 2 категории студентов — те, кто заинтересованы сами и делают больше стандартной программы, и те кто просто отсиживает часы и знает что пойдет работать менеджером или продавцом в Медиамаркт и ему эти транзисторы/диоды нафиг не сдались. Для первой категории модульность это плюс — можно сделать что-то интересное, вторые соединят светодиод с платой проводами, свою «3» получат, и бог с ними.


                  1. staticmain
                    24.03.2019 21:11

                    На рассыпухе сейчас много не соберешь — тот же акселерометр или bluetooth я бы дома сам не стал паять, слишком муторно.

                    Акселерометры: www.chipdip.ru/catalog-show/accelerometers
                    Есть даже те, который настроены на один угол и меняют сопротивление (ЕМНИП) в зависимости от ускорения в данном направлении.

                    Bluetooth вас никто не заставляет паять, в заданиях или задачах необходимо просто передать сигнал по воздуху. По какому стандарту — на усмотрение автора. Для полноценного передатчика звука, например, надо всего 2 транзистора.
                    На рассыпухе сейчас много не соберешь
                    Чем «сейчас» отличается от того, что было лет 10-15 назад до ардуин? Что люди умели паять, а не втыкать штырьки?


                    1. DmitrySpb79
                      24.03.2019 22:26

                      Ну дайте школьнику паять STM32 с обвязкой, я посмотрю на результаты :) Можно конечно заморочиться если задасться целью, но зачем?

                      «Сейчас» очень мало что можно спаять на коленке, чтобы было интересно, даже не все компоненты в DIP и удобных для пайки корпусах вообще есть. Хотя спасибо китайцам, отладочные платы есть на любой вкус и кошелек.

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


                      1. staticmain
                        25.03.2019 02:17

                        Ну дайте школьнику паять STM32 с обвязкой, я посмотрю на результаты

                        Не вижу разницы между https://www.aliexpress.com/store/product/STM32F103C8T6-ARM-STM32-Minimum-System-Development-Board-Module-ForArduin/1095279_32581820854.html?spm=2114.12010608.0.0.1c937ffcXsE2ks и какой-нибудь arduino uno.


                        «Сейчас» очень мало что можно спаять на коленке, чтобы было интересно

                        Судя по статье выше дети смартфон убирают ради безконтроллерной "кто первый", а вы тут про интересно/неинтересно. Да обычный моргающий мультивибратор уже интересная штука, особенно если подстроечники туда воткнуть. На контроллере банальный led куб гиперинтересная схема, особенно если учить способам чарлиплексинга и демультиплексорам. А добавив кнопки уже неограниченный полет фантазии, вплоть до калькулятора с восьмисегментным дисплеем.


              1. NordicEnergy
                24.03.2019 21:03

                Речь про кружки. Вообще какова задача радиокружков и робототехнических секций? В нынешние времена по моему одна — вытащить бабло с родителей, т.к. никакого практического смысла и пользы они не дают.
                Посещал я в школьные будни радиокружок и в 5-6м классе как все собирал схемы на КТ315, на 561-й логике и прочей рассыпухе и все это было интересно. Если ребенок к технике не расположен, а таких большинство, то ему уже ничего не поможет, а тем более бабуина с питоном. Зато это поможет создателям кружка/клуба улучшить свое материальное благосостояние :))

                Новая база — это те транзисторы/компоненты, которые можно просто купить в ближайшем магазине, а не искать в антикварных лавках.
                А вы точно про электронику не с хабра узнали? Вы не в курсе, что КТ315 заменяется на BC847 без каких-либо проблем? А еще его можно заменить на любой NPN транзистор просто пересчитав усиление, если это надо. Хотя да, формула в одну строчку это конечно же для ВУЗа, а не хипстерского робототехнического клуба с лего/ардуино/питоном.


                1. DmitrySpb79
                  24.03.2019 22:17

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

                  Про кружки не знаю, я их не вел. Думаю, туда все же идут по призванию, а не из-за денег, какие там деньги в современном образовании… Да и мне на месте современного школьника было бы интереснее робота с питоном делать, чем светодиодом на транзисторе мигать. Времена поменялись, и то что было круто в 70е, сейчас уже не будет интересно. Ну можно сделать это 1-2 раза, но целый год, увольте :)


                  1. NordicEnergy
                    24.03.2019 22:23

                    Школьники не настолько тупы, чтобы не осилить линейное уравнение из 7 класса. А вот объяснить им, что можно взять аналог или пересчитать может любая советская книга даже.

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

                    Ага, по призванию… в ВУЗ тоже по призванию… на выходе у нас 90% людей, которые занимаются не тем, что нравится и работают не по специальности. Огорчу вас, но большинство идут, потому, что мамка отправила и даст трендюлей, если пропустишь, ибо она уже оплатила на месяц вперед.


                    1. DmitrySpb79
                      24.03.2019 22:38
                      +1

                      Ага, ребенок сел делать вторую в жизни схему, а вы ему предлагаете режим транзистора пересчитывать? Все же схема для детей должна быть работоспособной и 100% повторяемой без посторонней помощи, не у каждого дома есть те кто разбирается и может помочь.

                      То что «сейчас ничего нет» это имхо брюзжание предыдущего поколения :) Современные дети сейчас могут собрать столько всего, сколько в 70е и не снилось, и современный радиокружок может быть ничуть не менее интересным чем тогда. Но технологии другие, конечно, материальная база другая.

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


                      1. NordicEnergy
                        25.03.2019 00:43

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

                        В современно же радиокружке по вашему расскажу детей пугает линейное уравнение, а преподавали настолько тупы, что не могут объяснить как его решить и какой физический смысл несет. Раньше почему-то могли, а сейчас не могут.

                        С одной стороны доступность материалов для электроники и DIY очень радует, с другой стороны это и вредит, т.к. сейчас не каждый иликтронщик паять то умеет нормально. А зачем? Можно купить шилдов и дюпонами слепить же! И главное потом еще на хабре это показать в виде очередного умного дома или метеостанции.

                        Если найдется педагог, способный интересно и творчески преподавать аналоговую схемотехнику
                        То есть основа электроники это тема, которую можно не объяснять, ЕСЛИ не нашли преподавателя нормального? Вот так красота)) Скоро перестанут обучать таблице умножения, ибо калькулятор есть же. Хотя ее и так 9 из 10 не знаю.


                    1. truebest
                      24.03.2019 23:24

                      Питон и ардуинка это тоже круто.
                      Посмотрите на наше все Илон Маск, и его Boring Company вакансии embedded
                      Experience working with C/C++
                      Proficient in Python.

                      С этого и ардуина начинается.


                      1. NordicEnergy
                        25.03.2019 00:37

                        Ну так С/С++ основа, а питон в данном случае просто мелочь всякую писать для прототипирования. Самое забавное, что ардуина/малина не учит ни С++, ни питону. Учит находить готовый скетч, а если он не заработал, то искать другой. О чем ранее говорил — данные знания бесполезны.


                        1. truebest
                          25.03.2019 01:04

                          Мы не знаем к чему это приведет. Может 9 из 10 найдет скетч и реализует задачу, подключит либу. Другой же не найдет нужный скетч, и попробует написать свою либу, или по-другому заставит ее работать, а там они на с/с++ и пишутся. Из этого что-то да и получиться может.
                          А питон издавна используется как для научной так и математической работы, конечно mathlab наше все, но и на питоне все можно посчитать. Да, порог вхождения стал ниже, не используется IDL и тп. Но люди решают задачи.
                          Питерский selectel пополной до недавнего времени python везде использовал. Железные проекты тоже на python работают, тот же gnu radio по полной использует. Вы его можете на малинку закатать и реализовать sdr приемник, поиграться с либами, написать свой обработчик и тд пакетов, кодер/декодер и тд.
                          Малой сделает телеграмм бота на малинке и питоне, это уже здорово, вдруг этот бот поможет людям больше чем железка с софтом от звездной команды. Ребята из JetBrains сделали Kotlin, там далеко не дураки работают, сделали очередной язык коих тысячи. Но они сделали, google и другие пользуются.

                          Сейчас в мире наблюдается тенденция, много кода уже написано, много программ уже придумано, потому все чаще становятся нужными люди на вакансию software architecture, со знанием паттернов и языков программирования, а важным скилом является умение взять готовое и адаптировать под свое решение, дописать если нужно, и выкатить продукт.
                          Простая комбинаторика, да не спорю. Не гениально, нет компиляции того, что еще не придумано в природе и обществе. Не так много в мире задач, где требуется Перельман.
                          Это позволяет решать задачу, быстро и с минимальными затратами, что зачастую бизнесу и нужно.

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

                          Вы слишком жесткий к себе и людям. Сейчас, как мне кажется, нужно всем больше любви.
                          «Лучше быть оптимистом и ошибиться, чем быть пессимистом и оказаться правым.»


                          1. vortupin
                            25.03.2019 19:45

                            Любопытно, что это уже вторая тут дискуссия на одну и ту же тему; притом, «аргументы» противной стороны сводятся, в основном, к «нефик плодить дебилов, копипастящих из говна и палок» и «настоящие профессионалы не используют Arduino (BasicSTAMP, ESP32, etc.)».

                            Но пока «настоящие профессионалы» доказывают свою правоту, а также ваяют «правильную нетленку» (которая, кстати, может «не взлететь»), «копипастеры-дебилы» поднимают миллионы на кикстартере, и выпускают пусть «неправильные», но рабочие и нужные продукты в фантастически быстрые сроки.


                            1. YuriPanchul
                              26.03.2019 08:03
                              +1

                              Имхо у вас несколько скошенная перспектива про кикстартер. Я работаю в Silicon Valley более четверти века, и из того, что я вижу, могу сказать, что:

                              1. Миллионы поднимаются не на кикстартерах, а в традиционных VC-funded стартапах. Среди 651 проекта на ардуино на сайте кикстартера ни один проект не поднял даже один миллион долларов — см. www.kickstarter.com/discover/advanced?term=Arduino&sort=most_funded&seed=2589293&page=1

                              2. Даже в кикстартерных компаниях, которые я видел, для встроенных проектов используются чаще не ардуино, а обычные тулчейны.

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


                              1. olartamonov
                                26.03.2019 08:12
                                +1

                                Кикстартерные проекты (с ардуино или без) — это конечно милая ниша для молодых людей, которые хотят что-то попробовать на грани с хобби, но погоды кикстартерные компании не делают


                                Там вообще модель «молодые стартаперы вышли с идеей отличного продукта и собрали миллионы» в общем и целом мертва года три как. Большинство таких проектов бултыхается со сборами в единицы тысяч долларов при таргетах 10-100К.

                                Значительная часть успешных стартапов на кикстартере не зарабатывает, а тратит: открывается кампания, вкладываются тысячи, иногда десятки тысяч долларов в продвижение, результат подшивается к инвестиционной презентации и несётся в большие фонды за настоящими деньгами. В фейсбучной рекламе под это аж целый новый жанр появился — фейковый high-tech обозреватель бурно восхищается продуктом.


          1. YuriPanchul
            25.03.2019 01:00
            +1

            Сейчас под эгидой ВШЭ МИЭМ делается лабник для ПЛИС, который в сочетании с русским переводом учебника Харрис & Харрис имхо эффективно заменяет цифровую часть Хоровица. Если вы со мной не согласны, вы можете в развернутой форме написать, аналоги каких цифровых частей Хоровица стоило бы добавить к Харрис & Харрис?


          1. Maximoose
            25.03.2019 21:42

            Но ведь есть новое издание Хоровица—Хилла — кажется, 2015 г. Правда, не уверен, что оно переведено на русский.


            1. DmitrySpb79
              25.03.2019 22:08

              Спасибо, не знал что новое издание уже есть.


  1. tormozedison
    24.03.2019 08:48

    На одном сайте встречал критику именно игры «Кто быстрее»: «даже советские дети не стали бы в это играть, а уж современные — тем более». А вы показали на практике, что критик неправ. Успехов вам!


  1. truebest
    24.03.2019 10:05
    +1

    Чтобы не ломать судьбы детей, начните новый лагерь с обзора зарплат, электронщиков, микроэлектронщиков, программистов плис, мк и тд. И сравните их с Go, Java, Python, Anrdoid, IOS, С/С++, а направлении ИИ и Data Scientist. Она в 1,5-3 раза выше. Даже элементарный запрос (stm32) в hh выдает 124 вакансии, против 5800 у Java. Если там еще останутся ребята, то можно продолжить работу. Еще не понятно? Разработки электроники в России почти нет, а уехать, не у всех хватит сил, ресурсов и тд.

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

    Напишите компаниями типа Nordic Semiconductor, возможно они скажут, какие знания нужно иметь чтобы можно было попытаться устроиться Digital IC Designer. Вот это, может хоть как-то помочь сделать их жизнь качественной.


    1. pgkirich Автор
      24.03.2019 10:31

      Зачем бы мне кому-то писать, я сам на Интел несколько лет отработал. С теми знаниями, что в МИФИ получил и за три года работы в отечественной фирме приобрел.


      1. truebest
        24.03.2019 11:01

        Отлично!


      1. truebest
        24.03.2019 12:48

        Только правда посмотрите на самый первый комментарий от tehnolog. Человек хорошо знаком с Андройд несколько лет. И только после этого он пошел и купил ардуино как хобби. Хобби занимаются когда все хорошо.

        Я надеюсь что для большинства тех детей, все это направление останется только как хобби.
        Я надеюсь что они не потратят кучу времени на это, чтобы как основная часть моих друзей (по всей стране, я очень много выступал на конференциях по железу и софту), не переучивались потом на Java и Go, столкнувшись с объективной реальностью.

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


    1. beduin747
      24.03.2019 11:35
      +2

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


      1. truebest
        24.03.2019 12:18
        +1

        Все-таки есть другая сторона. Вот пример, недавно недополитик говорил, что дети гранату не умеют бросать и оружие в руках держать, надо что-бы их этому обязательно учили, да и со школы или в спорт лагерях и тд. Вопрос, зачем учить тому, что в нормальном цивилизованном обществе ненужно? Проводя аналогию, ну так вот цифры «выдает 124 вакансии, против 5800», как раз говорят что обществу это ненужно. Я бы не хотел чтобы метание гранат в людей, для кого-то стало работой жизни, хобби, и тд. Мы все прекрасно понимаем, что если вы даете такой урок малому, он отложится на подкорке в качестве опыта. Любой опыт, хороший плохой, неважно. Может сразу все-таки человека направить туда, где с высокой вероятностью он станет как минимум программистом, с хорошей ЗП, а как максимум добьется успешного успеха в Google, Microsoft или других компаниях, а потом, если захочет, станет основателем например как это случилось с memsql?

        Все разработки тянут на себе увлекающиеся люди, да и компании, я посещал все хакатоны Intel Edison в Питере и Москве, там действительно много умных и талантливых ребят было, делали проекты, ребята из emlid посути сделали первый RTK GNSS устройство на Edison и у них получилось сделать стартап, большие молодцы.
        Но больше Intel не делает хакатоны, и проект Intel Edison закрылся. Я тоже попробовал сделать свое устройство, сделал, даже образцы продал, год тестировали, почти 2 года на все ушло, более 2,5 млн.руб, и всем все нравилось, но манагерский подход руководителей, убил проект. Скоро расскажу о нем на хабре. Пока еще осталось немного денег, попробую продвинуть проект.

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

        Да и сами вы не будете думать о творческих задачах, если вам банально поесть нечего или заплатить за квартиру.


        1. Int_13h
          24.03.2019 13:33
          +4

          Не знаю как насчет микромикромикроэлектроники, а вот просто электроника это реальный хлеб, иногда даже с маслицем, даже в самые мрачные времена. Меня она как начала в 7 классе кормить, так и кормит вот уже 22 года, несмотря на полный писец по всем моим профильным и не очень специализациям на местном рынке труда.
          Конечно

          Go, Java, Python, Anrdoid, IOS, С/С++, ИИ и Data Scientist
          вероятно более востребованы на рынке, даже на локальном, но вот лично мне тяжело заниматься более прибыльными, но абсолютно не интересными мне вещами. Но если решиться заниматься неинтресным делом, то есть еще более выгодные (и востребованные рынком труда!) позиции, чем Го-программист — менеджер по продажам например :)
          Ну и в случае полного упадка экономики уже и программировать ничего не придется, и продвать друг другу будет нечего, а вот на отремонтировать что-нибудь сломавшееся всегда будет спрос, а значит будет и хлеб, и масло, и ресурсы на квартплату. В крайнем случае, можно будет паять айфончики в каморке под лестницей за доширак в странах первого мира :)


          1. truebest
            24.03.2019 14:24
            -1

            Хлеб иногда с маслицем это хорошо, и меня она кормит но…
            Востребованы и работники клининговых компаний, их тоже это кормит…
            Но есть конкретный измеримый результат, в электронике это устройство работает, потребляет определенный ток, и тд.
            В биологическом представлении, вы потратили N своего времени (невозобновляемого ресурса), поменяли его на деньги. Купили дом, машину, квартиру и тд.

            Я все понимаю когда, ребята вот есть Go, Java, Python, Anrdoid, IOS, С/С++ и там вы будете зарабатывать X2-4. Вы сможете работать в крупных компаниях, над крупными проектами, в худшем случае в частных компаниях писать приложения, либо свои, а есть вот электроника, там вас в лучшем случае ждет КБ, X1 зарплата, а в худшем будете чайники и телевизоры со стиралками ремонтировать. Если вы согласны, значит это осознаный выбор. Если человек готов к этому, то я не против.


            1. Int_13h
              24.03.2019 15:06
              +2

              Есть работа интересная, есть работа высокооплачиваемая, не всегда они совпадают. Вопрос приоритетов.
              Вот можно в одной и той же компании можно копаться в железячках АСУТП за х1, а можно программировать 1С за х2. Почему то у нас в городе 95% вакансий программиста это как раз 1С, с очень вкусными предложениями по зарплате, но спрос не рождает предложение, так как вакансии эти висят годами.
              Ну и в электронике можно найти свою нишу, с достойной материальной компенсацией потраченного времени. А вот как раз ремонт чайников в эту категорию не попадает, но на черный день сгодится.


    1. Pyhesty
      24.03.2019 12:00
      +1

      запрос не верный, ищите "радиотехник", в отличие от программистов, радиотехник более широкая профессия, он не имеет право узкоспециализироваться…
      нас в городе зп радиотехника выше программиста и вакансий в разы больше…


      1. truebest
        24.03.2019 12:32
        -1

        Радиотехник -в hh 440 по России. Здесь еще включены ребята, которые занимаются ремонтом телефонов и ноутбуков, в магазинчике или ларьке возле метро, или менеджер по продажам. А так, профессия широкая, не спорю.
        Зп радиотехника выше программиста — да ладно, это где?


        1. gFanis
          24.03.2019 18:59
          +1

          Зарплата флотского электромеханика — в среднем по России 220, за бугром — до 7000 евро. Но при соответствующем образовании — здесь от дизеля, локатора до последних автоматов навигации. И на пенсию в 55 :-)


          1. truebest
            24.03.2019 19:34
            -2

            Ого, это много. Ну на любых досках объявлений такой вакансии никогда не увидишь. Да и этот корабль должен плыть куда-нибудь в сторону Сирии, с крайне непростой командой.
            Есть еще одна большая разница между бугром и нашими. Например, за бугром не очень круто делать работу, за другого человека. Тоесть если вы старший инженер, вы не будете делать работу за электромеханика. У нас же, руководство так поставит вопрос, что у тебя неостанется выбора.
            Кроме того я видел как технический директор, крупнейшев в России компании по производству мяса, давал задание главному инженеру подыскать электрика за 15-20 тысяч.

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


            1. gFanis
              25.03.2019 10:57

              Есть такое понятие — крюинг. Ищите там. А так, на всякий случай, у знакомого сын проходил практику после 3-го курса на Лене электриком танкера с зарплатой 70-90.
              И существенный плюс в этой системе — получить ллойдовский диплом в Лондоне стоит 300 фунтов, наш диплом признается.


        1. Pyhesty
          25.03.2019 09:50

          58°?31.2885'?0" с.ш. (N), 31°?16.5285'?0" в.г. (E)
          радиотехников занимающихся действительно разработками больше чем Сколково,
          приезжайте, хотя зп в общем ниже чем в мск, но радиотехники больше ценятся, тк их не хватает


    1. avost
      24.03.2019 12:03
      +2

      Чтобы не ломать судьбы детей, начните новый лагерь с обзора зарплат, электронщиков, микроэлектронщиков, программистов плис, мк и тд

      Давайте-ка я вам судьбу сломаю и намекну обозреть зарплаты американских лойеров… Страдайте теперь всю оставшуюся никчёмную теперь доя вас жизнь. :)


      1. truebest
        24.03.2019 12:25
        -1

        У нас тоже, всякие Жорины, разводящие Петросянов хорошо зарабатывают.
        Да и обычные адвокаты по семейным делам, отлично зарабатывают и в РФ, тут можете послушать истории Джанго

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


    1. truebest
      24.03.2019 13:04

      Молча поставить минус, мда.
      Я как человек с детства занимающийся электроникой, от схемотехники до программирования, с опытом более 12 лет, пишу вам как все из-нутри выглядит, получаю минусы, пишите хотябы с чем не согласны, приводите доказательства, сссылки и тд.


      1. Karlson_rwa
        24.03.2019 18:38
        +1

        Software Engineer, Hardware Engineer.
        А вообще, всё очень сильно зависит от страны. Ваше мнение ни к чему, кроме коллапса на рынке труда не приводит. Перекос в любую сторону дестабилизирует систему. Специалисты всякие нужны.
        Тенденция да, есть, что на одного реально работающего электронщика нужно 2-3 программиста (по крайней мере в embedded-системах). Но это не говорит о том, что работа электронщика никому не нужна.

        Следуя вашей логике, в нашей стране кроме мастера и помбура вообще больше никто не нужен.


        1. truebest
          24.03.2019 20:04
          +1

          Конечно, очень сильно зависит от страны, о чем я и говорю.
          Моя мама работает операционной мед.сестрой с зп ~22 т.р. в районной больнице. Стаж овер 30 лет. Недавно от-туда уволилась бригада скорой помощи целиком и пошла работать в индюшатник (индилайт), потому что зарплата на скорой 15 тысяч, а в индюшатнике 45 тысяч. Таже бригада скорой помощи в США или Европе, получала бы другие деньги.

          К коллапсу на рынке труда приводит не мое мнение, а экономика посути, кто требуется, на того и спрос, там и оплата больше, сейчас спрос на backend/Frontend/mobile, потому больше вакансий, большие ЗП.

          Специалисты то всякие нужны, это так, но кто-то нужен больше, а кто-то меньше, только время жизни одних стоит на рынке занятости больше, а других меньше. Россия это капиталистическая страна, а значит мы здесь меняем один ресурс на другой, и у всего есть цена. Мы не живем с вами в Швеции например где «социал-демократия», и вроде-бы все получают примерно поровну.

          Электронщик может вытянут спокойно 2 проекта, или даже на две команды 1 электронщик. От старта проектирования схемы, до получения опытного образца, обычно проходит до 1 месяца у опытного электронщика, заточненного под embedded системы, и дальше его работа, в допиливании найденных косяков (если такие будут), а вот писать код, это реально гораздо дольше, особенно если проект большой.

          Я разбираюсь и в проектирование схем и печатных плат, так и в коде. Последнее мое устройство, около 150 компонентов схемы, ARM + ADC + GSM + GPS + RS485 + CAN, сложная система питания, DC/DC и тд. Первую версию платы выкатил уже через 3 недели, в следующей поправил косяки и отдал на тесты заказчику, в третьей еще пару нюансов исправил и продал небольшим тиражом. На все провсе на плату ушло 1,5 месяца. Но код к этому устройству, с бутлоадером и прошивкой, сейчас более 80 тысяч строк, я его менее полгода писал каждый день по 12-15 часов, чтобы успеть в срок.


          1. NordicEnergy
            24.03.2019 21:15

            Ахахаха, 3 недели на плату со 150 компонентами?)) Я вас спешу огорчить — эта задача выполняется за 2 рабочих дня по 8 часов. Как можно было это растянуть на 3 недели — загадка…

            Электронщик может вытянут спокойно 2 проекта, или даже на две команды 1 электронщик.
            Ну с уровнем ваших проектов вероятно один злой хардварщик вытянет целую компанию)) У нас почему-то некоторые железные проекты (сварочные инвертора) разрабатываются командой в 2-3 человека по несколько месяцев, правда компонентов чуть больше… тысяч 6-7.

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

            Говорить, что в железе меньше зп тоже глупо, т.к. вы как минимум не знаете и 10% рынка, вы не видели сложных проектов, а деньги именно там, ну и наивно думать, что все софтописатели получают оклад в 180к и выше. Основная масса даже в Мск сидит на 80-120к, а про «замкадье» и говорить не стоит, в моем родном миллионнике зп у синьора всего 100к, эти же 100к я зарабатывал АСУшником и потом схемотехником.


            1. truebest
              24.03.2019 21:38
              +2

              Ахахаха, 3 недели на плату со 150 компонентами?)) После такого крайне смешной выглядит фраза:
              Я разбираюсь и в проектирование схем и печатных плат, так и в коде.

              Я вас спешу огорчить — вы не разбирайтесь ни в электронике, ни тем более в конструирование ПП, иначе бы эта задача заняла 2 рабочих дня по 8 часов. Как можно было это растянуть на 3 недели — загадка…

              Если мы говорим о задаче, предварительно проработанной то:
              Несколько дней мы проектируем схему, несколько дней мы делаем дизайн PCB, далее производство печатных плат, закупка компонентов, сборка опытного образца. Это занимает в среднем 3-4 недели. Я об этом сроке говорил.

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

              Я показал пример из ХХ, он простой и наглядный, как EMC2. Это говорит о том что такие проекты недоступны либо обычному соискателю, либо в России. А процессы и производственные процессы у всех разные, и говорить что ты этого и того не знаешь это странно. Пока не погрузишься — не узнаешь.

              вы как минимум не знаете и 10% рынка

              Вы потратив 3-4 года на каждого работодателя, даже пусть по 2-3 проекта в год, вы все равно не узнаете всех проектов. Вы никогда не выпьете весь алкоголь и не попробуете всех женщин в мире. Это плохой аргумент.

              Основная масса даже в Мск сидит на 80-120к, а про «замкадье» и говорить не стоит, в моем родном миллионнике зп у синьора всего 100к, эти же 100к я зарабатывал АСУшником и потом схемотехником.

              Что и требовалось доказать. У меня есть приятель с вуза, я пошел в программирование под железки, он пошел в андройд, в 500к население городе, 150к поднимает.


              1. NordicEnergy
                24.03.2019 21:52

                далее производство печатных плат, закупка компонентов, сборка опытного образца. Это занимает в среднем 3-4 недели. Я об этом сроке говорил.
                Резонит и компел = 14 дней, если умеете таможить или можете притащить прототипы на физика, то 5 дней LCSC + JLCPCB + Fedex. 3-4 недели это если экзотику в ДКО Электронщик пытаться купить, ну или отдел за купок гнать в шею. Серьезно, я тоже раньше такие сроки считал нормой, пока не попробовал закупиться самостоятельно.

                Вы никогда не выпьете весь алкоголь и не попробуете всех женщин в мире.
                Вот поэтому я не люблю заявлений в стиле «все плохо», «везде мало» и в таком духе. Например, схемотехник/конструктор ПП способный в Arria 10GX и DDR4 получает в РФ 180-200к. Проблема, что компаний с такими задачами мало, например, Т8.

                Что и требовалось доказать.
                А что требовалось? Изначально речь шла, что зп в железе ниже, а вакансий меньше. На практике их не сильно меньше, а зп не ниже. Просто если мы сравниваем топовых java senior, то их надо сравнивать с аналогичными топовыми схемотехниками/железячниками. Действительно профессиональный специалист, хоть программист, хоть строитель, хоть агроном получают в среднем очень высокую зп в РФ на которую можно прекрасно жить. Я вот больше к этому вел :))


                1. truebest
                  24.03.2019 22:42
                  +1

                  А что требовалось? Изначально речь шла, что зп в железе ниже, а вакансий меньше.

                  На практике их сильно меньше, HH показывает это.
                  Т8.

                  Опыт Arria 10GX и DDR4 этого мало, потребуют еще знание DWDM систем, сети связи, коммутации, проводные, оптические, интерфейсы, а у программистов помимо знаний ПЛИС еще и теорию массовго обслуживания обслуживания и спецовые алгоритмы. Знать будешь ВООО, и считать себя умнее других, а получать будешь как сеньер у джавы.
                  И получается ты должен быть выпускником Бонча, кафедры СС где как раз эта DWDM от T8 стоит, ну и паралельно ходить на плис. Это слишко узко.

                  Из джавы легко уйдешь в другой проект, а там тебе весь мозг вынесут типа, тыже с альтерой работал, а у нас зайлинкс.

                  Фигня короче, будьте программистами высокоуровневыми и будет счастье, спокойная семейная сытая жизнь, с доступной работой, и без гемороя, со всяким DWDM.


          1. Karlson_rwa
            24.03.2019 22:23

            кто требуется, на того и спрос, там и оплата больше

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

            От старта проектирования схемы, до получения опытного образца, обычно проходит до 1 месяца у опытного электронщика, заточненного под embedded системы

            Ха-ха, повеселили. Сферический проект в вакууме. Как, впрочем, и NordicEnergy со своими рассуждениями о двух рабочих днях.

            Я разбираюсь и в проектирование схем и печатных плат, так и в коде.

            Код, фото плат в студию!? :)


            1. NordicEnergy
              24.03.2019 22:28

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

              2 года жил на фрилансе с Европой и было реально проще работать, чем с отечественными конторами, например, какой нибудь xilinx там могли купить за 2 дня и еще через 2 дня курьер мне его домой приносил. Из минусов тут только необходимость покупки минимального оборудования (осцил, лог. анализатор, мультик, ЛБП и подобное), но оно обычно у железячника хорошего уже и так дома есть. Если нет, то покупается с одного заказа, уж 150-200к потратить (можно и в 50к смело уложиться, если не брать Keysight и Fluke) и тут же отбить не самая велика трудность.


              1. Karlson_rwa
                24.03.2019 22:37
                +1

                150-200 можно было потратить лет эдак пять-шесть назад. Сейчас минимальный ценник в два раза выше получается.

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


                1. truebest
                  24.03.2019 23:05
                  +1

                  Покупал в течении последних нескольких лет из недорогого домой.
                  Анализатор DSA832E-TG - 150к
                  БП DP832 - 30к
                  Полевой осцил SDS1202 20к
                  Полевой БП Manson 10к
                  Норм осцил DSOX2012A 100к
                  Антенный анализатор 10к
                  Паяльник Ersa 25к
                  Фен 8к
                  Fluke мультиметер за 10к
                  Два стелажа с компонентами бесценно!


                  Генератора не хватает, последний встал на таможне, и уехал назад.
                  Надо бы два, DDS до 100мгц, за 30к от сиглента, и что-то типа Anritsu MG3700A за 150к


                  1. Pyhesty
                    25.03.2019 10:01

                    хороший вкус ;)
                    одобрям-с)
                    ps: из осциллов не плох MSO2302A-S, жабу душили, но взяли


            1. truebest
              24.03.2019 22:47

              Сферический проект в вакууме

              Согласен, все проекты разные. Там где я варюсь, IoT и автоматизация, у меня столько уходит. При 100% доступности на складе в компеле получается быстрее. Максимальный срок получения собранной или самостоятельно собранной железки 3-4 недели, без мыльной попы, в спокойном режиме.

              Код, фото плат в студию!? :)

              Скоро будет статья, обязательно увидите.


      1. SergeyMax
        24.03.2019 19:37

        Я как человек «с опытом более 30 лет» имею возразить. Вы просто на первое место ставите деньги. Такой подход тоже возможен. Но например лично я считаю, что лучше заниматься тем, чем нравится, нежели тем, чем не нравится. А деньги… ну всегда найдётся тот, у кого зарплата больше и автомобиль чернее. Да и фиг с ним. Счастье не в этом.


        1. truebest
          24.03.2019 20:10

          Лучше заниматься тем, что нравиться и получать за это хорошие деньги. Пример номер раз.
          Я считаю что в деньгах счастье, и не я один, психологи тоже


          1. SergeyMax
            24.03.2019 20:17
            +1

            Вы (и часть людей) считаете так, а я (и другая часть людей) — по-другому. Не вижу темы для дискуссии.


            1. NordicEnergy
              24.03.2019 21:20

              Капитализм изнасиловал разум многих людей, так что бесполезно рассуждать о «нравится заниматься». По обсуждениям на том же хабре заметно насколько сильно ценности одной группы людей непохожи на ценности другой. Мне тут на днях доказывали, что работать в Яндексе по 6 дней в неделю 10-12 часов это не рабство, а «болезнь за компанию» :))


              1. olartamonov
                25.03.2019 09:03

                работать в Яндексе по 6 дней в неделю 10-12 часов это не рабство, а «болезнь за компанию»


                Ну, что-то нездоровое в этом действительно есть, трудно спорить…


    1. CorneliusAgrippa
      24.03.2019 13:37
      +9

      начните новый лагерь с обзора зарплат, электронщиков, микроэлектронщиков, программистов плис, мк и тд. И сравните их с Go, Java, Python, Anrdoid, IOS, С/С++

      Я изучал микроэлеткронику, «переходы, дырки, электроны и кулоны» на физико-техническом факультете, из Go и Python знаю только названия, 15 лет отработал в Европе в полупроводниковом производстве, сейчас директор небольшой МЭМС фабрики в России. Зарплата устраивает (больше, чем я получал в Европе). Что я сделал не так?

      Считаю, что автор поста все делает правильно. Если интересно, могу для школьников организовать экскурсию по МЭМС производству. Лекции по технологии производства тоже можем прочитать.


      1. truebest
        24.03.2019 14:04
        +3

        Ого, здорово, вы большой молодец!
        Но вы сами сказали что поехали реализовываться в европу. А быть Embedded или Design инженером, на территории США, Европы это другой разговор и другие цифры, я же приводил HH в России.
        А после того как опыт и контакты были собраны, организовали это в России. Сколько у вас специалист в 3-5 летнем стажем зарабатывает, который непосредственно дизайном ИС занимается? Сильная ли разция с европейскими зарплатами? Есть ли разница по спросу и предложению в России и Европе? По масштабу проектов?


        1. CorneliusAgrippa
          24.03.2019 15:09
          +3

          У нас не ИС, у нас МЭМС (чувствительные элементы различных датчиков: акселерометры, гироскопы, датчики давления и т.д.). Дизайна нет, только производство (модель фаундри). Специалист с 5 летним стажем зарабатывает более 100 т.р. Это меньше, чем в Европе, согласен. Зарплаты руководителей подразделений уже сравнимы с европейскими. Мы — небольшая фабрика, поэтому проекты у нас небольшие. Но в Европе небольшие проекты тоже реализуют. Некоторые наши клиенты раньше заказывали производство МЭМС в Европе, теперь заказывают у нас.

          Смысл моего предыдущего комментария в том, что не надо молодежи говорить: «Вот это деньги приносит, а это нет. Программирование высокооплачиваемая профессия, а схемотехник (или технолог) — нет.» Нужно показывать все варианты, кому-то одно интересно, кому-то другое. Кто-то найдет работу в России, кто-то за границей. Кроме того, сегодня сложно предсказать, какие специалисты будут востребованы через 20 лет, когда нынешние школьники достигнут карьерной зрелости. В 90-х, когда я учился в ВУЗе, самой популярной и высокооплачиваемой профессией были бухгалтеры и экономисты, на студентов технических вузов смотрели с сожалением. Мой друг пошел на радиотехнический факультет и специализировался на антеннах. Казалось бы — вообще тупик, кому сейчас нужны антенны (конец 80-х начало 90-х)? А потом вдруг появилась мобильная связь и спецы по антеннам стали на вес золота — как правильно рассчитать покрытие сигнала и расположение базовых станций таким образом, чтобы минимизировать их количество?


          1. truebest
            24.03.2019 21:11

            МЭМС в России это просто космос! Здорово, успехов вам и вашей фабрике. И поддержки от государства))
            Я с вами полностью согласен, что наша задача показать максимально большое количество вариантов применения себя (раскачать маятник восприятия). Вот я от автора и хотел чтобы он в том числе показывал и разность зарплат, и чем богатый от бедного инженера отличается.


          1. pgkirich Автор
            24.03.2019 22:05

            Я бы и сам сходил на такую экскурсию. И детей сводил бы. Однажды в поисках работы я получил предложение на позицию по этой тематике, но остался в микроэлектронике пока что. А тематика интересная.


    1. NordicEnergy
      24.03.2019 19:12

      Да вы что? Вас не смущает, что вы выбрали изи кортексы, которые может освоить любой школьник за месяц? Откуда быть большой зарплате у эмбедера, основной скил которого именно stm?

      В РФ есть 2 пути:
      — идти в эмбедед линукс и DSP, тогда спокойно заработок на уровне явистов;
      — удаленка со Европой и Штатами, а там электронщики зарабатывают как минимум столько же, а люди, пилящией проекты под космос и энергетику сильно выше, чем те же явисты.

      Основная причина низких зп у большинства электронщиков:
      — в СНГ нет настолько сложных задач за которые можно платить много, большинство это обоссаный IoT на модулях и тому подобное, но не единым СНГ живем однако;
      — в СНГ у электронщиков низкая квалификация, 95% фирмварщиков не могут собрать проект и прошить камень без IDE. Я на собеседованиях просьбой помигать светодиодом с помощью gcc и блокнота отсеял сотню людей точно :))


      1. truebest
        24.03.2019 20:50
        +1

        Нордик, я вас уважаю за ваши статьи, вы крутой, продолжайте их писать, да и успехов вам во всем!
        Прежде чем освоить stm32, пришлось пописать и под атмеги, под пикушки, at91 и nxp, ad blackfin, и только потом stm32. Потому, что именно этого требовал рынок, покрайнее мерее от меня. Это UM LPC1768 Там 851 страница, это только проц UM, а вы используете еще периферию, а там своя немалая документация. Помимо этого, нужны базовые знания: программирование, алгоритмы и структуры данных, логические элементы, принципы работы периферии и тд. Документация на SIM800C для IoT ох какая немаленькая. Школьник за месяц не выучит точно, а вот помереть от скуки в поцессе обучения это вполне реально.
        Что нужно для программирования на Go? 2 книги: — Язык программирования Go (Алан А. А Донован...), Алгоритмы (Род стивенс), каждая по 500 страниц, и вуаля, ты программист Go, пару лет назад туда без опыта брали людей.

        Кросс-компилить я могу, а вот пошить без IDE или софта программатора, Segger или st-link, через OpenOCD или GDB нет. Не понимаю, зачем изобретать велосипед, если есть простой, правильный и рабочий метод. Все современное программирование под android например, это давно достижение целей методами, предусмотренными google программистами. Для gcc можно использовать как make, cmake так и msbuild. Я сейчас последним посльзуюсь, он многопоточную компиляцию тянет, купил рязань 2700x проц, и на нем все бысnро компилю. А прошить контроллер можно и без GDB, через встроенный загрузчик например. Ваше требование к кандидатам странное, это как знание ассемблера в 2к19, вроде знять круто под конкретный проц, но практической ценности 0, так как все пишут на с/с++. Вообще у меня есть идея написать плагин для intellij idea для работы с arm, тогда разберусь как ocd и gdb работают. Люди просто так многие не изучают это, тк это на практике ненужно. Для чего вам нужно просить помигать светодиодом с помощью gcc и блокнота? Какая в этом практическая ценность?

        В СПБ будет семинар по i.MXRT1050, будете присутствовать?


        1. NordicEnergy
          24.03.2019 21:32

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

          Я немного неверно выразился сказав кортекс, правильнее сказать stm32, как самые популярные. Потому, что если человеку даешь те же LPC или XMC, то он начинает грустить и приходить в ужас.

          Две книги по Go круто, но на выходе будет такой же «школьник и месяц МК» :)) Все таки программирование как и железо это опыт, это сложившийся склад мышления, это умение искать решения. Изучение инструментов это важно, но не главное.

          Знание ассемблера это хорошо, хотя бы в базовом уровне, чтобы уметь где надо написать вставку быструю, а в случае проблем понять во что компилятор перегоняет ваш код. Так что вы зря на него :)) Касательно «gcc+блокнот»… У меня есть канал в телеге, где одни разрабы и сочувствующие, 400+ человек и блин, столько нытья постоянно типа «ребята, срочно! Сломалась TrueStudio/keil! Выдает ошибку, проект вчера собирался, а сегодня перестал, что делать?». То есть у многих нет понимания что они делают, когда создают проект, для чего они прописывают пути к файлам и линковщику, все это на автомате или даже создается IDE. Вот чтобы такого не было у меня в отделе я просил собрать проект без всего.

          На семинарах увы не побываю, т.к. перебрался в Финку с концами, поэтому посещаю местные мероприятия в универе. RT1050, кстати, недавно приобрел для небольшого заказа, для моей силовухи штука бесполезная оказалась, но супер решение для HMI и автоматизации. В ближайшее время может быть переделаю свою панель с F746 на RT1050/


          1. truebest
            24.03.2019 22:22
            +1

            У нас уровень электроники в стране крайне низкий, отсюда и средняя зп не очень высокая, т.к. платить за просто так никто не будет.

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

            это сложившийся склад мышления, Изучение инструментов это важно, но не главное.

            Тогда бы тех-же самых программистов с/с++ брали в embedded, но нет просят и linux kernel знать и bare-metal и тд. А значит просят конкретный опыт. Да вы и сами на него обращаете внимание. А склад ума и мышление, о котором вы говорите ставят в наших вузах это точно.

            Я же говорил про Go, где несколько лет назад брали с опытом программирования но без опыта Go. Один мой приятель, закончивший вуз с красным дипломом, поработав embedded разработчиком пару лет, после рождения 2х детей понял что денег не хватает, ушел в Go в Wildberries, чему безмерно рад. А я был не рад, потому что показал ему embedded и завлек в него, на который он впустую потратил лет 5 своей жизни.

            Сломалась TrueStudio/keil!
            ну бывает сломалась. Поноет, поноет, да и разберется что не так. Почитает про препроцессор, компилятор и линковщик. Просто у вас галочка определенная, человек может быть талантлив но не знать именно этого, подсистему Makefile например, и не сможет собрать проект в котором больше одной main функции. И не устроится на работу, тк просто не потратил пару вечером на то чтобы разобраться как, там все собирается. Вобщем это не првильно отбирать человека по знаниям, которые можно получить по одному клику из википедии или за вечер. Важно мышление и опыт.


      1. truebest
        24.03.2019 21:01

        ad blackfin хотел добавить. Когда писал под него, у нас в комманде был алгоритмист и математик. Задача программиста DSP в большой команде, превратить алгоритм в код под конкретный проц, запустить и проверить на плате. Easy easy…
        В тоже самое превращалась работа плисовиков, реализовывать механизм из алгоритма и математики. Эти ребята, вообще постоянно в тенис играли и кофе пили, у них проект компилился 3-4 часа, даже на самых мощных ПК. Пару раз за рабочий день, в лучше случае они его собирали.


      1. Karlson_rwa
        24.03.2019 22:39

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

        Какие ваши доказательства? Особенно про космос.


  1. FForth
    24.03.2019 10:39

    Чем понимание логических элементов микросхем реализованных на КМОП лучше для понимания «замшелых» микросхем ТТЛ? (В популярном справочнике под авторством Шило и те и другие представлены).

    P.S. Кто то Flprog даже на логике делает «программы» для МК AVR (Ардуино). :)


    1. pgkirich Автор
      24.03.2019 11:23

      Логика на КМОП предельно легко собирается и объясняется на дискретных транзисторах, в отличие от других типов. Поскольку я считаю это краеугольным камнем курса — все схемы должны быть доступны к построению на макетке и пониманию детьми, то у КМОП просто нет альтернативы.

      Если кто-то после этого захочет двигаться дальше, то все пути открыты.


      1. FForth
        24.03.2019 11:29

        А какие сложности собирания логики на TTL? (теже ZX-Spectrum собирались легко и непринуждённо на ТТЛ микросхемах серии 1533/1534) :)


        1. pgkirich Автор
          24.03.2019 11:36

          Сам вентиль на биполярных транзисторах собрать гораздо больше возни. Работа на уровне вентилей разницы не имеет, а вот уровнем ниже — на транзисторах — еще какую!


          1. FForth
            24.03.2019 13:41

            Какие книги из «советского» периода по цифровой схемотехнике можно рекомендовать для прочтения школьникам? (и какая библиография в Вашей книге)

            P.S. Вспоминается, например, Р.Тонхейм «Основы цифровой электроники».


            1. pgkirich Автор
              24.03.2019 14:14

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


            1. K1804
              24.03.2019 18:59

              Есть прекрасная более общая книга для широкого круга читателей — «Посвящение в радиоэлектронику» Полякова.


      1. LAutour
        24.03.2019 18:03

        И легче убивается статикой.


        1. pgkirich Автор
          24.03.2019 19:01

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


          1. LAutour
            24.03.2019 19:37

            Иногда хватает передать из рук в руки, с характерным щелчком :)


  1. vortupin
    24.03.2019 11:11

    Прекрасная инициатива, отличная работа проделана! Хорошее и правильное дело делаете, всецело одобряю!

    А Вашу книгу можно в электронном варианте купить или получить?


    1. pgkirich Автор
      24.03.2019 11:15

      Я не могу ответить на ваш вопрос, потому что передал права на публикацию материала издательству. Это им теперь решать, будет она в электронном виде или нет. Я могу продолжать ездить с гастролями, пользуясь всеми своими наработками, но не могу выкладывать рукопись или оригинал-макет в сеть. Все что я могу — это предложить желающим написать им самостоятельно о потребности в электронном издании. Но гарантировать положительный ответ, как вы понимаете, я не могу.


      1. vortupin
        25.03.2019 01:32

        Жалко, если честно: shipping с «оЗона» обойдется в несколько раз дороже самой книги (цену Вы поставили поистине «христианскую», и это правильно!), вдобавок, ничего из России уже лет как пятнадцать-двадцать не покупал, не уверен, работает ли еще :( Думал, старшую дочку «завлечь», хотя она не очень «ведется», к сожалению (ну, девочка, что тут поделать?!).

        P.S. И жалко, что иллюстрации в книге не цветные — этого я, если честно, совершенно не понимаю. Неужели, по нынешним времена, есть какая-то ценовая разница между «полноцветом» и «черно-белой» печатью? Мне казалось, что сейчас это совершенно eliminated (я немного знаком с технологиями печати XX и XXI веков).


        1. pgkirich Автор
          25.03.2019 08:08

          По поводу иллюстраций. Вверху есть мой комментарий со ссылкой на бесплатный цветной ПДФ с иллюстрациями. Почему издательство выпустило книгу без цветных вклеек, я не в курсе. Мне как никому не известному новичку в этом деле не с руки было выпендриваться: книга вышла, и прекрасно. Дальше жизнь покажет.


  1. tirus
    24.03.2019 13:39

    Спасибо за книгу, с большим удовольствием её прочёл. Смело рекомендую её школьникам и кружководам. Издательство, как всегда, сэкономило на цветной печати, это единственный минус бумажной книги. Пишите ещё!


    1. pgkirich Автор
      24.03.2019 14:21
      +1

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


      1. tirus
        25.03.2019 08:58

        Я оценил минимизацию используемого набора компонентов, равно как и выбор 4000-серии микросхем. Спасибо, это действительно важно при работе с группами школьников в кружке или на мастер-классах. Я редактировал русскоязычное издание детской книги «Электроника для детей» — вот там действительно зоопарк из 7400 и 4000 серий микросхем. Даже с автором книги переписывался, пытаясь понять его логику выбора компонентов… И буду ждать вашей следующей книги в продолжение начатой темы — надеюсь, она не заставит себя долго ждать :)


        1. pgkirich Автор
          25.03.2019 09:22

          А какие темы из книги требуют продолжения по вашему мнению?


          1. tirus
            25.03.2019 09:35

            Тема ПЛИС для школьников (особенно с дешевыми CPLD) всё еще не раскрыта в литературе, на мой взгляд. Именно так, популярно — практически на пальцах, как у вас в книге. Если у вас будет возможность побывать на мастер-классах Юрия Панчула в Москве, в апреле, можно было бы там обсудить очно.


  1. Pafnutyi
    25.03.2019 17:14

    Хорошо бы такую же книжку про «нутро» операционников и различные датчики которые к ним подключают термо/тензо/мемс и тд Видел кучу забавных опусов при реверсизучении устройств/схем, и ведь удивительно даже работают/продаются, однако видно что разработчик неособо понимал что он там «напроектировал»

    PS. Только в качестве пожелания,

    пользы от этого конечно будет не много в нашей стране, но вдруг