написание проги + кросс-платформенность
GSL. Тогда во-первых не придется реализовывать всякие примитивы вычислений, а во-вторых основная забота о кроссплатформенности ляжет на библиотеку, т.е. особо думать не придется.
Пиши на C, причем, раз задача вычислительная, то имеет смысл воспользоваться готовой библиотекой, например,
ИМХО, написать числодробилку на C так, что её трудно портировать будет - это ещё надо постараться...
С библиотекой, imho, сложнее. Насколько это нужно, и что нужно - не ясно, надо на задачу посмотреть, но у конкретной GSL есть очевидный минус, что она с common GPL лицензией, и если тебя заботит "лицензионная чистота" твоих программ (а она может беспокоить для коммерческих программ или для программ, которые ты будешь использовать для публикаций то лучше забить на неё и поискать что-нибудь с нормальной лицензией.
Какие ограничения на тип int, например? Обычно закладываются, что int - это 4 байта (с вытетающими ограничениями ни меньше, ни больше.

У него платформозависимость мб только из-за использования специфических библиотек (winapi например.
фортран не катит
интересует первый вопрос
Почему, если не секрет?
хорошо пишет, с импользованием ЦЕРНовских библиотек, такие толстые проги пишет
он меня отговорил
char - не меньше 1 байт
int- не меньше 2 байт
long - не меньше 4 байт
на остальное гарантий не дается
Вроде ж я предложил решение: использование библиотеки заметно снизит количество платформозависимого кода, его можно вынести в отдельные файлы и сделать варианты для нужных платформ.
А какие аргументы приводил?
Как обычно, в общем-то.
А вообще, числедробилки пишут на фортране.
---
...Я работаю...
По-традиции чтоли? В чем преимущество Фортрана перед теми же Сями?
Куча существующего кода (именно в данной области как правило слегка более шустрые компиляторы.
---
...Я работаю...
В чем преимущество Фортрана перед теми же Сями?Язык более простой, я бы сказал прямолинейный, компилятору проще оптимизировать. Как следствие - более шустрый исполняемый код.
---
...Я работаю антинаучным аферистом...
Что именно неправильно? По возможности с аргументацией.
Даже наоборот --- сложнее.
Вот если бы ты говорил про статическое выделение памяти
и большую историю применения фортрана в быстрых вычислениях,
было бы другое дело.
---
...Я работаю...
В чем преимущество Фортрана перед теми же Сями?В том, что Фортран именно для этого и предназначен (и создавался).
А, как всем известно, специализированный инструмент в своей епархии побьет любой другой.
Если конкретнее, то, например, работа с массивами в Фортране более продуманная (а численные задачи часто работают с массивами).
С типами в Фортране тоже определенность полная - сколько скажешь, столько и будет.
А вот при создании чего-то более-менее универсального - статикой уже не обойдешься.
Хотя конечно больше вариантов - это не меньше вариантов.
---
...Я работаю...
Эффективность программы зависит в основном от опыта пишушего и от количества прочитанных мануалов к фортранным компиляторам. Ну и конечно от использования правильных библиотек (причём нередко наиболее быстрые библиотеки - сишные, а отнюдь не фортранные). Большая история применения фортрана в быстрых вычислениях тут побоку, я так думаю. Фортран всё больше и больше используется в вычислениях именно как простой язык, а не как быстрый. А быстрые вычисления всё чаще пишутся на других языках, в том числе на C/С++.

---
...Я работаю...
А что использовать?
---
...Я работаю...
Но это фигня, там не такая разница чтобы ради нее писать на этом недоязыке (да простят меня его фанаты).
Главная причина, которую кстати до сих пор не назвали, - инерция мышления.
---
...Я работаю антинаучным аферистом...
Требую добавления пункта
17а. Collected С++ wisdom
недоязыке


Вообще, имхо, фортран нужно, по хорошему, искоренять, а его до сих пор поддерживают.. В итоге - чем дальше, тем сильнее увязают, как в болоте.
A48: ОПЯТЬ?Уже было? А можно ссылку? Или по каким словам и где искать?
Давайте внесём вот это в FAQ/FGA?Это все не про меня

2
2
А можно поподробнее про то, почему надо выкинуть Фортран и чем его заменить?
А чем он лучше того же Си ?
Просто раз ты взялся это утверждать - значит знаешь это - вот и поделись

Или хотя бы дай хороший набор критериев для сравнения языков программирования

Так его и в Си тоже нету

Мне этот вопрос очень интересен, так как я хочу его для себя решить.
Сейчас, например, я не могу сказать человеку, пишущему на фортране - пиши лучше на Си (или еще каком языке; на каком? так как я не смогу назвать те причины, по которым ему от этого станет лучше

Субьективно, код на фортране выглядит корявым. Он навязывает программисту определенный стиль. "A Real Programmer can write Fortran in any language"

Ну ты жжошь!

Нормальный программист может писать в ООП-стиле на почти любом языке.
Посмотри сурцы второй кваки.
1) Юникс-вей: Не надо писать графический интерфейс. Это должно быть консольное приложение. Если будет нужно, графический интерфейс прикрутишь потом. Раз программа счетная, то вообще неясно, что у тебя зависит от платформы. Если все же есть платформнозависимые функции, можно обернуть их вызовы и расположить в отдельном файле.
2) Фортран vs Си Имхо, Фортран неудобный язык. Первоочередная цель -- простой, понятный и корректный код. Второй шаг: найти то, что кушает 90% времени и переписать его хоть на ассемблере (если это будет оправдано). Для реализации первой задачи на мой вкус больше подходит С++.
У меня самого програ по большей части вычислительная и весьма кросплатформенная. Она довольно-таки существенно плюсовая.
В Си хоть указатели естьНе знаю, как насчет указателей, а ссылки в Фортране есть.
А указатели - палка о двух концах.
и на них делается нормальное ООП.На них - это на указателях?
Субьективно, код на фортране выглядит корявымКак-то не замечал.
Если ты видел только проги в фиксированном формате - ты много потерял.
Он навязывает программисту определенный стильНе замечал.
Пишу, как мне нравится - проблем не испытываю

п.с.: ну вот, только подумал, что мне сейчас знающий человек все по полочкам разложит - ан нет

Из примера таких вещей: в свое время я потратил около 5 часом только на то, чтобы выяснить, что в fixed форме отступы слева важны. В результате, оказалось, что рабочая программа от нерабочей отличается пятью пробелами - по одному на одну строчку. При этом компилятор выдавал неудобоваримое сообщение (что вероятно было особенностью только конкретного компилятора) и никак не продвигал меня к тому, чтобы заведомо правильная программа скомпилировалась.
На то, чтобы выловить все "рояли в кустах" в Фортране, человеку потребуется достаточно большое время, больше, чем для С. Говорю по своему опыту, но возможно я просто неправильно ботаю, не так, как предполагает Фортран.
не хватает в Фортране только нормального ООПв последнем фортране вроде прикрутили полноценные объекты.

ООП на Си?http://www.planetpdf.com/developer/article.asp?ContentID=663...
Ну ты жжошь!
Object-ed Programming in ANSI C , Axel-Tobias Schreiner
фортран отбрит к черту после детального изучения (я посредственно знаю и си, и фортран)
вычисления вычислениям рознь. одно дело вычисления - матрицы перемножать, другое дело - 3д-графику рендерить, третье дело - что-нибудь типа нейронных сетей, четвертое дело - работа с графами. по стилю требуемых для реализации вычислений, больше подходит си
многопоточность vs кросс-платформенность
имхо, это жесть
Для того, чтобы на С сделать программу многопоточной и оставить при этом кроссплатформенной, одним достаточно дешевых способов является использования MPI или OpenMP
Для того, чтобы на С сделать программу многопоточной и оставить при этом кроссплатформенной, одним достаточно дешевых способов является использования MPI или OpenMPНу, не сказал бы, что прямо очень дешевый способ, т.к. MPI требует своего особого подхода к разработке, который не для всех задач удобен.
С OpenMP ситуация, имхо, похожая.
А кроссплатформенные треды для C есть, например, в исходниках mysql, а ещё есть отдельный проект pthread-win32 - порт pthread для Windows.
Да, и не стоит забывать про Apache Portable Runtime.
Прикрутить-то прикрутили, а вот какие компиляторы его поддерживают?
Зато он достаточно часто используется, а значит все подводные камни изучены и описаны, а во-вторых расчетная задача вполне может в какой-то момент захотеться запускаться на кластере. Тут-то и вылезет из-за чьих-то спин гражданин MPI, хитро так прищурится и скажет: хе хе.
Самому мне не очень понравилось использовать MPI. Уж не знаю, чего там было неподходящим - задача или руки, но удовольствия я не получил

Так и от программирования на С тоже удовольствия получаешь не много. Только ведь ты программистом работаешь не для того, чтобы получать удовольствие. Правда?
Новому человекуВ Фортране или в программировании?
Я никаких проблем с вниканием в него не заметил.
От выбора компилятора тоже много зависит - те же CVF и IVF в этом смысле сильно различаются.
В Фортране, конечно
прогу надо сделать многопоточнойА где она будет выполняться?
А то есть такой интересный проект в Переславле - под него мне понравилось писать многопоточные приложения.
фортран отбрит к черту после детального изученияМожет раскажешь подробнее? Меня этот вопрос очень интересует.
Если ты не получаешь удовольствия от работы, почему бы не поменять профессию?
Только ведь ты программистом работаешь не для того, чтобы получать удовольствие. Правда?Звучит очень странно

Если ты просто зарабатывать деньги хочешь - есть работы значительно денежнее.
А если и не для того, и не для другого - тогда что, просто больше ничего не умеешь что ли?
Необычные моменты были, но хорошая книжка + форум все порулили

Если ты не получаешь удовольствия от работы, почему бы не поменять профессию?
Не думал, что флудерская фраза вызовет такой живой отклик.

Я получаю большое удовольствие от программирования, но работаю не только ради него. В частности, лежать на диване и смотреть Вавилон 5, мне подчас, особенно по выходным, нравится больше. Есть даже несколько разделов математики занятие которыми мне тоже приносит удовольствие. Вот только математикой сыт не будешь, по крайней мере, с моими способностями к ней.
А если и не для того, и не для другого - тогда что, просто больше ничего не умеешь что ли?
Умею, но не профессионально. В какой-то момент я для себя решил, что моим хлебом будет программирование, после этого вторичные для этой специальности скиллы развивал очень слабо.
Так и от программирования на С тоже удовольствия получаешь не много.Да нет, нормально так.

Только ведь ты программистом работаешь не для того, чтобы получать удовольствие. Правда?Мне приятнее получать удовольствие, чем не получать.
В Quake предметная облать весьма бедная. Там и без ООП можно обойтись.
Я не являюсь опытным программистом, поэтому не могу разложить причины написанного "по полочкам", однако расскажу конкретный случай: когда-то мне дали разобраться в библиотеке xml_parser для фортрана... Кто-то её написал, а мне нужно было проанализировать, можно ли ей будет воспользоваться для одного проектика... Я тогда фортран совсем не знал. Почитал немного про синтаксис (уже тогда у меня вызывала отвращение куча лишних вещей, которыми программист, использующий более современные языки, не сталкивается, да и вообще, каким-то убогим казался посмотрел эту библиотечку... Короче, структура xml-ки задавалась прямо в програмном коде... Т.е., ограниченность языка сыграла главную роль в невозможности сделать более гибкую библиотеку (чего очень хотелось). Когда я спросил, почему юзается фортран, а не С, мне ответили, что под фортран куча готовых библиотек уже отлаженных. Вот и юзают, чтобы не заморачиваться в проверке корректности работы квадратного корня из комплексного числа и т.п....
Такое ощущение, что все видели только старый фортран =(
нет, ну, конечно, ученым - не программистам этот язык в самый раз
Можешь провести четкую грань между ученым и программистом?
Чисто исторически, фортран возник достаточно давно, т.е. его можно назвать ранним языком... Однако программисты пошли дальше
Так Фортран тоже пошел дальше

большинство человек, которые более-менее искушены в программировании на других языках, посчитают фортран недоязыком, потому-что в нём тесно
Очень хотелось бы пообщаться с ними и узнать их аргументированное мнение.: Короче, ссылку в студию

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

По поводу примера - если кто-то решил задачу именно так - это еще ничего не значит - на любом языке можно написать плохо.
Например, имея опыт написания на языке, поддерживающем одну парадигму, и перейдя на язык, поддерживающий другую, вполне можно накосячить.
Решение можно рассматривать только по совокупности всех условий.
Да и не похоже, чтобы авторы этого примера были проф программерами.
Иначе они использовали для парсинга xml-я более подходящий язык.
Когда я спросил, почему юзается фортран, а не С, мне ответили, что под фортран куча готовых библиотек уже отлаженных.
О том, что можно использовать код на фортране и на си в одном проекте, они конечно же не в курсе?
п.с.: Так что пока вопрос остался открытым...

А как насчет моих вопросов?

По поводу того, что он лучше или хуже других языков программирования аргументированного мнения ни разу не встречал. Просто его не любят почему-то. =)
А ты сам кроме фортрана на чем пишешь?
Так что сравнивать мне не с чем, но прояснить ситуацию все же хочется =)
Осталось найти прояснителя...
Оставить комментарий
NataNata
мне надо писать прогу, по большей части вычислительную, пока что на win32, в будущем предполагающую, что ее нужно будет портировать под unixы и прочиевопросы: 1) как правильно организовать структуру программы, чтобы структура в принципе предполагала возможность быстрой переделки проги под другую платформу - ну, скажем, всего лишь путем замены пары небольших файлов с исходниками?
2) язык программирования? (java не пойдет, тк нужна существенная вычислительная производительность)