Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [General] Нужно ли создавать новый стандарт? 
V
    Опции темы
Sartorius
Дата 17.5.2007, 14:17 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: нет
Всего: 37



    А нужно ли создавать этот новый стандарт? 

 - Насколько я знаю Microsoft, которая являлась основным популяризатором фортрана в последнее время, отказалась от его поддержки. 
 - Программистов на фортране становиться все меньше. В основном это работники различных НИИ, которых годах в 70-х научили этому языку и теперь переучиваться им конечно не охота.
 - Созданный в 50-х годах язык, страдает низкоуровневостью. Программы на нем структурированы слабо. Абстрагироваться от мелких деталей при работе с этим языком невозможно.
 - В фортране нет ничего такого, чего бы не было в современных языках программирования таких как С++ или С#. 

 Стоит ли поддерживать жизнь в умирающем языке введением новых стандартов?

Жду конструктивной критики  smile 
 

Это сообщение отредактировал(а) Cr@$h - 18.1.2009, 20:31
PM MAIL ICQ   Вверх
popovda
Дата 17.5.2007, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 9.6.2006
Где: Москва

Репутация: нет
Всего: 6



Цитата

Насколько я знаю Microsoft, которая являлась основным популяризатором фортрана в последнее время, отказалась от его поддержки. 

Совсем не Microsoft развивает Фортран, она с PowerStation 4 его не развивает. Фортран развивают NAG, Intel, Cray, IBM, Sun, и т.д, и наука. Что касается количества программистов на Ф, то рынок их требует лишь в некоторых областях, правда наукоемких - это матмоделирование и параллельные вычисления, прежде всего. 

Цитата

 -Программистов на фортране становиться все меньше. В основном это работники различных НИИ, которых годах в 70-х научили этому языку и теперь переучиваться им конечно не охота.
 - Созданный в 50-х годах язык, страдает низкоуровневостью. Программы на нем структурированы слабо. Абстрагироваться от мелких деталей при работе с этим языком невозможно.


На современном Фортране стандарта не ниже 90 программы отлично структурированы, а в стандарте 95 введены средства ООП, некоторые средства для параллельной обработки данных из HPF (forall, where, чистые (pure) процедуры, векторизация вычислений, секции массивов). В текущем стандарте 2003 введены исключения, 
поддерживаются вызовы C/C++, полностью развиты средства ООП. А, как уже заявлено, в новый стандарт будут включены co-arrays - то есть Фортран однозначно будет отвоевывать нишу высокопроизводительных вычислений на кластерах. 

Цитата

- В фортране нет ничего такого, чего бы не было в современных языках программирования таких как С++ или С#. 


Между прочим в стандарт C++ ANSI/ISO 2009 введена конструкция foreach, которая появилась там не без влияния Фортрана. Кроме того вряд ли найдется хотя бы еще один ЯВУ со столь высокой оптимизацией кода. Новые технологии подстегнули развитие Ф. 

Это сообщение отредактировал(а) popovda - 22.5.2007, 11:38


--------------------
С уважением, Попов Д.А.
PM MAIL   Вверх
Artemios
Дата 21.5.2007, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 405
Регистрация: 14.8.2006
Где: Саратов, Россия

Репутация: нет
Всего: 50



Цитата(Sartorius @  17.5.2007,  15:17 Найти цитируемый пост)
- Программистов на фортране становиться все меньше. В основном это работники различных НИИ, которых годах в 70-х научили этому языку и теперь переучиваться им конечно не охота.
 - Созданный в 50-х годах язык, страдает низкоуровневостью. Программы на нем структурированы слабо. Абстрагироваться от мелких деталей при работе с этим языком невозможно.
 - В фортране нет ничего такого, чего бы не было в современных языках программирования таких как С++ или С#. 

В науке, естественно. В численных расчетах лучше фортрановских библиотек только ассемблерные. Насколько мне известно. Только муторно больно все переписывать на асм ради неиспользования фортрана, и не факт что на выходе будет более эффективный код.
Кстати, неявно теми же библиотеками пользуются и многие не подозревающие об этом пользователи. Например, всем известная MatLab: численные расчеты матричной алгебры крутятся через библиотеку LAPACK (Fortran77).

Это сообщение отредактировал(а) Cr@$h - 18.1.2009, 20:33


--------------------
fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ]
PM MAIL   Вверх
Cr@$h
Дата 18.1.2009, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
***


Профиль
Группа: Участник Клуба
Сообщений: 1693
Регистрация: 3.4.2005
Где: Санкт-Петербург, Россия

Репутация: 1
Всего: 41



Цитата(popovda @  17.5.2007,  15:44 Найти цитируемый пост)
В фортране нет ничего такого, чего бы не было в современных языках программирования таких как С++ или С#.

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

Цитата(Artemios @  21.5.2007,  15:38 Найти цитируемый пост)
В численных расчетах лучше фортрановских библиотек только ассемблерные. Насколько мне известно. 

Это не так! Чем на более высоком уровне абстракции пишешь, тем больше возможностей оптимизации компилятором. взять ту же векторизацию скалярного и регулярного кода.

Цитата(Artemios @  21.5.2007,  15:38 Найти цитируемый пост)
Кстати, неявно теми же библиотеками пользуются и многие не подозревающие об этом пользователи. Например, всем известная MatLab: численные расчеты матричной алгебры крутятся через библиотеку LAPACK (Fortran77).

Как интересно? Вы знаете, что Matlab на java написан. Он создан специально, чтобы не учить Fortran и пользоваться библиотеками. Эти библиотеки переписаны под язык М. Их можно даже посмотреть. Лишь компиляция в компилируемые языки и снова позволяет получать высокое быстродействие.


PM MAIL ICQ   Вверх
FCM
Дата 2.4.2009, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 461
Регистрация: 30.3.2009

Репутация: 8
Всего: 9



Цитата(Sartorius @ 17.5.2007,  14:17)
 - Созданный в 50-х годах язык, страдает низкоуровневостью. Программы на нем структурированы слабо. Абстрагироваться от мелких деталей при работе с этим языком невозможно.
 - В фортране нет ничего такого, чего бы не было в современных языках программирования таких как С++ или С#. 

 Стоит ли поддерживать жизнь в умирающем языке введением новых стандартов?

Жду конструктивной критики  smile

Фортран - высокоуровневый язык. Это как раз C/C++ низкоуровненый язык с ориентацией на системное программирование.
Фортран ориентирован на численные расчеты - там по умолчанию реализовано множество того, что как правило необходимо в численных расчетах. В С/C++ необходимые вещи либо реализуются самостоятельно методами ООП или уже реализованы в независимых библиотеках, что вообще говоря не есть плохо. Например, С++ библиотека Blitz++ реализует многомерные массивы (аж до 11 измерений), сравнимые по функциональности со встроенными массивами Фортрана-90. Авторы данной библиотеки используют достатчно изысканные ооп-методы (метапрограммирование, шаблоны с выражениями, позовляющие реализовывать отложенные вычисления) , чтобы эффективность (производительность вычислений) данных массивов не уступала эффективности встроенных массивов Фортрана-90. По своим тестам они получили даже, что Blitz-массивы производительнее ( я однако воспроизвел пару из них и этого не обнаружил).

Всякие там низкоуровневые детали - это как раз в С/C++, что вообще говоря не есть плохо.
Фортран-90 (и выше) избавляет от них и поэтому популярен в научных кругах, т.к. позволяет например физикам программируя оставаться физиками, а не становиться программистами, что часто случается при программировании на С/С++.

И наконец, замечено, что многие авторы книг по С++ кидают камень в огород Фортрана, но по их замечаниям видно, что они не знают современного фортрана.

Это сообщение отредактировал(а) FCM - 2.4.2009, 10:14
PM MAIL   Вверх
popovda
Дата 2.4.2009, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 9.6.2006
Где: Москва

Репутация: нет
Всего: 6



Кстати, мой приятель, уехавший в Японию, написал, что C/C++ в инженерных конторах не популярен для расчётов. Для простых вещей обычно юзают C#, а вот для параллельных вычислений в основном Fortran, так как C++ и C не настолько удобны для параллелизации, а с автораспараллеливанием всё сложнее. Это мнение японцев. 


--------------------
С уважением, Попов Д.А.
PM MAIL   Вверх
popovda
Дата 3.4.2009, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 9.6.2006
Где: Москва

Репутация: нет
Всего: 6



P.S. Про матлаб немного не так. Там есть два вида библиотек: m-библиотеки, но есть и mex-функции-двойники (*.dll или *.so со специальным интерфейсом взаимодействия с matlab), вот они-то написаны на C/Fortran и они-то как раз и вызываются при компиляции в p-код, поэтому он и выполняется ощутимо быстрее. Причём, пользователь может написать свои mex-функции на любом (но в документации почему-то только C и Fortran) языке.


--------------------
С уважением, Попов Д.А.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Fortran | Следующая тема »


 




[ Время генерации скрипта: 0.1798 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.