What scientific computing is
Scientific computing is the practice of turning mathematical models into programs that compute numerical answers: simulating a physical system, solving a large system of equations, or integrating a differential equation. When a problem cannot be solved with a closed-form formula, numerical computation is how the answer is produced. Languages with efficient arithmetic and strong array support, Fortran among them, have been used for this work since the earliest days of computing.
Floating-point arithmetic in brief
Computers store real numbers as floating-point values: a sign, an exponent, and a fraction, packed into a fixed number of bits. The widely used model is the IEEE 754 standard, which defines, among others, a 32-bit single-precision format and a 64-bit double-precision format. The standard also defines rounding rules and special values such as infinity and not-a-number. Two consequences matter in practice: most real numbers are stored as approximations, and operations can accumulate rounding error — so numerical methods must be chosen and implemented with that in mind.
Arrays as the natural data type
Scientific programs spend most of their time on vectors and matrices, and Fortran treats arrays as first-class objects: an array can be declared, assigned, sliced, and passed to procedures as a unit. Whole-array expressions let one statement operate on every element, and a library of intrinsic functions — sums, products, dot products, matrix multiplication — removes whole classes of hand-written loops. The arrays article in the Getting Started section covers this in detail.
From model to program
A scientific program is built in layers. First there is the mathematical model: the equations that describe the problem. Then an algorithm — a numerical method that produces approximate solutions to those equations, such as the methods in the Numerical Methods section. Then the implementation: data layouts, loops, and I/O in a concrete language. Finally comes verification, in which results are checked against known cases. Keeping those layers separate makes programs easier to understand, test, and improve.