Древнейший язык программирования восстал из мертвых и хочет стать самым популярным
Содержание:
Живее всех живых
Язык программирования Fortran после многих лет забвения вновь стал интересовать разработчиков. В рейтинге языков TIOBE за апрель 2021 г. он вошел в топ-20, опередив многие известные языки, включая Objective-C и Rust.
TIOBE – это один из самых авторитетных рейтингов языков программирования
Он существует с 2003 г., и его развивает одноименная компания (The Importance Of Being Earnest, отсылка к пьесе Оскара Уайлда «Как важно быть серьезным»). Рейтинг создается на основе результатов поиска информации о тех или иных языках на популярных сайтах, включая «Википедию» и YouTube, а также на основе запросов в поисковиках Google, Bing и др
Fortran демонстрирует взрывной рост популярности, пришедший на смену постепенному забвению. Так, если в апреле 2020 г. он занимал 34 место, то к июню 2020 г. почти выбыл из рейтинга, скатившись на 50 строчку. В итоге менее чем за год Fortran отыграл 30 позиций, но составители рейтинга TIOBE пока не прогнозируют его дальнейшие успехи или, наоборот, неудачи.
Fortran рвется к топ-10 самых популярных языков
За 18 лет существования рейтинга Fortran поднимался в нем максимум до 10 места. Этот личный рекорд он поставил в марте 2002 г., 19 лет назад, после чего его популярность стала падать. В 2005 г. был зафиксирован кратковременный рост интереса к нему, но затем вплоть до 2015 г. он держался примерно на одном уровне. С 2015 по 2017 гг. популярность Fortran вновь подскочила и затем снова рухнула. Не исключено, что новый рывок этого языка окажется началом следующего длительного периода роста его востребованности.
Absoft Pro Fortran 2021 For Windows
A complete Windows Fortran compiler solution in one easy installation with nothing else to buy. Pro Fortran builds faster code with exclusive Dynamic AP load balancing, SMP analysis, OpenMP 3.1, and advanced optimization. The AbsoftTools integrated development environment speeds program development and maintenance. Complete command-line development support is also provided. The Windows Fortran compiler supports a full range of project targets including command-line programs, GUI based applications, and Window’s DLLs. It provides a complete 64 and 32 bit Windows Fortran compiler solution and supports mixed language development by interfacing with the Microsoft Visual Studio and Windows SDK C/C++ compilers.
A Complete Windows Fortran Compiler Solution
- Extended Fortran compiler with advanced optimization technology
- AbsoftTools IDE a Fortran-centric development environment
- Fx3 source level debugger a superior GUI Fortran/C source debugger
- AWE Fortran application framework adds modern GUIs to legacy code
- AMDAL high-performance library for math, graphics, and data access
- GINO GUI Lite included at no additional cost – $395 Value
- Special bundle pricing for IMSL 2018 Fortran Numerical Libraries
- Parallel versions of LAPACK and BLAS libraries
- Precompiled IDE plugins for HDF5, NetCDF4, and other libraries
- Pro Fortran 2021 for Windows Product Specification
Fortran Environment designed by Fortran Experts
The AbsoftTools development environment simplifies code development by solving the problems associated with IDEs such as Visual Studio and Xcode – excellent for C++, but with no knowledge of Fortran. The Absoft Fortran IDE supports both Fortran and C and automatically provides proper syntax sensitivity, array indexing, etc. for each language. It includes everything you need: full Fortran 95 compiler with F2003 and F2008 features, programmer’s editor, Fx3 source-level debugger, application framework, graphics and optimized math libraries in a single, easy-to-use package.
AbsoftTools Fortran Development Environment
Pro Fortran for Windows System Requirements
- 32 or 64 bit Intel or AMD CPU – multi-core suggested for best performance
- 32 or 64 Microsoft OS – Desktop: Windows 7 – Windows 10, Server: Windows 2008 or later
- 2 GB RAM – 4 GB suggested for best performance
- 1 GB free disk space for complete installation
About Absoft Perpetual Licensing
- Both single-user and multi-user licenses for Absoft branded products are perpetual licenses for the version purchased and include one year of technical support on the target operating system versions available at the time of purchase.
- Upgrades to a subsequent Absoft versions require an upgrade purchase.
- Future versions of the target operating system may also require purchasing an Absoft product upgrade.
- Third party products distributed by Absoft come with varying license policies as set by the manufacturer.
Order Pro Fortran for Windows
Obtain your copy of Absoft Pro Fortran by selecting one of these options.
New Commercial License
Prices Starting at $699 |
New Academic License
Prices Starting at $299 |
Upgrade Existing License
Prices Starting at $299 |
Upgrade to Absoft from Competitor
Prices Starting at |
While most product configurations are available online, we understand you may have different requirements. If you have questions or desire specific configuration not listed online, your Absoft Sales Team is ready to help.
История Fortran
Fortran входит в число старейших языков программирования – он был создан в 1957 г. специалистами компании IBM. Название 64-летнего языка расшифровывается как FORmula TRANslator (переводчик формул).
Несмотря на свой почтенный возраст, Fortran по-прежнему востребован в ряде сфер, включая инженерные вычисления. Его разработка продолжается, и на момент публикации материала самой актуальной его версией была Fortran 2018 (ISO/IEC 1539-1:2018), вышедшая в конце ноября 2018 г.
Fortran по-прежнему используется во всем мире
Широкое распространение Fortran в странах СССР началось спустя 10 лет с момента его создания. Толчком этому послужила разработка первого советского компилятора этого языка для ЭВМ «Минск-2», плюс через год появился компилятор «Фортран-Дубна» для ЭВМ БЭСМ-6.
Комментируя новый всплеск популярности Fortran, составители индекса TIOBE заявили: «Этот динозавр вернулся в топ-20 спустя более 10 лет. Fortran был первым коммерческим языком программирования и набирает популярность благодаря огромной потребности в научных вычислениях». «С возвращением Fortran», – добавили они.
Что мешает российскому ИТ-бизнесу выйти на глобальный рынок
Бизнес
Если Fortran сможет приблизиться к топ-10 языков программирования, ему будет непросто пробиться в него. В рейтинге TIOBE первые 10 мест почти не меняются на протяжении нескольких лет, и на апрель 2021 г их занимали, в порядке снижения популярности, следующие языки: C, Java, Python, C++, C#, Visual Basic, JavaScript, Assembly, PHP и SQL.
Конкуренты из прошлого
Fortran – не единственный язык программирования середины XX века, набирающий популярность в третьем десятилетии XXI века. В апреле 2020 г. в мире и, в особенности, в США резко взлетел спрос на разработчиков, пишущих на COBOL (COmmon Business Oriented Language).
Интерес к COBOL подхлестнула пандемия коронавируса, повлекшая за собой рост числа безработных. ПО, написанное на этом языке, используется в США в системе занятости, и в настоящее время оно требует обновления и оптимизации. COBOL младше Fortran на два года – он появился в 1959 г.
COBOL почти догнал Fortran в рейтинге TIOBE
В середине апреля 2020 г. IBM, создатель Fortran, даже объявила о готовности провести обучающие курсы по языку COBOL, лишь бы увеличить суммарное число программистов во всем мире, знающих этот язык. В конце июля 2020 г. специалисты Института инженеров электротехники и электроники (Institute of Electrical and Electronics Engineers, IEEE) опубликовали рейтинг языков программирования в своем ежемесячном журнале IEEE Spectrum. Он включает 55 позиций, и COBOL занял в нем 43 строчку.
График изменения популярности COBOL
В рейтинге TIOBE COBOL тоже присутствует – по состоянию на апрель 2021 г. он находился в нем на 24 месте. В этом списке COBOL достигал максимум 8 места – сделать это ему удалось в августе 2011 г. Спустя ровно 11 лет, в августе 2011 г., COBOL оказался на 47 месте, и пока это наихудший его результат за все 18 лет существования рейтинга.
USAGE
program Convert implicit none ! -----------------------------------------------Declare real*4 tempC, tempF, FACTOR integer*2 ZERO_SHIFT parameter (ZERO_SHIFT = 32, FACTOR = 5./9.) ! -----------------------------------------------Input print*, "Enter the temperature in Fahrenheit ..." read*, tempF ! -----------------------------------------------Compute tempC = FACTOR * (tempF - ZERO_SHIFT) ! -----------------------------------------------Output print*, "The corresponding Centigrade temperature is " print*, tempC, " degrees." end
Lab-1
To compile your program, start a CLI session (by launching the command prompt
program, usually in the Accessories group) and issue these two commands:
PATH=\F\G77\bin;%PATH% SET LIBRARY_PATH=\F\G77\lib
Note: these two commands must be issued every time you start a CLI session. You
can optionally automate this step by adding these two variables to the system-wide
environment using the Control Panel.
cd \F\York f2exe test test
More information on using the compiler can be found in the
on-line Labs at the
Fortran@York site.
- Home
-
Services
-
Algorithmic Differentiation Solutions
- Algorithmic Differentiation Solutions
- Algorithmic Differentiation Services
- Algorithmic Differentiation Software
- Algorithmic Differentiation Research
- Mathematical Optimization Consultancy
- Cloud HPC Migration Service
- Software Optimization and Code Modernization
- Algorithm Design & Development
- Software Porting & Tuning
- Training Courses
- Case Studies
-
Algorithmic Differentiation Solutions
-
Software
- Algorithmic Differentiation Software
- Mathematical Optimization Software
-
NAG Library
- NAG Library
- NAG Library — Latest Content
- NAG Library for C
- NAG Library for C++
- NAG Library for Fortran
- NAG Library for Java
- NAG Library for Python
- NAG Library for .NET
- NAG Library for SMP & Multicore
- NAG Library for Xeon Phi
- NAG Toolbox for MATLAB
- NAG and Microsoft Office
-
NAG Fortran Compiler
- NAG Fortran Compiler
- NAG Fortran Builder
-
Download Software
- All Downloads
- NAG Library Versions
- Library for .NET
- Library for Java versions
- Fortran Library for SMP & Multicore Versions
- C Library for SMP & Multicore Versions
- Library for the Xeon Phi
- Toolbox for MATLAB Versions
- Fortran Compiler Versions
- dco/c++ Versions
- Terms & Conditions
- Documentation
- Origami — Task Execution Framework
- Accuracy & Quality Assurance
- Data Mining Components
- Languages and Environments
- Numerical Routines for GPUs
- NAG MPI Parallel Library
-
HPC & Cloud
- HPC and Cloud Consulting and Services
- Cloud HPC Migration Service
- TCO Calculator
- Software Optimization and Code Modernization
- GPU and Accelerator Code Tuning
- Origami — Task Execution Framework
- Technology Benchmarking
- HPC Training Courses
- POP EU Project
-
Support
-
Technical Support
- Technical Support Overview
- Software Licensing
-
Resources
- Case Studies
- Documentation
- Industry Articles
- Installer’s & Users’ Notes
- Known Issues
- Technical Poster Repository
- Technical Report Repository
- Webinars & Presentations
-
Licence Management
- Kusari FAQ
- Kusari Licence Management
- Software Downloads
- Code Contribution
-
Technical Support
-
About
- About NAG
- Blog
- People
-
Careers
- Careers at NAG
- Diversity
- Employee Benefits (UK)
- Employee Benefits (US)
- Environmental Policy
- Living, working and relocating to Oxfordshire
- Supporting Students
- NAGnews
- Press Releases
- Events
-
Resources
- Case Studies
- Documentation
- Industry Articles
- Installer’s & Users’ Notes
- Known Issues
- Technical Poster Repository
- Technical Report Repository
- Webinars & Presentations
- Collaboration
- Partners
- How to cite NAG
- Membership
- Life Service Recognition Award
- Worldwide Distributor Network
- Worldwide Contact Information
LANGUAGE
ANSI Fortran-77
The above Fortran@York site
contains a quick reference guide, lab, and SLATEC usage examples.
If you are already familiar with Fortran then the following points may be
all you need to know about this compiler:
-
Control Structures
You can use either the old (goto-based) or the new (structured) control flow
(or mix them in the same program). Support of the «ugly goto» is meant for
existing code only, and any new development should avoid it. -
Style
You can write your source using either the old style code (column
7) or the newer free-form. -
Compilation Command
The above command is just a batch file that invokes
, the «real» compilation command. The command:g77 -free-form prog.for -prog.exe
directs the compiler to compile the file and stores the
output in the file . The switch
indicates free-form style (remove it if you are using the old style). -
Comments
In free-form style, use ! for both full-line and in-line comments. In the
old style, use a «C» in column-1. -
Statement Continuation
In free-form style, you can continue a statement on the next line by ending it
with an ampersand «&». In the old style, put a character in column-6. -
Path Separator
When referring to files (e.g. in the file=’ ‘ parameter of the OPEN statement)
use a forward slash «/» or two consecutive backslashes «\\» rather than a backslash
to delimit directories. This is because the backslash «\» denotes an escape sequence
in strings. -
I/O Unit Numbers
Not all unit numbers are allowed in the OPEN statement. In
particular, unit 5 is «pre-connected» to the keyboard. Units 10
through 99 seem to work well with disk files. -
Fortran-90 Features
These include: Automatic arrays in subprograms, zero length strings,
character constants may be enclosed in double quotes
() as well as single quotes, and ,
the type, , the
decoration, , ,
statements, list-directed and namelist I/O on internal files,
binary, octal, and hex constants, `O’ and `Z’ edit descriptors,
, specifiers , the
specifier may be omitted in an statement if
is supplied, relational operators
, , , ,
and may be used instead of ,
, , , and
respectively, (but not for
character types). -
Separate Compilation of Subprograms
Your main program is recognized by the statement, as in
the program above. The subprograms (functions and subroutines)
can be included in the same file as the main program (in which case you can compile
everything in one shot) or can be stored in separate file(s). It is recommended
that you store general reusable subprograms in separate files so that you can reuse
them (without recompiling them) in future projects. To compile a file that contains
only subprograms (no statement), use the
command, which generates object files, one per sub, in the
directory, e.g.f2lib util
will compile (without linking) the subprogram in and store
the output (an object file) in the file .
is just a batch file that invokes the command with the
(compile-only)
switch, viz.g77 - -free-form util.for -..\mine\util.o
A program that uses pre-compiled object files can be compiled (and linked to them)
by simply referring to them in the compilation command:g77 -ffree-form prog.for -oprog.exe
The above command searches all object files in to resolve any
missing reference in . -
Separate Compilation of Subprograms, automated
The supplied and batch files take care of
separate compilation and delayed linking with object files and with the SLATEC
subprograms. You don’t have to directly issue the command unless
you use the old columnar style or you want to change one of the switches or
directories. -
Assembly Listing
The (capital S) switch allows you to
see a listing of the generated assembly code.
F@Y/HR/S03
URL
DOWNLOAD
- Create the directory
The new folder must be immediately under the root of your hard disk.
You can do this by double-clicking MyComputer, then
double-clicking
your hard drive (usually ), and then selecting
New Folder from the File menu and calling the folder
. - Download the file
(5,820,239 bytes).
You can do this by right-clicking the mouse on the above link, and choosing
Save Target As…. In the Save As
window that appears, locate the folder, and save the file in it. - Unzip the downloaded file into .
Yon can do this by locating the file (starting from MyComputer) and simply
double-clicking it to launch the zip/unzip program. Make sure to specify that all files should
be extracted immediately under the folder.
Note: If the unzip program does not give you the option to specify the extraction location,
let it extract the content to anywhere and then move the extracted folders (using cut and
paste) to . When done, you should see the four folders ,
, , and appearing in .
terminalcommand promptDOS