Мысли. Многослойная ментальная катастрофа в области ИТ на Украине.

Аватар пользователя Хмурый ослик

Живём, слаатеосподи, уже в пресловутом "двадцать первом веке".

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

Да, так - о чём это я, собсна?!

О катастрофе.

Она - неминуема.

На четырёх последних проектах средний возраст коллег уже вплотную приблизился к 40-45. Тематика проектов - железяки для авиации. В смысле - электроника с программами. Её обслуживание на земле. Разработка с нуля и - модернизация того, что проектировалось в 70-90-е на современную элементную базу (с (пере)проектированием соответствующего софта). Заказчики - из РФ и Европы.

Нет молодёжи в проектах. Вернее - есть, но - на уровне статпогрешности.

Где молодёжь? В аутсорсинге. Вебят. Или - "тестируют". Короче, "заносят хвосты" загранице. Не сказать, что бы и наши заказчики не оттуда. Или - платят меньше... Но - не идёт сюда молодёжь. Уровень порога вхождения и время наработки этого порога - неизмеримо выше, чем там.

Недавно проехался по знакомым. От Львова и Одессы и - до Харькова с Киевом. Посетил несколько семинаров самых знаменитых украинских "ИТ-конюшен", послушал доклады, побеседовал с народом, посмотрел людей... Пичалька. Песочница с установленными правилами и стереотипами для крысиных бегов. По кругу. Даже те проекты, что выдаются за инновационные и, прости, Господи! прорывные - лишь выцепляние багов или тестирование в базисе и наработках, сделанных за границей... Масса народа играется в бирюльки с "ведением проектов". Менеджмент откровенно играет в игру "наколи заказчика или менеджмент высшего слоя за лужей". Работает куча схем по откатам или "мертвым душам", очковтирательстве за толику малую. Посмотрел на пару проектов в здравоохранении (амерском) и автомобильной электронике (европейцы)... Ну, что сказать? Там, где мог справиться десяток человек для наработки базиса за год-полтора, сидят десятки и сотни человек уже помногу лет. Бюджеты - сумасшедшие. Возле проектов крутится море народа, совершенно не имеющих отношения к самому процессу разработки. Да её, собственно, уже нигде и нет, как я уже сказал.

Переговорил с одногруппниками и теми, с кем пересекался по НИИ, КБ и по проектам 20-10-тилетней дваности. Поколение 20-35 уже ни к чему новому НЕ стремится. Произошло закрепление стереотипа "всё уже и так сделано, зачем изобретать велосипед?" Произошло резкое падение количества молодёжи из Украины, участвующей в опенсорсных проектах, пишущих свои вещи. Даже стартапы - просто использование имеющегося наработанного материала в другой упаковке или его комбинирование.

Происходит практически полное "вымывание" направлений РАЗРАБОТКИ и ПРОЕКТИРОВАНИЯ наукоёмких проектов из совокупной украинской ИТ-отрасли. Остались только "игры в кубики" в вебе и огромные тестировочные конюшни. Есть ещё "исправление багов" и "поддержка" того, что прислали с Запада и Индии.

Тенденции чётко уже оформились. Лет даже 7-10 назад такого ещё не было. Меняться всё начало примерно тогда, когда Ющ впервые заговорил про Украину, как великую ИТ державу. Сейчас ДАЖЕ джависта нормального трудно стало найти. Вакансии С/С++ разработчика выставлены уже месяцами. При том, что и суммы зарплат там даже юниорам - какие-то нереальные начинают проскальзывать! Но людей - НЕТ. Старики - или уже в долгоиграющих "выстреливших" проектах, или - уже укатили в РФ и на Запад. А притока молодёжи на эти места - НЕТ. Физически просто нет. Все ушли в ДжаваСкрипт и Эджайл. Ещё есть прослйка, пишуших нечто для андроида и эппловской системы. Но там - те же высокоуровненвые графические свистелки с перделками на основе готовых компонентов и библиотек.

Думаю, что при таких темпах и тенденциях, лет через 7-10 из украинского ИТ (если Украина к тому времени ещё будет как-то существовать), просто исчезнут многие понятия и направления специализации работников. Будет всё - очень примитивненько. На уровне - окошек и веб-страничек, через которые будут вызываться облачные веб-сервисы.

И - всё.

Авторство: 
Авторская работа / переводика
Комментарий редакции раздела будущее

варианты темных веков или новых пустошей

Комментарии

Аватар пользователя morbo
morbo(9 лет 11 месяцев)

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

Кроме программирования и кодерства есть ещё архитектура. Архитектор - он не программист и не кодер.

Аватар пользователя skedlof
skedlof(7 лет 10 месяцев)

мы, видимо, о разном говорим. надо синхронизировать понятия:

АЛГОРИ́ТМ: 1) Система последовательных операций (в соответствии с определёнными правилами) для решения какой-н. задачи. 2) Совокупность последовательных шагов, схема действий, приводящих к желаемому результату.

вот есть у вас "структура_данных1" и "структура_данных2" и что? вы НИЧЕГО не сможете с ней сделать если не будут знать: как, в какой последовательности выполнять действия и что получить в итоге. без алгоритмов данные остаются просто данными, пользы ноль целых хрен десятых.

Аватар пользователя morbo
morbo(9 лет 11 месяцев)

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

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

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

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

Аватар пользователя skedlof
skedlof(7 лет 10 месяцев)

АЛГОРИ́ТМ: 1) Система последовательных операций (в соответствии с определёнными правилами) для решения какой-н. задачи. 2) Совокупность последовательных шагов, схема действий, приводящих к желаемому результату.

т.е. если вы хотите написать программу, которая должна будет посчитать условных зайцев, вы сперва определяете "последовательность шагов, схему действий, приводящих к желаемому результату", как то: открой файл, прочитай, парси переменные, сложи-отними, запиши файл, закрой файл. ЭТО АЛГОРИТМ. если вы просто получили спек и стучите по клаве, как пианист, то вы не программер, а музыкант:)

еще раз, никому нахер не нужны таблицы и данные в них, если нет последовательности действий. 1 + 2 * 2, если не важна последовательность действий, будет равно 6 (шести), так? ведь нет четкой последовательности и не может быть? :)

Аватар пользователя Хмурый ослик

Вам знакомы такие слова, как SICP и HTDP?

Комментарий администрации:  
*** отключен (систематические манипуляции и набросы) ***
Аватар пользователя skedlof
skedlof(7 лет 10 месяцев)

это риторический вопрос? или вы станете утверждать, что там написано 1 + 2 * 2 равно 6 (шести)?

Аватар пользователя Хмурый ослик

По всей видимости, вы их - таки - не читали (даже - без выполнений упражнений). Кстати, в Smalltalk-е 1 + 2 * 2 таки 6.

Комментарий администрации:  
*** отключен (систематические манипуляции и набросы) ***
Аватар пользователя skedlof
skedlof(7 лет 10 месяцев)

а у индейцев бусы стеклянные вместо Манхэттена... и чего?

Аватар пользователя Хмурый ослик

ОЧЕНЬ удачное определение того, что имеет отрасль сейчас, вместо того, что обещалось под конец 60-х -средину-70-х. Добивание (окончательное) отрасли в "имение бус" произошло на границе 80-90-х.
Кушайте - не обляпайтесь.

Комментарий администрации:  
*** отключен (систематические манипуляции и набросы) ***
Аватар пользователя Simurg
Simurg(8 лет 10 месяцев)

То, что нужно.

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

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

А если одновременно - будет всё это расти одновременно. Решаемые задачи не только следуют из имеющейся трудовой культуры и людей, задачи их, трудовую культуру и людей, формируют.

Комментарий администрации:  
*** Уличен в клевете и ложном цитировании, отказ принести извинения - https://aftershock.news/?q=comment/11527284#comment-11527284 ***
Аватар пользователя Хмурый ослик

Задачи растут количественными показателями, но не меняют домена тематик и качества. Раздолье для обладателей дипломов МБА. Тупик.

Комментарий администрации:  
*** отключен (систематические манипуляции и набросы) ***
Аватар пользователя Simurg
Simurg(8 лет 10 месяцев)

Иногда нужно не думать, а просто трясти.

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

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

Комментарий администрации:  
*** Уличен в клевете и ложном цитировании, отказ принести извинения - https://aftershock.news/?q=comment/11527284#comment-11527284 ***
Аватар пользователя fastor
fastor(10 лет 8 месяцев)

Лавочка "изготовление вебсайтов" и "Бизнес-молодость" стремительно закрывается, но на счёт культуры труда вы правы. Так что пару поколений мы утопили в информационном шуме. Увы.

Аватар пользователя Simurg
Simurg(8 лет 10 месяцев)

Скорее, она перестаёт стремительно расти.

Комментарий администрации:  
*** Уличен в клевете и ложном цитировании, отказ принести извинения - https://aftershock.news/?q=comment/11527284#comment-11527284 ***
Аватар пользователя дзядзька Хведар

если нужны деньги - ТОЛЬКО WEB !!!

а для своего удовольствия много чего есть - и то что вы перечислили много чего еще

Комментарий администрации:  
*** Пропиндосский прихвостень ***
Аватар пользователя ВладимирХ
ВладимирХ(12 лет 12 месяцев)

Научите его ассемблеру,  не прогадаете

- Подарим ему книгу!/ - Нет, книга у него уже есть. (с) анекдот

Какому ассемблеру, для какой архитектуры, какой операционки?

Аватар пользователя Старичок
Старичок(12 лет 4 месяца)

И вообще, как вы себе представляете: учить 9-и летнего балбеса ассемблеру??? Кто его научит??? На жабе можно за три дня игрушку слепить, товарищей удивить, а ассемблер???

Комментарий администрации:  
*** Земля это пассив (с) ***
Аватар пользователя ВладимирХ
ВладимирХ(12 лет 12 месяцев)

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

Аватар пользователя saenara
saenara(9 лет 1 месяц)

Вам товарищей удивить или ребёнка научить?  У меня семилетний крестник уже вполне себе самостоятельно на ардуино ваяет, осваивает приём сигналов от пультов ДУ. До этого победил лего EV3. 

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

Комментарий администрации:  
*** Уличен в розжиге по нацпризнаку ***
Аватар пользователя ВладимирХ
ВладимирХ(12 лет 12 месяцев)

У меня семилетний крестник уже вполне себе самостоятельно на ардуино ваяет

На чем пишет?

Аватар пользователя saenara
saenara(9 лет 1 месяц)

Начинал на  С, теперь углубляется в ассемблер, ибо любознателен и вдумчив. Вот, думаю, пора дарить ему JTAG отладчик :-)

Комментарий администрации:  
*** Уличен в розжиге по нацпризнаку ***
Аватар пользователя Bazyaka
Bazyaka(9 лет 9 месяцев)

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

Аватар пользователя saenara
saenara(9 лет 1 месяц)

Знание ассемблера крайне помогает освоить C в кратчайшие сроки, ибо, по большому счёту, С -- это такой сверхгуманный ассемблер :-)

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

Комментарий администрации:  
*** Уличен в розжиге по нацпризнаку ***
Аватар пользователя adcNoise
adcNoise(10 лет 3 месяца)

Полностью поддерживаю. Как человек прошедший этот путь. После АСМ-а Си-шные извраты с указателями, и указателями на указатели, и указателями на указатели указателей)) Не кажутся такими жуткими, в то время как человек не знакомый с работой ядра даже не представляет для чего это всё нужно. Обычно такие "спецы" начинают копировать информацию вместо того, чтобы оперировать с ее адресами. Про использование задержек в прерываниях/событиях и от самих прерываний у них вообще моск ломается сразу... Ну что касается вопроса про то, что АСМ не актуален, то думаю, вероятнее человек написавший это скорее не актуален. Дело не в АСМе, а в опыте, который он даёт. А писать на нём или нет это личное дело разработчика.

Аватар пользователя Bazyaka
Bazyaka(9 лет 9 месяцев)

Прежде чем переходить на оскорбления, рекомендую пройти в конец и прочесть мой комментарий. Ну коли вам так чешется писать на асме, а я в комменте именно про это говорил, то - ПИШИТЕ! Возрадуйтесь регистрам с названиями R0, R1, R2, ... в современных процессорах. Ещё раз - никакой нормальный человек писать на асме - не будет, если есть возможность написать на Си. А вот знать архитектуру, точнее архитектуры, и как всё внутри работает - полезно.

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

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

А писать на нём или нет это личное дело разработчика.

Ах-ха-ха, ещё один перл! Сегодняшние, новые процессоры/контроллеры, по вашему заточены под программирование на ассемблере?! ну-ну ... флаг в руки ...

 

Аватар пользователя adcNoise
adcNoise(10 лет 3 месяца)

Слушай, друг, если твои асмовые конструкции упираются в MOV R1, R2 то я тебе сочувствую. Ты вообще слышал про макроязык? Или вы в школе его еще не изучали? Что касается нормальности. Я на асме в последнем проекте, кстати на Си, писал атомарную задержку на асме в три добрых такта. Вот нужна мне была такая задержка, которую стандартная таймерная служба RTOS была не в состоянии мне выдать. Так вот, как твой "тупой мозг" решит подобную задачу? Ах да, поставит "новые процессоры/контроллеры" которые дороже не на один порядок... Ставим core i7 на управление вентилятором... только так победимъ!

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

Аватар пользователя Bazyaka
Bazyaka(9 лет 9 месяцев)

Я на асме в последнем проекте, кстати на Си, писал атомарную задержку на асме

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

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

Аватар пользователя saenara
saenara(9 лет 1 месяц)

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

Комментарий администрации:  
*** Уличен в розжиге по нацпризнаку ***
Аватар пользователя mastersam11
mastersam11(8 лет 10 месяцев)

На указателях, поначалу, все тупят( т.к, поначалу, это трудно в голове укладывается )
И асм тут не при чём. И, если после него, на них не тупят, значит, уже тупили, но ранее - когда возились с ними на асме.

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

Аватар пользователя мужик-лапотник

Я ... в последнем проекте... писал атомарную задержку на асме в три добрых такта. Вот нужна мне была такая задержка, которую стандартная таймерная служба RTOS была не в состоянии мне выдать.

Это, несомненно, коллега, ваше достижение,

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

Аватар пользователя adcNoise
adcNoise(10 лет 3 месяца)

Да было дело, тоже хотел для общего развития ПЛИС поизучать... Даже купил пару альтерок и тактовый генератор в виде рассыпухи... но что-то как-то пока так и лежат 3-й год в коробке. Если сравнивать с разработкой под микроконтроллеры какие преимущества/недостатки они дают? Ну помимо того, что там можно мегагерцами рулить...

Аватар пользователя WM
WM(10 лет 5 месяцев)

Есть старая шутка что, микроконтроллер выполняет программу вдоль, а ПЛИС - поперёк. Ну, т.е. ПЛИС может обрабатывать несколько входных сигналов одновременно, и также одновременно формировать несколько выходных. Например, сколько требуется МК тактов для A = X + Y; B = X & Y? ПЛИСине - 1, если тактирование вообще необходимо.

Аватар пользователя мужик-лапотник

Если сравнивать с разработкой под микроконтроллеры какие преимущества/недостатки они дают?

Тут всё зависит от того, как голова лучше воспринимает - последовательно или параллельно. В ПЛИС все объекты существуют одновременно, и живут каждый своей жизнью. Если уследить за ними не доставляет неудобств - ПЛИС преимущество; если это непривычно - нужно быть осторожным. С точки зрения теории - варианты покрытия блок-схемы алгоритма решаемой задачи - либо логическими элементами, либо автоматами с памятью, либо командами процессора - эквивалентны. Граблей хватает везде. Размен идёт - быстродействие на память.

Встроенным в рабочее место отладки ПЛИС средствам эмуляции я не верю. Нужны средства сторонних производителей, но таковых бесплатных мне не попадалось, поэтому отлаживаюсь на живом макете с 4-х канальным злопамятным осциллографом, могущим показать иголки толщиной в 2нс.

Аватар пользователя СПбДмитрий
СПбДмитрий(10 лет 3 месяца)

Посоветуйте краткий и толковый курс по ассемблеру. Желательно, с обсуждением машинных кодов. Пишу лекции по Си, но ряд вопросов сводятся именно к простому асм.

Си и асм разные вещи по подходу, асм - как сложение, си - как умножение и показательная функция. Но без асм Си кажется каким-то вуду, так что нужны оба.

Аватар пользователя adcNoise
adcNoise(10 лет 3 месяца)

Лично я начинал изучать по easyelectronics, загуглите этот сайт. Там достойный курс, с юмором, по асму на AVR и Си тоже можно оттуда почерпнуть.

Аватар пользователя СПбДмитрий
СПбДмитрий(10 лет 3 месяца)

Спс! 

Аватар пользователя Bazyaka
Bazyaka(9 лет 9 месяцев)

Извиняюсь, что вмешиваюсь, я добавлю:

Тут всё зависит от лабораторных работ. Какие процессоры/контроллеры имеются в наличие, т.е. на каких процессорах/контроллерах делаются лабораторные, то и надо изучать. Т.е. архитектуру и ассемблер именно для той архитектуры, на которой студент может на практике проверить (усвоить) свои теоретические знания.

Аватар пользователя Bazyaka
Bazyaka(9 лет 9 месяцев)

Про ввод вывод я уж не буду упоминать, т.е. кнопочки и светодиодики и/или что посложнее.

Аватар пользователя Хмурый ослик

Дэвид М. Харрис, Сара Л. Харрис. "Цифровая схемотехника и архитектура компьютера" Как один из неплохих и иллюстрирующих комплексный и системный подход. Есть ещё стааааааарая 11-титомная японская переводная серия по вычтехнике. Есть там том "Языки программирования и схемотехника СБИС". Шикарное краткое объединение высокоуровневых подходов, решений и понятий (Smalltalk) и низкоуровневой реализации (сама смолток-машина + описание процессора "Катана").

Комментарий администрации:  
*** отключен (систематические манипуляции и набросы) ***
Аватар пользователя СПбДмитрий
СПбДмитрий(10 лет 3 месяца)

Спасибо. Кстати, первая ссылка по нему ведет на easyelectronics.ru. 

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

Аватар пользователя Bazyaka
Bazyaka(9 лет 9 месяцев)

среднему программисту нужно уметь на асм посчитать функцию синуса

у вас лабораторные на чём? на персоналках?

Аватар пользователя СПбДмитрий
СПбДмитрий(10 лет 3 месяца)

Да, windows, code blocks.

(Странно звучит слово лабораторка, как будто все в халатах и масках - дома, на диванах )) )

Аватар пользователя Bazyaka
Bazyaka(9 лет 9 месяцев)

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

Аватар пользователя СПбДмитрий
СПбДмитрий(10 лет 3 месяца)

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

Аватар пользователя Bazyaka
Bazyaka(9 лет 9 месяцев)

На контроллерах AVR, PIC-контрллерах, или STM32, гораздо проще (и понятнее для студента) зажечь светодиод, чем зажечь пиксель на персоналке. Т.к. видеокарта - это тоже своеобразный компьютер и ОС персоналки не даст просто так на ассемблере с ней работать, да и знаний надо немало (то же самое про вычисление синуса на ассемблере). Перечисленные контроллеры всё-таки попроще будут, гораздо проще, чем сегодняшний PC с его наследством в 640 КБ.

Поищите STM32VLDiscovery, или нечто подобное, Arduino например. Т.е. вам нужна отладочная (демонстрационная) плата, и под эти платы, которые выпускаются уже не 1 год, написано множество статей с примерами. Например на плате  STM32VLDiscovery уже есть 1 кнопка для пользователя (2-ая кнопка Сброс) и 2 пользовательских светодиода, которые вы можете заставить светить как вы запрограммируете. Может, если поискать, то можно что ещё лучше найти, или дешевле. Или даже специально для обучения студентов с подключенной внешней периферией (кнопки, светодиоды и др.).

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

Аватар пользователя СПбДмитрий
СПбДмитрий(10 лет 3 месяца)

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

Аватар пользователя дзядзька Хведар

вы еще язык ада посоветуйте ! (сарказм)

электроника в наших местах не актуальна

она актуальна там - где есть производство

если в вашей местности нет производства ( в моей харьков оно кончилось) - то изучать электронику - пустая трата времени

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

и да вэб и только вэб !. и только англоязычный !

а электроника ...

я ей отдал 20 лет жизни от рассыпухи на 555 и 580 серии до последних кортексов

надо просто признать что это время прошло

в реальной жизни если ты не в мэйнстриме - тебе будет очень плохо

 

 

 

Комментарий администрации:  
*** Пропиндосский прихвостень ***
Аватар пользователя дзядзька Хведар

вы еще язык ада посоветуйте ! (сарказм)

электроника в наших местах не актуальна

она актуальна там - где есть производство

если в вашей местности нет производства ( в моей харьков оно кончилось) - то изучать электронику - пустая трата времени

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

и да вэб и только вэб !. и только англоязычный !

а электроника ...

я ей отдал 20 лет жизни от рассыпухи на 555 и 580 серии до последних кортексов

надо просто признать что это время прошло

в реальной жизни если ты не в мэйнстриме - тебе будет очень плохо

 

 

 

Комментарий администрации:  
*** Пропиндосский прихвостень ***
Аватар пользователя mastersam11
mastersam11(8 лет 10 месяцев)

Какой курс ? Асм - это, по сути, набор команд под конкретную "железку".

Открываете справочник( команд ) под объект своих интересов - и читаете, какие команды есть, что и где принимают на входе, что и куда - выдают на выход.
 

Аватар пользователя cx
cx(9 лет 11 месяцев)

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

А вот "зачем?" - вопрос открытый. На ассемблере имеет смысл писать только совсем жесткий real-time, или когда ресурсы сильно ограничены. Таких реальных задач просто мало. Только если для самообразования. Сейчас даже на С смысла программировать особо нет, за исключением узких ниш. Уровень абстракции слишком низок, и куча проблем на пустом месте. С++ со своей половинчатой реализацией абстракций сочетает недостатки языков более высокого уровня типа Java/C# и недостатки С. Смысла использовать С++ для новых проектов сейчас тоже нет, real-time поддерживает плохо, а уровень абстракции - недостаточен. Только какие-то узкие ниши, вроде разработки 3Д игрушек, но и из этой ниши С++ вытесняется.

Страницы