Search
Lahey Computer Systems, Inc.Fujitsu Ltd.

Fortran for .NET Language System

Fortran for .NET allows you to create applications for the Microsoft .NET Framework. Lahey and Fujitsu have combined advanced compiler technology with support for Forms designers and Web Services to enable Fortran organizations to develop .NET applications with Fortran as easily as with other Microsoft .NET languages. Fortran for .NET consists of a Fortran compiler and associated tools designed to help you create applications that run in the .NET Framework.

The Fortran for .NET language system is included in LF Fortran v7.1 Enterprise and Academic editions.


Fortran for .NET compiler


Th Fortran for .NET compiler targets Microsoft's .NET Framework. The compiler does not directly generate processor dependent object code; rather, it generates Microsoft Intermediate Language (MSIL) code assemblies and code modules. The code in an assembly can be executed on any computer that supports an execution engine called the Common Language Runtime (CLR), such as the .NET Framework.

The CLR does much more than provide the ability to operate on different operating systems, it also provides the basis for interoperability between different .NET languages, interlanguage debugging, versioning, and application deployment, among other things.

Applications that are targeted for the CLR are called managed applications, or managed code. Managed applications are required to be type safe and to present standardized interfaces, so that interoperability and security requirements can be met. Because some older Fortran features (such as COMMON and EQUIVALENCE) can violate the CLRs rules for type safety and interfaces, certain restrictions had to be placed on .NET applications that do not allow 100% compatibility with Fortran standards. For details on restrictions, see Restrictions on Fortran for .NET Code.


Fortran for .NET language


Tables in this section identify language support in the following categories:

Supported Data Types

Intrinsic Data Types

Supported?

INTEGER(KIND=1)

Yes

             (KIND=2)

Yes

             (KIND=4)

Yes

             (KIND=8)

Yes

UINTEGER(KIND=1)

Yes

               (KIND=2)

Yes

               (KIND=4)

Yes

               (KIND=8)

Yes

REAL(KIND=4)

Yes

       (KIND=8)

Yes

       (KIND=16)

No28

COMPLEX(KIND=4)

Yes

              (KIND=8)

Yes

              (KIND=16)

No28

LOGICAL(KIND=1)

Yes

             (KIND=2)

Yes (treated as KIND=1)

             (KIND=4)

Yes (treated as KIND=1)

             (KIND=8)

Yes (treated as KIND=1)

CHARACTER(KIND=1)

Yes

Derived type

Yes

Literal Constants

Supported?

INTEGER(KIND=1)

Yes

             (KIND=2)

Yes

             (KIND=4)

Yes

             (KIND=8)

Yes

UINTEGER(KIND=1)

Yes

               (KIND=2)

Yes

               (KIND=4)

Yes

               (KIND=8)

Yes

REAL(KIND=4)

Yes

       (KIND=8)

Yes

       (KIND=16)

No28

COMPLEX(KIND=4)

Yes

              (KIND=8)

Yes

              (KIND=16)

No28

LOGICAL(KIND=1)

Yes

             (KIND=2)

Yes (treated as KIND=1)

             (KIND=4)

Yes (treated as KIND=1)

             (KIND=8)

Yes (treated as KIND=1)

CHARACTER(KIND=1)

Yes

Binary

Yes

Octal

Yes

Hexadecimal

Yes

Derived Types38, 39, 40, 41, 46, 47

Supported?

Array component

Yes

ALLOCATABLE component

Yes

POINTER component

Yes

Component has derived type

Yes

default initialize

Yes14

Structure Constructors

Yes42

Supported Operators

Operator

Supported?

+,-,*,/

Yes

**

Yes

==,/=

Yes

>,>=,<,<=

Yes

.NOT.

Yes

.OR.,.AND. 

Yes

.EQV.,.NEQV. 

Yes

Array Support

Arrays1

Supported?

Explicit shape arrays

Yes

Allocatable Arrays

Yes

Array Pointers

Yes

Assumed-Shape Arrays

Yes

Assumed-Size Arrays

Yes

Automatic and Adjustable Arrays

Yes

Whole array

Yes

Subscript Triplets

Yes

Vector Subscripts

Yes

Array Constructors

Yes41

Supported Program Units

Program Unit

Supported?

Main Program

Yes

Modules

Yes

Module Procedures

Yes

Using Modules

Yes

Block Data Program Units

Yes

Function Subprogram

Yes

Subroutine Subprogram

Yes

Recursive Procedures

Yes

Pure Procedures

Yes

Elemental Procedures

Yes10 25

Internal procedure

No29

Support for Arguments and Interfaces

Arguments

Supported?

Intent

Yes

Keywords

Yes

Optional

Yes

Dummy Procedures

No30

Procedure Arguments

No31

Alternate Returns

No32

Call by value

Yes

Call by address

Yes

   

Interface Block

Supported?

Generic Names

Yes

Defined Operations

Yes

Defined Assignment

Yes

Support for Declaration of Program Units, Variables, and Attributes

Program Unit Declaration

Supported?

PROGRAM Statement

Yes

FUNCTION Statement

Yes

SUBROUTINE Statement

Yes

ENTRY Statement

No33

MODULE Statement

Yes

END MODULE Statement

Yes

BLOCK DATA Statement

Yes

END BLOCK DATA Statement

Yes

CONTAINS Statement

Yes

Variable Type Declaration

Supported?

INTEGER Statement

Yes

UINTEGER Statement

Yes

REAL Statement

Yes

DOUBLE PRECISION Statement

Yes

COMPLEX Statement

Yes

LOGICAL Statement

Yes

CHARACTER Statement

Yes

TYPE Statement

Yes

BYTE Statement

Yes

RECORD Statement

Yes

CLASS statement (F200x)

Yes

Initialization

Yes (with some restriction)

Attribute Declaration

Supported?

PARAMETER Statement

Yes

PUBLIC Statement

Yes

PRIVATE Statement

Yes

DIMENSION Statement

Yes

ALLOCATABLE Statement

Yes

SAVE Statement

Yes

INTENT Statement

Yes

OPTIONAL Statement

Yes

POINTER Statement

Yes

TARGET Statement

Yes

INTRINSIC Statement

Yes

EXTERNAL Statement

Yes

AUTOMATIC Statement

Yes

STATIC Statement

Yes

VOLATILE Statement

No33

VALUE Statement

Yes

CHANGEENTRY Statement

No33

DLL_EXPORT Statement

No

DLL_IMPORT Statement

Yes13

REFERENCE Statement

Yes

Other Declarations

Supported?

DATA Statement

Yes6

COMMON Statement

Yes2

EQUIVALENCE Statement

Yes4

IMPLICIT Statement

Yes

NAMELIST Statement

No33

CRAY POINTER Statement

No33

TYPE Statement

Yes

SEQUENCE Statement

Yes

END TYPE Statement

Yes

STRUCTURE Statement

Yes

END STRUCTURE Statement

Yes

UNION Statement

No33

END UNION Statement

No33

MAP Statement

No33

END MAP Statement

No33

INTERFACE Statement

Yes

END INTERFACE Statement

Yes

MODULE PROCEDURE Statement

Yes

USE Statement

Yes

FORMAT Statement

Yes

Statement Function Statement24

Yes

PROCEDURE statement (F2000)

Yes

GENERIC statement (F2000)

Yes

PROPERTY statement (Fj extension)

Yes

INITIAL statement (Fj extension)

Yes

TYPEALIAS statement (F2000)

Yes

Support for Executable Statements

Constructs

Supported?

IF Construct

Yes

IF THEN Statement

Yes

ELSE IF Statement

Yes

ELSE Statement

Yes

END IF Statement

Yes

CASE Construct

Yes

SELECT CASE Statement

Yes

CASE Statement

Yes

END SELECT Statement

Yes

DO Construct

Yes

DO Statement

Yes43

END DO Statement

Yes

CYCLE Statement

Yes

EXIT Statement

Yes

CONTINUE Statement

Yes

FORALL Construct

No33

FORALL Construct Statement

No33

END FORALL Statement

No33

FORALL Statement

No33

WHERE Construct

Yes39 40

WHERE Construct Statement

Yes39 40

ELSEWHERE Statement

Yes

END WHERE Statement

Yes

WHERE Statement

Yes39 40

IF Statement

Yes

Arithmetic IF Statement

Yes

Assignment, Allocate

Supported?

Assignment Statement

Yes

Pointer Assignment Statement

Yes38

ALLOCATE Statement

Yes

DEALLOCATE Statement

Yes

NULLIFY Statement

Yes

Control

Supported?

END Statement

Yes

END FUNCTION Statement

Yes

END PROGRAM Statement

Yes

END SUBROUTINE Statement

Yes

CALL Statement

Yes

GO TO Statement

Yes

RETURN Statement

Yes

STOP Statement

Yes

PAUSE Statement

Yes

Computed GO TO Statement

Yes

ASSIGN Statement

Yes

Assigned GO TO Statement

Yes

I/O Statements

Supported?

OPEN Statement

Yes

CLOSE Statement

Yes

READ Statement

Yes11 26 39 40

PRINT Statement

Yes11 26 39 40

WRITE Statement

Yes11 26 39 40

BACKSPACE Statement

Yes

ENDFILE Statement

Yes

REWIND Statement

Yes

INQUIRE Statement

Yes

Support for Object Oriented Extensions, .NET Extensions

Class definition

Supported?

static field

Yes

instance field

Yes

static method

Yes

instance method

Yes

method override 

Yes

method overloaded

Yes

static property

Yes

instance property

Yes

property override

Yes

static constructor

Yes

instance constructor

Yes

inheritance

Yes

use interface

Yes

struct define

Yes

Class reference

Supported?

static field

Yes

instance field

Yes

static method

Yes

instance method

Yes

static property

Yes

instance property

Yes

instance constructor

Yes

base access

Yes

this access

Yes

Access modifier

Supported?

public

Yes

family(protected)

Yes

famorassem 

Yes

assembly(internal) (Fortran PRIVATE)

Yes

private

No

Delegate

Supported?

definition

Yes

instantiation

Yes

multi-cast

Yes

Enums

Supported?

definition

Yes

operation

Yes

Namespaces

Supported?

define

Yes

using

Yes

typealias

Yes

Exception Handling

Supported?

throw

Yes

try-catch-finally

Yes

Others

Supported?

custom attributes

Yes

creating .netmodule

Yes

addmodule

Yes

invoke unmanaged dll

Yes13

multiple files

Yes

optimization

No

 

Support for Numeric Intrinsic Functions

Function

Supported?

INT

Yes

INT4

No

JFIX

No

INT1

No

INT2

No

REAL

Yes

DBLE

Yes

QEXT

No34

CMPLX

Yes

DCMPLX

Yes

QCMPLX

No34

AINT

Yes

ANINT

Yes

NINT

Yes

I2NINT

No

ABS

Yes

MOD

Yes

SIGN

Yes

DIM

Yes

DPROD

Yes

MAX

Yes

MIN

Yes

AIMAG

Yes

CONJG

Yes

MODULO

Yes

CEILING

Yes

FLOOR

Yes

EXPONENT

Yes

FRACTION

Yes

NEAREST

No34

RRSPACING

Yes

SPACING

Yes

SCALE

Yes

SET_EXPONENT

Yes

MERGE

No34

LOGICAL

Yes

UINT

Yes

 

Support for Mathematical Intrinsic Functions

Function

Supported?

SQRT

Yes

CBRT

Yes

EXP

Yes

EXP2

Yes

EXP10

Yes

LOG

Yes

LOG10

Yes

LOG2

Yes

SIN

Yes

SIND

Yes

SINQ

Yes

COS

Yes

COSD

Yes

COSQ

Yes

TAN

Yes

TAND

Yes

TANQ

Yes

COTAN

Yes

COTAND

Yes

COTANQ

Yes

ASIN

Yes

ASIND

Yes

ASINQ

Yes

ACOS

Yes

ACOSD

Yes

ACOSQ

Yes

ATAN

Yes

ATAN2

Yes

ATAND

Yes

ATAN2D

Yes

ATANQ

Yes

ATAN2Q

Yes

SINH

Yes

COSH

Yes

TANH

Yes

ERF

Yes

ERFC

Yes

GAMMA

Yes

LGAMMA

Yes

 

Support for Character Intrinsic Functions

Function

Supported?

ACHAR

Yes

ADJUSTL

No34

ADJUSTR

No34

CHAR

Yes

ICHAR

Yes

INDEX

Yes

LGE

Yes

LGT

Yes

LLE

Yes

LLT

Yes

IACHAR

Yes

LEN_TRIM

No34

REPEAT

No34

SCAN

No34

TRIM

No34

VERIFY

No34

 

Support for Bit Manipulation Intrinsic Functions

Function

Supported?

NOT

Yes

IAND

Yes

AND

Yes

IOR

Yes

OR

Yes

IEOR

Yes

XOR

Yes

ISHFT

Yes

ISHFTC

Yes

LSHFT

Yes

RSHIFT

Yes

LRSHIFT

Yes

ISHA

No

ISHC

No

ISHL

No

IBCHNG

No

IBSET

Yes

IBCLR

Yes

BTEST

Yes

IBITS

Yes

MVBITS

Yes

IZEXT

No

IZEXT2

No

JZEXT

No

JZEXT2

No

HZEXT4

No

 

Support for Inquiry Intrinsic Functions

Function

Supported?

LEN

Yes

ALLOCATED

Yes

BIT_SIZE

Yes

DIGITS

Yes

EPSILON

Yes

RADIX

Yes

TINY

Yes

HUGE

Yes

MAXEXPONENT

Yes

MINEXPONENT

Yes

KIND

Yes

PRESENT

Yes

PRECISION

Yes

RANGE

Yes

ASSOCIATED

Yes35

LBOUND

Yes

UBOUND

Yes

SHAPE

Yes

SIZE

Yes

 

Support for Date and Time Intrinsic Subroutines

Function

Supported?

CPU_TIME

No34

DATE_AND_TIME

Yes

SYSTEM_CLOCK

No34

 

Support for Array Intrinsic Procedures

Function

Supported?

DOT_PRODUCT

Yes

MATMUL

No34

ALL

No34

ANY

No34

COUNT

No34

MAXVAL

No34

MINVAL

No34

PRODUCT

No34

SUM

No34

PACK

No34

RESHAPE

Yes45

SPREAD

No34

UNPACK

No34

CSHIFT

No34

EOSHIFT

No34

TRANSPOSE

No34

MAXLOC

No34

MINLOC

No34

 

Support for Other Intrinsic Procedures

Function

Supported?

NULL

Yes

SELECTED_INT_KIND

Yes

SELECTED_REAL_KIND

Yes

TRANSFER

No34

LOC

No34

RANDOM_NUMBER

No34

RANDOM_SEED

No34

VAL

No

MALLOC

No

FREE

No


Visual Studio .NET integration
Visual Studio .NET 2003 is the industry standard in development environments. Fortran for .NET Visual Studio integration includes project management facilities, project/code templates, on-line integrated help, Fortran-smart editing, and mixed-language debugging.

Project Management
To efficiently manage the items that are required by your development effort, such as references, data connections, folders, and files, Visual Studio .NET provides two containers: solutions and projects. An interface for viewing and managing these containers and their associated items, Solution Explorer, is provided as part of the integrated development environment (IDE).

Project/Code Templates
Project/code templates syntactically correct compilable source code shells and associated project setting that help you create applications or services. Fortran for .NET provides the following Visual Studio project types:

  • The Empty Project template provides a solution and project without any source files or references. You can add items to this project by using the "Project/Add New Item" menu selection.
  • The Class Library template consists of a library project and a skeletal Fortran class library containing a single static method. When compiled, this project type creates a .NET DLL file, which may be supplied as a reference to other .NET applications.
  • The Console Application consists of a console project, and a skeletal main program. When compiled, this project type creates a console application. If this application is invoked from a console, it executes within the console. If the application is invoked from an icon, the Run menu, or Windows Explorer, it creates a console to run in, and destroys the console when the program completes execution.
  • The ASP Web Application template is a Web Forms Designer project, which begins in design mode with a blank Web form. Controls may be dragged from the toolbox onto the form, and Fortran source code will be generated to implement the control. The project consists of an HTML web page that uses Fortran for .NET to provide the code behind.
  • The ASP Web Service template is also a Web Forms Designer project in which the Web Form provides a user interface on the local machine, with Fortran for .NET powering the application on the server side.
  • The Windows Application template is a Windows Form designer project, which begins in design mode with a blank form. Controls may be dragged from the toolbox onto the form, and Fortran source code will be generated to implement the control. This project type compiles into an event driven Windows application.
  • The Setup and Deployment template allows the programmer to create installation programs that can ease the task of distributing .NET applications. A setup project packages the files that make up an application, facilitates the creation of directory structures, and provides a means of installing and registering assemblies.
  • The Database template provides a means of manipulating databases and designing and executing SQL scripts and queries without having to create an application.
On-line Integrated Help
The on-line integrated help provides Fortran for .NET installation and getting started instructions, a Fortran for .NET Users Guide, and a Fortran for .NET language reference. It also includes the MSDN Library and Visual Studio SDK help.

Fortran-Smart Editing
The Fortran for .NET language system provides the Visual Studio editor with the smarts to recognize and color-code Fortran language syntax.

Mixed-Language Debugging
Fortran for .NET code can be debugged in the Visual Studio debugger. If your application includes procedures written with other .NET languages, the Visual Studio debugger can seamless step from Fortran for .NET code to the other language code and back again.


Windows Forms
Windows Forms is the new platform for Microsoft Windows application development, based on the .NET Framework. This framework provides a clear, object-oriented, extensible set of classes that enables you to develop rich Windows applications.

A form is a bit of screen real estate, usually rectangular, that you can use to present information to the user and to accept input from the user. Forms can be standard windows, multiple document interface (MDI) windows, dialog boxes, or display surfaces for graphical routines. The easiest way to define the user interface for a form is to place controls on its surface.

Within a Windows Forms project, the form is the primary vehicle for user interaction. By combining different sets of controls and writing code, you can elicit information from the user and respond to it, work with existing stores of data, and query and write back to the file system on the user's local computer.

Although the form can be created entirely within the editor, it is easier to use the Windows Forms Designer to create and modify forms. Fortran for .NET's support for the Windows Forms Designer makes it easy for you to create Windows applications with Fortran.


ASP.NET Web Forms
Web Forms are an ASP.NET technology that you use to create programmable Web pages. Web Forms render themselves as browser-compatible HTML and script, which allows any browser on any platform to view the pages. Using Web Forms, you create Web pages by dragging and dropping controls onto the designer and then adding code, similar to the way that you create Windows Applications with the Windows Forms Designer.


ADO.NET
ADO.NET provides consistent access to data sources such as Microsoft SQL Server, as well as data sources exposed through OLE DB and XML. Data-sharing applications can use ADO.NET to connect to these data sources and retrieve, manipulate, and update data.

ADO.NET cleanly factors data access from data manipulation into discrete components that can be used separately or in tandem. ADO.NET includes .NET Framework data providers for connecting to a database, executing commands, and retrieving results. Those results are either processed directly, or placed in an ADO.NET DataSet object in order to be exposed to the user in an ad-hoc manner, combined with data from multiple sources, or remoted between tiers. The ADO.NET DataSet object can also be used independently of a .NET Framework data provider to manage data local to the application or sourced from XML.


Fortran for .NET compiler options

-addres <name> — specify .NET resource file name to embed
-[n]co — display compiler options
-[n]cs — case sensitive names
-[n]dbl — extend single precision reals to double precision
-exe — create .NET console executable
-[n]f95 — F95 standard conformance warnings
-[n]fix — fixed source form
-[n]g — generate debugging information
-i <path> — specify directory containing include file
-[n]in — default IMPLICIT NONE
-[n]info — display informational messages
-library — create .NET code library
-linkmod <name> — specify .NET module file name to link
-linkres <name> — specify .NET resource file name to link
-[n]long — extend 4-byte integers to 8-byte
-main <method> — specify main entry point class method name
-[n]maxfatals <value> — specify maximum fatal error count before aborting
-ml — specify Win32 mixed language target
-module — create .NET module
-o0 — no optimizations
-out <name> — specify output file name
-[n]passbyval — default argument passing by value
-[n]private — default private accessibility
-refer <name> — specify .NET assembly reference file name
-[n]swm <value> — specify individual warning message(s) to suppress
-verbose — display verbose information
-version — display version and owner information only
-[n]w — display warnings
-[n]wide — extended fixed source form line length
-winexe — create .NET Windows executable
-[n]wo — obsolescent feature warnings


Restrictions on Fortran for .NET Code

Note

Error Code and Restriction Message

1

FRT4009: Rank of array exceeding 7 is restricted

2

FRT4011: A common block object that has a POINTER, TARGET or derived type is restricted

4

FRT4012: An equivalence object that has a TARGET or derived type is restricted

6

FRT4010: A data statement object list containing two or more variables that belong to another common block and equivalence association is restricted

6

FRT4019: Initialization for structure component is restricted in this version of Fortran for .NET.

10

FRT4013: An elemental function subprogram that has a non-sequence derived type result is restricted

10

FRT4014: An elemental procedure that has a non-sequence derived type dummy argument is restricted

11

FRT4015: Specifying array pointer, assumed shape array or array section to internal file unit is restricted

11

FRT4016: I/O item of derived type is restricted in this version of Fortran for .NET.

13

DLL_IMPORT can’t be specified in a module or internal procedure

13

Procedure named in DLL_IMPORT statement must have an explicit interface, and cannot be a dummy procedure

14

FRT4007: Specifying the /data-statement-value-list/ for a component is restricted

24

FRT4018: Statement function result and dummy argument of derived type is restricted in this version of Fortran for .NET

24

FRT4021: An elemental procedure that has a character type dummy argument is restricted in this version of Fortran for .NET

25

FRT4022: An elemental function subprogram that has a non-constant character length result is restricted in this version of Fortran for .NET

26

FRT4017: I/O item with vector subscript is restricted in this version of Fortran for .NET

28

FRT4002: Quadruple precision real and complex are restricted in this version of Fortran for .NET.

29

FRT4003: Internal procedure is restricted in this version of Fortran for .NET.

30

FRT4004: Dummy procedure 'parm' is restricted in this version of Fortran for .NET.

31

FRT4005: Procedure argument 'parm' is restricted in this version of Fortran for .NET.

32

FRT4006: Alternate return is restricted in this version of Fortran for .NET.

33

FRT4001: This statement is restricted in this version of Fortran for .NET.

34

This intrinsic procedure is restricted in this version of Fortran for .NET.

35

Second argument of intrinsic function 'xxxxx' is restricted in this version of Fortran for .NET.

38

FRT4024: Specifying the target of a pointer assignment whose rightmost structure component does not have POINTER attribute is restricted in this version of Fortran for .NET.

39

FRT4025: Specifying a structure component that has part-ref with nonzero rank except the rightmost in WHERE statement, WHERE construct, or input/output statement is restricted in this version of Fortran for .NET.

40

FRT4026: Specifying a structure component that has nonzero rank and of derived type in WHERE statement, WHERE construct, or input/output statement is restricted in this version of Fortran for .NET.

41

FRT4027: Array constructor of derived type is restricted in this version of Fortran for .NET.

42

FRT4028: In the structure constructor, specifying a scalar expression as the expression which corresponds to the component of array and of derived type is restricted in this version of Fortran for .NET.

43

FRT2409: Invalid type or attribute for DO variable or loop control parameter. (UINTEGER type variable is restricted)

44

FRT1439: Invalid correspondence between operator and operand. (UINTEGER type variable is restricted)

45

FRT4029: Intrinsic function 'parm' of derived type is restricted in this version of Fortran for .NET.

46

FRT4030: Specifying a structure component that has TARGET attribute for an actual argument which corresponds to a dummy argument that has TARGET attribute is restricted in this version of Fortran for .NET.

47

FRT4031: In a structure constructor, specifying a structure component that has TARGET attribute for an expression corresponds to a pointer component is restricted in this version of Fortran for .NET.


Hardware and software requirements for Enterprise and Academic Editions

With Visual Studio

  • Processor
    450-megahertz (MHz) Pentium II-class processor,
    600-MHz Pentium III-class processor recommended
  • Operating System
    Visual Studio .NET 2003 can be installed onto any of the following systems:
    • Microsoft Windows©Vista (see notes)
    • Microsoft Windows© Server 2003
    • Windows XP Professional
    • Windows XP Home Edition (Limited functionality. Visual Studio .NET 2003 does not support creating ASP.NET Web applications or ASP.NET XML Web services when using Windows XP Home Edition.)
    • Windows 2000 Professional
    • Windows 2000 Server
  • Memory
    • Windows Vista:
      160 megabytes (MB) of RAM
    • Windows Server 2003:
      160 megabytes (MB) of RAM
    • Windows XP Professional:
      160 MB of RAM
    • Windows XP Home Edition:
      96 MB of RAM
    • Windows 2000 Professional:
      96 MB of RAM
    • Windows 2000 Server:
      192 MB of RAM
  • Hard Disk
    • 900 MB of available space required on system drive, 3.3 gigabytes (GB) of available space required on installation drive
    • Additional 1.9 GB of available space required for optional MSDN Library documentation
  • Drive
    CD-ROM or DVD-ROM drive
  • Display
    Super VGA (1024 x 768) or higher-resolution display with 256 colors
  • Mouse
    Microsoft Mouse or compatible pointing device

Command-line Only

To use Fortran for .NET without the Visual Studio .NET Fortran Integration:

  • Processor
    • Client (a computer not working in a server capacity): 90-megahertz (MHz) Intel Pentium-class processor
    • Server (a computer working in a server capacity): 133-MHz Intel Pentium-class processor
  • Operating System
    The Fortran for .NET and the .NET Framework 1.1 SDK can be installed on the following platforms:
    • Microsoft Windows©Vista (see notes)
    • Microsoft Windows© Server 2003 family
    • Windows 2000, with the latest Windows service pack and critical updates available from the Microsoft Security Web site
    • Windows XP (Windows XP Professional is required to run ASP.NET)

Note: The .NET Framework SDK 1.1 cannot be installed on Windows Millennium Edition and Microsoft Windows NT(r) 4.0.

  • Memory
    • Client: 32 megabytes (MB) of RAM, 96 MB recommended
    • Server: 128 MB of RAM, 256 MB recommended
  • Hard Disk
    660 MB of hard disk space required, 190 MB additional hard disk space required for installation (850 MB total)
  • Display
    800 x 600 or higher-resolution display with 256 colors
  • Input Device
    Microsoft mouse or compatible pointing device
  • Other
    • Microsoft Internet Explorer 5.01 or later is required
    • Microsoft Data Access Components 2.6 is required for data scenarios (version 2.7 is recommended on a server)
    • Install the latest Windows service packs and critical updates from the Microsoft Windows Update site

Target Operating System

The target operating system for a Fortran for .NET application is required to have the Common Language Runtime (CLR) v1.1 installed. As a convenience, three installation options are provided to assist the programmer who wishes to install a redistributable CLR and place Fortran runtime DLLs on a target machine. See On-line help for more information. LF Fortran for .NET applications are compatible with Microsoft Windows Vista, XP, 2000, NT 4.0, Me, or 98


What can you do with Fortran for .NET and why would you want to?

What?

Why?

Mix Fortran and other .NET languages in the same application.

Libraries written in other languages exist. Use the right language for the right task.

Create Windows user interfaces by dragging and dropping buttons, data entry fields, check boxes, and more.

Reduce development costs. You want more than a command-line interface.

Create web forms using the same technique.

You want to make your application and its professional user interface available to the world over the Internet.

Create reusable custom controls, with Fortran, that anyone can use in their Visual Studio environment.

You know Fortran, you've created custom controls for one application, why not reuse those controls? Reduce development costs.

Create procedures that access or collect data that exist somewhere over the Internet. (XML Web service.)

Somebody else already did the work of collecting the information. Make it available, accessible. Offer a service.

Create applications that call procedures that access or collect that data.

Use the data that's available. You can reduce the time to obtain answers.

Create COM objects with Fortran.

You know Fortran. Use your Fortran procedures from other, non- .NET language programs.

Call, from Fortran, COM objects written in other languages.

You have access to any COM object that's ever been written.

Create applications that run wherever .NET has been implemented.

Microsoft's .NET Framework is based on open standards and will be implemented on other platforms.

Create libraries of useful functionality with Fortran (i.e., class libraries) that can be used and extended by any .NET language.

Don't limit your users to only those who know Fortran.

Easily call Windows APIs from Fortran.

You know Fortran and want to use the building blocks of Windows.

Code functionality into your web pages using Fortran.

You know Fortran. It's a way to add smarts to a web page.

Easily read from and write to databases. (ADO.NET - drag and drop database access.)

It's where you keep your data.



For more information on LF Fortran v7.1, please visit the following links:
LF v7.1 General | Fortran 95 (Win32) language system |