A A A A Автор Тема: Какой язык программирования учить  (Прочитано 5107 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Ph_user

  • *****
  • Сообщений: 3 160
  • Благодарностей: 82
    • Сообщения от Ph_user
Re: Какой язык программирования учить
« Ответ #60 : 27 Ноя 2025 [16:09:40] »
Как раз это показывает, что надо сразу учить С++, и среды программирования,

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

найдите файл System.hpp - он где-то в компиляторе должен быть

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

А поиск *файла в компиляторе* это уже уровень разработчика компилятора.

проще всего онлайн прямо на гугл колаб в Jypiter Notebook в Питоне - ничего даже ставить не надо.

Печатать это на територию с наличием даже телефоной связи на сильно меньше половины територии похоже на излишний оптимизм. Ну и с выключением онлайна мало дружественых гуглов в случайное время и на случайное время даже где этот онлайн бывает.
« Последнее редактирование: 27 Ноя 2025 [16:23:17] от Ph_user »

Оффлайн peg59

  • Модератор
  • *****
  • Сообщений: 10 630
  • Благодарностей: 34
  • Звезды зовут
    • Сообщения от peg59
Re: Какой язык программирования учить
« Ответ #61 : 27 Ноя 2025 [16:26:50] »
Что-то обсуждение пошло куда-то не туда.
Человек хочет учиться на астронома, а не на программиста. Какой, нафиг, С, С++? Мозги себе вывихнуть с самого начала?
Наверное, имеется в виду пользователь компьютера, а не программист.
А значит, надо определиться, как будет использоваться компьютер. Для численных расчетов или для символьных? А может, надо смотреть на MathCad, Wolfram Matematica (или линуксовые аналоги Octave, vxMaxima)? Ставить их на свой комп прямо сейчас и пользоваться?
Maxvision 150/750 ньютон (доработанный)
SvBony 102 ED   БПЦ20х60

Оффлайн yacc

  • ***
  • Сообщений: 126
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #62 : 27 Ноя 2025 [16:29:56] »
А поиск *файла в компиляторе* это уже уровень разработчика компилятора.
Это уровень квалифицированного разработчика уровня Senior, который знает как работает компилятор и где лежат его файлы.
Все файлы, типа стандартных math.h stdio.h и т.п. - лежат на файловой системе. Равно как и библиотеки, причем они еще в исходных кодах поставляются, что можно "нырнуть" в тело той же самой strcat. Борланд для С++ билдера тоже поставлял так и для унификации с дельфи они сделали... часть библиотек на паскале, поэтому нырнув в код функции можно было оказаться ... в паскалевском коде.
Но да - современные среды могут попытаться найти это определение и если Frac есть в стандартное библиотеке - вам придется менять название на другое.

Оффлайн Ph_user

  • *****
  • Сообщений: 3 160
  • Благодарностей: 82
    • Сообщения от Ph_user
Re: Какой язык программирования учить
« Ответ #63 : 27 Ноя 2025 [16:34:44] »
В 80-е самый простой был бейсик - в школе именно его учил

Самый простой был асемблер для 8080. Для учения достаточно было понять схему процесора из регистров и иметь бумажный разворот из журнала с таблицей инструкций.

Никаких особо существеных изменений в х86 архитектуре с 198х и нету. Ну скалярный фпу и условный симд сопроцесор добавили. И битность с 8 до 64..512 подняли. Для малоимущих только до 256.

современные среды могут попытаться найти это определение

Там уже наобормот - если автоматический робот анализа исходных текстов не_смог найти - он нарисует метку ошибки в проекте. Еще до начала попытки построения исполняемого файла.
« Последнее редактирование: 27 Ноя 2025 [16:47:19] от Ph_user »

Оффлайн yacc

  • ***
  • Сообщений: 126
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #64 : 27 Ноя 2025 [16:53:02] »
А может, надо смотреть на MathCad, Wolfram Matematica (или линуксовые аналоги Octave, vxMaxima)?
Их надо покупать причем зарубежом - а свифт не работает.

Лучше смотреть не на это, а на то, что будет использоваться в университете / на кафедре - вроде человеку интересен УрФУ.
Идем туда и ищем астрономию. Вот она https://programms.edu.urfu.ru/ru/10037/documents/
Смотрим программу
Из модулей там -  Алгоритмы и языки программирования с таким описанием:

Цитата
Модуль содержит следующие дисциплины: «Алгоритмы и языки программирования»,
«Объектно-ориентированное программирование». Цель курса «Алгоритмы и языки программирования» –
ознакомить слушателей с основными элементами информатики: теорией информации, аппаратным и программным
обеспечением, базовыми алгоритмами. Задачи курса — подготовить грамотного пользователя, способного
самостоятельно освоить новые виды вычислительной техники и прикладного программного обеспечения.
Практические занятия посвящены основам программирования. В качестве базового языка выбран С++. Изложение
ведется на примере Visual Studio C++. Курс «Объектно-ориентированное программирование» посвящен изучению
основ программирования на языке Python.

А вот маткада нет

Правда если еще покопаться то в курсе Информатика - PascalABC.NET
Базовые алгоритмы - именно на нем
Есть еще курс "прикладные пакеты" - там фортран и питон.
« Последнее редактирование: 27 Ноя 2025 [17:21:03] от yacc »

Оффлайн yacc

  • ***
  • Сообщений: 126
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #65 : 27 Ноя 2025 [16:55:04] »
Самый простой был асемблер для 8080.
В школе не проходился никогда.
А вот бейсик проходился

Оффлайн Ph_user

  • *****
  • Сообщений: 3 160
  • Благодарностей: 82
    • Сообщения от Ph_user
Re: Какой язык программирования учить
« Ответ #66 : 27 Ноя 2025 [17:21:44] »
В школе не проходился никогда.

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

Их надо покупать причем зарубежом - а свифт не работает.

К 2025 на части територий и процесоры интеля (и амд ?) надо тоже покупать и их уже не_продают. Интель закрыл уже и онлайн документацию на процесоры. Хорошо еще есть рабочие онлайн поисковики по интринсиксам типа лоуренса как копия интеловских приспособ. https://www.laruence.com/sse/#text=permutex&techs=AVX_512&expand=4219,4259,4226,4262

Ну китай вроде еще согласен продавать х86 совместимое (тормозное и может без приличных уже симд к середине 2025). И может там можно взять и документацию на них.

Модуль содержит следующие дисциплины: «Алгоритмы и языки программирования»,
«Объектно-ориентированное программирование». Цель курса «Алгоритмы и языки программирования» –
ознакомить слушателей с основными элементами информатики: теорией информации, аппаратным и программным
обеспечением, базовыми алгоритмами. Задачи курса — подготовить грамотного пользователя, способного
самостоятельно освоить новые виды вычислительной техники и прикладного программного обеспечения.
Практические занятия посвящены основам программирования. В качестве базового языка выбран С++. Изложение
ведется на примере Visual Studio C++. Курс «Объектно-ориентированное программирование» посвящен изучению
основ программирования на языке Python.

Этим дядям и тетям уже нету смысла в програмирование. У них нету логики в текстах. А програма для счетно-решающей машины обычно должна быть абсолютно логичной. Можно попросить их написать их идеи на компилируемом языке и показать результат работы компилятора.
« Последнее редактирование: 27 Ноя 2025 [17:58:15] от Ph_user »

Оффлайн yacc

  • ***
  • Сообщений: 126
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #67 : 27 Ноя 2025 [17:31:29] »
Это надо проходить после покупки себе любимому счетно-решающей машины. Чтобы было понятно как ей самому делать програмы.
В 80-е домашней ЭВМ был... программируемый микрокалькулятор. У меня такой и был - МК-52. Ассемблер 8080 - вообще боком - он разве что к Микроше годился, которая была редкая. Агат, БК-0010, УКНЦ и СМ ЭВМ на кафедрах - вообще другие процессоры. Да и у ямахи был Зилог.


К 2025 на части територий и процесоры интеля (и амд ?) надо тоже покупать и их уже не_продают.
А маткад - по подписке, в отличии от железа.

Оффлайн Ph_user

  • *****
  • Сообщений: 3 160
  • Благодарностей: 82
    • Сообщения от Ph_user
Re: Какой язык программирования учить
« Ответ #68 : 27 Ноя 2025 [18:00:36] »
В 80-е домашней ЭВМ был... программируемый микрокалькулятор.

Согласно вики интель 8080 это как раз процесор для програмируемых бытовых вычислителей - https://en.wikipedia.org/wiki/Intel_8080 Originally intended for use in embedded systems such as calculators, . Аналогом был 580вм80 вроде внутри границ одной из стран на планете.

Ассемблер 8080 - вообще боком - он разве что к Микроше годился, которая была редкая.

На дозволеном населению 580вм80 делали много счетно-решающих бытовых машин. Из вики -
«Радио-86РК» — советский любительский 8-разрядный персональный компьютер, предназначенный для сборки опытными радиолюбителями (отсюда буквы РК в названии — радиолюбительский компьютер). Описание компьютера впервые было опубликовано в цикле статей в журнале «Радио» № 4—6 за 1986 год.
Тип   Персональный компьютер
Дата выпуска   1986
Процессор   КР580ИК80А либо КР580ВМ80А

Еще партнер.

Оффлайн yacc

  • ***
  • Сообщений: 126
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #69 : 27 Ноя 2025 [18:07:32] »
Согласно вики интель 8080
А я говорю как было в СССР тех времен - эвм на 580вм80 ну разве что микроша, если покупать. Причем что она, что БК-0010 стоили каких-то больших денег и были редкие в быту.

Ах да - еще в организациях СМ-1800 была на нем, но я такой не встречал

«Радио-86РК» надо было паять самому.

Оффлайн Павел Васильев

  • *****
  • Сообщений: 1 119
  • Благодарностей: 34
  • БПЦ 20х60, HD 75x60
    • Сообщения от Павел Васильев
Re: Какой язык программирования учить
« Ответ #70 : 27 Ноя 2025 [19:50:49] »
А вы найдите файл System.hpp - он где-то в компиляторе должен быть - если там есть функция или переменная Frac - то вот и ответ.
Тогда придется в APC_Math ( и в h и в cpp ) переименовывать ее - скажем на Frac1 или что-то еще - ну и во всех остальных файлах - потому что билдер забрал себе это слово.
Как я и говорил выше заменил Frac() на frac() в  APC_Math.cpp и .h, в APC_Moon.cpp оказалось много замен, конфликт пропал. Sine заменил на системный sin(). Попутно обнаружил, что Манденбруки забыли прописать в заголовочнике .h функции R_x, R_y, R_z, из-за этого и были проблемы с unresolved, компилятор не видел их. Добавил. В итоге, с этими минимальными изменениями все проекты APC скомпилировались заработали без каких-то явных проблем в С++Bulder v.13.  Под win64 тоже собрались. Так что исходники теперь лежат по ссылке https://gitverse.ru/astrogeoscenter/AstrobloQ далее там в папке Addons есть проект Apex.cbproj c GUI для APC. Для изучения языка С++ по проектам из астрономии это самое то. А математику и алгоритмы они параллельно могут освоить на этих примерах, потому как всю математику никому не осилить, а программировать надо.
Программирование системы AstrobloQ https://gitverse.ru/astrogeoscenter/astrobloq

Оффлайн yacc

  • ***
  • Сообщений: 126
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #71 : 27 Ноя 2025 [21:10:48] »
Как я и говорил выше заменил Frac() на frac() в  APC_Math.cpp и .h, в APC_Moon.cpp оказалось много замен, конфликт пропал.
Это особенность билдера - что у него часть библиотеки на паскале. Отсюда и конфликт.
Вероятно на VC++ или на g++ ( на линуксе или на вин через mingw ) оно бы собралось без переименования.

Оффлайн Павел Васильев

  • *****
  • Сообщений: 1 119
  • Благодарностей: 34
  • БПЦ 20х60, HD 75x60
    • Сообщения от Павел Васильев
Re: Какой язык программирования учить
« Ответ #72 : 27 Ноя 2025 [21:46:12] »
Это особенность билдера - что у него часть библиотеки на паскале. Отсюда и конфликт.
Вероятно на VC++ или на g++ ( на линуксе или на вин через mingw ) оно бы собралось без переименования.
Во первых, загляните в src и rtl среды, на паскале часть это в основном пакеты компонентов vcl/fmx и то, в метематике пмного на ассемблере. Во вторых, в System.hpp они включают крос-платформенные заголовки, а в WinApi модули то что тоьько для Windows.  Мы её не подключали в проектах из книги. В третьих, консольные с++ приложения должны и так компилироваться в  VC++. Кроме того, в опциях компилятора в среде Rad Studio есть флажок  овместимости с Microsoft.  Но проверять у меня времени нет, так что если комуто это понадобится, то думаю и в  VC и  g++ эти примеры должны собраться.

Кстати, зашёл в модуль System IDE там эта самая Frac реализована на ассемблере следующим образом:

function Frac(const X: Extended): Extended;
{$IF     defined(CPUX86) and defined(IOS)} // iOS/Simulator
begin
  FClearExcept;
  asm
        FLD     tbyte ptr X
        FLD     ST(0)
        SUB     ESP,4
        FNSTCW  [ESP].Word     // save
        FNSTCW  [ESP+2].Word   // scratch
        FWAIT
        OR      [ESP+2].Word, $0F00  // trunc toward zero, full precision
        FLDCW   [ESP+2].Word
        FRNDINT
        FWAIT
        FLDCW   [ESP].Word
        ADD     ESP,4
        FSUB
        FSTP    tbyte ptr Result
  end;
  FCheckExcept;
end;
{$ELSE}
asm
        FLD     tbyte ptr X
        FLD     ST(0)
        SUB     ESP,4
        FNSTCW  [ESP].Word     // save
        FNSTCW  [ESP+2].Word   // scratch
        FWAIT
        OR      [ESP+2].Word, $0F00  // trunc toward zero, full precision
        FLDCW   [ESP+2].Word
        FRNDINT
        FWAIT
        FLDCW   [ESP].Word
        ADD     ESP,4
        FSUB
end;
{$ENDIF}
{$ELSEIF defined(ARITH_X64_SSE)}
function Frac(const X: Double): Double;
asm
        .NOFRAME
        MOVSD     [RSP+$08], XMM0
        MOV       EAX, [RSP+$0C]
        AND       EAX, $7FF00000
        CMP       EAX, $43300000
        JGE       @@HIGH
        CMP       EAX, $3FE00000
        JBE       @@EXIT
        CVTTSD2SI RAX, XMM0
        CVTSI2SD  XMM4, RAX
        SUBSD     XMM0, XMM4
        JMP       @@EXIT
@@HIGH:
        XORPD     XMM0, XMM0
@@EXIT:
end;
{$ENDIF }

Понятно, если кто-то подсовывает их компилятору функцию выделения дробной части числа с тем же именем, то они посылают их подальше и выдают конфликт имен ambiquity. Вычисления надо делать быстрее.
« Последнее редактирование: 27 Ноя 2025 [22:14:20] от Павел Васильев »
Программирование системы AstrobloQ https://gitverse.ru/astrogeoscenter/astrobloq

Оффлайн Pluto

  • Администратор форума
  • *****
  • Сообщений: 28 011
  • Благодарностей: 1164
    • Сообщения от Pluto
Re: Какой язык программирования учить
« Ответ #73 : 27 Ноя 2025 [22:18:51] »
Комментарий администратора По мему тема ушла оффтоп

Оффлайн Тот самый Кеплер

  • *****
  • Сообщений: 3 728
  • Благодарностей: 183
  • Per aspera ad astra
    • Сообщения от Тот самый Кеплер
Re: Какой язык программирования учить
« Ответ #74 : 27 Ноя 2025 [22:54:29] »
Ну отделите тему

Народу интересно про программирование поговорить, а не топикстартера на путь истинный направить

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

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

« Последнее редактирование: 27 Ноя 2025 [23:09:55] от Тот самый Кеплер »
С уважением, Андрей.
--
http://kepler-observatorium.ru

Оффлайн peg59

  • Модератор
  • *****
  • Сообщений: 10 630
  • Благодарностей: 34
  • Звезды зовут
    • Сообщения от peg59
Re: Какой язык программирования учить
« Ответ #75 : 27 Ноя 2025 [23:09:44] »
Их надо покупать причем зарубежом - а свифт не работает.
Octave и Maxima - свободные программы.

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

Топикстартеру совет: ни в коем случае не учить первым языком программирования С или С++. Искалечите себе программистское мышление. Для непрофессионала намного меньшим злом будет хоть тот же Питон (главное как можно дольше, а лучше вообще не трогать ООП).
Но для научного работника Octave, Maxima гораздо лучший выбор для начала. Уметь в символьные вычисления на компьютере - громадное усиление мозга.
« Последнее редактирование: 27 Ноя 2025 [23:18:15] от peg59 »
Maxvision 150/750 ньютон (доработанный)
SvBony 102 ED   БПЦ20х60

Оффлайн yacc

  • ***
  • Сообщений: 126
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #76 : 27 Ноя 2025 [23:50:11] »
Octave и Maxima - свободные программы.
Это так.
Но они ограниченно совместимы с аналогичными платными продуктами. Если на кафедрах и пользуются мат.софтом, то оригинальным, т.е. платным. Покупать и ставить себе такое для школьника, например маткад - так себе занятие.

Учить людей, не собирающихся профессионально программировать, С++ - это профанация, если не сказать, диверсия.
С++ идет на старших курсах.
На первых - основы информатики и паскль.нет - что правильно.
Потом в середине - Питон как научный ( с matplotlib и построением графиков ) и Фортран.
И только на старших С++ и Питон с классами и основы параллельных вычислений.
Последовательность в целом логичная и правильная.

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

Меня более удивляет другое - в программе астрономии отсутствуют численные методы. У нас на них разбирали алгоритмы для решения математических задач численным методом, как то: БПФ, Рунге-Кутта, метод Ньютона для экстремума, алгоритмы линейной алгебры. С алгоритмами на фортране.

В УрФУ даже есть на этот счет отдельный  учебник, где это расписывается ( кроме БПФ ), но чисто в формулах с лабами на Маткаде.
Но этот учебник идет только для таких программ: 010300.62 — Фундаментальная информатика и информационные технологии; 09.03.03, 09.04.03 — Прикладная информатика (бакалавр, магистр); 38.03.05, 38.04.05 — Бизнес-информатика (бакалавр, магистр)
Для астрономии 03.05.01 такого курса - нет.

Вероятно полагается что астрономы возьмут реализации из библиотек Питона, а С++ нужен ну тоже чтобы библиотеки готовые взять, не шибко понимая как оно там считается внутри.


Оффлайн peg59

  • Модератор
  • *****
  • Сообщений: 10 630
  • Благодарностей: 34
  • Звезды зовут
    • Сообщения от peg59
Re: Какой язык программирования учить
« Ответ #77 : 28 Ноя 2025 [08:59:18] »
Но они ограниченно совместимы с аналогичными платными продуктами. Если на кафедрах и пользуются мат.софтом, то оригинальным, т.е. платным. Покупать и ставить себе такое для школьника, например маткад - так себе занятие.
В двух фразах умудряетесь самому себе противоречить.
Школьнику не заметить ограничений совместимости. Покупать свободные программы не обязательно.
Научиться пользоваться численными+символьными вычислениями и попутно освоить скриптовый язык программирования - отличный навык для будущего научного работника.
Maxvision 150/750 ньютон (доработанный)
SvBony 102 ED   БПЦ20х60

Оффлайн yacc

  • ***
  • Сообщений: 126
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #78 : 28 Ноя 2025 [09:44:02] »
Научиться пользоваться численными+символьными вычислениями и попутно освоить скриптовый язык программирования - отличный навык для будущего научного работника.

Школьнику более чем достаточно SymPy для символьных вычислений.
https://pythonru.com/biblioteki/sympy-v-python
Численные вычисления - там же в numpy

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

Исследования и научные статьи можно сгенерировать используя только Jupyter Notebook и плагины к нему.

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

Для свободных документации на порядки меньше - это будет не обучение, а хакерство - взять книгу по маткад а попытаться этот же пример сделать в максима -  путем проб и ошибок ибо нифига ничего получаться не будет. И оно забросится быстро как неинтересное - дай бог один "ботаник" из сотни, очень упертый, сможет это в школе.
В этом плане лучше питон - сначала побаловаться и освоиться, а потом опа - оно еще и аналитически уравнения решать может - а вот и примеры на сайте именно под него.
« Последнее редактирование: 28 Ноя 2025 [10:13:32] от yacc »

Оффлайн Ph_user

  • *****
  • Сообщений: 3 160
  • Благодарностей: 82
    • Сообщения от Ph_user
Re: Какой язык программирования учить
« Ответ #79 : 28 Ноя 2025 [09:59:42] »
Вероятно полагается что астрономы возьмут реализации из библиотек Питона, а С++ нужен ну тоже чтобы библиотеки готовые взять, не шибко понимая как оно там считается внутри.

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

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