# Difference between revisions of "Computing in Poland"

## Mechanical Developments

Jewna Jakobson's calculating machine
The Integraph
Marian Rejewski
Stanislaw Ulam
The XYZ computer, 1958
The ZAM-2

Poland’s earliest contributions to computing can be traced back to the 18th century with mechnical calculating devices. Jewna Jakobson, a clockmaker and mechanic from Nieswiez developed the earliest of these devices, sometime before 1770. The calculator used a classical pinion wheel combination, which takes its origin in Schickard’s machine, and it could perform four arithmetic operations: addition, subtraction, multiplication and division.

Further developments in mechanical calculators came in 1817 when Abraham Izrael Stern, also a clockmaker and mechanic, developed a machine which could extract square roots. Stern's son in law, Chaim Zelig Slonimski later invented a multiplication machine in 1840, based on the Slonimski Theorem, gaining him a great deal of recognition during his lifetime. A more efficient mechanical calculator, in terms of speed and precision, capable of handling four arthematic operations and a square root was developed by Izrael Abraham Staffel in 1844.

A more complex mechanical calculating device called the Integraph capable of performing integration functions was invented in 1878 by Bruno Abdank-Abakanowicz. While the principles of the integraph were introduced by Coriolis in 1836, the first practical working model was developed by Abdank-Abakanowicz. The integraph was could graphically solve a simple differential equation and was widely used by prominent instrument makers, including the Swiss firm of Coradi in Zurich. The need to solve more complex differential equations than the Integraph could handle was one of the primary motivation factors that led Vannevar Bush to develop the Differential Analyzer at MIT in the early 1930s.

## Theory

The turn of the century saw a number of developments to computer theory. In 1924, Jan Lukasiewicz developed the Polish Notation, a principle of writing mathematical expressions in an operator-first manner. Polish Notation was possibly first used in computing in 1953, and was used to develop Reverse Polish Notation, which led to the development of the stack, shaping the development of programing languages such as Algol and compilers.

In 1932-33, Marian Rejewski, along with Jerzy Rózycki and Henryk Zygalski, broke the German Enigma chiper by formulating mathematical equations which described the generation of its permutations, and solving them by a very laborious computational process. The equations had the following form:

A = SHPNP^(-1)MLRL^(-1)M^(-1)PN^(-1)P^(-1)H^(-1)S^(-1)

where A means a known header permutation (which was obtained by intelligence), S – the permutation produced by the switchboard, and H, L, N, M, R – permutations from all the drums. Breaking of the Enigma cipher is considered by some to be one of the most critical scientific developments leading to the end of World War II.

Stanislaw Marcin Ulam, working with Nicholas Metropolis and John von Neumann, developed the Monte Carlo method in 1947 which is a statistical trial and error technique for solving complex problems that are otherwise intractable using analytical deterministic techniques such as generating random samples of data of known distribution to collect statistically valid results that would provide insight into the phenomenon or process being investigated. The Monte Carlo method has been applied in hundreds of problems for simulating the behavior of various physical and mathematical systems, including such diverse areas as nuclear physics, VLSI design, ecology, econometrics and many others. A later major contribution to computing theory was the development of the rough set theory, in 1981 by Zdzislaw Pawlak. The rough set theory deals with uncertainty and decision making under circumstances with insufficient information, which can be applied to areas of machine learning and data mining.

## Electronic Digital Computers

The first electronic digital computer to be constructed in Poland was the EMAL (Electronic Machine Automatically Computing), or the EMAL-1, based on the British EDSAC machine. Work began on the machine in 1953, and reached its most complete phase in 1955. Though it was never fully operational and dismantled before making any computations, it was a one-address computer based on a vacuum-tube logic and mercury memory, with 512 40-bit words and fixed-point, sign-plus, absolute-value arithmetic. Following the EMAL-1 was the XYZ, constructed in 1958 by Romuald Marczynski and Leon Lukaszewicz. It was based on the architecture and instruction set of the IBM 701 computer and was a one-address machine implemented in diode logic and dynamic vacuum-tube flip-flops, with 36-bit words and sign-plus absolute-value arithmetic. It later evolved into ZAM-2 in 1960 and subsequently the ZAM-41 computer. Using the programming language SAKO, also designed by Marczynski and Lukaszewicz, the need to use machine-code was almost entirely elminated.

The first machine to be uniquely Polish in design was the BINEG, designed by Zdzislaw Pawlak 1957-1959. The BINEG used electron tubes, working with negative binary notation, with 512 36-bit words, and was used mostly for teaching purposes at the Warsaw University of Technology. The first Polish computer manufacturing company, ELWRO, was established in 1959. Their first product was the Odra 1001 machine in 1961. The Odra 1001 was based on a prototype design of first Polish transistor machine, the S1, developed at the Institute of Mathematical Machines in Warsaw. In 1961, the Computing Center of the Polish Academy of Sciences was established, and between 1962-64, ELWRO produced twenty five UMC-1 machines, which were based on the BINEG machine design.