Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Здравствуйте, мыщъх, Вы писали:
PD> Почему я не хочу С в качестве начального языка обучения — уже писал в предыдущем топике.
си это паскаль со скобками. кстати, именно микроконтроллеры позволяют обойти отсутствие поддержки строк в си. там нам не нужны строки. точнее, не сильно нужны.
PD>Насчет микроконтроллеров (независимо от языка) — я против, потому что это весьма специфическая область,
что в ней специфического? это как раз винда и линух специфические области с точки зрения студента, который уже пишет для веб и курит понятия событийно-ориентированного программирования и stateless. а программа на паскале (си, питоне) обычно представляет упорядоченную последовательность... как, собственно, и само определение алгоритма. разрыв шаблона и взрыв мозга.
PD> и при программировании для них не избежать решений, не носящих универсальный характер,
например? базовый ввод-вывод у нас есть из коробки. это чтение запись в последовательный порт, который можно смотреть терминалом. специфических расширений компилятора не используется. программа собирается и заливается на микроконтроллер по щелчку мыши.
привести хотя бы пару примеров решений "не носящих универсальных характер", плз.
PD> Напоминаю, я по-прежнему веду речь о начальном этапе. Начальное обучение должно PD> быть как можно меньше привязано к специфическим особенностям среды исполнения.
блин. я помню как в трту (таганрогский радик) нам сначала схематично рисовали эвм. вы тоже ее рисуете? надо же объяснить людям что это такое, верно? вот ЦП, вот память, вот перефирия (шина и порты). такая простая модель. и микроконтроллер ей соответствует чуть больше чем полностью. разве что память там внутри. но это ж мелочь. главное, что вот они ПОРТЫ.
а меня знакомые студенты постоянно просят объяснить как так по одним и тем же адресам памяти в разных процессах разные данные. приходится совсем все упрощать и говорить: вас же не удивляет, что у двух массивов по одному и тому же индексу разные данные? забудьте про память. вас обманули. указатель это как индекс, то... указатель. но и индекс тоже. это идекс в таблице которую руками не трогать. тем более, что она там не одна...
ну и как работает видео-карта и как она ложиться на схему ЭВМ -- это тоже встречает непонимание. слишком много слоев абстракций. слишком сложно все это. объяснить, что консоль это точно такое же графическое окно, только это консоль -- сложно. объяснить графический вывод еще сложнее. а вот если подцепить к микроконтроллеру небольшой графический дисплей, то там все понятно. можно зажигать точки. из точек составлять отрезки. из отрезков -- графические примитивы.
PD> В качестве спецкурса на старших курсах — бога ради.
я так и читаю в качесвте факультатива в нашем колхозе. только не на старших курсах. не уверен, что у людей после этого появляется понимание как работает эвм, но вот мотивация появляется точно. и у нас совместно появляются идеи в стиле: а что есть майку на спине усеять множеством микроскопических светодиодов и отображать на ней рекламу, скажем? как вы понимаете, по разрешению оно вполне вытягивает. вот только батарейки тяжело таскать. и это работает только зимой, потому что летом в такой майке можно свариться заживо. но это уже физика, а не программирование. я туда не лезу, я уже забыл что это такое. зато студенты работают над проблемой как не стать свечкой. да, это факультатив, так что можно. заодно и физику прокачают. не удивлюсь, если кто-то бросит вуз и пойдет искать инвесторов. и через пару лет можно будет увидеть людей не в форме зайчиков, раздающих флаера, а тупо показывающих рекламу на своих спинах за деньги.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.