Госспади, отправь на пенсию воспитанников фортрана!
От: Философ Ад http://vk.com/id10256428
Дата: 17.11.25 09:27
Оценка: +1 -1 :))) :)))
Невыносимо раз за разом расшифровывать всякие ptrn, alm, grs, rprms.
Сил моих больше нет смотреть на эту экономику букав.
Всё сказанное выше — личное мнение, если не указано обратное.
Re: Госспади, отправь на пенсию воспитанников фортрана!
От: sergii.p  
Дата: 17.11.25 09:51
Оценка: +1 :)))
Здравствуйте, Философ, Вы писали:

Ф>Невыносимо раз за разом расшифровывать всякие ptrn, alm, grs, rprms.

Ф>Сил моих больше нет смотреть на эту экономику букав.

"длинные слова меня только расстраивают"

C++:
nums | std::view::filter([](int n) { return n % 2 == 0; }) | std::views::transform([](int n) { return n * n; });

Haskell:
map (^2) (filter even nums)
Re: Госспади, отправь на пенсию воспитанников фортрана!
От: Pzz Россия https://github.com/alexpevzner
Дата: 20.11.25 06:36
Оценка: 1 (1) +2
Здравствуйте, Философ, Вы писали:

Ф>Невыносимо раз за разом расшифровывать всякие ptrn, alm, grs, rprms.

Ф>Сил моих больше нет смотреть на эту экономику букав.

Где-то примерно до 90-х у большинства линкеров было ограничение: у глобальных символов только первые где-то 8 знаков были значащими.

Это сейчас можно объявить два символа, котырые различаются в 256-м знаке от начала, и линкер это правильно обработает.

Фортран тут не очень причём, к Си это тоже относилось. Просто памяти было мало и процессоры были слабые, по сравнению с сегодняшними. Зато программисты понимали, что инструменты могут иметь ограничения, и подстраивались.
Re[2]: Госспади, отправь на пенсию воспитанников фортрана!
От: rg45 СССР  
Дата: 17.11.25 14:41
Оценка: 3 (1) +1
Здравствуйте, sergii.p, Вы писали:

SP>"длинные слова меня только расстраивают"


SP>C++:

SP>
SP>nums | std::view::filter([](int n) { return n % 2 == 0; }) | std::views::transform([](int n) { return n * n; });
SP>

SP>Haskell:
SP>
SP>map (^2) (filter even nums)
SP>


В С++ ты можешь наопределять себе какого угодно синтаксического сахара самостоятельно:

http://coliru.stacked-crooked.com/a/c9e461934c26ab45

namsepace my
{
   using std::views::filter;
   inline constexpr auto map = std::views::transform;
   inline constexpr auto even = [](std::integral auto n) {return n % 2 == 0;};
   inline constexpr auto pow = [](auto exp) {return [=](auto base) {return std::pow(base, exp);};};
} // namespace my


И юзай его потом, будет не хуже чем на хаскеле:

nums | filter(even) | map(pow(2))


Конечно, такого синтаксического кариеса как "map(^2)" не получится, но, имхо, это и к лучшему.
--
Справедливость выше закона. А человечность выше справедливости.
Отредактировано 18.11.2025 16:54 rg45 . Предыдущая версия . Еще …
Отредактировано 17.11.2025 19:33 rg45 . Предыдущая версия .
Отредактировано 17.11.2025 17:00 rg45 . Предыдущая версия .
Отредактировано 17.11.2025 16:40 rg45 . Предыдущая версия .
Отредактировано 17.11.2025 16:29 rg45 . Предыдущая версия .
Отредактировано 17.11.2025 16:25 rg45 . Предыдущая версия .
Отредактировано 17.11.2025 16:19 rg45 . Предыдущая версия .
Отредактировано 17.11.2025 15:25 rg45 . Предыдущая версия .
Отредактировано 17.11.2025 14:44 rg45 . Предыдущая версия .
Отредактировано 17.11.2025 14:43 rg45 . Предыдущая версия .
Re[5]: Госспади, отправь на пенсию воспитанников фортрана!
От: Privalov  
Дата: 20.11.25 05:47
Оценка: 1 (1) :)
Здравствуйте, ry, Вы писали:

ry>Супер!


Да, девочка замечательная. Вчера у нас была. Не успел я с работы прийти, как она попыталась мне на голову запрыгнуть.

ry>Честно говоря, я не очень боюсь.


Мне иногда приходится сталкиваться. Не знаю, чему их самих учат. Если кто-то старорежимный что-то считает на калькуляторе, он знает, как эти вычисления работают, и чем отличается, скажем, синус от логарифма. А молодёжь не всегда отличает строковое выражение от логического. И не всегда знает, как проверить двоичное число на чётность. С этими явлениями я сталкивался. Боюсь думать, чему такие спецы обучат ИИ.
Re[7]: Госспади, отправь на пенсию воспитанников фортрана!
От: Privalov  
Дата: 20.11.25 10:56
Оценка: 1 (1) :)
Здравствуйте, ry, Вы писали:

ry>С преподаванием связан?


Боже сохрани! После того как нарвался на одного лоботряса, держусь подальше от этого всего. Именно тот лоботряс, на минуточку студент 2-го курса прикладной математики, не знал, как целое двоичное число на чётность проверить.
Иногда новичков в курс дела приходится вводить. Как правило, проходит нормально. Всё же иногда вылезают та-акие сюрпризы!

ry>Вокруг меня сплошная молодёжь — умники и умницы.


Тебе везёт, значит. А мне разные попадались.
Re[3]: Госспади, отправь на пенсию воспитанников фортрана!
От: Privalov  
Дата: 17.11.25 19:03
Оценка: +2
Здравствуйте, Философ, Вы писали:

Ф>Дело в том, что у меня не формулы и не научные труды — обычная логика, которая нигде кроме кода не описана. Тем не менее, старательно экономим буквы. Местами прям до крайности: в коде заводится локальная переменная, единственная цель которой — быть короче чем изначальный идентификатор. Нет, дело не в многопоточности — знаю о чём вы подумали — тут её нет.


Я с подобным стилем сталкивался в одном из прошлых проектов. Кровавый энтерпрайз. Процедуры по нескольку сотен строк *максимальная — около 2500 строк). Правда, в IDE как-то справлялись. И помогли мне годы работы на Фортране. Я в НИИ немного занимался матаном, точнее, помогал математикам. Поэтому пришлось изучить их стиль, способ именования переменных, подпрограмм, функций. В общем, и тут справился. Начинал-то я вообще на перфокартах. По километровым распечаткам полазать пришлось. По сравнению с этим любая пародия на IDE — рай на земле.
Re[8]: Госспади, отправь на пенсию воспитанников фортрана!
От: Философ Ад http://vk.com/id10256428
Дата: 19.11.25 12:51
Оценка: :))
Здравствуйте, rg45, Вы писали:

R>Ну это тоже не проблемы С++. Опять же, проблемы компании и твои, поскольку ты в ней работаешь....


Это проблемы очень-очень-очень многих людей. У меня тут тоже плюсовый код 30-летней давности, там вообще всё с C начиналось, а не с плюсов.
Даже не представляю, сколько человеко-столетий нужно потратить, чтобы это заставить хотя-бы компилироваться новыми компиляторами, не говоря уже о том, чтобы заставить это работать. Плюсовый код — в большинстве случаев застарелое и окаменелое говно мамонта. Сильно сомневаюсь, что сейчас новые проекты на плюсах начинают. Даже если и начинают, то в них быстро перекачёвывают старые папки с кодом (не отдельные строки, а директории целиком). И таким образом сразу образуется куча ограничений.

ЗЫ: подозреваю, что как минимум часть кода в этих новых/старых проектах будет написана вот теми самыми престарелыми фортранистами.
Всё сказанное выше — личное мнение, если не указано обратное.
Отредактировано 19.11.2025 12:54 Философ . Предыдущая версия .
Re: Госспади, отправь на пенсию воспитанников фортрана!
От: Victor Ivanidze Россия  
Дата: 17.11.25 09:46
Оценка: +1
Ф>Невыносимо раз за разом расшифровывать всякие ptrn, alm, grs, rprms.
Ф>Сил моих больше нет смотреть на эту экономику букав.

Господь без тебя разберется. А себя жалей — не смотри на эту "экономику букав".
Re[3]: Госспади, отправь на пенсию воспитанников фортрана!
От: Privalov  
Дата: 18.11.25 15:10
Оценка: +1
Здравствуйте, ry, Вы писали:

SIT>>Я давно на пенсии...

ry>Коллега



Я ещё не на пенсии, но внучка подрастает.
Что будет с отраслью, когда набежит толпа айтишников и будет везде пихать ИИ, боюсь даже думать.
Re[3]: Госспади, отправь на пенсию воспитанников фортрана!
От: rg45 СССР  
Дата: 18.11.25 15:32
Оценка: +1
Здравствуйте, Doom100500, Вы писали:

D>И это ещё не всё. Потом надо ещё в std-контейнеры переводить. (в шарпе ".ToList()", в плюсах опять begin(), end())


Я фигею, тётя Валя, с вашей телепередачи.

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

Во-вторых, для того, кто хоть немного умеет в декомпозицию и способен отделить "ЧТО" от "КАК", тому совершенно пофиг все эти низкоуровневые подробности и программа у него на любом языке будет выглядеть чётко и компактно. А кто пишет код подобно пчеле, строящей соты, у того эти низкоуровневые сопли будут размазаны по всему коду и он будет всю дорогу жаловаться на плохой инструмент.

В-третьих, начиная с C++23, у всех стандартных контейнеров есть версии конструкторов, принимающие абстрактные рэнджи, поэтому использовать пару begin-end совсем не обязательно.

Ну и в-четвёртых, могу повторить то, что говорил выше
Автор: rg45
Дата: 17.11 17:41
: В С++ ты можешь наопределять себе какого угодно синтаксического сахара самостоятельно:

template <template<typename...> class Container>
constexpr auto make = [](std::ranges::range auto&& r) { return Container(std::begin(r), std::end(r)); };


И сколько угодно наслаждаться результатами:

http://coliru.stacked-crooked.com/a/f9e515b153d86f7c

    const std::list list = make<std::list>(nums | filter(even) | map(pow(2)));

Здесь можно было спокойно использовать auto, но я специально явно написал std::list, чтоб у тебя не возникало сомнений в том, что сконструировался именно std::list.

D>Даже в шарпе приятнее. Haskel, конечно не догнать, но плюсы — это полный П++.


Ну или просто это твои программы на плюсах — полный П++.
--
Справедливость выше закона. А человечность выше справедливости.
Отредактировано 18.11.2025 16:53 rg45 . Предыдущая версия . Еще …
Отредактировано 18.11.2025 16:12 rg45 . Предыдущая версия .
Отредактировано 18.11.2025 15:49 rg45 . Предыдущая версия .
Отредактировано 18.11.2025 15:48 rg45 . Предыдущая версия .
Re[3]: Госспади, отправь на пенсию воспитанников фортрана!
От: Qt-Coder  
Дата: 19.11.25 10:34
Оценка: -1
Здравствуйте, Doom100500, Вы писали:


D>
D>.Where(i => i % 2 == 0).Select(i => i*i).To.....
D>


Вот же
var result = from i in collection
             where i % 2 == 0
             select i * i;
Re[5]: Госспади, отправь на пенсию воспитанников фортрана!
От: Qt-Coder  
Дата: 19.11.25 12:10
Оценка: +1
Здравствуйте, Doom100500, Вы писали:

D>И??? С чем спорим, с чем согласны? Что? Другой синтаксис? Я его знаю. А что сказать то хотели?

Тут весь тред про другой синтаксис..
Re[9]: Госспади, отправь на пенсию воспитанников фортрана!
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 20.11.25 07:00
Оценка: +1
Здравствуйте, Философ, Вы писали:

Ф>Даже не представляю, сколько человеко-столетий нужно потратить, чтобы это заставить хотя-бы компилироваться новыми компиляторами, не говоря уже о том, чтобы заставить это работать. Плюсовый код — в большинстве случаев застарелое и окаменелое говно мамонта. Сильно сомневаюсь, что сейчас новые проекты на плюсах начинают.


Я уже не раз видел, как проекты на C# переписывали на С++ по разным причинам: тормознутый код, сложно делать кроссплатформенность, неумение работать на низком уровне.

Ф>Даже если и начинают, то в них быстро перекачёвывают старые папки с кодом (не отдельные строки, а директории целиком). И таким образом сразу образуется куча ограничений.


Не образовываются. Я вполне могу взять любую старую библиотеку, собрать её в отдельный dll/so с теми опциями, которые ей нужны, подключать к современному С++ коду последних стандартов. Подозреваю, что у Java/C#/Python/etc одним компилятором программу с разными стандартами и требованиями к коду не собрать.
Re[2]: Госспади, отправь на пенсию воспитанников фортрана!
От: Философ Ад http://vk.com/id10256428
Дата: 04.12.25 09:54
Оценка: -1
Здравствуйте, Dimonka, Вы писали:

D>Ну так к телу: утилита размером 6700+ строк...


Слушай, а ты, когда строки считаешь, ты их как считаешь? По колличеству действий, или тупо построчно? Вот, например,

while (ridx < expr.Length && !stdOps.Contains(expr[ridx])) ridx++;

Это одна строка или много? Строки у тебя равноценные?
По-твоему как, строка в файле на 50 строк и в файле на 1000, одинакова по сложности/трудоёмкости, или не совсем? А в функции? Строчка в функции на 5 строк равноценна строчке в функции на 4 экрана?

Сколько в мегабайтах твои 6700 строк?
Всё сказанное выше — личное мнение, если не указано обратное.
Re: Госспади, отправь на пенсию воспитанников фортрана!
От: m2user  
Дата: 03.01.26 06:18
Оценка: +1
Ф>Невыносимо раз за разом расшифровывать всякие ptrn, alm, grs, rprms.
Ф>Сил моих больше нет смотреть на эту экономику букав.

Для локальных переменных вполне нормальные имена
Вот функции типа таких, да напрягают:
dpotrf: Computes the positive-definite ones triangular reduction/factorization (Cholesky) for double-precision real matrices

Но, насколько я понимаю, это ограничение компиляторов/линкеров времен, когда все это создавалось.
Re: Госспади, отправь на пенсию воспитанников фортрана!
От: Pavel Dvorkin Россия  
Дата: 04.01.26 12:59
Оценка: +1
Здравствуйте, Философ, Вы писали:

Ф>Невыносимо раз за разом расшифровывать всякие ptrn, alm, grs, rprms.


Это еще ладно.

Вот A2 = A1 * B1 + C2 — C3 действительно нелегко понять.

Но!

Фортран создавался и активно использовался тогда, когда решали в основном математические задачи. Кстати, его название расшиaровывается как Formulae Translation

А в математических формулах переменные обычно обозначают одной буквой. Иногда с индексами.

И вот такое

X1 = (-B + SQRT(B*B — 4 *A *C)) / (2*A)

вполне естественно смотрелось. Да и сейчас это едва ли стоит написать иначе.

А еще про максимальную длину идентификатора. Не дам пруф, но вроде как в одно машинное слово на той машине, где впервые использовали фортран, помещалось как раз 6 букв

Должны были пройти годы, чтобы компьютеры начали использоваться в иных сферах, где иные правила, в том числе и именования переменных.

Я начинал на фортране (если точнее, то на алголе, где были те же принципы именования) и потом перестраивался.

На пенсию меня отправлять не надо — я и так на пенсии.
With best regards
Pavel Dvorkin
Re[2]: Госспади, отправь на пенсию воспитанников фортрана!
От: Privalov  
Дата: 04.01.26 14:38
Оценка: +1
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>И вот такое


PD>X1 = (-B + SQRT(B*B — 4 *A *C)) / (2*A)


Примерно так оно и было. Греческие буквы часот писали alpha или alfa, beta и т. д. Старались, чтобы запись формул в программе на фортране соответствовала тому, что в источниках.

PD>А еще про максимальную длину идентификатора. Не дам пруф, но вроде как в одно машинное слово на той машине, где впервые использовали фортран, помещалось как раз 6 букв


Тут только могу сказать: имя могло быть любой длины, но компилятор (Фортран 4 на ЕС ЭВМ) распознавал первые 6 символов. Проверено на себе. Фортран 77, ЕМНИП, до 32 символов понимал.
Отредактировано 04.01.2026 14:55 Privalov . Предыдущая версия .
Re[3]: Госспади, отправь на пенсию воспитанников фортрана!
От: Pavel Dvorkin Россия  
Дата: 05.01.26 06:54
Оценка: +1
Здравствуйте, Философ, Вы писали:

Ф>Однако, когда в коде далеко не формулы, а логика, которая пишется, правится дополняется годами, и где не соблюдается принцип единственной ответственности (в файле одновременно и графика, и логика, и парсинг исходных данных), то понять кто есть кто и кто на ком стоял оказывается весьма непростой задачей — там привычки принесённые из фортрана оказываются абсолютным злом.


Не было во времена расцвета фортрана ни логики (в нынешнем понимании), ни графики (на чем ? на АЦПУ символами ?), ни парсинга исходных данных (вводили их просто с перфокарт или терминала, при этом на ошибки представления порой не реагировали — нечего тут, вводите все правильно, иначе я ни за что не ручаюсь . Все это намного позже появилось.

И едва ли фортрановское мышление тут причиной. Мне, например, ничего не стоило отказаться от 6-буквенных имен и перейти к нынешним принципам.

А вот что я действительно в себе перестраивал — это создание циклов с помощью GOTO назад. В Фортране-4 иных средств для произвольного цикла нет, есть только для цикла типа i++ или i+=. Умел я их делать прекрасно. И мне еще долго хотелось так писать.

Еще одна "вольность" Фортрана — это EQUIVALENCE и COMMON. Что мы только на их основе не делали! Массивы представляли как скаляры, разные размеры массивов указывали, типы смешивали — все с рук сходило. Полная свобода действий. Потом очень не хватало — пришлось привыкать к современной дисциплине обращения с памятью. Кстати, когда С изучал, обнаружил union и обрадовался ему как родному. А потом узнал, что его использование не есть лучшая практика...
With best regards
Pavel Dvorkin
Re[4]: Госспади, отправь на пенсию воспитанников фортрана!
От: Privalov  
Дата: 05.01.26 07:31
Оценка: +1
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Не было во времена расцвета фортрана ни логики (в нынешнем понимании), ни графики (на чем ? на АЦПУ символами ?), ни парсинга исходных данных (вводили их просто с перфокарт или терминала, при этом на ошибки представления порой не реагировали — нечего тут, вводите все правильно, иначе я ни за что не ручаюсь . Все это намного позже появилось.


Кое-какая графика всё же была. Правда, как работал Графор на ЕС ЭВМ, я не видел. Но переносил программу, сделанную с его использованием, на MS DOS. Всех делов было правильный драйвер экрана и принтера подключить при сборке. А ошибки при вводе я вставками на Сях обрабатывал.

PD>И едва ли фортрановское мышление тут причиной. Мне, например, ничего не стоило отказаться от 6-буквенных имен и перейти к нынешним принципам.


Да, это оказалось очень легко.

PD>А вот что я действительно в себе перестраивал — это создание циклов с помощью GOTO назад. В Фортране-4 иных средств для произвольного цикла нет, есть только для цикла типа i++ или i+=. Умел я их делать прекрасно. И мне еще долго хотелось так писать.


Нормальные циклы и if elsif else endif и циклы while завезли в Фортран 77. Я на них почти сразу перешёл. И цикл do i = 1,10 — enddo был лучше do 5 i=1,10. В последнем случае часто ставили точку вместо запятой, тогда компилятор создавал переменную do5i и присваивал ей значение 1.10. А в случае do — enddo выдавалась ошибка: конец цикла есть, а цикла нет.
И ещё активно начал использовать implicit none. Всё-таки обязательное объявление переменных лучше всяких умолчаний и определения по первой букве имени.

PD>Еще одна "вольность" Фортрана — это EQUIVALENCE и COMMON. Что мы только на их основе не делали! Массивы представляли как скаляры, разные размеры массивов указывали, типы смешивали — все с рук сходило. Полная свобода действий. Потом очень не хватало — пришлось привыкать к современной дисциплине обращения с памятью. Кстати, когда С изучал, обнаружил union и обрадовался ему как родному. А потом узнал, что его использование не есть лучшая практика...


А это из серии "Грабли в Фортране". Лет 40 назад такой литературы было не меньше, чем "Изучаем Фортран". За COMMON следить нужно очень строго. Как, кстати, сделано в том же Графоре и в некоторых числодробительных библиотеках. Кто-то один из заполняет, остальные читают. Там обычно хранили всякие мировые константы типа машинного эпсилон. И было удобнее передать в подпрограмму 20 аргументов, чем рисовать COMMON-блок. А за безымянные COMMON-блоки вообще надо дисквалифицировать. Я, кстати, так и не сумел из Си-функции подключиться к такому. Наверное, просто лень было рыться в протоколах и искать имя, которое ему назначается по умолчанию. Но в реальном коде я безымянных COMMON-блоков не видел ни разу.
Отредактировано 05.01.2026 8:08 Privalov . Предыдущая версия .
Re: Госспади, отправь на пенсию воспитанников фортрана!
От: undo75  
Дата: 17.11.25 09:40
Оценка:
Ф>Невыносимо раз за разом расшифровывать всякие ptrn, alm, grs, rprms.
Ф>Сил моих больше нет смотреть на эту экономику букав.

по рукам не пробовал бить штангенциркулем?
Re: Госспади, отправь на пенсию воспитанников фортрана!
От: Osaka  
Дата: 17.11.25 09:46
Оценка:
Ф>Невыносимо раз за разом расшифровывать всякие ptrn, alm, grs, rprms.
Ф>Сил моих больше нет смотреть на эту экономику букав.
Ну останутся из поколения инженерной эпохи только MUMPS'овики — легче станет что ли?
https://github.com/pkoper/mumtris/blob/master/mumtris.m
Данное сообщение является художественным произведением и освещает вымышленные события в вымышленном мире. Все совпадения с реальностью являются случайными. Не является инвестиционной рекомендацией.
Re[2]: Госспади, отправь на пенсию воспитанников фортрана!
От: Философ Ад http://vk.com/id10256428
Дата: 17.11.25 11:59
Оценка:
Здравствуйте, sergii.p, Вы писали:

SP>"длинные слова меня только расстраивают"

SP>C++: ...
SP>Haskell: ...

ты не о том. Я о методах на несколько экранов, в которых приходится расшифровывать каждую строчку.
Всё сказанное выше — личное мнение, если не указано обратное.
Re[3]: Госспади, отправь на пенсию воспитанников фортрана!
От: alexsmirnoff  
Дата: 17.11.25 13:27
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Здравствуйте, sergii.p, Вы писали:


SP>>"длинные слова меня только расстраивают"

SP>>C++: ...
SP>>Haskell: ...

Ф>ты не о том. Я о методах на несколько экранов, в которых приходится расшифровывать каждую строчку.


О, мне однажды пришлось разбирать программу, которую написал инженер-электронщик.
В ней все функции назывались F_xxxx, а переменные — V_xxxx.
Re[4]: Госспади, отправь на пенсию воспитанников фортрана!
От: Osaka  
Дата: 17.11.25 13:50
Оценка:
A>О, мне однажды пришлось разбирать программу, которую написал инженер-электронщик.
A>В ней все функции назывались F_xxxx, а переменные — V_xxxx.
A>
Нужно заклеймить и осудить самопрограммирование, так же как самолечение! Пусть идут на поклон к профессионалам!
Данное сообщение является художественным произведением и освещает вымышленные события в вымышленном мире. Все совпадения с реальностью являются случайными. Не является инвестиционной рекомендацией.
Re: Госспади, отправь на пенсию воспитанников фортрана!
От: Privalov  
Дата: 17.11.25 15:09
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Невыносимо раз за разом расшифровывать всякие ptrn, alm, grs, rprms.


Фортран — не универсальный язык, а ппереводчик формул. Чтобы понять программу на Фортране, нужно взять первоисточник (статью, монографию, диссертацию), тогда всё встанет на свои места. Математики свободно читают короткие имена. Софт на Фортране 4 до сих пор работает. А там ещё goto до фига, как правило. Потому как нормальные конструкции ветвлений и циклов завезли только в Фортран 77. Как и длинные имена, но математиков не переучить.
Re[2]: Госспади, отправь на пенсию воспитанников фортрана!
От: Философ Ад http://vk.com/id10256428
Дата: 17.11.25 16:14
Оценка:
Здравствуйте, Privalov, Вы писали:

P>..., но математиков не переучить.


К сожалению это не математики.

P>Фортран — не универсальный язык, а ппереводчик формул. Чтобы понять программу на Фортране, нужно взять первоисточник (статью, монографию, диссертацию), тогда всё встанет на свои места.


Дело в том, что у меня не формулы и не научные труды — обычная логика, которая нигде кроме кода не описана. Тем не менее, старательно экономим буквы. Местами прям до крайности: в коде заводится локальная переменная, единственная цель которой — быть короче чем изначальный идентификатор. Нет, дело не в многопоточности — знаю о чём вы подумали — тут её нет.
Всё сказанное выше — личное мнение, если не указано обратное.
Re[4]: Госспади, отправь на пенсию воспитанников фортрана!
От: mike_rs Россия  
Дата: 17.11.25 17:30
Оценка:
Здравствуйте, alexsmirnoff, Вы писали:

A>О, мне однажды пришлось разбирать программу, которую написал инженер-электронщик.

A>В ней все функции назывались F_xxxx, а переменные — V_xxxx.

звучит как выхлоп декомпилятора/дизассемблера.
Re: Госспади, отправь на пенсию воспитанников фортрана!
От: SergeyIT Россия  
Дата: 17.11.25 20:14
Оценка:
Я давно на пенсии...
Извините, я все еще учусь
Re: Госспади, отправь на пенсию воспитанников фортрана!
От: Doom100500 Израиль  
Дата: 18.11.25 06:47
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Госспади


В следующий раз разрешаю обращаться просто "Ваше Величество".
Спасибо за внимание
Re[2]: Госспади, отправь на пенсию воспитанников фортрана!
От: Doom100500 Израиль  
Дата: 18.11.25 06:53
Оценка:
Здравствуйте, sergii.p, Вы писали:

SP>Здравствуйте, Философ, Вы писали:


Ф>>Невыносимо раз за разом расшифровывать всякие ptrn, alm, grs, rprms.

Ф>>Сил моих больше нет смотреть на эту экономику букав.

SP>"длинные слова меня только расстраивают"


SP>C++:

SP>
SP>nums | std::view::filter([](int n) { return n % 2 == 0; }) | std::views::transform([](int n) { return n * n; });
SP>


И это ещё не всё. Потом надо ещё в std-контейнеры переводить. (в шарпе ".ToList()", в плюсах опять begin(), end())

SP>Haskell:

SP>
SP>map (^2) (filter even nums)
SP>


Даже в шарпе приятнее. Haskel, конечно не догнать, но плюсы — это полный П++.

.Where(i => i % 2 == 0).Select(i => i*i).To.....
Спасибо за внимание
Re[5]: Госспади, отправь на пенсию воспитанников фортрана!
От: Doom100500 Израиль  
Дата: 18.11.25 06:55
Оценка:
Здравствуйте, Osaka, Вы писали:

A>>О, мне однажды пришлось разбирать программу, которую написал инженер-электронщик.

A>>В ней все функции назывались F_xxxx, а переменные — V_xxxx.
A>>
O>Пусть идут на поклон к профессионалам!

Так интересно писать прошивки для каждой подпольной железки со своими глюками? Пусть уж они сами делают, что хотят.
Спасибо за внимание
Re[2]: Госспади, отправь на пенсию воспитанников фортрана!
От: ry Россия  
Дата: 18.11.25 13:29
Оценка:
Здравствуйте, SergeyIT, Вы писали:


SIT>Я давно на пенсии...

Коллега
Re[4]: Госспади, отправь на пенсию воспитанников фортрана!
От: SergeyIT Россия  
Дата: 18.11.25 15:27
Оценка:
Здравствуйте, Privalov, Вы писали:

P>Что будет с отраслью, когда набежит толпа айтишников и будет везде пихать ИИ, боюсь даже думать.


Особенно, когда ИИ начнет уменьшать размер исходников (научившись у воспитанников фортрана)...
Извините, я все еще учусь
Re[5]: Госспади, отправь на пенсию воспитанников фортрана!
От: Privalov  
Дата: 18.11.25 18:27
Оценка:
Здравствуйте, SergeyIT, Вы писали:

SIT>Особенно, когда ИИ начнет уменьшать размер исходников (научившись у воспитанников фортрана)...


Кто ж его научит? Да ещё, говорят, от того старого доброго Фортрана мало что остадлсь. Ходят слухи, что Фортран уже на себя не похож. Хотя бы обратную совместимость оставили, интересно?
Re[4]: Госспади, отправь на пенсию воспитанников фортрана!
От: Doom100500 Израиль  
Дата: 19.11.25 06:32
Оценка:
Здравствуйте, rg45, Вы писали:

R>Здравствуйте, Doom100500, Вы писали:


D>>И это ещё не всё. Потом надо ещё в std-контейнеры переводить. (в шарпе ".ToList()", в плюсах опять begin(), end())


R>Я фигею, тётя Валя, с вашей телепередачи.


R>Во-первых, далеко не всегда финалом вычисления хочется иметь контейнер. А зачастую как раз наоборот — хочется, чтоб все эти контейнеры, коллекции и ренджи вычислились по-ленивому на промежуточных этапах и бесследно испарились в итоге.


В конце цепочки всё равно эти богомерзкие begin()/end()

R>В-третьих, начиная с C++23, у всех стандартных контейнеров есть версии конструкторов, принимающие абстрактные рэнджи, поэтому использовать пару begin-end совсем не обязательно.


До него надо дорасти, спортировать проект (он очень дремучий), и ночать использовать. А пока костылим как можем и тихонько матюкаемся.

R>Ну и в-четвёртых, могу повторить то, что говорил выше
Автор: rg45
Дата: 17.11 17:41
: В С++ ты можешь наопределять себе какого угодно синтаксического сахара самостоятельно:


Это везде можно сделать на любом языке. Вопрос в том, что у кого-то в стандартной библиотеке есть готовые абстракции, а кто-то отпускает это разработчикам. А потом имеем глюки — у каждого свои особенные и неповторимые, причины которых надо искать в тех обёртках, которые кто-то когда-то написал, и все остальные начали использовать. Следовательно, если мы хотим иметь стабилную систему, то для случая, где баг точно воспроизводится — мы напишем другую обёртку, немного отличающуюся от той, которая используется в каждом углу.
Да, тесты могут помочь, но нужно иметь в виду, что большинство "разрабов" срать хотели и на чистоту кода, и на покрытие тестами (а начальству фичи важнее тестов).

R>
R>template <template<typename...> class Container>
R>constexpr auto make = [](std::ranges::range auto&& r) { return Container(std::begin(r), std::end(r)); };
R>


R>И сколько угодно наслаждаться результатами:


R>http://coliru.stacked-crooked.com/a/f9e515b153d86f7c


R>
R>    const std::list list = make<std::list>(nums | filter(even) | map(pow(2)));
R>

R>Здесь можно было спокойно использовать auto, но я специально явно написал std::list, чтоб у тебя не возникало сомнений в том, что сконструировался именно std::list.

В моём компиляторе не компилируется. А значит, пока не внедрили, либо не использовать, либо опять все эти begin()/end().

D>>Даже в шарпе приятнее. Haskel, конечно не догнать, но плюсы — это полный П++.


R>Ну или просто это твои программы на плюсах — полный П++.


Это претензия к "лаконичности" плюсов.
Ну и ещё все эти обязательные return в теле лямбд очень глаза режут и замусоривают код.

Далеко не все плюсовики — независымые разработчики. Есть ещё и те, которые ждут пенсии. Вот ради них и стараемся не писать "непонятно".

Мне ranges нравятся, есличо. Лаконичности очень даже добавляет.
Меня бесят return в лямбдах, begin/end, обязательные круглые и фигурные скобки в лябдах (опять).

Претензия в примере:

C++:

auto f = [](auto t) {return t *t;};


C#:
var f = t => t*t;
Спасибо за внимание
Отредактировано 19.11.2025 6:53 Doom100500 . Предыдущая версия .
Re[2]: Госспади, отправь на пенсию воспитанников фортрана!
От: v_su Мухосранск  
Дата: 19.11.25 07:08
Оценка:
Здравствуйте, Osaka, Вы писали:

O>Ну останутся из поколения инженерной эпохи только MUMPS'овики — легче станет что ли?

O>https://github.com/pkoper/mumtris/blob/master/mumtris.m

Кстати, это красивый код в современном стиле )) Ни одного индирекшна, и гото одновременно с взаимоисключащими пре- и пост-условиями )
Re[5]: Госспади, отправь на пенсию воспитанников фортрана!
От: rg45 СССР  
Дата: 19.11.25 10:13
Оценка:
Здравствуйте, Doom100500, Вы писали:


R>>И сколько угодно наслаждаться результатами:


R>>http://coliru.stacked-crooked.com/a/f9e515b153d86f7c


R>>
R>>    const std::list list = make<std::list>(nums | filter(even) | map(pow(2)));
R>>

R>>Здесь можно было спокойно использовать auto, но я специально явно написал std::list, чтоб у тебя не возникало сомнений в том, что сконструировался именно std::list.

D>В моём компиляторе не компилируется. А значит, пока не внедрили, либо не использовать, либо опять все эти begin()/end().


Блин, я тебе ссылку дал, где это не только компилируется, но и выполняется. На компиляторе С++20, на минуточку. Ты ссылку видишь?

А если ты используешь какую-то ветошь, то при чём тут С++, это твои личные трудности.
--
Справедливость выше закона. А человечность выше справедливости.
Отредактировано 19.11.2025 10:22 rg45 . Предыдущая версия . Еще …
Отредактировано 19.11.2025 10:20 rg45 . Предыдущая версия .
Re[6]: Госспади, отправь на пенсию воспитанников фортрана!
От: Doom100500 Израиль  
Дата: 19.11.25 10:34
Оценка:
Здравствуйте, rg45, Вы писали:

R>Здравствуйте, Doom100500, Вы писали:



R>>>И сколько угодно наслаждаться результатами:


R>>>http://coliru.stacked-crooked.com/a/f9e515b153d86f7c


R>>>
R>>>    const std::list list = make<std::list>(nums | filter(even) | map(pow(2)));
R>>>

R>>>Здесь можно было спокойно использовать auto, но я специально явно написал std::list, чтоб у тебя не возникало сомнений в том, что сконструировался именно std::list.

D>>В моём компиляторе не компилируется. А значит, пока не внедрили, либо не использовать, либо опять все эти begin()/end().


R>Блин, я тебе ссылку дал, где это не только компилируется, но и выполняется. На компиляторе С++20, на минуточку. Ты ссылку видишь?


R>А если ты используешь какую-то ветошь, то при чём тут С++, это твои личные трудности.


Не я, а компания. Трудности не мои, а компании. Мои трудности — это крепиться и терпеть, пока компания не решится сменить компилятор. Это происходит, но не тогда, когда хочу я.

Ещё раз: мне не нравится многословность плюсов, а не необходимость их постоянно учить. Это мне как раз нравится.
Многословность можно решить. ranges — хороший путь, но этого мало.
Спасибо за внимание
Re[4]: Госспади, отправь на пенсию воспитанников фортрана!
От: Doom100500 Израиль  
Дата: 19.11.25 10:36
Оценка:
Здравствуйте, Qt-Coder, Вы писали:

QC>Здравствуйте, Doom100500, Вы писали:



D>>
D>>.Where(i => i % 2 == 0).Select(i => i*i).To.....
D>>


QC>Вот же

QC>
QC>var result = from i in collection
QC>             where i % 2 == 0
QC>             select i * i;
QC>


И??? С чем спорим, с чем согласны? Что? Другой синтаксис? Я его знаю. А что сказать то хотели?
Спасибо за внимание
Re[7]: Госспади, отправь на пенсию воспитанников фортрана!
От: rg45 СССР  
Дата: 19.11.25 10:46
Оценка:
Здравствуйте, Doom100500, Вы писали:

D>Не я, а компания. Трудности не мои, а компании. Мои трудности — это крепиться и терпеть, пока компания не решится сменить компилятор. Это происходит, но не тогда, когда хочу я.


Ну это тоже не проблемы С++. Опять же, проблемы компании и твои, поскольку ты в ней работаешь. Ну блин, давай начнем критиковать C#, опираясь на возможности C# 2.0 и ссылаясь на компанию, где это используется.

D>Ещё раз: мне не нравится многословность плюсов, а не необходимость их постоянно учить. Это мне как раз нравится.

D>Многословность можно решить. ranges — хороший путь, но этого мало.

Дело не в ranges. Просто C++ даёт удочки, а ты ждёшь рыбку. Вот и весь сказ.
--
Справедливость выше закона. А человечность выше справедливости.
Re[8]: Госспади, отправь на пенсию воспитанников фортрана!
От: Doom100500 Израиль  
Дата: 19.11.25 12:13
Оценка:
Здравствуйте, rg45, Вы писали:

R>Ну это тоже не проблемы С++. Опять же, проблемы компании и твои, поскольку ты в ней работаешь. Ну блин, давай начнем критиковать C#, опираясь на возможности C# 2.0 и ссылаясь на компанию, где это используется.


Согласен с каждым словом, но с этими проблемами надо жить.

R>Дело не в ranges. Просто C++ даёт удочки, а ты ждёшь рыбку. Вот и весь сказ.


А мне кажется, что здесь говорит ущемлённое ЧСВ адептов писать закорючки вручную.
Нет ничего плохого ни в удочке ни в рыбе. Как и в том, что наиболее часто употребляемые конструкции были бы в стандартной библиотеке.

Шарп так-то тоже иногда доводит до белочки, когда обязательно требует указывать параметр дженериков, когда мог бы и сам тип вывести.
Спасибо за внимание
Отредактировано 19.11.2025 12:14 Doom100500 . Предыдущая версия .
Re[6]: Госспади, отправь на пенсию воспитанников фортрана!
От: Doom100500 Израиль  
Дата: 19.11.25 12:55
Оценка:
Здравствуйте, Qt-Coder, Вы писали:

QC>Тут весь тред про другой синтаксис..


Блин, забыл
Спасибо за внимание
Re: Госспади, отправь на пенсию воспитанников фортрана!
От: Слава  
Дата: 19.11.25 14:11
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Невыносимо раз за разом расшифровывать всякие ptrn, alm, grs, rprms.

Ф>Сил моих больше нет смотреть на эту экономику букав.

Я думаю, это не Фортран виноват и не его воспитанники, а просто мудаки, не умеющие писать понятно для прочих людей. А также виноваты люди иной культуры, с иероглифами или отсутствием гласных букв в словах.
Re[6]: Госспади, отправь на пенсию воспитанников фортрана!
От: pilgrim_ Россия  
Дата: 19.11.25 14:34
Оценка:
Здравствуйте, Privalov, Вы писали:

SIT>>Особенно, когда ИИ начнет уменьшать размер исходников (научившись у воспитанников фортрана)...


P>Кто ж его научит?


  С месяц назад пролетала вакансия :




отсюда
Re[4]: Госспади, отправь на пенсию воспитанников фортрана!
От: ry Россия  
Дата: 19.11.25 15:12
Оценка:
Здравствуйте, Privalov, Вы писали:

P>Я ещё не на пенсии, но внучка подрастает.

Супер!
P>Что будет с отраслью, когда набежит толпа айтишников и будет везде пихать ИИ, боюсь даже думать.
Честно говоря, я не очень боюсь. Это ведь смотря куда совать и на каких данных обученный. Надеюсь, у этой "толпы айтишников" хватит ума в критические вещи не совать ИИ, обученный на социальных сетях
Re[7]: Госспади, отправь на пенсию воспитанников фортрана!
От: Privalov  
Дата: 20.11.25 06:13
Оценка:
Здравствуйте, pilgrim_, Вы писали:

_>
  С месяц назад пролетала вакансия :
_>[url=https://i.ibb.co/tMn25Lpp/IMG-20251119-171943-025.jpg]Image: IMG-20251119-171943-025.jpg[/url]

_>[url=https://i.ibb.co/GffMVzwC/IMG-20251119-171945-924.jpg]Image: IMG-20251119-171945-924.jpg[/url]



_>отсюда


Не, искусственных ЫнтЭллигЭнтов пускай другие обучают. Мне когда-то одного живого лоботряса хватило. Еле убежал.
Re[9]: Госспади, отправь на пенсию воспитанников фортрана!
От: Pzz Россия https://github.com/alexpevzner
Дата: 20.11.25 06:42
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Сильно сомневаюсь, что сейчас новые проекты на плюсах начинают.


Кстати, мне очень любопытно, на чём сейчас новые проекты начинают.
Re[4]: Госспади, отправь на пенсию воспитанников фортрана!
От: Pzz Россия https://github.com/alexpevzner
Дата: 20.11.25 06:46
Оценка:
Здравствуйте, Privalov, Вы писали:

P>Что будет с отраслью, когда набежит толпа айтишников и будет везде пихать ИИ, боюсь даже думать.


Будут такие специальные резервации, типа как для индейцев, но только для программистов, которые умеют и любят программировать руками. Основная логика будет делаться там. А потом мальчики с красными глазами и ИИ будут к этому делу приделывать бантики. Но зарплату в основном будут платить мальчикам.
Re[5]: Госспади, отправь на пенсию воспитанников фортрана!
От: Pzz Россия https://github.com/alexpevzner
Дата: 20.11.25 06:56
Оценка:
Здравствуйте, ry, Вы писали:

P>>Что будет с отраслью, когда набежит толпа айтишников и будет везде пихать ИИ, боюсь даже думать.

ry>Честно говоря, я не очень боюсь. Это ведь смотря куда совать и на каких данных обученный. Надеюсь, у этой "толпы айтишников" хватит ума в критические вещи не совать ИИ, обученный на социальных сетях

Помнишь, несколько лет назад была история, когда американский авианосец с учений возвращался в порт на буксире потому, что у него венда не вовремя обновилась, и всё перестало работать?

Рано или поздно всю эту муть впихнут в контур управления ядерным реактором. Реактор, разумеется, бабахнет, и подходы к разработке софта начнут меняться.
Re[2]: Госспади, отправь на пенсию воспитанников фортрана!
От: Pzz Россия https://github.com/alexpevzner
Дата: 20.11.25 06:57
Оценка:
Здравствуйте, Слава, Вы писали:

С>Я думаю, это не Фортран виноват и не его воспитанники, а просто мудаки, не умеющие писать понятно для прочих людей. А также виноваты люди иной культуры, с иероглифами или отсутствием гласных букв в словах.


Люди с иероглифами или отсутствием гласных больше заметны в области криптографии и модуляции, чем в прочих областях.

И там да, простому человеку их примеры кода читать нелегко.
Re[5]: Госспади, отправь на пенсию воспитанников фортрана!
От: Privalov  
Дата: 20.11.25 08:51
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Будут такие специальные резервации, типа как для индейцев, но только для программистов, которые умеют и любят программировать руками.


Такой вариант возможен. Но резервации со временем опустеют по естественным причинам. И вот тогда всё и начнётся.
Re[3]: Госспади, отправь на пенсию воспитанников фортрана!
От: Слава  
Дата: 20.11.25 09:27
Оценка:
Здравствуйте, Pzz, Вы писали:

С>>Я думаю, это не Фортран виноват и не его воспитанники, а просто мудаки, не умеющие писать понятно для прочих людей. А также виноваты люди иной культуры, с иероглифами или отсутствием гласных букв в словах.


Pzz>Люди с иероглифами или отсутствием гласных больше заметны в области криптографии и модуляции, чем в прочих областях.


Pzz>И там да, простому человеку их примеры кода читать нелегко.


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

Нет, всё проще. Это не модуляция и не криптография, это мудаки обычные, которые в биллинге пишут вот такое:

DAYSTOCONTINUEAGINGTIMELINEAFTERREJECTEDDISPUTE
LEGACYCUSTTRXNTYPEIDSTOEXCLUDEINADJUSTMENTSWHILEINVOICING
PERCENTAGEOFDMVREGISTRATIONHOLDNOTICESTOREVIEW
FINALACCOUNTINACTIVITYNOTIFICATIONRESENDTHRESHOLD
NOOFDAYSBEFORELICENSEPLATERENEWALFORMOMSALERT

Обратите внимание, что snake_case сюда подошёл бы идеально, но они не хотят.
Re[6]: Госспади, отправь на пенсию воспитанников фортрана!
От: ry Россия  
Дата: 20.11.25 10:14
Оценка:
Здравствуйте, Privalov, Вы писали:

P>Мне иногда приходится сталкиваться.

С преподаванием связан?

Вокруг меня сплошная молодёжь — умники и умницы.
Re[6]: Госспади, отправь на пенсию воспитанников фортрана!
От: ry Россия  
Дата: 20.11.25 10:18
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Рано или поздно всю эту муть впихнут в контур управления ядерным реактором. Реактор, разумеется, бабахнет, и подходы к разработке софта начнут меняться.

Случаем, эти суждения не из серии — молодёжь не та пошла?
Сразу скажу, что у меня другое мнение.
Re[7]: Госспади, отправь на пенсию воспитанников фортрана!
От: Pzz Россия https://github.com/alexpevzner
Дата: 20.11.25 10:24
Оценка:
Здравствуйте, ry, Вы писали:

Pzz>>Рано или поздно всю эту муть впихнут в контур управления ядерным реактором. Реактор, разумеется, бабахнет, и подходы к разработке софта начнут меняться.

ry>Случаем, эти суждения не из серии — молодёжь не та пошла?
ry>Сразу скажу, что у меня другое мнение.

Да не. Проблема не в молодёжи, а в том, что ИТ постепенно превращается в сборочный конвеер.
Re: Госспади, отправь на пенсию воспитанников фортрана!
От: Dimonka Верблюд  
Дата: 20.11.25 11:08
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Невыносимо раз за разом расшифровывать всякие ptrn, alm, grs, rprms.

Ф>Сил моих больше нет смотреть на эту экономику букав.

Мне тут, поскольку я оказался самый продвинутый в ИИ, дали ключевой код из соседнего отдела на R, который вычисляет значения >250 полей в таблице. 170 полей заполняют люди в Экселе, а остальные досчитывает эта утилита. После идёт всё в продакшн.
Ключевые люди, которые занимались поддержкой и управлением этой утилиты скопом уволились и она спустя год досталась временно мне, потому что никто больше не вкуривает, что с ней делать.

Ну так к телу: утилита размером 6700+ строк, подгружает 5-6 файлов, которые разворачиваются в памяти на 2.5 гига. Это не говоря ещё о том, что никакого контроля ошибок, логов вообще нет. Упало и упало.
Естественно авторы из Индии..

В общем я за два дня я разбил код на логических 32 части с главным методом, который загружает их. Написал документацию какие поля в этих 32-х методах являются источником данных, а какие изменяются. Оказалось, что 40% переменных заполняются по ходу кода как минимум 2 раза (значение переписывается по ходу исполнения), пара переменных заполняется аж 15 раз. Написал документ описывающий все увиденные ИИ проблемы и связанные с ними риски (как план подготовки дальнейшего улучшения кода).

Сейчас хочу сделать единый конфигуратор путей с визуальным интерфейсом — ещё пока не решил на RShiny или на C# для интерфейса. На данный момент загрузка файлов размазана по коду. В общем чувствуешь себя супергероем, учитывая, что весь этот код писался разными людьми лет 10 не меньше.

Сам ни написал ни строчки.. И параллельно занимался другими делами.. в том числе сидел тут с вами на форуме
Ну т.е. написал конечно типа: "а напиши ка мне братец..", но не более того.

PS
Чего сказать хотел? Мне бы твои проблемы
Re[8]: Госспади, отправь на пенсию воспитанников фортрана!
От: ry Россия  
Дата: 20.11.25 17:06
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Да не. Проблема не в молодёжи, а в том, что ИТ постепенно превращается в сборочный конвеер.

Что значит превращается. Когда-то, уже в далёком 2007, когда я покидал свою первую ИТ-компанию, окинув её прощальным взором, увидел фабрику по производству программного обеспечения — удивился и восхитился. А в данный момент я и работаю, чтобы конвейер ускорялся и работал без сбоев.
Re: Госспади, отправь на пенсию воспитанников фортрана!
От: · Великобритания  
Дата: 21.11.25 08:03
Оценка:
Здравствуйте, Философ, Вы писали:

Ф> Невыносимо раз за разом расшифровывать всякие ptrn, alm, grs, rprms.

Ф> Сил моих больше нет смотреть на эту экономику букав.
Ты ещё с SAP дело не имел. См например https://leanx.eu/en/sap/table/t001.html
avalon/3.0.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[9]: Госспади, отправь на пенсию воспитанников фортрана!
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 29.11.25 11:13
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>ЗЫ: подозреваю, что как минимум часть кода в этих новых/старых проектах будет написана вот теми самыми престарелыми фортранистами.


Ещё пример, как шарписты переписывают на С++ и становится всё лучше.

После перехода на C++ агент стал работать заметно быстрее и экономнее. В некоторых сценариях прирост производительности превысил 40% за счет оптимизации алгоритмов сбора и обработки данных.

Отказ от внешних библиотек позволил нам в три раза расширить список поддерживаемых ОС. Сейчас «Инферит ИТМен» работает на Windows (от 7 до Server 2022) и Linux — включая «МСВСфера», Astra Linux (от 1.7), Debian 9+, Ubuntu 18.10+, CentOS 7, Oracle Linux 8.3, Red Hat 7.4 и 8, SUSE 15.5+.

Re: Дело не в фортране
От: LaptevVV Россия  
Дата: 29.11.25 12:35
Оценка:
Ф>Невыносимо раз за разом расшифровывать всякие ptrn, alm, grs, rprms.
Ф>Сил моих больше нет смотреть на эту экономику букав.
а) я давно уже на пенсии
б) дело не в фортране, а в перфокартах...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Госспади, отправь на пенсию воспитанников фортрана!
От: Vzhyk2  
Дата: 03.01.26 07:34
Оценка:
Здравствуйте, m2user, Вы писали:
M>Вот функции типа таких, да напрягают:
M>
M>dpotrf: Computes the positive-definite ones triangular reduction/factorization (Cholesky) for double-precision real matrices
M>

M>Но, насколько я понимаю, это ограничение компиляторов/линкеров времен, когда все это создавалось.
Нет. Традиция. Но в те времена вот эти 5-6 буквенные абревиатуры вполне запоминались всеми, кто ими пользовался.
Re[5]: Госспади, отправь на пенсию воспитанников фортрана!
От: GarryIV  
Дата: 04.01.26 10:30
Оценка:
Здравствуйте, mike_rs, Вы писали:

A>>О, мне однажды пришлось разбирать программу, которую написал инженер-электронщик.

A>>В ней все функции назывались F_xxxx, а переменные — V_xxxx.

_>звучит как выхлоп декомпилятора/дизассемблера.


Электронщикам не привыкать, у них все так — C14, R7, VT2 и тд
WBR, Igor Evgrafov
Re[2]: Госспади, отправь на пенсию воспитанников фортрана!
От: Философ Ад http://vk.com/id10256428
Дата: 04.01.26 17:08
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Это еще ладно.

PD>Вот A2 = A1 * B1 + C2 — C3 действительно нелегко понять.

PD>Но!


PD>Фортран создавался и активно использовался тогда, когда решали в основном математические задачи. Кстати, его название расшиaровывается как Formulae Translation


Когда первична формула — не страшно, это даже логично: формула первична, код вторичен. В дополнение к формулам часто идут пояснения и условия их использования на бумаге.

Однако, когда в коде далеко не формулы, а логика, которая пишется, правится дополняется годами, и где не соблюдается принцип единственной ответственности (в файле одновременно и графика, и логика, и парсинг исходных данных), то понять кто есть кто и кто на ком стоял оказывается весьма непростой задачей — там привычки принесённые из фортрана оказываются абсолютным злом.
Всё сказанное выше — личное мнение, если не указано обратное.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.