Об обучении программированию.

Не DOS, но тоже нам интересно

Re: Об обучении программированию.

Сообщение gudleifr » 09 окт 2025, 10:15

oldpcfan82 писал(а):Если про современное программирование - сейчас детям предлагается робототехника и Python.
Об этом и речь. Вместо практических знаний - хитровыдуманные игрушки. В специальной сложно устроенной песочнице.

clihlt писал(а):читать стало практически некому за очень редким исключением
Был бы журнал, а читатели найдутся. Придти к приятелю и сказать: мол, хочешь, сейчас с твоего компьютера прямо на директорский залезу?
Последний заданный вопрос: viewtopic.php?f=8&t=2296&start=75#p35437
Аватара пользователя
gudleifr
Мастер Даунгрейда
 
Сообщения: 710
Зарегистрирован: 23 июн 2024, 15:14
Откуда: Питер

Re: Об обучении программированию.

Сообщение stepper88 » 09 окт 2025, 14:09

Кстати, вспомнилось, что в Квантике печатались материалы явно для молодой аудитории по программированию, но, как сказали выше - тоже Python. Но и тут тематический раздел в журнале не о программировании
stepper88
Мастер Даунгрейда
 
Сообщения: 518
Зарегистрирован: 19 авг 2015, 19:24
Железо: P4 3ГГц, 3ГБ ОЗУ, WinXP SP3; UMC U5S 33МГц, 32МБ ОЗУ, 512кБ видео, MS-DOS 5.0/Win 3.11RUS

Re: Об обучении программированию.

Сообщение gudleifr » 09 окт 2025, 14:22

stepper88 писал(а):тоже Python
Т.е. для обычного россиянина остается зазор между тем, что у него дома, у родителей на работе, и тем, что надо для начала обучения.
Последний заданный вопрос: viewtopic.php?f=8&t=2296&start=75#p35437
Аватара пользователя
gudleifr
Мастер Даунгрейда
 
Сообщения: 710
Зарегистрирован: 23 июн 2024, 15:14
Откуда: Питер

Re: Об обучении программированию.

Сообщение stepper88 » 09 окт 2025, 17:11

Ну, работы разные бывают :-) Технологический и вспомогательный софт и сейчас может писаться на питоне (меня весной на собеседовании обсмеяли за использование wxWidgets), и на VBA, и на AutoLisp'e. Другое дело, что разработка "настоящих" программ, но, такое ощущение, что дома/в школе и на работе у родителей совпадало/не совпадало абсолютно случайным образом. Тем более, встраиваемые системы - это Си (причем, с особенностями, о которых с порога не всякий самоучитель по языку расскажет), асм ну и VHDL/Verilog/собственный язык низкоуровнего программирования ПЛИСин (хотя интересно, что ПЛИСы на пост-советском пространстве полюбили и в 2003-м знакомый рассказывал, что их техникуме знакомили с какой-то средой разработки - возможно, MAXPlus).
Вот с САПРами, как ни странно, по крайней мере, в начале "нулевых" примерно все было однозначно - "Радио" рассказывал об актуальном P-CAD'e - на заводах то же самое (порой до сих пор :-)), AutoCAD сдавал позиции очень медленно, Компас внедрялся тяжело, но впринципе, в 2003-м была ксерокопия методички с лабами, а в 2006-2008-м уже были ролики по Компас 3D (5.8, но можно было повторить и на актуальной восьмой версии :-)) - куда сложнее было некриво поставить его :-)
А так, с литературой - сколько помню - вечная беда была. В свое время очень удивлялся, когда студенты просили посоветовать одну книжку, которая ответит на все вопросы сразу - не мог назвать и называл книжки две-три плюс PDFку на английском. Просто это было с гарантией. А изучать, как по-мне, можно начинать с чего угодно - впринципе, так оно часто и бывает - что первое увидел/нашел - с того и начал. Просто куда проблемней, когда ставится вопрос "Какой бы язык выучить, чтоб зарплату по-больше получать?"
Последний раз редактировалось stepper88 09 окт 2025, 17:15, всего редактировалось 1 раз.
stepper88
Мастер Даунгрейда
 
Сообщения: 518
Зарегистрирован: 19 авг 2015, 19:24
Железо: P4 3ГГц, 3ГБ ОЗУ, WinXP SP3; UMC U5S 33МГц, 32МБ ОЗУ, 512кБ видео, MS-DOS 5.0/Win 3.11RUS

Re: Об обучении программированию.

Сообщение gudleifr » 09 окт 2025, 17:42

stepper88 писал(а):Ну,
Об том и речь. Обучение программированию с середины 80-х носит исключительно случайный характер. Причем, оправдывается это исключительно финансовыми потребностями. Мол, есть бюджет, который можно освоить, если только поймем, как вот эта штука работает. Не велик ли срок в 40 лет, чтобы таки привести это все в некую систему?
Последний заданный вопрос: viewtopic.php?f=8&t=2296&start=75#p35437
Аватара пользователя
gudleifr
Мастер Даунгрейда
 
Сообщения: 710
Зарегистрирован: 23 июн 2024, 15:14
Откуда: Питер

Re: Об обучении программированию.

Сообщение oldpcfan82 » 09 окт 2025, 18:10

gudleifr писал(а):Т.е. для обычного россиянина

Это по всему миру так робототехника + Python, Python стоит на 1-м месте в TIOBE Index, и изучают школьники Python см.
 Развернуть:
Изображение

И в МФТИ учат Python-у.

Раньше роботы были очень дорогими, и только дети богатых родителей могли их себе позволить, некоторые роботы подключались к ZX Spectrum, Commodore 64, Amiga позже для ПК, и программировались на языке БЕЙСИК, сейчас Китай наделал дешёвую роботехнику доступно сейчас имхо каждому ребёнку. Но допустим в одноплатниках типа Micro:Bit и AdaFruit там урезаный Python, то есть Micro Python. Работает это так, составляют программу для одноплатника в среде Micro Python, или MakeCode, после программирования одноплатник подключается через USB или Bluetooth, и загружается бинарный код интерпретатора Micro Python с исходным кодом по USB в одноплатник, но код остаётся исходным на Python-е, когда включаешь одноплатник, то сначало загружается Micro Python а потом запускается автоматически программа написанная на Python, это типа как раньше в компьютере запускался БЕЙСИК , программу сохраняли на магнитную аудиоплёнку, или загружали программу с магнитной аудиоплёнки. Python вроде бы очень простой в освоение я имею ввиду азы языка.


Сейчас это называют STEM или STEAM.
STEM (англ. science, technology, engineering and mathematics — естественные науки, технология, инженерия и математика) — обобщающий термин, используемый для группировки этих отдельных, но тесно связанных между собой технических дисциплин в контексте описания образовательной политики учреждений, учебных программ в школах и дополнительной подготовке.


P.S.:Я вспомнил ещё кое-что, современные программы работают ассинхронно, и в робототехнике тоже всё ассинхронно, для программиста ассинхронный код это кошмар, поэтому используют в том-же Python async и await. Кстати для некоторых программистов сложно понять async и await. В роботах FischerTechnik async и await, и в огромных дорогих промышленных роботов типа Spot там тоже используются async и await.
Аватара пользователя
oldpcfan82
Мастер Даунгрейда
 
Сообщения: 540
Зарегистрирован: 01 окт 2023, 22:57

Re: Об обучении программированию.

Сообщение gudleifr » 09 окт 2025, 18:21

Извините, начну с этого.
oldpcfan82 писал(а):для программиста ассинхронный код это кошмар

Начиная с 1969 года, публикации дейкстровской статьи "Взаимодействие последовательных процессов", это норма!

oldpcfan82 писал(а):Раньше роботы были очень дорогими...

1. Роботы, по прежнему, есть не у всех. В отличие от устаревших офисных машин.
2. Средство их программирования - python - игрушечная среда, работающая на виртуальной машине. Т.е. не имеющая никакого отношения к реальному программистскому железу.
3. Результаты не применимы в реальной жизни.
Последний заданный вопрос: viewtopic.php?f=8&t=2296&start=75#p35437
Аватара пользователя
gudleifr
Мастер Даунгрейда
 
Сообщения: 710
Зарегистрирован: 23 июн 2024, 15:14
Откуда: Питер

Re: Об обучении программированию.

Сообщение stepper88 » 09 окт 2025, 18:34

Забавно, что в постах конца "нулевых" или чуть позже роботом могли назвать игрушку, разворачивающуюся на источник света или объезжающую препятствия - в популярной советской литературе такая штуковина максимум получала прилагательное "кибернетический". При этом "мозги" могли предполагать фотореле, уплавляющее электротором.
gudleifr писал(а):Извините, начну с этого.
oldpcfan82 писал(а):
для программиста ассинхронный код это кошмар
Начиная с 1969 года, публикации дейкстровской статьи "Взаимодействие последовательных процессов", это норма!

Может быть, но в сишном проекте call-back функция - то еще веселье. Тоже ставил проверку установки флага или изменения переменной состояния.
 Развернуть:
Когда-то был разговор с товарищем об организации мастера протокола i2C в виде конечного автомата - товарищ сказал, что видел такой вариант лишь однажды, большинство же предпочитали делать простую отправку команд устройствам-ведомым и ожидание ответа. Конечный автомат в обработчике прерывания - уж больно сложно, видимо.

oldpcfan82 писал(а):И в МФТИ учат Python-у.

Ну, вопрос больше о том, преподается ли Python, как один из языков, либо, как единственный язык. В свое время Паскаль тоже использовался практически везде только из-за того, что им владел каждый (можно сравнить с учебником на русском языке - предполагается, что большиство язык знают и что в книжке написано прочитают), но были и другие языки и среды разработки, о которых говорили в рамках тех или иных дисциплин. Ну и, вообще-то, никто не запрещает изучать язык самостоятельно - по крайней мере, у нас было достаточно свободного времени для освоения технологий, которые не давали на лекциях, но человек считал нужными. Тот же дипломный проект обычно пишется не на основе изученного "официально" материала :-)
Последний раз редактировалось stepper88 09 окт 2025, 18:50, всего редактировалось 1 раз.
stepper88
Мастер Даунгрейда
 
Сообщения: 518
Зарегистрирован: 19 авг 2015, 19:24
Железо: P4 3ГГц, 3ГБ ОЗУ, WinXP SP3; UMC U5S 33МГц, 32МБ ОЗУ, 512кБ видео, MS-DOS 5.0/Win 3.11RUS

Re: Об обучении программированию.

Сообщение gudleifr » 09 окт 2025, 18:39

Тут явно терминологическая путаница.
Последний заданный вопрос: viewtopic.php?f=8&t=2296&start=75#p35437
Аватара пользователя
gudleifr
Мастер Даунгрейда
 
Сообщения: 710
Зарегистрирован: 23 июн 2024, 15:14
Откуда: Питер

Re: Об обучении программированию.

Сообщение oldpcfan82 » 09 окт 2025, 21:48

gudleifr писал(а):1. Роботы, по прежнему, есть не у всех. В отличие от устаревших офисных машин.

Да, но зато есть кружки робототехники. Раньше была Microsoft Robotics Studio, но она требовала Windows XP и Visual Studio 2008 SP1 см. https://programming.mybb.ru/viewtopic.php?id=105, есть bricxx и robosim см. https://programming.mybb.ru/viewtopic.php?id=85, вот ещё из вариантов не имея робота см. https://programming.mybb.ru/viewtopic.php?id=109

gudleifr писал(а):2. Средство их программирования - python - игрушечная среда, работающая на виртуальной машине. Т.е. не имеющая никакого отношения к реальному программистскому железу.

Есть мникомпьютер - репка Pi см. https://habr.com/ru/articles/716674/, Raspberry Pi, или Nvidia Jetson, а так-же Arduino Nano.
1. К Arduino Nano припаеваете мотор.
2. Устананвливаете линукс.
3. Устанавливаете Python на линукс.
4. Дальше устанавливаете библиотеку работы с сериельным портом:
Код: Выделить всё
pip install pyserial


5. Дальше пишите на Python:
Код: Выделить всё
import serial
import time

# Указываем порт и скорость передачи данных (должна совпадать с настройками Arduino)
ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=1)
time.sleep(2)  # Подождать, пока Arduino перезагрузится

# Отправка числа 1
ser.write(b'1\n')  # Отправляем байт '1' и символ новой строки

# Закрываем соединение
ser.close()


6. Дальше пишите на C++ в Arduino IDE:
Код: Выделить всё
void setup() {
  Serial.begin(9600);
  pinMode(13, OUTPUT); // Встроенный светодиод
}

void loop() {
  if (Serial.available()) {
    char command = Serial.read();
    if (command == '1') {
      digitalWrite(13, HIGH); // Включить мотор или светодиод
    } else if (command == '0') {
      digitalWrite(13, LOW);  // Выключить
    }
  }
}


7. Подключаете к USB Arduino Nano и записываете прошивку.
8. Дальше запускаете Python скрипт.
9. Мотор крутится, лампочка горит.

gudleifr писал(а):3. Результаты не применимы в реальной жизни.

Приемлемы, мы в колледже программировали роботов на Robot C (можно и в bricxx + robosim) нужно проехать 100 мертов и остановится, у роботов от фирмы лего небыло энкодеров мы мерели длину шину, и за какое время сделает шина полный оборот. Мой алгоритм был считать чёрные полоски, проехать 5 чёрных полосок, и остановится.
Аватара пользователя
oldpcfan82
Мастер Даунгрейда
 
Сообщения: 540
Зарегистрирован: 01 окт 2023, 22:57

Re: Об обучении программированию.

Сообщение gudleifr » 09 окт 2025, 22:16

oldpcfan82 писал(а):Да, но зато есть кружки робототехники.

В каждой деревне?

oldpcfan82 писал(а):Есть мникомпьютер

А зачем, если на столе уже стоит настоящий компьютер?

oldpcfan82 писал(а):мы в колледже программировали роботов

игрушечных.

Попробую расшифровать небрежное
gudleifr писал(а):Тут явно терминологическая путаница.

stepper88 писал(а):роботом могли назвать... прилагательное "кибернетический"..."мозг"

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

stepper88 писал(а):в сишном проекте call-back функция - то еще веселье

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

stepper88 писал(а): Конечный автомат в обработчике прерывания - уж больно сложно, видимо.

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

stepper88 писал(а):Ну и, вообще-то, никто не запрещает изучать язык самостоятельно

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

.
Вложения
kury.jpg
kury.jpg (19.07 Кб) Просмотров: 7188
Последний раз редактировалось gudleifr 09 окт 2025, 22:17, всего редактировалось 2 раз(а).
Последний заданный вопрос: viewtopic.php?f=8&t=2296&start=75#p35437
Аватара пользователя
gudleifr
Мастер Даунгрейда
 
Сообщения: 710
Зарегистрирован: 23 июн 2024, 15:14
Откуда: Питер

Re: Об обучении программированию.

Сообщение oldpcfan82 » 09 окт 2025, 22:55

gudleifr писал(а):В каждой деревне?

1. Если есть смартфон на Android, на него можно установить разные языки программирования допустим TurboCDroid (старый добрый Turbo C++ для MS-DOS), Pydroid 3 (учить Python), Micro:Bit.
2. Если есть интернет в деревне, то есть веб сайты на которых можно тренироваться программированию, я так тоже делаю, чтобы не ставить на компьютер.
3. Можно поставить эмулятор ПК на смартфон, а там любую среду разработки ставить.


gudleifr писал(а):А зачем, если на столе уже стоит настоящий компьютер?

В каждой деревне?


gudleifr писал(а):игрушечных.

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

gudleifr писал(а):Важно, не какой язык удобнее преподавать, а какой уже входит в установленную ОС (сейчас, возможно, и в BIOS).

Никакие языки программирования не входят в саму ОС кроме Java (Java SE + Java VM), раньше в IBM PC была документация по архитектуре на английском, а компьютеры и ноутбуки макинтош шли со средой разработки на CD-ROM.

Но вообще я понял о чём вы. Раньше в эпоху зарождения микрокомпьютеров или персональных компьютеров был конструктор компьютера, типа спаяй сам компьютер, там не было операционной системы, и дисплея, все данные выводились на принтере, и Билл Гейтс для этого компьютера разработал БЕЙСИК, этот БЕЙСИК поставлялся ввиде перфоленты, она загружалась в память, печатала на принтере информацию, дальше программисты набирали на клавиатуре, результат печатался на бумаге.
Потом позже появились на Zilog Z80, и Motorola 64K дешёвые домашние компьютеры с встроенным бейсиком, и этот домашний компьютер подключался к телевизору. А программы сохранялись на аудиомагнитную ленту с помощью магнитофоноа.
В СССР были аналоги и клоны.
Потом недавно возрадили ZX Spectrum, но его не шибко покупали. Потом появились одноплатники типа Micro:bit, Репка Pi, Raspberry Pi, и Nvidia Jetson Nano, это микрокомпьютеры, на них можно что хочешь делать.
Аватара пользователя
oldpcfan82
Мастер Даунгрейда
 
Сообщения: 540
Зарегистрирован: 01 окт 2023, 22:57

Re: Об обучении программированию.

Сообщение gudleifr » 09 окт 2025, 23:46

oldpcfan82 писал(а):В каждой деревне?

Конечно.

oldpcfan82 писал(а):Никакие языки программирования не входят в саму ОС

Всегда был command.com, чем новее, тем мощнее (сейчас есть и другие, типа PowerShell).
Есть WSH - JS и VB.
Есть JS и VB в браузере (сейчас - больше).
Есть VB и С# в .Net (и даже ILasm).
На офисных машинах - часто VBA.
Если компьютер старый, то там можно и Debug найти, и даже QBasic.

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

oldpcfan82 писал(а):Ну настоящих никто не даст.

Вот это и есть проблема. Пропасть между самодельщиком, которому не дают программировать, и IT-шником, которому программировать и не надо.
Последний раз редактировалось gudleifr 09 окт 2025, 23:52, всего редактировалось 2 раз(а).
Последний заданный вопрос: viewtopic.php?f=8&t=2296&start=75#p35437
Аватара пользователя
gudleifr
Мастер Даунгрейда
 
Сообщения: 710
Зарегистрирован: 23 июн 2024, 15:14
Откуда: Питер

Re: Об обучении программированию.

Сообщение stepper88 » 10 окт 2025, 06:36

Ну, проблема самодельщика еще просто в том, что сложно найти поле для приложения усилий - чтобы, с одной стороны конкретный самодельщик мог воплотить задуманное (теоретический багаж у всех разный - далеко не все начинают программировать с глубокими знаниями в другой области) и чтобы программа/устройство были кому-то полезны. В институтские годы я лично бегал с системой контроля доступа, которая бы скидывала журнал работы на флешку - меня с такой идеей просто подняли на смех - никому это было не нужно и идея скисла. Когда же предложили разработать коробочку, которая бы просто включала/выключала исполнительный механизм по команде, передаваемой через RS-485, а также щупала парочку дисктретных входов - я бы счастлив - людям было нужно устройство, которое я смогу сделать.
Ровно также и с программированием - человечество наклепало кучу программ, которые удовлетворяют, если не большинство, то большУю часть потребностей и решение задачи может свестись к поиску подходящей программы и, максимум, ее настройки под свои хочу. Написание чего-то уникального и полезного уже требует определенного кругозора (скрипты для решения узкоспециализированных задач средствами Exel'a/Автокада/Компаса действительно полезны и востребованы), чего у самодельщика может и не быть.
Т.е. самодеятельное программирование, как и другая деятельность нынешних самодельщиков больше выливается в самоцель - я хочу иметь свой почтовик/качалку/игру под нужной мне платформой (при условии, что под Win9x/XP/7/10 либо Android скорее всего есть желаемое). Разве что действительно игрушки
gudleifr писал(а):Делаете робота? Пусть он возит патроны в военной игре.

собственно, и моделизм поэтому неисчерпаем - мало ли что кому захочется воспроизвести в миниатюре и из чего но и тут кругозор надо :-)
stepper88
Мастер Даунгрейда
 
Сообщения: 518
Зарегистрирован: 19 авг 2015, 19:24
Железо: P4 3ГГц, 3ГБ ОЗУ, WinXP SP3; UMC U5S 33МГц, 32МБ ОЗУ, 512кБ видео, MS-DOS 5.0/Win 3.11RUS

Re: Об обучении программированию.

Сообщение gudleifr » 10 окт 2025, 11:17

stepper88 писал(а): большУю часть потребностей и решение задачи может свестись к поиску подходящей программы

stepper88 писал(а):самодеятельное программирование, как и другая деятельность нынешних самодельщиков больше выливается в самоцель

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

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

Все началось с "сначала сделаем то, что легко, а потом подумаем над нужным", а закончилось тем, что нам объясняют, что "ничего не нужно".
Последний заданный вопрос: viewtopic.php?f=8&t=2296&start=75#p35437
Аватара пользователя
gudleifr
Мастер Даунгрейда
 
Сообщения: 710
Зарегистрирован: 23 июн 2024, 15:14
Откуда: Питер

Пред.След.

Вернуться в Прочее

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4