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

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

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

  • *****
  • Сообщений: 1 119
  • Благодарностей: 34
  • БПЦ 20х60, HD 75x60
    • Сообщения от Павел Васильев
Re: Какой язык программирования учить
« Ответ #220 : 07 Дек 2025 [00:21:44] »
И к слову - все это выше показывает, что проект НЕВОЗМОЖНО собрать ни в Visual Studio, ни посредством g++ на Линукс - код в принципе не портируемый.
Коллега, который бум-бум в компиляторах, а зачем его собирать в Visual Studio, если есть RAD Studio? В ней отлично всё собирается. Консольные C++ приложения, кстати, собираются и в VS, проверял неоднократно. Опять же без вашего g++ также собираются С++ билдерные проекты под Андроид и Линукс, правда уже не с VCL, а FMX компонентами. А то, что у вас в принципе, якобы, ничего не портируется, то вы предьявляейте претензии к себе, а не Embarcadero - у них в IDE всё портируется. 
Программирование системы AstrobloQ https://gitverse.ru/astrogeoscenter/astrobloq

Онлайн yacc

  • ***
  • Сообщений: 126
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #221 : 07 Дек 2025 [00:22:13] »
А откуда вы, глубоко уважаемый, выдрали мнение, что это подключаемые модули? Сам придумал, сам отвечает
Да  - нет - ваше:
Да что вы говорите? А подключаемые модули вы какбы и не заметили

Причем вы заметили их ... в fcPanoViewer.cpp
Но именно там их "подключения" тупо нет.

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

  • *****
  • Сообщений: 1 119
  • Благодарностей: 34
  • БПЦ 20х60, HD 75x60
    • Сообщения от Павел Васильев
Re: Какой язык программирования учить
« Ответ #222 : 07 Дек 2025 [00:33:07] »
Причем вы заметили их ... в fcPanoViewer.cpp
Но именно там их "подключения" тупо нет.
Во-первых, IDE сама создаёт try... catch при создании новых проектов в cpp, во-вторых, дальше эту программу визуализации панорам доработал я, поэтому мне не надо там что-то замечать, я в начале не привёл текст, потому, что вы предъявили C++Builder'у претензии, что он наполовину написан на Паскале и в программе нет обработки исключений. Всё работает прекрасно и ничего не вылетает.   
Программирование системы AstrobloQ https://gitverse.ru/astrogeoscenter/astrobloq

Онлайн yacc

  • ***
  • Сообщений: 126
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #223 : 07 Дек 2025 [00:35:10] »
Коллега, который бум-бум в компиляторах, а зачем его собирать в Visual Studio, если есть RAD Studio? В ней отлично всё собирается.
А в другом окружении с другим компилятором - вообще не соберется.

Так что это вообще не про стандарт С++, который как бы должен работать на ЛЮБОМ компиляторе - а только про RAD Studio.
Причем для накидывания компонентов в ней более чем С++ второй редакции - вообще не нужно.

И да - все аспекты ООП, которые вы тут указывали  - типа там инкапсуляция, наследование, полиморфизм - УЖЕ реализованы в С++ 2.0 в 90-х годах - и код билдер создает для С++ именно в такой парадигме со своими интерпретациями типа указателя на форму прямо в CPP файле формы.



Онлайн yacc

  • ***
  • Сообщений: 126
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #224 : 07 Дек 2025 [00:38:13] »
Во-первых, IDE сама создаёт try... catch при создании новых проектов в cpp
Если вы это скажете на собеседовании в фирму, которая разработкой на С++ занимается - вы провалите собеседование.
try catch всегда делает программист там, где есть потенциальное место для ошибки - и это не дефолтовый блок для всего приложения.
Особенно эта фраза станет критической для собеседующих "Всё работает прекрасно и ничего не вылетает".

потому, что вы предъявили C++Builder'у претензии, что он наполовину написан на Паскале и в программе нет обработки исключений.
То что написано на паскале да именно под билдер - это претензии к портированию. Вот код из "Астрономия на персональном компьютере" - универсальный. Никаких #pragma link там нет - тот же gcc не знает про эту директиву - нет ее на линуксе.

А что нет обработки исключений там, где она может возникнуть - явный косяк программиста.
Если программист считает что раз try catch есть в Main то и больше его добавлять нигде не надо - то лучше такого программиста для проектов не брать.

« Последнее редактирование: 07 Дек 2025 [00:50:06] от yacc »

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

  • *****
  • Сообщений: 1 119
  • Благодарностей: 34
  • БПЦ 20х60, HD 75x60
    • Сообщения от Павел Васильев
Re: Какой язык программирования учить
« Ответ #225 : 07 Дек 2025 [01:12:33] »
что нет обработки исключений там, где она может возникнуть - явный косяк программиста.
Yacc, кто же против? Я выше привёл пример короткой программы, ну раз вы не косячный сишный программист, то не голословно, а конкретно покажите, где там ещё надо try...catch  добавить  И если программа станет лучше работать, то я вам буду очень признателен за неоценимую помощь.
Программирование системы AstrobloQ https://gitverse.ru/astrogeoscenter/astrobloq

Онлайн yacc

  • ***
  • Сообщений: 126
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #226 : 07 Дек 2025 [11:41:35] »
Yacc, кто же против? Я выше привёл пример короткой программы, ну раз вы не косячный сишный программист, то не голословно, а конкретно покажите, где там ещё надо try...catch  добавить
А там в других функциях это почти бесполезно - если накрылся Open GL то скорее всего накрылась и программа.
Но при открытии файла это необходимо - открыть можно и битый некорректный файл на котором все сломается. По хорошему там флаг нужен, что открыто успешно и только тогда дергать остальные методы в других обработчиках.

Оффлайн Вантуз

  • ****
  • Сообщений: 263
  • Благодарностей: 3
    • Сообщения от Вантуз
Re: Какой язык программирования учить
« Ответ #227 : 07 Дек 2025 [15:34:10] »
На 1011 ОЗУ было не менее 1М
Не было на 1011 физически никогда столько ОЗУ - только 64\128К - там вообще память была на ферритовых сердечниках.
В данном случае, один из двух спорящих дурак, а другой подлец.
Подлецом быть не хочу.
Отвечу сканом справочника
А не надо отвечать по справочнику.

У вас описана видеотоновская версия Mitra 15, она же Videoton R10 (VT60), она же ЕС-1010.

У нас была более новая Videoton R11 (VT600), аналог Mitra 225, выпускавшаяся с конца 70-х и в 80-е.
Стойки выглядели так (только магнитофон был один, и было 2 тумбы дисководов; оригинал фото c сайта Matthias Gerlai, директора Videoton в 1990-91, https://mgerlai-zujvari.tfodor.hu/):


Венгры называют ее мега-мини:

Цитата
https://mgerlai-zujvari.tfodor.hu/r11.html

/Автоперевод с венгерского на английский корявый, но понять можно:/

...

Category             System Name    Application                   Arhitektúra    Construction, Environment   License
Megamini Computers  R11 (VT600)    General, Corporate Governance SEMS S Series  Machines                    SEMS Mitra 225

...

Features of the R11 (mega mini) computer
The R11 computer system is suitable for simultaneous service to several users in the megamini category (4 MB operational memory, 16 x 80, 160 or 300 MB disc interface options).

Features of Hardware
32 (or 64) IT level
- 155 instructions
- MONOBUS (transmission speed: 2.3 Mbyte/sec)
- microprocessor peripheral interfaces
- 1 Mbyte expandable operative library.

In corporate governance application (database management, transaction, etc.) it is able to provide reliable and fast service to 32 terminals, and it also has a number of applications.
Data processing - technical calculations
- traditional calculator center tasks
- scientific research
Remote data processing
- transaction management-database management management
- computer networks: R11-R11; R11-R10
- Remote job terminal emulation: TOE, IBM, Siemens compatible computers
- Access to X 25 (postal) network
Time sharing apps
- multi-console instructor systems
- interactive program development
Industrial applications
- Twin-processing systems with increased reliability
- hierarchical control and control systems

Автор MISS Владимир Бутенко говорит про 1M на EC 1011, но его про конкретную конфигурацию уже не спросишь:

Цитата
https://www.osp.ru/cw/2000/14/4261:

MISS — Multipurpose Interactive timeSharing System. Для того времени это была любопытная система. В стране только-только начал появляться Unix, и какая-то конкуренция была со стороны программистов ИПК Автопрома (никакого «Релкома» еще не было), которые разработали DEMOS. Потом появились более мощные машины — ЕС 1011 с «целым» мегабайтом памяти. К 1988 году в Стране Советов настало некоторое послабление, и был организован кооператив «Гамма». Мы ставили свои системы в основном заказчикам из промышленности — химпрому, нефтяникам, газовикам.
...
Естественно, были системы, которые поставлялись вместе с машинами, но они были, мягко говоря, устаревшие. Это были системы класса OS/360: разветвленные системы с кучей возможностей, но совершенно не приспособленные ни для разработки, ни для использования наиболее популярных приложений, к тому же достаточно сложные и неповоротливые, медленные. Но самое главное — не интерактивные, то есть не рассчитанные на нормального пользователя, как, в общем-то, и ОС Unix до недавнего времени. У нас же был хороший пример — система для ЕС 1010, разработанная двумя венграми в «Видеотоне», называвшаяся IDOS. Это интерактивная система, с которой уже вполне можно было работать даже с алфавитно-цифровыми терминалами. Но она была однопользовательской. Мы хотели сделать удобную, многопользовательскую систему с нормальным интерфейсом, без командной строки.


Онлайн yacc

  • ***
  • Сообщений: 126
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #228 : 07 Дек 2025 [18:57:16] »
У вас описана видеотоновская версия Mitra 15, она же Videoton R10 (VT60), она же ЕС-1010.
У меня описана именно ЕС-1011,  ЕС-1010 - еще слабее.
У нас была более новая Videoton R11 (VT600), аналог Mitra 225
Богатые - аж видеотон.
А вот R11 в разные годы была разная.
VT600 - Mitra 225, а VT6000 - Mitra 585/625 - это прям по той же ссылке
А я вот вижу другое про 225 - память 512 кСлов и самое главное - что там с шиной данных.
Скажем у СМ-1420 память была - 256 кСлов или по два байта - это 512 кБайт, это 20 бит на шину адреса, но 16 бит на шину данных.
Т.е. одной программе было доступно всего 64 кСлов для адресации, но было страничное переключение среди 4 страниц.
А тут вероятно пару бит добавили - и уже 1 Мслов.

Автор MISS Владимир Бутенко говорит про 1M на EC 1011, но его про конкретную конфигурацию уже не спросишь
Я переспросил человека который работал с кодами MISS и портировал их как дипломную работу на тот же Videoton с Z80 c 256 килобайт ( страницами ). Да, MISS шла и на более скудных Z80 без MMU поддержки от самого процессора.

Оффлайн Вантуз

  • ****
  • Сообщений: 263
  • Благодарностей: 3
    • Сообщения от Вантуз
Re: Какой язык программирования учить
« Ответ #229 : 08 Дек 2025 [16:12:14] »
У меня описана именно ЕС-1011,  ЕС-1010 - еще слабее.
То есть Mitra 115 / R10M (VT60), все равно не то.
У нас 1011 называли Mitra 225,  других обозначений ЕС-XXXX для нее не было.
Цитата
А вот R11 в разные годы была разная.
VT600 - Mitra 225, а VT6000 - Mitra 585/625 - это прям по той же ссылке
VT6000 выпускались с 1987, и до нашей окрестности до 1991, скорее всего, доехать не успели.
Mitra, на которой игрался в школе, дожила минимум до 1994.
Цитата
А я вот вижу другое про 225 - память 512 кСлов и самое главное - что там с шиной данных.
Слово 16-разрядное, то есть 1M. Венгры могли добавить разрядность адреса.
Для юзера указатель был 16-разрядным, остальные разряды сидели в регистре G-base (?), который юзер менять не мог.
Цитата
Я переспросил человека который работал с кодами MISS и портировал их как дипломную работу на тот же Videoton с Z80 c 256 килобайт ( страницами ). Да, MISS шла и на более скудных Z80 без MMU поддержки от самого процессора.
Именно MISS, а не какой-то софт из нее? (Без MMU ее переносили на 8086, от остального следов нет).

Онлайн yacc

  • ***
  • Сообщений: 126
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #230 : 08 Дек 2025 [16:28:26] »
Слово 16-разрядное, то есть 1M. Венгры могли добавить разрядность адреса.
Для юзера указатель был 16-разрядным, остальные разряды сидели в регистре G-base (?), который юзер менять не мог.
В 16 бит слове сидит 64K комбинаций. Если комбинация адресует такое же слово то 64кслов = 128 кбайт
Никак там 1М не получается иначе как добавлением битов в шину адресов. И для адресации только страницу менять.

Именно MISS, а не какой-то софт из нее? (Без MMU ее переносили на 8086, от остального следов нет).
Именно MISS.Занимался переносом на СМ-4. А так переносили и на Z80 - это при том, что у него шина данных вообще 8 битная.

Оффлайн Вантуз

  • ****
  • Сообщений: 263
  • Благодарностей: 3
    • Сообщения от Вантуз
Re: Какой язык программирования учить
« Ответ #231 : 09 Дек 2025 [13:18:13] »
Никак там 1М не получается иначе как добавлением битов в шину адресов. И для адресации только страницу менять.
Спасибо, кэп (c)
Страницу поменять значит писать в регистр G-base (по памяти, он так назывался), а это сразу прерывание, по которому система задачу прибивала.
Кстати, память выдавалась сеансу, по-видимому, непрерывным куском.  Например, в C malloc() возвращал указатель на неочищенную область с содержимым памяти сеанса мальчика/девочьки у тебя за спиной. Можно было вытащить целиком буфер редактора с программой и т.д.
Как был сделан своп на диск, вспомнить через ~30 лет сложно (его не было вообще? скидывался сеанс целиком?)
При ~20 юзерах только в терминальном зале характерных фризов на несколько секунд не помню.
Цитата
Именно MISS. Занимался переносом на СМ-4.
Исходников не сохранилось?



Онлайн yacc

  • ***
  • Сообщений: 126
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #232 : 09 Дек 2025 [13:53:51] »
Здесь советовали школьнику С++
Рекомендую посмотреть вот это видео двухгодичной давности, по меньшей мере первую половину - очень познавательно про то, как информатику преподают в школе

https://vk.com/video-155609632_456239223

Онлайн yacc

  • ***
  • Сообщений: 126
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #233 : 09 Дек 2025 [19:53:33] »
Страницу поменять значит писать в регистр G-base (по памяти, он так назывался), а это сразу прерывание, по которому система задачу прибивала.
А это ж супервизор должен был писать, а не пользовательская программа.
Вон как на М-20 делали ( смотреть раздел про Бейсик )
https://ketkov.ru/joomla/index.php/publikacii/patdesat-let-s-komputerom

Кстати, память выдавалась сеансу, по-видимому, непрерывным куском.  Например, в C malloc() возвращал указатель на неочищенную область с содержимым памяти сеанса мальчика/девочьки у тебя за спиной.
Вот в ДЕМОС такое бы не прошло - там полноценные форки и процессы от терминала. Вообще память для процесса там вероятно была на уровне TINY\SMALL моделей ( было такое - модель памяти ) от DOS компилятора Turbo C

Исходников не сохранилось?
Я не спрашивал - мне не так интересно - там же все было на макроассемблере, только в последних версиях вроде как на С переписали.

Если хочется побаловаться с ДЕМОС - вот тут есть эмулятор
https://astr0baby.wordpress.com/2016/10/17/soviet-unix-clone-demos/

Можно скачать, запустить один батник, зайти под рутом без пароля и ... насладится набиванием текстов в ed :)

Онлайн yacc

  • ***
  • Сообщений: 126
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #234 : 09 Дек 2025 [19:57:20] »
Возвращаясь к мат пакетам для школьника - проще всего поставить SMath Studio
Для решения задач школьной математики - идеально: все в математическом виде ( только надо отличать присваивание := от равенства = ибо они разное делают )
Простая задача - посмотреть график функции, построить первую и вторую производные и найти точки локальных максимумов

Оффлайн Eddy_Em

  • *****
  • Сообщений: 1 665
  • Благодарностей: 55
  • САО РАН. Буково forever!
    • Сообщения от Eddy_Em
    • Я на гитхабе
Re: Какой язык программирования учить
« Ответ #235 : 09 Дек 2025 [20:56:34] »
Школьнику проще всего будет Octave освоить: полностью матлабоподобный язык, можно всякое разное считать, даже матмоделированию учиться. А уж С или С++ - это достаточно высокий уровень. Особенно С++ (который нынче с С вообще ничего общего не имеет).
Но самое важное: с младых лет вообще ребенка к маздаю не подпускать. Только линукс. И только свободный софт. Пусть учится пользоваться правильным программным обеспечением.
Вот, если дочка таки запросит компьютер или ноутбук, поставлю ей, как и жене, Calculate (у меня Gentoo, но и компьютер значительно мощней, чем у жены). Правда, у меня и цели другие: жене компьютер нужен лишь в качестве медиаточки, а я на своем всякое разное разрабатываю…

Онлайн yacc

  • ***
  • Сообщений: 126
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #236 : 09 Дек 2025 [22:17:47] »
Школьнику проще всего будет Octave освоить
я уже выше писал что по octave мало учебных пособий - на замену MathLab сейчас в ВУЗах претендует scilab
но и по нему учебные пособия - это уровень численных методов ВУЗа ( третий курс ) - чтобы там диффуры решать численно или тому подобное.
Школьнику натурально проще SMath Studio как раз для его задач что я выше на скрине показал

Оффлайн Eddy_Em

  • *****
  • Сообщений: 1 665
  • Благодарностей: 55
  • САО РАН. Буково forever!
    • Сообщения от Eddy_Em
    • Я на гитхабе
Re: Какой язык программирования учить
« Ответ #237 : 09 Дек 2025 [22:33:36] »
на замену MathLab сейчас в ВУЗах претендует scilab
Ну вот в генте octave есть в базовом репозитории, а scilab - нет. Хотя, можно оверлей science подключить. Но я как-то к октаве привык: как у меня студенческая лицензия матлаба лет 20 назад перестала работать (точней, он перестал устанавливаться на более свежих дистрибутивах), я на октаву полностью и перешел. И все это время ею пользуюсь для сиюминутных расчетов, когда bc "не вытягивает", а то и некоторые матмодели, перед тем как на С реализовать, в октаве проверяю (понятно, что в октаве получается адово медленно, зато проверять проще).

А школьнику зачастую и гнуплота хватит: красивые графики строить. Можно даже прямо на стадии сборки документа в латехе гнуплотом на лету графики генерировать.

Онлайн yacc

  • ***
  • Сообщений: 126
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #238 : 09 Дек 2025 [22:49:15] »
Ну вот в генте octave есть в базовом репозитории, а scilab - нет.
sudo apt update
sudo apt install scilab
и scilab установлен в ubuntu

Оффлайн Eddy_Em

  • *****
  • Сообщений: 1 665
  • Благодарностей: 55
  • САО РАН. Буково forever!
    • Сообщения от Eddy_Em
    • Я на гитхабе
Re: Какой язык программирования учить
« Ответ #239 : 09 Дек 2025 [22:54:12] »
ubuntu
Не, спасибо, маздаем вообще не интересуюсь!
// кстати, sudo совсем для других целей придумали. Если человек - единственный пользователь на компьютере, то sudo у него вообще быть не должно по соображениям безопасности. Ну или хотя бы в sudoers указать TARGETPW, чтобы, как и в случае с su, вводить пароль рута, а не свой (которого зачастую даже нет).