Рубрика «fortran»

Футурама, специальная выпивка для роботов

Футурама, специальная выпивка для роботов

В фильме «Скрытые фигуры» есть прекрасная сцена: на дворе 1961-62, афроамериканка из лабораторий НАСА едет в библиотеку для белых и тихонько без разрешения увозит оттуда книжку по Фортрану. На автобусе увозит. Сопровождая это комментарием своему сыну: «А что? Я плачу налоги».

Читать полностью »

Особо амбициозные разработчики любят заявлять о том, что используемый ими язык программирования или фреймворк будет жить лет сто. Дерзкое заявление, учитывая, что разработке программного обеспечения, как таковой, всего около 65 лет. А фреймворки ещё моложе. 

Можно почитать Пола Грэма и его разглагольствования о столетнем языке. Но он имеет в виду немного другое: язык, потомкиЧитать полностью »

Когда я узнал, что в Музее компьютерной истории есть работающий компьютер IBM 1401 [1], то заинтересовался, сможет ли он сгенерировать фрактал Мандельброта. Я написал программу фрактала на языке ассемблера и компьютер в течение 12 минут пыхтел, создавая изображение Мандельброта на своём строчном принтере. В процессе этой работы я узнал несколько любопытных фактов о IBM 1401, которые изложу в этой статье.

12-минутный Мандельброт: фракталы на 50-летнем мейнфрейме IBM 1401 - 1

Мейнфрейм IBM 1401 (слева) из Музея компьютерной истории печатает фрактал Мандельброта на принтере 1403 (справа). Примечание: это строчный принтер, а не матричный.

Компьютер IBM 1401 появился в 1959 году, он стал самым продаваемым компьютером середины 1960-х — всего использовалось более 10 тысяч систем. 1401 сдавался в аренду за 2500 долларов в месяц [2] (примерно 20 000 долларов по нынешним ценам) — низкой цене, позволившей использовать компьютеры большему количеству компаний. Даже бизнес средних размеров мог использовать 1401 для подсчёта зарплат, ведения бухгалтерии, инвентаризации, обработки заказов, выставления счетов и множества других задач. Благодаря низкой стоимости и большой популярности 1401 прозвали «Моделью Т» компьютерной отрасли [3]. Даже для своего времени IBM 1401 имел довольно скромную производительность, особенно по сравнению с мощными бизнес-компьютерами наподобие IBM 7080 (стоимость аренды: 48 000 долларов в месяц) [2]. Однако IBM 1401 получил огромную популярность благодаря своей доступности, надёжности, простоте использования, качественному принтеру и стильному внешнему виду [4].
Читать полностью »

Начнем с этой всем известной фразы. Итак, были отечественные крутые теплые ламповые (часто в буквальном смысле) наработки, уникальные, созданные талантами. А потом руководство завело бульдозер, который срыл все это подчистую, и засадил все безликими IBM. Так меня учили. Но по мере того, как мне попадались старые книги по программированию (а отчасти я сам свидетель той эпохи — о СССР я знаю не по рассказам), эта картина стала рушиться. У меня сейчас под рукой сейчас три книги, и мы используем их. Итак:

Дейкстра: Величайшей победой Запада в холодной войне над СССР был переход на IBM — myth busted - 1
Читать полностью »

I decided to make an interview with one of my American friends — Rob Vugteveen. He was working as a FORTRAN programmer back in 1980s, so it's quite a unique experience.

Interview with Rob Vugteveen — an old-school FORTRAN programmer - 1
Rob Vugteveen, Carson City, Nevada, USA

K: Hi Rob. I've heard you were working as a Fortran programmer many years ago. Is that right? How the industry was looking back then?

R: Good morning, Kirill.

In the 1980s I made my living as a FORTRAN programmer in the mining industry, primarily in the processing of exploration data and presenting it graphically. We were using VAX minicomputers from Digital Equipment Corporation. This was a time when desktop PCs were growing in popularity, and procedural languages like FORTRAN were being challenged by object-oriented languages. Also, graphics display systems were shifting away from character-cell terminals to X-window-based displays.

FORTRAN (“FORmula TRANslation”) was built for computationally intensive programs, and it did not have its own graphic libraries to display information. There were companies that sold large FORTRAN subroutine libraries to provide that capability. These were not yet designed for the growing popularity of X-window technology.

When we were forced to move from expensive VAX computers to cheaper PCs, we had to write hybrid programs using FORTRAN for computations and C++ for display. It was a bit messy at first. I left that job for something completely different (building a mining museum) and haven’t really done any programming since.

FORTRAN is still used today in scientific research for computationally intensive work, but I’m sure it’s been adapted to work with graphical display systems through external subroutines written in object-oriented code.
Читать полностью »

Автор материала рассуждает о проблемах современных языков программирования и о том, какими путями можно исправить недостатки.

Если изобрести язык программирования 21 века - 1

Только за последние 18 лет люди придумали множество языков, среди которых, вероятно, самыми популярными стали Swift, Kotlin и Go. При этом отличительная черта языка программирования 21 века — это отсутствие каких-либо отличительных черт. Самое приятное в работе с такими языками — за изучением одного из них можно провести выходные и под конец заявить, что вам удалось освоить популярную новинку, по факту же не узнав ничего нового. В них действительно нет ничего нового. Все современные языки созданы на основе какой-либо правильной и проверенной формулы, имя которой, вероятнее всего, Objective-C, Java или C.

«Отсутствие новизны» можно считать ценной чертой, но подобная ситуация вызывает один вопрос. Действительно ли перед нами языки нового, 21 века, или все это — просто отражение плохих привычек программирования 20 века?

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

Долой синтаксис!

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

Это история о том, как мы замедляли ускоряли расчеты на самом мощном суперкомпьютере в мире.

Behind the scene of TOP-1 supercomputer - 1

Читать полностью »

Фильтр анизотропной диффузии Перона и Малика — это сглаживающий цифровые изображения фильтр, ключевая особенность которого состоит в том, что при сглаживании он сохраняет и «усиливает» границы областей на изображении.

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

Сглаживание изображений фильтром анизотропной диффузии Перона и Малика - 1
Крайнее левое изображение — оригинальное, справа от оригинального — фильтрованные с различными параметрами.
Читать полностью »

Новые «плюшки» компилятора – безопасней, быстрее, совершеннее - 1
Как говорилось во всеми нами любимом фильме: «Налетай, торопись, покупай живопись». Последняя, конечно, тут ни при чем, а вот «налетать» на новую Бета версию компилятора уже пора. Сегодня я расскажу о том, что нового появилось в пакете Intel Parallel Studio XE 2018 Beta, и в частности, в компиляторной её составляющей. А там действительно много что добавилось, ведь стандарты не стоят на месте — C++14, C++17, Fortran 2008, 2015, OpenMP 4.5 и 5.0, а компилятор должен не только их поддерживать, но и генерировать совершенный, производительный и безопасный код. Кроме этого, новые наборы инструкций AVX512, позволяющие «снимать сливки» с последних процессоров Skylake и KNL, всё больше входят в арсенал современных компиляторов. Но а самое вкусное — новые ключи, которые позволяют получить ещё больше производительности «не напрягаясь». Итак, поехали!
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js