Мне было интересно, как лучше всего научиться программировать на Фортране?
Я искал книги, примеры, которые показались мне подходящими, были «Фортран 95/2003 Объяснено» и «Фортран для ученых и инженеров» .
Я не знаю, что вы, ребята, думаете об этом?
Еще одна вещь, которая меня интересует, это какой компилятор мне следует использовать? Я работаю на компьютере с Windows 7 (64-разрядная версия).
Я надеюсь, что вы, ребята, можете помочь мне в этом!
Итак, для моего опыта в программировании:
- Matlab и maple были любезны с моих первых знакомств в мире программирования. Matlab - это программа, в которой я на самом деле довольно хорош, я научился работать с циклами и как их комбинировать для создания более эффективных программ. Maple больше в базовой фазе (я знаю, как искать решение простых интегралов и т. Д.).
- Год спустя мы познакомились с C ++ в Visual Basic. На самом деле профессор быстро подошел к этому вопросу, через 2 месяца мы уже обсуждали указатели и наследование. Я могу писать простые программы на этом языке, только работа с классами - это то, что остается проблемой, но я считаю, что это просто вопрос практики.
- И через год мне нужно было выучить Mathematica 8, и сейчас я тоже очень хорошо учусь.
Так что у меня есть немного опыта программирования, но я не скажу, что это невероятное количество!
Причина, по которой я хочу изучать Фортран, в основном потому, что вы не можете заниматься теоретической физикой самостоятельно, вам нужно проверить свои теории, и для этого вам понадобится писать программы, которые могли бы проверять эти теории численно. Я слышал, что Fortran - это язык, который нужно использовать, когда дело доходит до числовой математики, поэтому я думаю, что было бы полезно знать этот язык.
PS: в чем разница между Fortran95 и Fortran 2003?
Ответы:
Я собираюсь повторить рекомендацию Стали о книге Чепмена. Я узнал из книги Фортрана 90 Чепмена, и это было очень полезно. Он научит вас языку фортран. Он не научит вас хорошим рабочим процессам для программирования, и для этого вы должны искать в другом месте после того, как вы изучите немного Фортрана и немного запрограммированы.
Большинство онлайн-ресурсов, которые помогут вам с программированием на Фортране, будут основаны на Linux. Точно так же в вычислительной науке большинство письменных материалов будут ориентированы на пользователей Linux. По этой причине я настоятельно рекомендую вам установить VirtualBox (или какое-либо программное обеспечение, которое позволяет вам запускать виртуальные операционные системы), а затем установить там какой-нибудь дистрибутив Linux. Если вы никогда ранее не пользовались Linux, то лучшим выбором будет удобный дистрибутив, такой как Ubuntu, Mint или Fedora. Эти дистрибутивы требуют минимального объема конфигурации, если они запускаются в виртуальной среде, и имеют хороший графический интерфейс, который поможет вам ориентироваться в операционной системе. В каждом из этих дистрибутивов есть менеджер пакетов, который вы можете использовать для установки дополнительного программного обеспечения. Используя менеджер пакетов, вы можете установить gfortran.
Вы захотите разрабатывать программное обеспечение в текстовом редакторе (или IDE), поэтому, вероятно, стоит изучить основы командной строки. У Software Carpentry есть хорошие ресурсы для этой задачи. (Отказ от ответственности: я преподавал часть семинара для Software Carpentry.) Затем вы сможете научиться писать простые программы и компилировать их в командной строке, а затем научиться использовать Makefile.
Проблема в том, чтобы делать что-либо на основе Windows, состоит в том, что большинство онлайн-материалов, которые вы увидите, когда будете заниматься наукой о компьютерах, предполагают, что вы используете Linux, и совет (если это было бы хорошо для начала) потерпит неудачу. вниз и стоить вам времени. Cygwin - это уровень API, который добавляет больше функциональности, подобной Linux, но соответствие с Linux не является идеальным, и программное обеспечение, скомпилированное для Linux, не будет работать на вашем компьютере; вам все равно нужно будет получить версии для Windows или перекомпилировать программное обеспечение для Windows. Собственный Windows-компилятор Fortran, такой как Visual Fortran, будет стоить денег, и у вас все еще будет проблема, заключающаяся в том, что большинство пользователей Fortran и специалисты по вычислительной технике используют Linux для разработки своего программного обеспечения, а это означает, что вам придется продвигаться вперед в своем своя. Однако, если вам действительно нужнопо какой-то причине распространять программное обеспечение на базе Windows, тогда имеет смысл приложить все усилия, чтобы выяснить, как использовать что-то вроде Visual Fortran.
источник
Я думаю, что книга Меткалфа - это хорошее аннотированное руководство по современным возможностям Фортрана, очень полезное, если вы уже знаете более раннюю версию языка, но не очень хорошее введение в программирование на языке.
За мои деньги и книга Чивера и Слайтхолма, и книга Брейнерда достаточно хороши, хотя я не думаю, что она так же хороша, как книга Эллиса и др. , Которая, к сожалению, не была обновлена для Fortran 2003 или более поздней версии .
У меня сильное отвращение к книге Чепмена. Я не могу вспомнить, почему мне так не понравился выпуск 90/95, поэтому я больше не могу оправдать это отвращение, вы можете отказаться от него в качестве предубеждения.
Но единственная книга, которую я рекомендую без колебаний - это книга Арьена Маркуса . Вероятно, это не идеальное введение для тех, кто все еще пытается выяснить основные возможности языка, но как только вы овладеете ими, оно того стоит.
Что касается того, какой компилятор использовать, я использую компилятор Intel и в целом доволен им. Он интегрируется с Visual Studio, что может быть важно для вас. Компилятор NAG имеет лучшие сообщения об ошибках и предупреждениях, но генерирует более медленные (как правило, и ваш опыт может отличаться) исполняемые файлы. Компилятор gfortran бесплатный и получает достаточно хорошие обзоры, но я им не пользуюсь. Если вы хотите узнать больше, Многогранник скажет вам.
источник
Для книг я рекомендую "Современный Фортран, объясненный" Меткалфом / Рейдом / Коэном. Это скорее справочник, чем учебник, но он будет вам полезен, если вы уже знакомы с программированием в целом (скажем, C).
Кроме этой книги, я настоятельно рекомендую Ондреж Сертик «s сайт http://fortran90.org/ . Во-первых, он не научит вас Фортрану, но предоставит вам набор лучших практик. Фортран допускает различные способы программирования - в конце концов, он совместим с другими версиями. Приведенные здесь лучшие практики помогут вам разработать последовательный современный стиль Фортрана. Также найденный там FAQ будет вам интересен.
источник
Книга Чепмена, я думаю, более дружественная для новичка и хорошая ссылка. Авторы второго - все эксперты, но я думаю, что книга станет хорошим дополнением к вашей библиотеке на более позднем этапе.
Для начала я бы предложил вам перейти на Fortran 95, а затем (при необходимости) перейти на Fortran 2003. Fortran 95 прост в освоении (почти как Matlab), и вы очень быстро будете продуктивны.
В Linux у вас есть несколько бесплатных компиляторов Фортрана (GNU, Solaris Studio, Open64 и т. Д.) В дополнение к более богатому набору инструментов, например, valgrind, gdb, gnuplot, (для быстрого просмотра), svn / hg и т. Д. Кроме того, установка Предварительно скомпилированные пакеты, включая числовые библиотеки (blas / lapack / netcdf / fftw и т. д.), находятся под рукой (по крайней мере, в Debian с apt-get).
В Windows вам может быть лучше с Cygwin, так как он дает вам простой и быстрый доступ к некоторым из вышеперечисленных инструментов / библиотек в дополнение к компилятору GNU Fortran. Так что да, зайдите на cygwin.com и установите основной пакет вместе с gfortran и выбранным редактором (vim хорош). Это должно быть хорошим началом. Позже, если вы что-нибудь еще, я бы предложил использовать пакет apt-cyg для установки вещей.
источник