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

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

Оффлайн yacc

  • ***
  • Сообщений: 126
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #140 : 01 Дек 2025 [14:04:27] »
Это опыт.
Ни разу не модифицировал код существующего линкуса. За 25 лет. А до этого еще лет пять не трогал код FreeBSD.
Основных трудностей у новичка с линуксом ( особенно в начале 2000х ) три: командная строка ( это обычно даже для тех кто с дос работал ), конфиги ( это тоже было в дос ) и...  vi

Авторы (или мэйнтэйнеры) софта
Пользователь линукса и мейнтейнер - это сугубо разные понятие. Дай бог вторых из первых - сотые доли процента - так себе пример для обобщения.

Причем написанного взрослыми дядьками на серьезных щщах.
Всеми подряд. И школьниками - быстро помыслил быстро сварганил код.
Дядьки на серьезных щщах хоть доки пишут
« Последнее редактирование: 01 Дек 2025 [14:11:28] от yacc »

Оффлайн Алексей Юдин

  • ...
  • *
  • Сообщений: 29 298
  • Благодарностей: 1151
  • Так-с, где тут у Вас Кровавое Мясное Бодалово?
    • Сообщения от Алексей Юдин
Re: Какой язык программирования учить
« Ответ #141 : 01 Дек 2025 [14:22:37] »
В 2002 году, когда издавалось четвертое издание Астрономия на персональном компьютере, типовой комп был Пентиум 4 с 256 Мб ( МЕГАбайт ) и 60 Гбайт жесткого диска - там варианта писать что-то серьезное вычислительное на Питоне, который только перешагнул за версию 2.0  - было не вариант: только быстрые компилируемые языки а-ля С\С++\Паскаль\Фортран.
Тем не менее, уже в 2004м В. Куприяновым была выпущена первая версия программы APEX для астрометрии, в т.ч. прикладной, по ближнему космосу. На Питоне, впоследствии быстродействие повышалось на критических участках, без глобального переписывания.
http://lfvn.astronomer.ru/report/0000076/kouprianov_inasan.pdf

Оффлайн yacc

  • ***
  • Сообщений: 126
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #142 : 01 Дек 2025 [14:57:40] »
Тем не менее, уже в 2004м В. Куприяновым была выпущена первая версия программы APEX для астрометрии, в т.ч. прикладной, по ближнему космосу. На Питоне
Даже в 2008 использование Питона было тем еще квестом - ставить NumPy и SciPy ручками.
Наглядно
http://lfvn.astronomer.ru/instr/apex_install/apex_install.html

Собрать один exe на Паскале или С/С++, да даже на Фортране, выглядело более легким.

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

  • *****
  • Сообщений: 3 728
  • Благодарностей: 183
  • Per aspera ad astra
    • Сообщения от Тот самый Кеплер
Re: Какой язык программирования учить
« Ответ #143 : 01 Дек 2025 [15:20:00] »
vi

Уже 30 лет использую vi. Привычка :)
С уважением, Андрей.
--
http://kepler-observatorium.ru

Оффлайн yacc

  • ***
  • Сообщений: 126
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #144 : 01 Дек 2025 [16:06:00] »
Уже 30 лет использую vi. Привычка
Уже более 30 лет на "синих табличках" - NC \ VC \ Far
В линухе\фряхе ставлю обычно Joe's Own Editor в консоли, но по мелочи могу и в vi

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

  • *****
  • Сообщений: 1 119
  • Благодарностей: 34
  • БПЦ 20х60, HD 75x60
    • Сообщения от Павел Васильев
Re: Какой язык программирования учить
« Ответ #145 : 01 Дек 2025 [16:06:04] »
Тем не менее, уже в 2004м В. Куприяновым была выпущена первая версия программы APEX для астрометрии, в т.ч. прикладной, по ближнему космосу. На Питоне, впоследствии быстродействие повышалось на критических участках, без глобального переписывания.
Гм, у меня в аддонах к системе AstrobloQ тоже есть Apex, но только без II, и как интерфейс к некоторым астрометрическим либам, написанным на С/C++. Вот Куприянов давно выпустил, с тех пор много воды утекло, а где ссылка для народа на исходники? Если эта программа на Питоне до сих пор в рабочем состоянии, могу включить её в AstroGeosCenter, может быть кому-то пригодится.
Программирование системы AstrobloQ https://gitverse.ru/astrogeoscenter/astrobloq

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

  • ****
  • Сообщений: 263
  • Благодарностей: 3
    • Сообщения от Вантуз
Re: Какой язык программирования учить
« Ответ #146 : 01 Дек 2025 [23:02:07] »
Ни разу не модифицировал код существующего линкуса. За 25 лет. А до этого еще лет пять не трогал код FreeBSD.
Как и большинство юзеров unix-like. (Например, вам не повезло в конце 20-го/начале 21-го вв. с ископаемой АТС, с которой на 4800/9600 можно было работать после грязного хака в ppp в ядре и в pppd)
Цитата
Основных трудностей у новичка с линуксом ( особенно в начале 2000х ) три: командная строка ( это обычно даже для тех кто с дос работал )
Нет. Просто еще один язык. (Кстати, ДОС в 1993 вызывал разочарование у вчерашних школьников)
Цитата
...конфиги ( это тоже было в дос )
К текстам на формальном языке привыкают в школе на алгебре/геометрии. (При чем здесь ДОС?)
Цитата
и...  vi
Для привыкших за предыдущие 10-20 лет к однорежимным экранным редакторам в начале 21-го века был, например, mcedit.
(после EVE пользовал его пару месяцев, потом понял, что vim + shell удобнее)
Цитата
Авторы (или мэйнтэйнеры) софта
Пользователь линукса и мейнтейнер - это сугубо разные понятие.
Спасибо, кэп (с)
Пользователь пользует, натыкается на баг, пишет в багзиллу своего дистрибутива, мэйнтэйнер задает уточняющие вопросы, юзер при достаточной упертости предлагает патч, мэйнтэйнер терпеливо объясняет, чтО еще этот патч ломает, и куда школьнику идти учиться; юзер при достаточной упертости предлагает патч с менее очевидными ошибками, мэйнтэйнер отправляет патч в апстрим, и т.д. Пару раз по случаю такую процедуру проходил на остатках навыков из 10-го класса, не программист никаким местом.
Цитата
Причем написанного взрослыми дядьками на серьезных щщах.
Всеми подряд.
Если результат один и тот же, зачем отсекать молодежь?
Цитата
Дядьки на серьезных щщах хоть доки пишут
На known bugs? Их код сам по себе документация.

Оффлайн yacc

  • ***
  • Сообщений: 126
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #147 : 01 Дек 2025 [23:39:30] »
Например, вам не повезло в конце 20-го/начале 21-го вв. с ископаемой АТС, с которой на 4800/9600 можно было работать после грязного хака в ppp в ядре и в pppd
В это время у той же FreeBSD никаких проблем с диал-ап не было. 2.2.4
Да и у виндов в общем-то

ДОС в 1993 вызывал разочарование у вчерашних школьников
У большинства вчерашних школьников вообще тогда компы иначе чем игровые типа Денди или хотя бы Спектрума с играми на кассетах, вызывали тогда разочарование. Большинство народа проходило дисплейный класс ровно также как другую обязаловку - матан там или лабы - сдало и забыло.

Пользователь пользует, натыкается на баг, пишет в багзиллу своего дистрибутива
Все проще - он сносит нафиг энтот Линукс и ставит винду с диска на рынке. Писать может разве что подневольный админ, которому энтот линукс обслуживать - скажем у провайдеров диал-апа, или упертый линуксоид ( редкий вид ). А в обычных небольших конторах вполне работает винда с новеллем.

Если результат один и тот же, зачем отсекать молодежь?
Какой толк от джуна ? Он как правило и код толком писать еще не умеет.

К слову, я могу добавить, что в 90-е С лучше было изучать на nix подобных системах - без разницы на какой - линукс или там фряха или солярис - потому что любой косяк с указателями вешал что ДОС, что Вин3.1 , да и 95 мог подвесить - а вот в никсах система не падала - просто процесс заканчивался с segfault. Винда стала устойчива к таким косякам начиная с NT.
Именно поэтому, в частности, народ просто выбирал Паскаль - и быстрая компиляция и без таких нежданчиков.
« Последнее редактирование: 02 Дек 2025 [00:08:08] от yacc »

Оффлайн Karagy

  • *****
  • Сообщений: 1 839
  • Благодарностей: 62
    • Сообщения от Karagy
Re: Какой язык программирования учить
« Ответ #148 : 02 Дек 2025 [00:55:49] »
В это время у той же FreeBSD никаких проблем с диал-ап не было
Зато были проблемы с новыми видиокартами. приходилось вручную править сорцы и пересобирать ядро. Хорошо хоть суть сводилась к новому неучтеному ID карты не затрагивая уже существующий функционал. Т.е справилась-бы и макака, при условии что телефон не ограничил её IQ во время детского развития.

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

  • *****
  • Сообщений: 1 119
  • Благодарностей: 34
  • БПЦ 20х60, HD 75x60
    • Сообщения от Павел Васильев
Re: Какой язык программирования учить
« Ответ #149 : 02 Дек 2025 [01:02:21] »
Насчёт применения языка Python для астрономии и не только. Некоторые зарубежные астрофизики его используют и настойчиво рекомендуют всем для вычислений. Каких? О параллельных, многопоточных и грид-расчётах с бигдата на суперкомпьютерах речь не идёт.

Python — это гораздо более низкая скорость выполнения программ по сравнению с компилируемыми языками, такими как C/C++/C#, Fortran, Java и Pascal, у него повышенное потребление памяти и проблемы с многопоточностью. Кроме того, язык использует отступы вместо операторных скобок, отмечается несовместимость версий и зависимость от системных и внешних библиотек, написанных на других языках для ускорения работы.
Подробнее:
• Код Питона выполняется интерпретатором, который медленно работает даже на многоядерных компьютерах. Это особенно сказывается на приложениях, требующих высокой вычислительной мощности в астрофизике или работы в реальном времени для управления телескопами.
 Стандартная реализация CPython имеет Global Interpreter Lock (GIL), который не позволяет нескольким потокам выполняться одновременно, что ограничивает производительность в многопоточных приложениях, где требуется высокая параллельная обработка.
Другие недостатки
• Код Python использует отступы для определения блоков, что приводит к ошибкам если форматирование нарушено, а также затрудняет поддержку такого кода.
• Проблемы с совместимостью версий: Существуют несовместимости между разными версиями Python (например, между Python 2 и 3), что требует изменения кода при работе над проектами.
• Сильная зависимость от системных библиотек может затруднять перенос программ на другие системы.
Отсутствие строгой типизации создаёт трудности при работе с некоторыми типами данных, такими как время и даты.

Заявлена простота языка, но... для создания графических интерфейсов (GUI) программ на Python используются дополнительные специальные библиотеки. Некоторые из них: Tkinter, PyQt, wxPython и Kivy. в результате всё становится очень сложным, когда надо применять язык на практике. Например, Qt- отдельная графическая сишная библиотека, причём не бесплатная. И так во всём. В результате встаёт вопрос - а зачем столько лишних телодвижений, когда можно на том же С++ создать прекрасные GUI в стиле MS Word, которые еше и работать будут в несколько раз быстрее чем на интерпретаторе Питона? Да, за 25 лет энтузиасты Питона попереписали на него много хороших библиотек с других языков, и добавили вагон и паравоз своих программ по нейронным сетям, машинному обучению и искусственному интеллекту. Но вот для управления базами данных и графики, особенно с 3d, многопоточностью и шейдерами реалистичных сцен, интерпретатор Питона не подходит.  Очевидно у него есть ниша в сфере  создания скриптов обработки  данных и операций оптимизации расчётов,  в т.ч.  в области применения искусственного интеллекта для человеко-машинных интерфейсов. Но если что-то будет создано стоящее, то это без труда будет конвертировано на более быстрые компилируемые языки, такие как С++ и  Object Pascal, с помощью уже готовых пакетов компонентов Python4Delphi. И круг опять замыкается. Запускать готовые программы на Питоне не сложно. Поэтому  вывод такой: учиться программированию надо на языках Object Pascal и С++, по крайней мере для решения задач астрономии и космонавтики.

Программирование системы AstrobloQ https://gitverse.ru/astrogeoscenter/astrobloq

Оффлайн yacc

  • ***
  • Сообщений: 126
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #150 : 02 Дек 2025 [01:26:45] »
Зато были проблемы с новыми видиокартами. приходилось вручную править сорцы и пересобирать ядро.
Обычно на фряхе работали в консоли - для десктопа она не очень подходила, а серверу сессия с twm или ctwm или даже fvwm мало пользы давала - приложений все равно было мало и только память и процессорное время использует, но да - минимум с конфигами иксов нужно было повозиться.
Я запускал иксы в конце 90-х без перекомпиляции, но в стандартном VGA\SVGA для побаловаться.

Оффлайн Karagy

  • *****
  • Сообщений: 1 839
  • Благодарностей: 62
    • Сообщения от Karagy
Re: Какой язык программирования учить
« Ответ #151 : 02 Дек 2025 [01:46:20] »
Python — это гораздо более низкая скорость выполнения программ
Это если включить дурачка. Все молотилки при питоне они всё-равно сделаны на сях либо фортране. Питон - он для увязывания этих библиотек. И не по старинке, с закатом Солнца вручную, а как можно проще - раз дава и готово.

Заявлена простота языка, но... для создания графических интерфейсов (GUI) программ на Python
А разве питон заявлен как язык для создания GUI?

Оффлайн yacc

  • ***
  • Сообщений: 126
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #152 : 02 Дек 2025 [01:51:30] »
А разве питон заявлен как язык для создания GUI?
А зачем GUI если есть matplotlib ?
Простенькие ползунки для поиграться можно и в Jupyter накидать

Оффлайн Karagy

  • *****
  • Сообщений: 1 839
  • Благодарностей: 62
    • Сообщения от Karagy
Re: Какой язык программирования учить
« Ответ #153 : 02 Дек 2025 [03:15:58] »
Простенькие ползунки для поиграться можно и в Jupyter накидать
Можно ещё проще - IUP + Lua (которая учится за день). Там и GUI и графика. Идеально для прототипирования смотрелок всяких графиков.

Не видел ещё ни одной толковой статьи по Jupiter доступно показывающей зачем он более нужен чем не нужен.

Оффлайн Алексей Юдин

  • ...
  • *
  • Сообщений: 29 298
  • Благодарностей: 1151
  • Так-с, где тут у Вас Кровавое Мясное Бодалово?
    • Сообщения от Алексей Юдин
Re: Какой язык программирования учить
« Ответ #154 : 02 Дек 2025 [08:06:48] »
Насчёт применения языка Python для астрономии и не только
Сильно отдаёт "беглым обзором"...

Оффлайн Алексей Юдин

  • ...
  • *
  • Сообщений: 29 298
  • Благодарностей: 1151
  • Так-с, где тут у Вас Кровавое Мясное Бодалово?
    • Сообщения от Алексей Юдин
Re: Какой язык программирования учить
« Ответ #155 : 02 Дек 2025 [08:16:55] »
Все молотилки при питоне они всё-равно сделаны на сях либо фортране.
Из астрософта так написан AIP -  VB для интерфейса, C++ для числодробления.

Оффлайн yacc

  • ***
  • Сообщений: 126
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #156 : 02 Дек 2025 [09:49:19] »
Из астрософта так написан AIP -  VB для интерфейса, C++ для числодробления.
Подобным образом пошли и в APEX

http://lfvn.astronomer.ru/instr/apex_2/rus.htm

Питон там скорее заменяет ... IDL или Matcad для ученых, чем С++ или Паскаль.
А Jupyter увязывает вместе Питон, Markdown и LaTex
« Последнее редактирование: 02 Дек 2025 [10:03:49] от yacc »

Оффлайн yacc

  • ***
  • Сообщений: 126
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #157 : 02 Дек 2025 [10:31:39] »
Можно ещё проще - IUP + Lua (которая учится за день). Там и GUI и графика. Идеально для прототипирования смотрелок всяких графиков.

Вот как раз для Jupyter много инструментов чтобы сделать свою исследование интерактивным. Т.е. после создания блокнота его можно опубликовать онлайн - и любой желающий покрутит параметры и графики онлайн, не компилируя у себя коды или не скачивая-устанавливая приложение ( а тут, если есть данные, еще и инсталлятор потребуется ).

https://repozitar.techlib.cz/server/api/core/bitstreams/e6ceb714-33d4-4622-95d3-dabd6bb496dc/content

Оффлайн ekvi

  • *****
  • Сообщений: 7 283
  • Благодарностей: 419
    • Сообщения от ekvi
Re: Какой язык программирования учить
« Ответ #158 : 02 Дек 2025 [10:37:33] »
Вопреки "надзерателю", с удовольствием слежу за обсуждением. Оно полезно не только ТС, но и его преподавателям.
В 9-11 классах с 1963 по 1966 гг математике меня учил И.Я. Дорфман. Практику мы проходили в Новосибирском Академгородке, где нам преподнесли Алгол и познакомили с программированием на маш. кодах для Минск-2 (или 3?). Потом был вуз, КБ, к программированию я вернулся только в 1977-м. Снова коды, Васик, С/Паскаль и т.д.
Алгоритмизация деятельности - суть программирования. Для исследователя ЯП безразличен: лишь бы он был органично связан с родом деятельности и темпераментом исследователя. тут ключевое:
Уже 30 лет использую vi. Привычка
"Привычка свыше нам дана - замена счастию она ..."
Вы говорите столько-то % используют питон? Так это коньюктура ... Важно уже на берегу выбрать перспективный "вектор", которому не жаль отдать всю жизнь.
А то, что ИИ сегодня = логарифмической линейке - это факт: С. Лем верно угадал направление развития цивилизации.
« Последнее редактирование: 02 Дек 2025 [10:45:28] от ekvi »


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

  • ****
  • Сообщений: 263
  • Благодарностей: 3
    • Сообщения от Вантуз
Re: Какой язык программирования учить
« Ответ #159 : 02 Дек 2025 [12:25:35] »
Например, вам не повезло в конце 20-го/начале 21-го вв. с ископаемой АТС, с которой на 4800/9600 можно было работать после грязного хака в ppp в ядре и в pppd
В это время у той же FreeBSD никаких проблем с диал-ап не было. 2.2.4
Да и у виндов в общем-то
Проблем с dial-up не было ни у кого. Проблемы были у конкретной АТС.
Цитата
У большинства вчерашних школьников вообще тогда компы иначе чем игровые типа Денди или хотя бы Спектрума с играми на кассетах, вызывали тогда разочарование. Большинство народа проходило дисплейный класс ровно также как другую обязаловку - матан там или лабы - сдало и забыло.
По опыту наоборот. Из дисплейного класса народ в конце 80-х/начале  90-х не вылезал. Хоть с БК в школе, хоть с  венгерской Митры у шефов. Не все, конечно. Но процентам 10 программки для себя писать нравилось. Кстати, ДОС раздражал именно после Митры c MISS.
Цитата
Пользователь пользует, натыкается на баг, пишет в багзиллу своего дистрибутива
Все проще - он сносит нафиг энтот Линукс и ставит винду с диска на рынке.
И что с ней делать? Когда к концу 90-х появились достаточно производительные и дешевые x86, вариантов для миграции с отмирающего железа было немного: Linux, *BSD, NT.  NT в некоторых отраслях не прижилась, а Linux пошел. (*BSD нет, из-за недостаточных вложений в поддержку железа).
Цитата
Писать может разве что подневольный админ, которому энтот линукс обслуживать - скажем у провайдеров диал-апа, или упертый линуксоид ( редкий вид ).
Или юзер, которому полезно развлечься/отвлечься на время от своих задач по работе. Из сотен лично знакомых юзеров линукса баги репортят и фиксят единицы (хотя большинство имеет необходимые навыки в силу основной работы), но даже такого фидбэка в среднем достаточно.
Цитата
Какой толк от джуна? Он как правило и код толком писать еще не умеет.
Большинство пишущих код писать код не умеют. Молодежь хотя бы чему-то учится и попутно делает что-то полезное, пусть даже c ужасным кодом.
Цитата
К слову, я могу добавить, что в 90-е С лучше было изучать на nix подобных системах ...
На любой системе, использующей MMU,
Цитата
Именно поэтому, в частности, народ просто выбирал Паскаль - и быстрая компиляция и без таких нежданчиков.
Это не от хорошей жизни.  (В ~1994-95 предпочитал отлаживать программы на C на Unix-машине через telnet, так как под DOS это было хлопотно.)