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

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

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

Сообщение gudleifr » 05 июл 2026, 12:59

Ну, раз уж за поругаться, то оглашу весь список "Что такое программирование?"
ГЛАВА ПЕРВАЯ. ОСНОВНЫЕ ПОНЯТИЯ
Аксиома 1: Программистов не бывает. Есть только системщики и пользователи. Системщики бывают математиками или электронщиками, а пользователи - физиками или лириками.
Следствие 11: Программирование - есть создание кибернетических машин, максимум энтропии которых соответствует останову при получении правильного результата.
Следствие 12: Машина понимает только действия и значения. Любые абстракции - функции, объекты, компоненты, системы, языки - это лишь многоуровневые системы имен (обозначающих некоторые наборы действий, значений и других имен), удобных для решения некоторых конкретных задач.
Следствие 13: Если запись решения на языке программирования оказывается более путаной и длинной, чем на человеческом языке, значит, программист не владеет нужным языком программирования.
Следствие 14: Тестирование программы не может доказать отсутствия в ней ошибок.
Следствие 15: Сложность программы определяется только ее размером.
ГЛАВА ВТОРАЯ. КУРСЫ
Аксиома 2: Нельзя научить решать задачи, но можно научиться решать задачи.
Следствие 21: В обучении программированию наглядность курсов обратно пропорциональна полезности. Ибо программирование - умение абстрагироваться от наглядности.
Следствие 22: Знания/умения программиста никак не могут иметь ценности за пределами конкретной задачи.
Следствие 23: Сначала научись что-то делать и только потом учись это программировать.
ГЛАВА ТРЕТЬЯ. ЗАДАЧИ
Аксиома 3: Человек решает задачу. Человек программирует решение для машины. Человек знает необходимые детали устройства машины. Эти три умения программиста между собой никак не связаны.
Следствие 31: Любое решение программистской задачи можно записать языком математики. Т.к. машина является материальным представлением языка математики, то существует способ перевода решения задачи на язык машины. Этот способ называется языком программирования.
Следствие 32: Языки программирования в равной степени могут созданы теоретиками, практикам или самим программистом.
Следствие 33: Если результат можно рассчитать, это хорошо, если нет - нужно использовать таблицы. Только, если и это невозможно, можно применять сложные структуры управления языка программирования.
Следствие 34: Язык программирования выбирается/изобретается таким, чтобы как можно больше результатов рассчитать.
ГЛАВА ЧЕТВЕРТАЯ. САМОДЕЛКИ
Аксиома 4: Мы живем в Матрице, которую называем культурой.
Следствие 41: Машина должна исполнять не ту работу, которую легко запрограммировать, но ту, которую человеку исполнять сложно или неинтересно.
Следствие 42: Легкость программирования определяется не интеллектуальностью машины, но ее простотой.
Следствие 43: Машины/языки развиваются в двух направлениях: "понимают, что вам надо" - интерпретаторы, и "знают лучше вас, что вам надо" - компиляторы. И это развитие далеко опережает реальные потребности программиста.
Следствие 44: Простейший способ написать что-то сложное - переложить работу на пользователя.
Следствие 45: Объединять простые модули в сложную программу удобнее всего средствами операционной системы. Не стоит это делать вручную (изобретать для этого сложные языки).
ГЛАВА ПЯТАЯ. ПРОЕКТЫ
Аксиома 5: Очень небольшой процент рабочего времени программист тратит на написание программ. Гораздо больше уходит на то, чтобы заставить их работать. Первое приятно и престижно, второе - нет.
Следствие 51: Ни один программист не любит сложных программ. Пропадает даже та маленькая толика удовольствия, которая ему положена.
Следствие 52: Еще эфемернее предстает возможность научиться программировать на большом проекте. Неразрешимые проблемы встретятся раньше, чем появятся первые результаты.
Следствие 53: Единственный способ написания хорошей программы - полное выбрасывание исходников, как только они перестают нравиться.

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

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

Сообщение oldpcfan82 » 05 июл 2026, 13:28

Пользователь ppp был абсолютно прав (см. 1-ю страницу)
ppp писал(а):Вычислительные машины изобрели не "кибернетики", а математики и физики для своих вычислительных целей.
Конечно, с использованием достижений автоматики и в целом техники на тот момент.

Современную архитектуру компьютера придумал Джон Фон Нейман, он был физик и математик, а Конраду Цузе бесило в ручную или простыми счётными машинами пользоваться, много времени отнимало, поэтому лень было считать, поэтому он придумал компьютер, компьютер был не на лампах, и не на полупроводниках, а полностью на механических реле, и у этого компьютера была двоичная система 0 или 1. Кстати первые компьютеры в США до IBM придумали для подсчёта население (перепись населения), в Европе в 1800 годах были механически счётные машины. А Тюрингер собирал компьютер, чтобы дешифровать энигму.
Аватара пользователя
oldpcfan82
Мастер Даунгрейда
 
Сообщения: 618
Зарегистрирован: 01 окт 2023, 22:57

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

Сообщение gudleifr » 05 июл 2026, 13:31

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

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

Сообщение KPG » 05 июл 2026, 13:48

gudleifr писал(а):угадайте сначала его первоисточник.

Э.Дейкстра. Дисциплина программирования
https://www.rulit.me/author/dejkstra-ed ... 71428.html
KPG
Мастер Даунгрейда
 
Сообщения: 446
Зарегистрирован: 21 окт 2015, 20:53

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

Сообщение gudleifr » 05 июл 2026, 13:49

KPG писал(а):Э.Дейкстра. Дисциплина программирования
Какой пункт имеете в виду? Ответ "все" не принимается. Выберите один и поясните.
Последний раз редактировалось gudleifr 05 июл 2026, 13:49, всего редактировалось 1 раз.
Последний заданный вопрос: viewtopic.php?f=8&t=2296&start=75#p35437
Аватара пользователя
gudleifr
Мастер Даунгрейда
 
Сообщения: 1031
Зарегистрирован: 23 июн 2024, 15:14
Откуда: Питер

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

Сообщение KPG » 05 июл 2026, 13:57

gudleifr писал(а):Какой пункт имеете в виду? Ответ "все" не принимается. Выберите один и поясните.

Кто эти пункты придумал и домыслил, то пусть и поясняет.
Без них, вероятно, программу не сделать.
Последний раз редактировалось KPG 05 июл 2026, 14:00, всего редактировалось 1 раз.
KPG
Мастер Даунгрейда
 
Сообщения: 446
Зарегистрирован: 21 окт 2015, 20:53

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

Сообщение gudleifr » 05 июл 2026, 14:11

KPG писал(а):Без них, вероятно, программу не сделать.
Да, Вы из поколения, потерявшего смысл программирования. Для вас компьютер - большой калькулятор. Программирование - коллекционирование кнопок-бусин. У кого бусы длиннее - тот и более великий программист. К сожалению, за все время нашего знакомства Вы так и не нашли свой набор для рукоделия.

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

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

Сообщение IBMForever » 06 июл 2026, 16:10

Немного прочитал о Forth, слишком уж старое железо, под Forth 79 - 8 битный Trs 80,
под Forth 83 - 16 битный IBM PC XT.
Borland С++ поновее и уже под 286, начиная с версии 2.0+ удобный язык среднего уровня.
Аватара пользователя
IBMForever
Мастер Даунгрейда
 
Сообщения: 217
Зарегистрирован: 24 авг 2022, 00:23
Железо: IBM PC 286 AT

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

Сообщение KPG » 06 июл 2026, 16:56

IBMForever писал(а):од Forth 83 - 16 битный IBM PC XT.

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

P.S. Так и Турбо Бейсик может быть отличным выбором. :)
Последний раз редактировалось KPG 06 июл 2026, 16:56, всего редактировалось 1 раз.
KPG
Мастер Даунгрейда
 
Сообщения: 446
Зарегистрирован: 21 окт 2015, 20:53

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

Сообщение IBMForever » 06 июл 2026, 18:10

KPG писал(а):
IBMForever писал(а):од Forth 83 - 16 битный IBM PC XT.

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

P.S. Так и Турбо Бейсик может быть отличным выбором. :)

Интерпретатор не подходит, подходят - компилятор С/С++ среднего уровня, а дальше уже и ассемблер низкого уровня. Задачи несложные. Программирование нужно в первую очередь для изучения языков среднего и низкого уровней, которые на 286 раньше работали.
Аватара пользователя
IBMForever
Мастер Даунгрейда
 
Сообщения: 217
Зарегистрирован: 24 авг 2022, 00:23
Железо: IBM PC 286 AT

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

Сообщение stepper88 » 06 июл 2026, 18:53

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

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

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

Сообщение gudleifr » 06 июл 2026, 18:59

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

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

Сообщение IBMForever » 06 июл 2026, 19:26

gudleifr писал(а):
IBMForever писал(а):Немного прочитал о Forth, слишком уж старое железо
Forth машинно-независим. Можете писать на чем угодно и под что угодно.

Я с Вами полностью согласен, однако синтаксис там другой, чтобы еще и форт выучить, пройдет много времени. Лучше расскажите какой форт на 286 подходит?
Аватара пользователя
IBMForever
Мастер Даунгрейда
 
Сообщения: 217
Зарегистрирован: 24 авг 2022, 00:23
Железо: IBM PC 286 AT

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

Сообщение gudleifr » 06 июл 2026, 19:51

IBMForever писал(а):чтобы еще и форт выучить, пройдет много времени
Не боле, чем скачать у меня и прочесть книгу Броуди. Дня три.
IBMForever писал(а):Лучше расскажите какой форт на 286 подходит?
Тот, который Вы напишете. Я выложил для этого все необходимое. Начиная с объяснений классиков, и кончая обходом конкретных подводных камней. Едиственное требование - уверенное знание Вами языка, на котором Вы будете писать свой Forth.
Последний раз редактировалось gudleifr 06 июл 2026, 19:53, всего редактировалось 1 раз.
Последний заданный вопрос: viewtopic.php?f=8&t=2296&start=75#p35437
Аватара пользователя
gudleifr
Мастер Даунгрейда
 
Сообщения: 1031
Зарегистрирован: 23 июн 2024, 15:14
Откуда: Питер

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

Сообщение clihlt » 06 июл 2026, 20:38

IBMForever писал(а):
KPG писал(а):P.S. Так и Турбо Бейсик может быть отличным выбором. :)
Интерпретатор не подходит,
Справки для -- Turbo Basic ни разу не интерпретатор, а компилятор, который в отличие от того-же Quick Basic генерировал настоящий, а не шитый код. :-D
IBMForever писал(а):Программирование нужно в первую очередь для изучения языков среднего и низкого уровней, которые на 286 раньше работали.
Если программирование вам нужно только для изучения Borland C++, то для чего вам нужен Borland C++? Для программирования, которое нужно для изучения Borland C++? ;)
С уважением,
Владислав Васильев (aka clihlt).
Аватара пользователя
clihlt
Мастер Даунгрейда
 
Сообщения: 590
Зарегистрирован: 20 мар 2023, 21:17
Откуда: Брянск, СССР

Пред.След.

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

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

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