Форум сайта python.su
Приветствую, господа! Моя проблема заключается в следующем. Есть крошечный файл на фортране:
!test.f90 subroutine test() open(1,name='data.txt',status='replace') write(1,*) "Привет, Django! Я Фортран!" close(1) end subroutine test
$ f2py -m test -c test.f90
$ python >>> import test # импортируем наш фортрановский модуль >>> test.test()
... импортируются служебные библиотеки from test import * # пытаемся импортировать наш фортрановский модуль def index(request): test() # вызываем для теста нашу функцию ... дальше другой служебный код
Отредактировано Jacobian (Окт. 21, 2014 15:44:51)
Офлайн
Все получилось! Работает как часы. Проблема была в расположении текстового файла. В Django нужно было его положить в корень проекта и тогда все заработало. Гуд.
Офлайн
:) Пара замечаний не по делу.
Городить код на фортране для веба на сегодняшний день странно. Язык мало поддерживается и постепенно загинается.
Конструкция
open(1,name='data.txt',status='replace') write(1,*) "Привет, Django! Я Фортран!" close(1)
Офлайн
doza_andИМХО язык не загнется еще ближайшие несколько десятилетий (а то и больше). Не забывайте о lapack, который написан на фортране, и который входит в ядро матлаба, ну и, наконец, не забывайте о наших ядерных центрах, которые тоже ни хило используют “бородатый” фортран. Понятие “legacy code” еще никто не отменял, так что фортрану скорее всего суждено пережить нас с вами. Ну а что касается моего примера с файликом, то он был просто учебный и я хотел для себя разобраться 1) как можно интегрировать питон с фортраном 2) как сделать что-то интересное не просто в консольке, но может и в виде приложения.
Язык мало поддерживается и постепенно загинается
Отредактировано Jacobian (Окт. 22, 2014 07:47:57)
Офлайн
JacobianА может и никогда. Просто будет мало людей его использовать.
загнется еще ближайшие несколько десятилетий
JacobianДавно уже есть clapack,plapack и т.п. (почти от рождения lapack) Никаких проблем нет. Причем использовать библиотеки (которые вообще все равно на чем написаны) и писать свой код это совсем разные вещи. Вы разработчик lapack?
Не забывайте о lapack
JacobianЯ не большой специалист по архитектуре матлаба но если посмотреть wiki то найдем:
и который входит в ядро матлаба
JacobianЯ сам как раз из “ядерных центров”. Все конечно очень консервативно, но больших новых проектов на фортране никто не начинает. Как раз происходит уход от фортрана. Посмотрите http://geant4.cern.ch/ Он уже изрядно и очень быстро потеснил MCNP. Сам MCNP обрастает со всех сторон питоном. И так везде. Язык FORTRAN морально устарел. Ну это конечно мое личное мнение.
не забывайте о наших ядерных центрах,
Офлайн
Спасибо за интересную дискуссию! Что касается матлаба, то я основывал свои рассуждения на университетских лекциях. Помнится, что хотя матлаб и переписан на С, все равно использует именно фортрановскую библиотеку. Хотя я могу ошибаться. И кстати говоря питоновская библиотека numpy тоже использует lapack (но после разговора с Вами, я что-то уже не уверен опять же - фортрановскую или не фортрановскую реализацию). Что касается моего сугубого интереса в вопросах интеграции питона, фортрана и джанго, то он исключительно учебный. В ином случае я бы конечно ограничился каким-то одним инструментом, тем же питоном или Си. Но захотелось просто поэксперементировать и оказалось, что эксперимент, как и ожидалось, вполне осуществимый. Получится небольшое приложение-аля-франкенштейн из кусочков “бородатого” фортрана и популярного ныне питона. Ну и кроме всего прочего хотелось попрактиковаться в различных вариантах распараллеливания фортрана.
Офлайн
Вы можете скачать и посмотреть исходники numpy scipy. Кое где там есть фортрановский код. Но это не показатель, также как и то что matlab или Wolfram математика написаны не на фортране. Ваш проект может потребовать совершенно других подходов. Кстати современный фортран может почти все тоже что и c++. Просто сейчас практически нельзя найти человека который владеет всей этой премудростью, тем более собрать команду разработчиков с такими умениями.
Офлайн