Обновить
-8
@lizardusread⁠-⁠only

Пользователь

Отправить сообщение
Физики-химики-биологи обычно пишут совершенно невероятный код. Чаще всего вообще без оглядки на производительность, необходимость дальнейшей поддержки, реюз и т.п. Но порог наступления катастрофы разный. На Python, она наступает раньше. То есть кривой код, который достаточно быстро и безболезненно работает на фортране превращается в полную катастрофу на питоне. На Julia такой же примерно код с большей вероятностью как-то заработает. И да, сломать можно любой язык. Добро пожаловать в новый дивный мир, в котором почти все программируют. В этом мире всех учат «кодить,» но не учат «программировать» (а это прежде всего software engineering).

Многофункциональность нужна далеко не всем. А пиарят его потому, что сейчас все студенты физики/математики/химики/биологи и т.п. должны обязательно учить «программирование». И что-же они учат? Не C/С++ или даже Fortran, а R и Python. Потом, когда нужно что-то посчитать (и нарисовать табличку и график), написанная абстрактным PhD студентом программка на питоне считает часами или даже днями при этом сжирая всю память и вводя модный Макбук в ступор. Вот для такой аудитории этот язык, не для общей computer science или абстрактного многофункционального «программирования.»
Все — на C++? Вы серьезно? Вы думаете не-программист (физик, химик, биолог) его осилит? Julia проста как питон (никакого компилятора) и при этом быстро почти как как в C. Для вычислений самое то что надо. Для всего остального она точно не подходит. Этот язык занимает нишу R, Matlab, и т.п. Отсюда и все эти странности с точки зрения программиста.
Год продолжается, яблоки нет. Индексированная переменная — дискретная величина: первая, вторая, и т.д. Или индекс может быть real? (от такого ужаса даже в Фортране отказались полностью). И не надо рассказывать про смещение как в С, оно интуитивно понятно только программистам, да и то далеко не всем. Для физиков-статистиков-биологов-бухгалтеров и т.п. индексация с 1 интуитивно понятнее (они и слов-то таких как смещение не слышали).
Это сделано для нормальных людей. Как человек считает яблоки: первое, второе, третье…. Вряд ли кто-то начинает с нуля. Что такое нулевое яблоко? Шиза. В Фортране кстати тоже индексирование начинается с нуля.
Печально, но это коммерческая компания, которая следует законодательству в своей юрисдикции. Переезжайте на территорию, на которую не распространяются санкции. Или поднимите свой сервис.

А вообще по большому счету это прекрасная иллюстрация того факта, что если вы не занимаетесь политикой, политика придет к вам и займется вами.
У Фортрана порог вхождения намного ниже чем в C/С++, неплохая поддержка объектно-ориентированного программирования, встроенная поддержка параллельного выполнения (coarrays), практически отсутствует алиасинг и как следствие код хорошо оптимизируется компилятором. Но — это классический старый язык, без онлайн инфраструктуры модулей и библиотек (как Питон), т.е. графики, GUI и т.п. прикрутить не всегда тривиально. Для HPC, там где нет GUI и требуется высокая производительность — сложно найти более сбалансированный вариант чем Фортран. Да и самые большие модели (>миллиона loc) — глобальный климат — почти все на Фортране.
Почему бы не на (современном) Fortran?

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность