Обновить
4

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

Отправить сообщение
Дешевле докупить железа, чем связываться с «программистом-оптимизатором».

Простите, не соглашусь с вами.
Полный цикл расчётной программы считается месяц (чистого времени, календарного — вдвое больше) на самом мощном суперкомпьютере на который хватило денег у организации.
Только переговоры о доступе к другому компьютеру (если деньги свалятся с неба) займут до полугода, а потом ещё очередь.
За какие деньги и какого железа вы предлагаете "докупить"? (-:


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

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

Так фортран компилируется тем же самым gcc.
Потому что gfortran это всего лишь один из бекендов gcc, а Intel Fortran один из бекендов Intel Compilers.
Все опции кодогенерации, доступные для C/C++ доступны и для фортрана.


Суть в том, что математическая программа написанная в лоб на фортране с использованием стандартных средств, как правило будет быстрее программы написанной на С/С++ с использованием %вашей_любимой_библиотеки% даже после небольшой оптимизации.
После серьёзной оптимизации разница будет скорее в пользу С/С++.

Конечно можно. Но у вашего коллеги из другой организации эта коробка будет другой.
И согласно законам Мерфи, она будет несовместима с вашей.

  1. Из коробки — никак.
  2. По умолчанию инт четырёхбайтный. Можно задать от INTEGER(1) до INTEGER(16) (иногда только 8).На экзотических архитектура не определено.
  3. Автоматического установщика как в новых средах нет.
  4. На чём угодно, нематиматическую часть нет ни малейшего смысла писать на фортране, а в новых стандартах (а по факту и в старых) фортрановские объектники линкуются с C/C++-ными. Так что вполне можно использовать GTest.
  5. Теоретически в новых стандартах есть всё для работы с юникодом. Практически — не видел ни единого случая, когда бы это использовалось. Область применения фортрана бесконечно далека от обработки текстов.

Потому, что в C++ всё это можно сделать тысячей способов, разница в производительности которых может достигать нескольких порядков.
Компиляторы фортрана же предлагают достаточно производительное, унифицированное и простое в использовании решение из коробки.


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


C/C++ — более универсальный вариант. Вы можете использовать одну из тысяч библиотек, или написать свой велосипед. Но будьте готовы, что у вашего друга интеграция вашего кода может занять некоторое время потому что используемые библиотеки, их версии, или формат хранения могут быть несовместимы.


Потому, с точки зрения представления алгоритмов, программы на фортране в разы более переносимы чем на любом другом языке. Язык развивался все эти годы именно в этом направлении и это работает.

«Исследователи считают, что смерть была вызвана в связи с его путешествием на Сахалин.»
Иван Сычев.

«Подъезжая к сией станцыи и глядя на природу в окно, у меня слетела шляпа. И. Ярмонкин»
А. П. Чехов.

Надеюсь это была пасхалка (-:
Это баллистическая ракета — она проникает в атмосферу сверху и проводит в ней достаточно немного времени.
Наверное имелся в виду лейнер.
Что-то подобное было в Симпсонах у Хейли, если не ошибаюсь.

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


Если к яблокам Федота прибавить яблоки Авдотьи...

Это и было главной причиной того, что в COBOL такие необычные для нас операторы:


ADD FEDOT-APPLES TO AVDOTYA-APPLES GIVING RESULT

В отличии от появившегося немного ранее FORTRAN:


555   SUMAPL=FEDAPL+AVDAPL

Просто потому, что у этих языков разная целевая аудитория.


Да, в отдельных школах всё это учили и в конце XIX и в начале XX, но массовая аудитория была бесконечно далека от подобных вещей ещё в конце 50-х. Только в начале-середине 60-х математика стала проникать в школу, в основном как результат космической гонки.

Да ладно. А как же Steyr M1912? (смайлик)
Простите, привычка — http://pastebin.com/3HJBBwCa
Кинескопили не на дорогую 35-мм киноплёнку, а на (в разы) более дешёвую 16-мм крупнозернистую.
Упс… А вот с гитхабом пока дружу не сильно, больше с геритом) Что там нужно было делать, что бы отправить пул реквест вам, а не себе?

Это не сколько перфекционизм, сколько профессиональная деформация.
Когда бегло смотрю на:
res= str(self.kakasi.stdout.readline(), «sjis»).rstrip('\r\n')

Воображение услужливо дорисовывает:
def res= str… # < — начало объявления метода-сеттера в Ruby.

Прошу прощения за излишние придирки)
Создал пулл реквест.
Впринципе можно убрать множество продублированного кода, организовав наследование.
Но я бесконечно далёк от темы и боюсь не смогу протестировать изменения)
Простите за критику, но было бы неплохо, если бы вы ознакомились с PEP8 (https://www.python.org/dev/peps/pep-0008/).
В текущем виде код местами практически не читаем.
Вам самому будет намного легче разбираться в нём, если оформление будет пусть даже и не строго по PEP8, но хотя бы единообразно.
Скорее всего да.
Стоящий рядом бак с опилками (или корой) подсказывает, что это пудр-клозет.
Наполнитель поглощает запахи и лишнюю воду, потом его немного подсушивают — и вот готов «сухой порошок» для компостирования или биогаза.
Весь водород плюс подсосанный воздух. И так быстро, что бы всё это спонтанно не загорелось. И что бы двигатель внезапно не поломался. И что бы случайно не подпалил не то, что нужно.

Информация

В рейтинге
Не участвует
Откуда
Запорожье, Запорожская обл., Украина
Дата рождения
Зарегистрирован
Активность